diff options
265 files changed, 20498 insertions, 26508 deletions
diff --git a/.gitignore b/.gitignore index dfb1490aa9..d9537edbf2 100644 --- a/.gitignore +++ b/.gitignore @@ -55,6 +55,11 @@ gmon.out *.cflags *.cxxflags +# Code::Blocks files +*.cbp +*.layout +*.depend + # Eclipse CDT files .cproject .settings/ @@ -340,6 +345,9 @@ platform/windows/godot_res.res # Visual Studio Code workspace file *.code-workspace +# Scons construction environment dump +.scons_env.json + # Scons progress indicator .scons_node_count diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ba04008680..c28692c34f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,6 +119,22 @@ for an introduction to developing on Godot. The [Contributing docs](https://docs.godotengine.org/en/latest/community/contributing/index.html) also have important information on the PR workflow and the code style we use. +### Document your changes + +If your pull request adds methods, properties or signals that are exposed to +scripting APIs, you **must** update the class reference to document those. +This is to ensure the documentation coverage doesn't decrease as contributions +are merged. + +[Update the documentation template](https://docs.godotengine.org/en/latest/community/contributing/updating_the_class_reference.html#updating-the-documentation-template) +using your compiled binary, then fill in the descriptions. +Follow the style guide described in the +[Docs writing guidelines](https://docs.godotengine.org/en/latest/community/contributing/docs_writing_guidelines.html). + +If your pull request modifies parts of the code in a non-obvious way, make sure +to add comments in the code as well. This helps other people understand the +change without having to look at `git blame`. + ### Be nice to the Git history Try to make simple PRs that handle one specific topic. Just like for reporting diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 2d32bf1fd9..fc3079c361 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -299,7 +299,7 @@ License: Zlib Files: ./thirdparty/oidn/ Comment: Intel Open Image Denoise -Copyright: 2009-2020, Intel Corporation +Copyright: 2009-2019, Intel Corporation License: Apache-2.0 Files: ./thirdparty/opus/ diff --git a/SConstruct b/SConstruct index b424363dc8..9496595a26 100644 --- a/SConstruct +++ b/SConstruct @@ -693,6 +693,9 @@ elif selected_platform != "": else: Exit(255) -# The following only makes sense when the env is defined, and assumes it is +# The following only makes sense when the 'env' is defined, and assumes it is. if "env" in locals(): methods.show_progress(env) + # TODO: replace this with `env.Dump(format="json")` + # once we start requiring SCons 4.0 as min version. + methods.dump(env) diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index e81351a3a6..267391c4d6 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -498,18 +498,10 @@ Dictionary _OS::get_time_zone_info() const { return infod; } -uint64_t _OS::get_unix_time() const { +double _OS::get_unix_time() const { return OS::get_singleton()->get_unix_time(); } -uint64_t _OS::get_system_time_secs() const { - return OS::get_singleton()->get_system_time_secs(); -} - -uint64_t _OS::get_system_time_msecs() const { - return OS::get_singleton()->get_system_time_msecs(); -} - void _OS::delay_usec(uint32_t p_usec) const { OS::get_singleton()->delay_usec(p_usec); } @@ -729,8 +721,6 @@ void _OS::_bind_methods() { ClassDB::bind_method(D_METHOD("get_unix_time"), &_OS::get_unix_time); ClassDB::bind_method(D_METHOD("get_datetime_from_unix_time", "unix_time_val"), &_OS::get_datetime_from_unix_time); ClassDB::bind_method(D_METHOD("get_unix_time_from_datetime", "datetime"), &_OS::get_unix_time_from_datetime); - ClassDB::bind_method(D_METHOD("get_system_time_secs"), &_OS::get_system_time_secs); - ClassDB::bind_method(D_METHOD("get_system_time_msecs"), &_OS::get_system_time_msecs); ClassDB::bind_method(D_METHOD("get_exit_code"), &_OS::get_exit_code); ClassDB::bind_method(D_METHOD("set_exit_code", "code"), &_OS::set_exit_code); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 26d0f7b8af..f9f5a4e7d7 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -199,9 +199,7 @@ public: Dictionary get_datetime_from_unix_time(int64_t unix_time_val) const; int64_t get_unix_time_from_datetime(Dictionary datetime) const; Dictionary get_time_zone_info() const; - uint64_t get_unix_time() const; - uint64_t get_system_time_secs() const; - uint64_t get_system_time_msecs() const; + double get_unix_time() const; uint64_t get_static_memory_usage() const; uint64_t get_static_memory_peak_usage() const; diff --git a/core/class_db.cpp b/core/class_db.cpp index eed9ec17cb..05c9850c39 100644 --- a/core/class_db.cpp +++ b/core/class_db.cpp @@ -1386,7 +1386,23 @@ Variant ClassDB::class_get_default_property_value(const StringName &p_class, con if (r_valid != nullptr) { *r_valid = true; } - return default_values[p_class][p_property]; + + Variant var = default_values[p_class][p_property]; + +#ifdef DEBUG_ENABLED + // Some properties may have an instantiated Object as default value, + // (like Path2D's `curve` used to have), but that's not a good practice. + // Instead, those properties should use PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT + // to be auto-instantiated when created in the editor. + if (var.get_type() == Variant::OBJECT) { + Object *obj = var.get_validated_object(); + if (obj) { + WARN_PRINT(vformat("Instantiated %s used as default value for %s's \"%s\" property.", obj->get_class(), p_class, p_property)); + } + } +#endif + + return var; } RWLock *ClassDB::lock = nullptr; diff --git a/core/crypto/crypto.cpp b/core/crypto/crypto.cpp index eb942c60c9..a9a7cabee9 100644 --- a/core/crypto/crypto.cpp +++ b/core/crypto/crypto.cpp @@ -70,7 +70,7 @@ Crypto *Crypto::create() { if (_create) { return _create(); } - return memnew(Crypto); + ERR_FAIL_V_MSG(nullptr, "Crypto is not available when the mbedtls module is disabled."); } void Crypto::load_default_certificates(String p_path) { @@ -85,18 +85,6 @@ void Crypto::_bind_methods() { ClassDB::bind_method(D_METHOD("generate_self_signed_certificate", "key", "issuer_name", "not_before", "not_after"), &Crypto::generate_self_signed_certificate, DEFVAL("CN=myserver,O=myorganisation,C=IT"), DEFVAL("20140101000000"), DEFVAL("20340101000000")); } -PackedByteArray Crypto::generate_random_bytes(int p_bytes) { - ERR_FAIL_V_MSG(PackedByteArray(), "generate_random_bytes is not available when mbedtls module is disabled."); -} - -Ref<CryptoKey> Crypto::generate_rsa(int p_bytes) { - ERR_FAIL_V_MSG(nullptr, "generate_rsa is not available when mbedtls module is disabled."); -} - -Ref<X509Certificate> Crypto::generate_self_signed_certificate(Ref<CryptoKey> p_key, String p_issuer_name, String p_not_before, String p_not_after) { - ERR_FAIL_V_MSG(nullptr, "generate_self_signed_certificate is not available when mbedtls module is disabled."); -} - /// Resource loader/saver RES ResourceFormatLoaderCrypto::load(const String &p_path, const String &p_original_path, Error *r_error, bool p_use_sub_threads, float *r_progress, bool p_no_cache) { diff --git a/core/crypto/crypto.h b/core/crypto/crypto.h index cf21648a4a..6cc5f46164 100644 --- a/core/crypto/crypto.h +++ b/core/crypto/crypto.h @@ -75,9 +75,9 @@ public: static Crypto *create(); static void load_default_certificates(String p_path); - virtual PackedByteArray generate_random_bytes(int p_bytes); - virtual Ref<CryptoKey> generate_rsa(int p_bytes); - virtual Ref<X509Certificate> generate_self_signed_certificate(Ref<CryptoKey> p_key, String p_issuer_name, String p_not_before, String p_not_after); + virtual PackedByteArray generate_random_bytes(int p_bytes) = 0; + virtual Ref<CryptoKey> generate_rsa(int p_bytes) = 0; + virtual Ref<X509Certificate> generate_self_signed_certificate(Ref<CryptoKey> p_key, String p_issuer_name, String p_not_before, String p_not_after) = 0; Crypto() {} }; diff --git a/core/error_macros.h b/core/error_macros.h index 46a1623115..d7366be453 100644 --- a/core/error_macros.h +++ b/core/error_macros.h @@ -285,7 +285,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li * If it is null, the current function returns. */ #define ERR_FAIL_NULL(m_param) \ - if (unlikely(!m_param)) { \ + if (unlikely(m_param == nullptr)) { \ _err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter \"" _STR(m_param) "\" is null."); \ return; \ } else \ @@ -296,7 +296,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li * If it is null, prints `m_msg` and the current function returns. */ #define ERR_FAIL_NULL_MSG(m_param, m_msg) \ - if (unlikely(!m_param)) { \ + if (unlikely(m_param == nullptr)) { \ _err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter \"" _STR(m_param) "\" is null.", DEBUG_STR(m_msg)); \ return; \ } else \ @@ -310,7 +310,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li * If it is null, the current function returns `m_retval`. */ #define ERR_FAIL_NULL_V(m_param, m_retval) \ - if (unlikely(!m_param)) { \ + if (unlikely(m_param == nullptr)) { \ _err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter \"" _STR(m_param) "\" is null."); \ return m_retval; \ } else \ @@ -321,7 +321,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li * If it is null, prints `m_msg` and the current function returns `m_retval`. */ #define ERR_FAIL_NULL_V_MSG(m_param, m_retval, m_msg) \ - if (unlikely(!m_param)) { \ + if (unlikely(m_param == nullptr)) { \ _err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter \"" _STR(m_param) "\" is null.", DEBUG_STR(m_msg)); \ return m_retval; \ } else \ diff --git a/core/hash_map.h b/core/hash_map.h index 78592f8d82..843430d082 100644 --- a/core/hash_map.h +++ b/core/hash_map.h @@ -524,28 +524,14 @@ public: copy_from(p_table); } - void get_key_value_ptr_array(const Pair **p_pairs) const { + void get_key_list(List<TKey> *r_keys) const { if (unlikely(!hash_table)) { return; } for (int i = 0; i < (1 << hash_table_power); i++) { Element *e = hash_table[i]; while (e) { - *p_pairs = &e->pair; - p_pairs++; - e = e->next; - } - } - } - - void get_key_list(List<TKey> *p_keys) const { - if (unlikely(!hash_table)) { - return; - } - for (int i = 0; i < (1 << hash_table_power); i++) { - Element *e = hash_table[i]; - while (e) { - p_keys->push_back(e->pair.key); + r_keys->push_back(e->pair.key); e = e->next; } } diff --git a/core/image.cpp b/core/image.cpp index 4ab71128cd..0f15574053 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -2539,12 +2539,11 @@ void Image::blend_rect(const Ref<Image> &p_src, const Rect2 &p_src_rect, const P int dst_y = dest_rect.position.y + i; Color sc = img->get_pixel(src_x, src_y); - Color dc = get_pixel(dst_x, dst_y); - dc.r = (double)(sc.a * sc.r + dc.a * (1.0 - sc.a) * dc.r); - dc.g = (double)(sc.a * sc.g + dc.a * (1.0 - sc.a) * dc.g); - dc.b = (double)(sc.a * sc.b + dc.a * (1.0 - sc.a) * dc.b); - dc.a = (double)(sc.a + dc.a * (1.0 - sc.a)); - set_pixel(dst_x, dst_y, dc); + if (sc.a != 0) { + Color dc = get_pixel(dst_x, dst_y); + dc = dc.blend(sc); + set_pixel(dst_x, dst_y, dc); + } } } } @@ -2594,12 +2593,11 @@ void Image::blend_rect_mask(const Ref<Image> &p_src, const Ref<Image> &p_mask, c int dst_y = dest_rect.position.y + i; Color sc = img->get_pixel(src_x, src_y); - Color dc = get_pixel(dst_x, dst_y); - dc.r = (double)(sc.a * sc.r + dc.a * (1.0 - sc.a) * dc.r); - dc.g = (double)(sc.a * sc.g + dc.a * (1.0 - sc.a) * dc.g); - dc.b = (double)(sc.a * sc.b + dc.a * (1.0 - sc.a) * dc.b); - dc.a = (double)(sc.a + dc.a * (1.0 - sc.a)); - set_pixel(dst_x, dst_y, dc); + if (sc.a != 0) { + Color dc = get_pixel(dst_x, dst_y); + dc = dc.blend(sc); + set_pixel(dst_x, dst_y, dc); + } } } } diff --git a/core/input/gamecontrollerdb.txt b/core/input/gamecontrollerdb.txt index 90d309c1c8..7b5abdd61b 100644 --- a/core/input/gamecontrollerdb.txt +++ b/core/input/gamecontrollerdb.txt @@ -4,37 +4,38 @@ # Windows 03000000fa2d00000100000000000000,3DRUDDER,leftx:a0,lefty:a1,rightx:a5,righty:a2,platform:Windows, 03000000c82d00002038000000000000,8bitdo,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d000011ab000000000000,8BitDo F30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d000011ab000000000000,8BitDo F30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00001038000000000000,8BitDo F30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000090000000000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000650000000000000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a4,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows, 03000000c82d00000310000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, 03000000c82d00002028000000000000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00008010000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, -03000000c82d00000190000000000000,8BitDo N30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00001590000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00006528000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000190000000000000,8BitDo N30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00001590000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00006528000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00015900000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00065280000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, 03000000022000000090000000000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, 03000000203800000900000000000000,8Bitdo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000130000000000000,8BitDo SF30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00000060000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00000061000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000060000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000061000000000000,8Bitdo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d000021ab000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, 03000000102800000900000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00003028000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000030000000000000,8BitDo SN30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000351000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00001290000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00001290000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d000020ab000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00004028000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00006228000000000000,8BitDo SN30 GP,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, -03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00006228000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000260000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000261000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, 03000000c82d00000031000000000000,8BitDo Wireless Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00003032000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, 03000000a00500003232000000000000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, 030000008f0e00001200000000000000,Acme GA-02,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows, 03000000fa190000f0ff000000000000,Acteck AGJ-3200,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, @@ -73,6 +74,7 @@ 03000000260900008888000000000000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a4,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Windows, 03000000a306000022f6000000000000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows, 03000000451300000830000000000000,Defender Game Racer X7,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000007d0400000840000000000000,Destroyer Tiltpad,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,x:b0,y:b3,platform:Windows, 03000000791d00000103000000000000,Dual Box WII,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, 03000000bd12000002e0000000000000,Dual USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows, 030000006f0e00003001000000000000,EA SPORTS PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, @@ -88,7 +90,6 @@ 030000000d0f00008800000000000000,Fighting Stick mini 4,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows, 030000000d0f00002700000000000000,FIGHTING STICK V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, 78696e70757403000000000000000000,Fightstick TES,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Windows, -03000000790000000600000000000000,G-Shark GS-GP702,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows, 03000000790000002201000000000000,Game Controller for PC,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, 0300000066f700000100000000000000,Game VIB Joystick,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows, 03000000260900002625000000000000,Gamecube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,lefttrigger:a4,leftx:a0,lefty:a1,righttrigger:a5,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Windows, @@ -98,6 +99,7 @@ 03000000ac0500004d04000000000000,GameSir,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, 03000000ffff00000000000000000000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, 030000006f0e00000102000000007801,GameStop Xbox 360 Wired Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000009b2800003200000000000000,GC/N64 to USB v3.4,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows, 030000008305000009a0000000000000,Genius,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, 030000008305000031b0000000000000,Genius Maxfire Blaze 3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, 03000000451300000010000000000000,Genius Maxfire Grandias 12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, @@ -146,6 +148,8 @@ 030000007e0500000720000000000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows, 030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows, 03000000bd12000003c0000000000000,JY-P70UR,a:b1,b:b0,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b11,righttrigger:b9,rightx:a3,righty:a2,start:b4,x:b3,y:b2,platform:Windows, +03000000242f00002d00000000000000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000242f00008a00000000000000,JYS Wireless Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows, 03000000790000000200000000000000,King PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows, 030000006d040000d1ca000000000000,Logitech ChillStream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, 030000006d040000d2ca000000000000,Logitech Cordless Precision,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, @@ -302,6 +306,7 @@ 03000000790000001a18000000000000,Venom,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, 03000000790000001b18000000000000,Venom Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, 030000006f0e00000302000000000000,Victrix Pro Fight Stick for PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +0300000034120000adbe000000000000,vJoy Device,a:b0,b:b1,back:b15,dpdown:b6,dpleft:b7,dpright:b8,dpup:b5,guide:b16,leftshoulder:b9,leftstick:b13,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b14,righttrigger:b12,rightx:+a3,righty:+a4,start:b4,x:b2,y:b3,platform:Windows, 030000005e0400000a0b000000000000,Xbox Adaptive Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, 03000000341a00000608000000000000,Xeox,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, 03000000450c00002043000000000000,XEOX Gamepad SL-6556-BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, @@ -310,7 +315,7 @@ 03000000786901006e70000000000000,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, 03000000790000004f18000000000000,ZD-T Android,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, -03000000c82d00003032000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +030000009b2800006000000000000000,GC/N64 to USB v3.6,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows, # Mac OS X 030000008f0e00000300000009010000,2In1 USB Joystick,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, @@ -330,7 +335,6 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 030000008305000031b0000000000000,Cideko AK08b,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 03000000260900008888000088020000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Mac OS X, 03000000a306000022f6000001030000,Cyborg V.3 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X, -03000000790000000600000000000000,G-Shark GP-702,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Mac OS X, 03000000ad1b000001f9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, 0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, 030000006f0e00000102000000000000,GameStop Xbox 360 Wired Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, @@ -351,6 +355,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000830500006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X, 030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Mac OS X, 030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000242f00002d00000007010000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, 030000006d04000016c2000000020000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 030000006d04000016c2000000030000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 030000006d04000016c2000014040000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, @@ -406,6 +411,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 0300000000f00000f100000000000000,SNES RetroPort,a:b2,b:b3,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,rightshoulder:b7,start:b6,x:b0,y:b1,platform:Mac OS X, 030000004c050000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, 030000004c050000a00b000000000000,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000d11800000094000000010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X, 030000005e0400008e02000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, 03000000110100002014000000000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b12,x:b2,y:b3,platform:Mac OS X, 03000000110100002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X, @@ -455,12 +461,13 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000c82d00000160000011010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux, 03000000c82d00001290000011010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux, -05000000c82d00000161000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00000161000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 05000000c82d00006228000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 03000000c82d00000260000011010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 05000000c82d00000261000000010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 030000005e0400008e02000020010000,8BitDo Wireless Adapter,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000c82d00000031000011010000,8BitDo Wireless Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 05000000a00500003232000001000000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux, 05000000a00500003232000008010000,8Bitdo Zero GamePad,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux, 030000006f0e00001302000000010000,Afterglow,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, @@ -499,6 +506,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 06000000adde0000efbe000002010000,Hidromancer Game Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000d81400000862000011010000,HitBox (PS3/PC) Analog Mode,a:b1,b:b2,back:b8,guide:b9,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b12,x:b0,y:b3,platform:Linux, 03000000c9110000f055000011010000,HJC Game GAMEPAD,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000632500002605000010010000,HJD-X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, 030000000d0f00000d00000000010000,hori,a:b0,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,leftx:b4,lefty:b5,rightshoulder:b7,start:b9,x:b1,y:b2,platform:Linux, 030000000d0f00001000000011010000,HORI CO. LTD. FIGHTING STICK 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, 030000000d0f0000c100000011010000,HORI CO. LTD. HORIPAD S,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, @@ -529,6 +537,8 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 050000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Linux, 030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux, 050000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux, +03000000242f00002d00000011010000,JYS Wireless Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000242f00008a00000011010000,JYS Wireless Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Linux, 030000006f0e00000103000000020000,Logic3 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000006d04000016c2000010010000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, @@ -581,6 +591,9 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000250900006688000000010000,MP-8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, 030000000d0f00000900000010010000,Natec Genesis P44,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Linux, +060000007e0500000820000000000000,Nintendo Combined Joy-Cons (joycond),a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux, +050000007e0500000920000001800000,Nintendo Switch Pro Controller (joycond),a:b0,b:b1,x:b3,y:b2,back:b9,guide:b11,start:b10,leftstick:b12,rightstick:b13,leftshoulder:b5,rightshoulder:b6,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b7,righttrigger:b8,platform:Linux, +030000007e0500000920000011810000,Nintendo Switch Pro Controller Wired (joycond),a:b0,b:b1,x:b3,y:b2,back:b9,guide:b11,start:b10,leftstick:b12,rightstick:b13,leftshoulder:b5,rightshoulder:b6,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b7,righttrigger:b8,platform:Linux, 030000007e0500003703000000016800,Nintendo GameCube Controller,a:b0,b:b2,dpdown:b6,dpleft:b4,dpright:b5,dpup:b7,lefttrigger:a4,leftx:a0,lefty:a1~,rightshoulder:b9,righttrigger:a5,rightx:a2,righty:a3~,start:b8,x:b1,y:b3,platform:Linux, 050000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, 050000007e0500003003000001000000,Nintendo Wii Remote Pro Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux, @@ -593,9 +606,11 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 030000005e0400000202000000010000,Old Xbox pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux, 05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux, 05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux, +03000000830500005020000010010000,Padix Co. Ltd. Rockfire PSX/USB Bridge,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3,platform:Linux, 03000000ff1100003133000010010000,PC Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, 030000006f0e00006401000001010000,PDP Battlefield One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000006f0e00003101000000010000,PDP EA Sports Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e0000c802000012010000,PDP Kingdom Hearts Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000006f0e0000a802000023020000,PDP Wired Controller for Xbox One,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, 030000004c050000da0c000011010000,Playstation Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux, 03000000c62400000053000000010000,PowerA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, @@ -629,6 +644,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 050000004c050000cc09000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, 050000004c050000cc09000001800000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, 03000000300f00001211000011010000,QanBa Arcade JoyStick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3,platform:Linux, +030000009b2800003200000001010000,Raphnet Technologies GC/N64 to USB v3.4,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux, 030000009b2800000300000001010000,raphnet.net 4nes4snes v1.5,a:b0,b:b4,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Linux, 030000008916000001fd000024010000,Razer Onza Classic Edition,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000008916000000fd000024010000,Razer Onza Tournament Edition,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, @@ -650,9 +666,10 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 030000006f0e00001e01000011010000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000006f0e00004601000001010000,Rock Candy Xbox One Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000a306000023f6000011010000,Saitek Cyborg V.1 Game Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux, +03000000a30600001005000000010000,Saitek Saitek P150,platform:Linux,a:b0,b:b1,y:b4,x:b3,leftshoulder:b7,rightshoulder:b2,dpup:-a1,dpleft:-a0,dpdown:+a1,dpright:+a0,lefttrigger:b6,righttrigger:b5, 03000000a30600000cff000010010000,Saitek P2500 Force Rumble Pad,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,x:b0,y:b1,platform:Linux, 03000000a30600000c04000011010000,Saitek P2900 Wireless Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b12,x:b0,y:b3,platform:Linux, -03000000300f00001201000010010000,Saitek P380,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a1,righty:a2,start:b9,x:b0,y:b1,platform:Linux, +03000000300f00001201000010010000,Saitek P380,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux, 03000000a30600000901000000010000,Saitek P880,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,x:b0,y:b1,platform:Linux, 03000000a30600000b04000000010000,Saitek P990 Dual Analog Pad,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Linux, 03000000a306000018f5000010010000,Saitek PLC Saitek P3200 Rumble Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux, @@ -667,6 +684,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, 030000005e0400008e02000073050000,Speedlink TORID Wireless Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000005e0400008e02000020200000,SpeedLink XEOX Pro Analog Gamepad pad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d11800000094000011010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux, 03000000de2800000112000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, 03000000de2800000211000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, 03000000de2800004211000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, @@ -679,16 +697,21 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000381000003114000075010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 05000000110100001914000009010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, 03000000ad1b000038f0000090040000,Street Fighter IV FightStick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000003b07000004a1000000010000,Suncom SFX Plus for USB,a:b0,b:b2,x:b1,y:b3,back:b7,start:b8,leftshoulder:b6,rightshoulder:b9,leftx:a0,lefty:a1,lefttrigger:b4,righttrigger:b5,platform:Linux, 03000000666600000488000000010000,Super Joy Box 5 Pro,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, 0300000000f00000f100000000010000,Super RetroPort,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux, +03000000457500002211000010010000,SZMY-POWER CO. LTD. GAMEPAD,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000008f0e00000d31000010010000,SZMY-POWER CO. LTD. GAMEPAD 3 TURBO,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000004f04000020b3000010010000,Thrustmaster 2 in 1 DT,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, 030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, 030000004f04000023b3000000010000,Thrustmaster Dual Trigger 3-in-1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000b50700000399000000010000,Thrustmaster Firestorm Digital 2,a:b2,b:b4,x:b3,y:b5,back:b11,start:b1,leftstick:b10,rightstick:b0,leftshoulder:b6,rightshoulder:b8,leftx:a0,lefty:a1,lefttrigger:b7,righttrigger:b9,platform:Linux, 030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Linux, 030000004f04000026b3000002040000,Thrustmaster Gamepad GP XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000c6240000025b000002020000,Thrustmaster GPX Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000004f04000008d0000000010000,Thrustmaster Run N Drive Wireless,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, 030000004f04000009d0000000010000,Thrustmaster Run N Drive Wireless PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000004f04000007d0000000010000,Thrustmaster T Mini Wireless,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000004f04000012b3000010010000,Thrustmaster vibrating gamepad,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, 03000000bd12000015d0000010010000,Tomee SNES USB Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux, 03000000d814000007cd000011010000,Toodles 2008 Chimp PC/PS3,a:b0,b:b1,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2,platform:Linux, @@ -721,8 +744,9 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 05000000172700004431000029010000,XiaoMi Game Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Linux, 03000000c0160000e105000001010000,Xin-Mo Xin-Mo Dual Arcade,a:b4,b:b3,back:b6,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b9,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b1,y:b0,platform:Linux, xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -05000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, 03000000120c0000100e000011010000,ZEROPLUS P4 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000005e0400008e02000000010000,xbox360 Wireless EasySMX,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, +030000009b2800006000000001010000,Raphnet Technologies GC/N64 to USB v3.6,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux, # Android 05000000bc20000000550000ffff3f00,GameSir G3w,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, @@ -748,6 +772,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 050000005e040000fd020000ffff3f00,Xbox One Wireless Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, 050000005e04000091020000ff073f00,Xbox Wireless Controller,a:b0,b:b1,back:b4,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Android, 34356136633366613530316338376136,Xbox Wireless Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,leftstick:b15,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b16,righttrigger:a5,rightx:a3,righty:a4,x:b17,y:b2,platform:Android, +7573622067616d657061642020202020,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Android, # iOS 05000000ac0500000100000000006d01,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,x:b2,y:b3,platform:iOS, diff --git a/core/input/input_map.cpp b/core/input/input_map.cpp index 3cb4b43a26..ac032b7d10 100644 --- a/core/input/input_map.cpp +++ b/core/input/input_map.cpp @@ -48,7 +48,7 @@ void InputMap::_bind_methods() { ClassDB::bind_method(D_METHOD("action_has_event", "action", "event"), &InputMap::action_has_event); ClassDB::bind_method(D_METHOD("action_erase_event", "action", "event"), &InputMap::action_erase_event); ClassDB::bind_method(D_METHOD("action_erase_events", "action"), &InputMap::action_erase_events); - ClassDB::bind_method(D_METHOD("get_action_list", "action"), &InputMap::_get_action_list); + ClassDB::bind_method(D_METHOD("action_get_events", "action"), &InputMap::_action_get_events); ClassDB::bind_method(D_METHOD("event_is_action", "event", "action"), &InputMap::event_is_action); ClassDB::bind_method(D_METHOD("load_from_globals"), &InputMap::load_from_globals); } @@ -152,9 +152,9 @@ void InputMap::action_erase_events(const StringName &p_action) { input_map[p_action].inputs.clear(); } -Array InputMap::_get_action_list(const StringName &p_action) { +Array InputMap::_action_get_events(const StringName &p_action) { Array ret; - const List<Ref<InputEvent>> *al = get_action_list(p_action); + const List<Ref<InputEvent>> *al = action_get_events(p_action); if (al) { for (const List<Ref<InputEvent>>::Element *E = al->front(); E; E = E->next()) { ret.push_back(E->get()); @@ -164,7 +164,7 @@ Array InputMap::_get_action_list(const StringName &p_action) { return ret; } -const List<Ref<InputEvent>> *InputMap::get_action_list(const StringName &p_action) { +const List<Ref<InputEvent>> *InputMap::action_get_events(const StringName &p_action) { const Map<StringName, Action>::Element *E = input_map.find(p_action); if (!E) { return nullptr; diff --git a/core/input/input_map.h b/core/input/input_map.h index 3abc224ccf..548553ed31 100644 --- a/core/input/input_map.h +++ b/core/input/input_map.h @@ -56,7 +56,7 @@ private: List<Ref<InputEvent>>::Element *_find_event(Action &p_action, const Ref<InputEvent> &p_event, bool *p_pressed = nullptr, float *p_strength = nullptr) const; - Array _get_action_list(const StringName &p_action); + Array _action_get_events(const StringName &p_action); Array _get_actions(); protected: @@ -76,7 +76,7 @@ public: void action_erase_event(const StringName &p_action, const Ref<InputEvent> &p_event); void action_erase_events(const StringName &p_action); - const List<Ref<InputEvent>> *get_action_list(const StringName &p_action); + const List<Ref<InputEvent>> *action_get_events(const StringName &p_action); bool event_is_action(const Ref<InputEvent> &p_event, const StringName &p_action) const; bool event_get_action_status(const Ref<InputEvent> &p_event, const StringName &p_action, bool *p_pressed = nullptr, float *p_strength = nullptr) const; diff --git a/core/io/dtls_server.cpp b/core/io/dtls_server.cpp index 0278027c50..e43b1f5385 100644 --- a/core/io/dtls_server.cpp +++ b/core/io/dtls_server.cpp @@ -37,7 +37,10 @@ DTLSServer *(*DTLSServer::_create)() = nullptr; bool DTLSServer::available = false; DTLSServer *DTLSServer::create() { - return _create(); + if (_create) { + return _create(); + } + return nullptr; } bool DTLSServer::is_available() { diff --git a/core/io/packet_peer_dtls.cpp b/core/io/packet_peer_dtls.cpp index 67579c339a..632f86a9f6 100644 --- a/core/io/packet_peer_dtls.cpp +++ b/core/io/packet_peer_dtls.cpp @@ -36,7 +36,10 @@ PacketPeerDTLS *(*PacketPeerDTLS::_create)() = nullptr; bool PacketPeerDTLS::available = false; PacketPeerDTLS *PacketPeerDTLS::create() { - return _create(); + if (_create) { + return _create(); + } + return nullptr; } bool PacketPeerDTLS::is_available() { diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp index 580a7cf7bb..30f712b2c3 100644 --- a/core/math/a_star.cpp +++ b/core/math/a_star.cpp @@ -280,10 +280,16 @@ int AStar::get_closest_point(const Vector3 &p_point, bool p_include_disabled) co continue; // Disabled points should not be considered. } + // Keep the closest point's ID, and in case of multiple closest IDs, + // the smallest one (makes it deterministic). real_t d = p_point.distance_squared_to((*it.value)->pos); - if (closest_id < 0 || d < closest_dist) { + int id = *(it.key); + if (d <= closest_dist) { + if (d == closest_dist && id > closest_id) { // Keep lowest ID. + continue; + } closest_dist = d; - closest_id = *(it.key); + closest_id = id; } } @@ -291,7 +297,6 @@ int AStar::get_closest_point(const Vector3 &p_point, bool p_include_disabled) co } Vector3 AStar::get_closest_position_in_segment(const Vector3 &p_point) const { - bool found = false; real_t closest_dist = 1e20; Vector3 closest_point; @@ -311,10 +316,9 @@ Vector3 AStar::get_closest_position_in_segment(const Vector3 &p_point) const { Vector3 p = Geometry3D::get_closest_point_to_segment(p_point, segment); real_t d = p_point.distance_squared_to(p); - if (!found || d < closest_dist) { + if (d < closest_dist) { closest_point = p; closest_dist = d; - found = true; } } diff --git a/core/math/basis.cpp b/core/math/basis.cpp index cbfd09810c..df5199b0f9 100644 --- a/core/math/basis.cpp +++ b/core/math/basis.cpp @@ -428,12 +428,9 @@ Vector3 Basis::get_euler_xyz() const { // -cx*cz*sy+sx*sz cz*sx+cx*sy*sz cx*cy Vector3 euler; -#ifdef MATH_CHECKS - ERR_FAIL_COND_V(!is_rotation(), euler); -#endif real_t sy = elements[0][2]; - if (sy < 1.0) { - if (sy > -1.0) { + if (sy < (1.0 - CMP_EPSILON)) { + if (sy > -(1.0 - CMP_EPSILON)) { // is this a pure Y rotation? if (elements[1][0] == 0.0 && elements[0][1] == 0.0 && elements[1][2] == 0 && elements[2][1] == 0 && elements[1][1] == 1) { // return the simplest form (human friendlier in editor and scripts) @@ -446,12 +443,12 @@ Vector3 Basis::get_euler_xyz() const { euler.z = Math::atan2(-elements[0][1], elements[0][0]); } } else { - euler.x = -Math::atan2(elements[0][1], elements[1][1]); + euler.x = Math::atan2(elements[2][1], elements[1][1]); euler.y = -Math_PI / 2.0; euler.z = 0.0; } } else { - euler.x = Math::atan2(elements[0][1], elements[1][1]); + euler.x = Math::atan2(elements[2][1], elements[1][1]); euler.y = Math_PI / 2.0; euler.z = 0.0; } @@ -481,15 +478,106 @@ void Basis::set_euler_xyz(const Vector3 &p_euler) { *this = xmat * (ymat * zmat); } +Vector3 Basis::get_euler_xzy() const { + // Euler angles in XZY convention. + // See https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix + // + // rot = cz*cy -sz cz*sy + // sx*sy+cx*cy*sz cx*cz cx*sz*sy-cy*sx + // cy*sx*sz cz*sx cx*cy+sx*sz*sy + + Vector3 euler; + real_t sz = elements[0][1]; + if (sz < (1.0 - CMP_EPSILON)) { + if (sz > -(1.0 - CMP_EPSILON)) { + euler.x = Math::atan2(elements[2][1], elements[1][1]); + euler.y = Math::atan2(elements[0][2], elements[0][0]); + euler.z = Math::asin(-sz); + } else { + // It's -1 + euler.x = -Math::atan2(elements[1][2], elements[2][2]); + euler.y = 0.0; + euler.z = Math_PI / 2.0; + } + } else { + // It's 1 + euler.x = -Math::atan2(elements[1][2], elements[2][2]); + euler.y = 0.0; + euler.z = -Math_PI / 2.0; + } + return euler; +} + +void Basis::set_euler_xzy(const Vector3 &p_euler) { + real_t c, s; + + c = Math::cos(p_euler.x); + s = Math::sin(p_euler.x); + Basis xmat(1.0, 0.0, 0.0, 0.0, c, -s, 0.0, s, c); + + c = Math::cos(p_euler.y); + s = Math::sin(p_euler.y); + Basis ymat(c, 0.0, s, 0.0, 1.0, 0.0, -s, 0.0, c); + + c = Math::cos(p_euler.z); + s = Math::sin(p_euler.z); + Basis zmat(c, -s, 0.0, s, c, 0.0, 0.0, 0.0, 1.0); + + *this = xmat * zmat * ymat; +} + +Vector3 Basis::get_euler_yzx() const { + // Euler angles in YZX convention. + // See https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix + // + // rot = cy*cz sy*sx-cy*cx*sz cx*sy+cy*sz*sx + // sz cz*cx -cz*sx + // -cz*sy cy*sx+cx*sy*sz cy*cx-sy*sz*sx + + Vector3 euler; + real_t sz = elements[1][0]; + if (sz < (1.0 - CMP_EPSILON)) { + if (sz > -(1.0 - CMP_EPSILON)) { + euler.x = Math::atan2(-elements[1][2], elements[1][1]); + euler.y = Math::atan2(-elements[2][0], elements[0][0]); + euler.z = Math::asin(sz); + } else { + // It's -1 + euler.x = Math::atan2(elements[2][1], elements[2][2]); + euler.y = 0.0; + euler.z = -Math_PI / 2.0; + } + } else { + // It's 1 + euler.x = Math::atan2(elements[2][1], elements[2][2]); + euler.y = 0.0; + euler.z = Math_PI / 2.0; + } + return euler; +} + +void Basis::set_euler_yzx(const Vector3 &p_euler) { + real_t c, s; + + c = Math::cos(p_euler.x); + s = Math::sin(p_euler.x); + Basis xmat(1.0, 0.0, 0.0, 0.0, c, -s, 0.0, s, c); + + c = Math::cos(p_euler.y); + s = Math::sin(p_euler.y); + Basis ymat(c, 0.0, s, 0.0, 1.0, 0.0, -s, 0.0, c); + + c = Math::cos(p_euler.z); + s = Math::sin(p_euler.z); + Basis zmat(c, -s, 0.0, s, c, 0.0, 0.0, 0.0, 1.0); + + *this = ymat * zmat * xmat; +} + // get_euler_yxz returns a vector containing the Euler angles in the YXZ convention, // as in first-Z, then-X, last-Y. The angles for X, Y, and Z rotations are returned // as the x, y, and z components of a Vector3 respectively. Vector3 Basis::get_euler_yxz() const { - /* checking this is a bad idea, because obtaining from scaled transform is a valid use case -#ifdef MATH_CHECKS - ERR_FAIL_COND(!is_rotation()); -#endif -*/ // Euler angles in YXZ convention. // See https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix // @@ -501,8 +589,8 @@ Vector3 Basis::get_euler_yxz() const { real_t m12 = elements[1][2]; - if (m12 < 1) { - if (m12 > -1) { + if (m12 < (1 - CMP_EPSILON)) { + if (m12 > -(1 - CMP_EPSILON)) { // is this a pure X rotation? if (elements[1][0] == 0 && elements[0][1] == 0 && elements[0][2] == 0 && elements[2][0] == 0 && elements[0][0] == 1) { // return the simplest form (human friendlier in editor and scripts) @@ -516,12 +604,12 @@ Vector3 Basis::get_euler_yxz() const { } } else { // m12 == -1 euler.x = Math_PI * 0.5; - euler.y = -atan2(-elements[0][1], elements[0][0]); + euler.y = atan2(elements[0][1], elements[0][0]); euler.z = 0; } } else { // m12 == 1 euler.x = -Math_PI * 0.5; - euler.y = -atan2(-elements[0][1], elements[0][0]); + euler.y = -atan2(elements[0][1], elements[0][0]); euler.z = 0; } @@ -551,6 +639,100 @@ void Basis::set_euler_yxz(const Vector3 &p_euler) { *this = ymat * xmat * zmat; } +Vector3 Basis::get_euler_zxy() const { + // Euler angles in ZXY convention. + // See https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix + // + // rot = cz*cy-sz*sx*sy -cx*sz cz*sy+cy*sz*sx + // cy*sz+cz*sx*sy cz*cx sz*sy-cz*cy*sx + // -cx*sy sx cx*cy + Vector3 euler; + real_t sx = elements[2][1]; + if (sx < (1.0 - CMP_EPSILON)) { + if (sx > -(1.0 - CMP_EPSILON)) { + euler.x = Math::asin(sx); + euler.y = Math::atan2(-elements[2][0], elements[2][2]); + euler.z = Math::atan2(-elements[0][1], elements[1][1]); + } else { + // It's -1 + euler.x = -Math_PI / 2.0; + euler.y = Math::atan2(elements[0][2], elements[0][0]); + euler.z = 0; + } + } else { + // It's 1 + euler.x = Math_PI / 2.0; + euler.y = Math::atan2(elements[0][2], elements[0][0]); + euler.z = 0; + } + return euler; +} + +void Basis::set_euler_zxy(const Vector3 &p_euler) { + real_t c, s; + + c = Math::cos(p_euler.x); + s = Math::sin(p_euler.x); + Basis xmat(1.0, 0.0, 0.0, 0.0, c, -s, 0.0, s, c); + + c = Math::cos(p_euler.y); + s = Math::sin(p_euler.y); + Basis ymat(c, 0.0, s, 0.0, 1.0, 0.0, -s, 0.0, c); + + c = Math::cos(p_euler.z); + s = Math::sin(p_euler.z); + Basis zmat(c, -s, 0.0, s, c, 0.0, 0.0, 0.0, 1.0); + + *this = zmat * xmat * ymat; +} + +Vector3 Basis::get_euler_zyx() const { + // Euler angles in ZYX convention. + // See https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix + // + // rot = cz*cy cz*sy*sx-cx*sz sz*sx+cz*cx*cy + // cy*sz cz*cx+sz*sy*sx cx*sz*sy-cz*sx + // -sy cy*sx cy*cx + Vector3 euler; + real_t sy = elements[2][0]; + if (sy < (1.0 - CMP_EPSILON)) { + if (sy > -(1.0 - CMP_EPSILON)) { + euler.x = Math::atan2(elements[2][1], elements[2][2]); + euler.y = Math::asin(-sy); + euler.z = Math::atan2(elements[1][0], elements[0][0]); + } else { + // It's -1 + euler.x = 0; + euler.y = Math_PI / 2.0; + euler.z = -Math::atan2(elements[0][1], elements[1][1]); + } + } else { + // It's 1 + euler.x = 0; + euler.y = -Math_PI / 2.0; + euler.z = -Math::atan2(elements[0][1], elements[1][1]); + } + return euler; +} + +void Basis::set_euler_zyx(const Vector3 &p_euler) { + real_t c, s; + + c = Math::cos(p_euler.x); + s = Math::sin(p_euler.x); + Basis xmat(1.0, 0.0, 0.0, 0.0, c, -s, 0.0, s, c); + + c = Math::cos(p_euler.y); + s = Math::sin(p_euler.y); + Basis ymat(c, 0.0, s, 0.0, 1.0, 0.0, -s, 0.0, c); + + c = Math::cos(p_euler.z); + s = Math::sin(p_euler.z); + Basis zmat(c, -s, 0.0, s, c, 0.0, 0.0, 0.0, 1.0); + + *this = zmat * ymat * xmat; +} + bool Basis::is_equal_approx(const Basis &p_basis) const { return elements[0].is_equal_approx(p_basis.elements[0]) && elements[1].is_equal_approx(p_basis.elements[1]) && elements[2].is_equal_approx(p_basis.elements[2]); } diff --git a/core/math/basis.h b/core/math/basis.h index d870a6b099..985fb0e44f 100644 --- a/core/math/basis.h +++ b/core/math/basis.h @@ -88,9 +88,22 @@ public: Vector3 get_euler_xyz() const; void set_euler_xyz(const Vector3 &p_euler); + + Vector3 get_euler_xzy() const; + void set_euler_xzy(const Vector3 &p_euler); + + Vector3 get_euler_yzx() const; + void set_euler_yzx(const Vector3 &p_euler); + Vector3 get_euler_yxz() const; void set_euler_yxz(const Vector3 &p_euler); + Vector3 get_euler_zxy() const; + void set_euler_zxy(const Vector3 &p_euler); + + Vector3 get_euler_zyx() const; + void set_euler_zyx(const Vector3 &p_euler); + Quat get_quat() const; void set_quat(const Quat &p_quat); diff --git a/core/math/expression.cpp b/core/math/expression.cpp index db3bf2f830..6421606ca2 100644 --- a/core/math/expression.cpp +++ b/core/math/expression.cpp @@ -896,6 +896,7 @@ Error Expression::_get_token(Token &r_token) { return OK; } + case '\'': case '"': { String str; while (true) { @@ -905,7 +906,8 @@ Error Expression::_get_token(Token &r_token) { _set_error("Unterminated String"); r_token.type = TK_ERROR; return ERR_PARSE_ERROR; - } else if (ch == '"') { + } else if (ch == cchar) { + // cchar contain a corresponding quote symbol break; } else if (ch == '\\') { //escaped characters... diff --git a/core/object.cpp b/core/object.cpp index f3c5a13809..8abea9ca7e 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -2038,23 +2038,31 @@ void ObjectDB::cleanup() { if (slot_count > 0) { spin_lock.lock(); - WARN_PRINT("ObjectDB Instances still exist!"); + WARN_PRINT("ObjectDB instances leaked at exit (run with --verbose for details)."); if (OS::get_singleton()->is_stdout_verbose()) { + // Ensure calling the native classes because if a leaked instance has a script + // that overrides any of those methods, it'd not be OK to call them at this point, + // now the scripting languages have already been terminated. + MethodBind *node_get_name = ClassDB::get_method("Node", "get_name"); + MethodBind *resource_get_path = ClassDB::get_method("Resource", "get_path"); + Callable::CallError call_error; + for (uint32_t i = 0; i < slot_count; i++) { uint32_t slot = object_slots[i].next_free; Object *obj = object_slots[slot].object; - String node_name; + String extra_info; if (obj->is_class("Node")) { - node_name = " - Node name: " + String(obj->call("get_name")); + extra_info = " - Node name: " + String(node_get_name->call(obj, nullptr, 0, call_error)); } if (obj->is_class("Resource")) { - node_name = " - Resource name: " + String(obj->call("get_name")) + " Path: " + String(obj->call("get_path")); + extra_info = " - Resource path: " + String(resource_get_path->call(obj, nullptr, 0, call_error)); } uint64_t id = uint64_t(slot) | (uint64_t(object_slots[slot].validator) << OBJECTDB_VALIDATOR_BITS) | (object_slots[slot].is_reference ? OBJECTDB_REFERENCE_BIT : 0); - print_line("Leaked instance: " + String(obj->get_class()) + ":" + itos(id) + node_name); + print_line("Leaked instance: " + String(obj->get_class()) + ":" + itos(id) + extra_info); } + print_line("Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`)."); } spin_lock.unlock(); } diff --git a/core/object.h b/core/object.h index 95662f6208..5b46a0f93a 100644 --- a/core/object.h +++ b/core/object.h @@ -124,6 +124,7 @@ enum PropertyUsageFlags { PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT = 1 << 24, PROPERTY_USAGE_KEYING_INCREMENTS = 1 << 25, // Used in inspector to increment property when keyed in animation player PROPERTY_USAGE_DEFERRED_SET_RESOURCE = 1 << 26, // when loading, the resource for this property can be set at the end of loading + PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT = 1 << 27, // For Object properties, instantiate them when creating in editor. PROPERTY_USAGE_DEFAULT = PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_NETWORK, PROPERTY_USAGE_DEFAULT_INTL = PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_NETWORK | PROPERTY_USAGE_INTERNATIONALIZED, diff --git a/core/os/os.cpp b/core/os/os.cpp index 56755bcf51..c842be333c 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -83,15 +83,7 @@ uint64_t OS::get_splash_tick_msec() const { return _msec_splash; } -uint64_t OS::get_unix_time() const { - return 0; -} - -uint64_t OS::get_system_time_secs() const { - return 0; -} - -uint64_t OS::get_system_time_msecs() const { +double OS::get_unix_time() const { return 0; } diff --git a/core/os/os.h b/core/os/os.h index 9ca034a01c..04e10518dc 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -209,9 +209,7 @@ public: virtual Time get_time(bool local = false) const = 0; virtual TimeZoneInfo get_time_zone_info() const = 0; virtual String get_iso_date_time(bool local = false) const; - virtual uint64_t get_unix_time() const; - virtual uint64_t get_system_time_secs() const; - virtual uint64_t get_system_time_msecs() const; + virtual double get_unix_time() const; virtual void delay_usec(uint32_t p_usec) const = 0; virtual uint64_t get_ticks_usec() const = 0; diff --git a/core/resource.cpp b/core/resource.cpp index 0af8c9c2b3..3b589793ef 100644 --- a/core/resource.cpp +++ b/core/resource.cpp @@ -33,6 +33,7 @@ #include "core/core_string_names.h" #include "core/io/resource_loader.h" #include "core/os/file_access.h" +#include "core/os/os.h" #include "core/script_language.h" #include "scene/main/node.h" //only so casting works @@ -431,7 +432,14 @@ void ResourceCache::setup() { void ResourceCache::clear() { if (resources.size()) { - ERR_PRINT("Resources Still in use at Exit!"); + ERR_PRINT("Resources still in use at exit (run with --verbose for details)."); + if (OS::get_singleton()->is_stdout_verbose()) { + const String *K = nullptr; + while ((K = resources.next(K))) { + Resource *r = resources[*K]; + print_line(vformat("Resource still in use: %s (%s)", *K, r->get_class())); + } + } } resources.clear(); @@ -442,12 +450,6 @@ void ResourceCache::clear() { } void ResourceCache::reload_externals() { - /* - const String *K=nullptr; - while ((K=resources.next(K))) { - resources[*K]->reload_external_data(); - } - */ } bool ResourceCache::has(const String &p_path) { @@ -530,6 +532,5 @@ void ResourceCache::dump(const char *p_file, bool p_short) { } lock->read_unlock(); - #endif } diff --git a/core/ustring.cpp b/core/ustring.cpp index cfb547742a..444338d5ae 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -4143,27 +4143,40 @@ String String::sprintf(const Array &values, bool *error) const { } double value = values[value_index]; - String str = String::num(value, min_decimals); + bool is_negative = (value < 0); + String str = String::num(ABS(value), min_decimals); // Pad decimals out. str = str.pad_decimals(min_decimals); - // Show sign - if (show_sign && str.left(1) != "-") { - str = str.insert(0, "+"); - } + int initial_len = str.length(); - // Padding + // Padding. Leave room for sign later if required. + int pad_chars_count = (is_negative || show_sign) ? min_chars - 1 : min_chars; + String pad_char = pad_with_zeroes ? String("0") : String(" "); if (left_justified) { - str = str.rpad(min_chars); + if (pad_with_zeroes) { + return "left justification cannot be used with zeros as the padding"; + } else { + str = str.rpad(pad_chars_count, pad_char); + } } else { - str = str.lpad(min_chars); + str = str.lpad(pad_chars_count, pad_char); + } + + // Add sign if needed. + if (show_sign || is_negative) { + String sign_char = is_negative ? "-" : "+"; + if (left_justified) { + str = str.insert(0, sign_char); + } else { + str = str.insert(pad_with_zeroes ? 0 : str.length() - initial_len, sign_char); + } } formatted += str; ++value_index; in_format = false; - break; } case 's': { // String diff --git a/core/variant_call.cpp b/core/variant_call.cpp index f1b2a1547d..a8beac1e44 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -923,6 +923,18 @@ struct _VariantCall { VCALL_PTR1R(Basis, scaled); VCALL_PTR0R(Basis, get_scale); VCALL_PTR0R(Basis, get_euler); + VCALL_PTR0R(Basis, get_euler_xyz); + VCALL_PTR1(Basis, set_euler_xyz); + VCALL_PTR0R(Basis, get_euler_xzy); + VCALL_PTR1(Basis, set_euler_xzy); + VCALL_PTR0R(Basis, get_euler_yzx); + VCALL_PTR1(Basis, set_euler_yzx); + VCALL_PTR0R(Basis, get_euler_yxz); + VCALL_PTR1(Basis, set_euler_yxz); + VCALL_PTR0R(Basis, get_euler_zxy); + VCALL_PTR1(Basis, set_euler_zxy); + VCALL_PTR0R(Basis, get_euler_zyx); + VCALL_PTR1(Basis, set_euler_zyx); VCALL_PTR1R(Basis, tdotx); VCALL_PTR1R(Basis, tdoty); VCALL_PTR1R(Basis, tdotz); diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp index bdcad03353..74f4f32c0e 100644 --- a/core/variant_parser.cpp +++ b/core/variant_parser.cpp @@ -479,12 +479,6 @@ Error VariantParser::_parse_construct(Stream *p_stream, Vector<T> &r_construct, } Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, int &line, String &r_err_str, ResourceParser *p_res_parser) { - /* { - Error err = get_token(p_stream,token,line,r_err_str); - if (err) - return err; - }*/ - if (token.type == TK_CURLY_BRACKET_OPEN) { Dictionary d; Error err = _parse_dictionary(d, p_stream, line, r_err_str, p_res_parser); @@ -501,7 +495,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = a; return OK; - } else if (token.type == TK_IDENTIFIER) { String id = token.value; if (id == "true") { @@ -523,10 +516,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 2) { r_err_str = "Expected 2 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Vector2(args[0], args[1]); - return OK; } else if (id == "Vector2i") { Vector<int32_t> args; Error err = _parse_construct<int32_t>(p_stream, args, line, r_err_str); @@ -536,10 +529,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 2) { r_err_str = "Expected 2 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Vector2i(args[0], args[1]); - return OK; } else if (id == "Rect2") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -549,10 +542,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 4) { r_err_str = "Expected 4 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Rect2(args[0], args[1], args[2], args[3]); - return OK; } else if (id == "Rect2i") { Vector<int32_t> args; Error err = _parse_construct<int32_t>(p_stream, args, line, r_err_str); @@ -562,10 +555,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 4) { r_err_str = "Expected 4 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Rect2i(args[0], args[1], args[2], args[3]); - return OK; } else if (id == "Vector3") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -575,10 +568,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 3) { r_err_str = "Expected 3 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Vector3(args[0], args[1], args[2]); - return OK; } else if (id == "Vector3i") { Vector<int32_t> args; Error err = _parse_construct<int32_t>(p_stream, args, line, r_err_str); @@ -588,12 +581,11 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 3) { r_err_str = "Expected 3 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Vector3i(args[0], args[1], args[2]); - return OK; } else if (id == "Transform2D" || id == "Matrix32") { //compatibility - Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); if (err) { @@ -602,13 +594,14 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 6) { r_err_str = "Expected 6 arguments for constructor"; + return ERR_PARSE_ERROR; } + Transform2D m; m[0] = Vector2(args[0], args[1]); m[1] = Vector2(args[2], args[3]); m[2] = Vector2(args[4], args[5]); value = m; - return OK; } else if (id == "Plane") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -618,10 +611,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 4) { r_err_str = "Expected 4 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Plane(args[0], args[1], args[2], args[3]); - return OK; } else if (id == "Quat") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -631,11 +624,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 4) { r_err_str = "Expected 4 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Quat(args[0], args[1], args[2], args[3]); - return OK; - } else if (id == "AABB" || id == "Rect3") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -645,13 +637,11 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 6) { r_err_str = "Expected 6 arguments for constructor"; + return ERR_PARSE_ERROR; } value = AABB(Vector3(args[0], args[1], args[2]), Vector3(args[3], args[4], args[5])); - return OK; - } else if (id == "Basis" || id == "Matrix3") { //compatibility - Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); if (err) { @@ -660,10 +650,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 9) { r_err_str = "Expected 9 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Basis(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]); - return OK; } else if (id == "Transform") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -673,11 +663,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 12) { r_err_str = "Expected 12 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Transform(Basis(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]), Vector3(args[9], args[10], args[11])); - return OK; - } else if (id == "Color") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -687,11 +676,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, if (args.size() != 4) { r_err_str = "Expected 4 arguments for constructor"; + return ERR_PARSE_ERROR; } value = Color(args[0], args[1], args[2], args[3]); - return OK; - } else if (id == "NodePath") { get_token(p_stream, token, line, r_err_str); if (token.type != TK_PARENTHESIS_OPEN) { @@ -712,7 +700,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, r_err_str = "Expected ')'"; return ERR_PARSE_ERROR; } - } else if (id == "RID") { get_token(p_stream, token, line, r_err_str); if (token.type != TK_PARENTHESIS_OPEN) { @@ -733,8 +720,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, r_err_str = "Expected ')'"; return ERR_PARSE_ERROR; } - - return OK; } else if (id == "Object") { get_token(p_stream, token, line, r_err_str); if (token.type != TK_PARENTHESIS_OPEN) { @@ -834,7 +819,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, at_key = true; } } - } else if (id == "Resource" || id == "SubResource" || id == "ExtResource") { get_token(p_stream, token, line, r_err_str); if (token.type != TK_PARENTHESIS_OPEN) { @@ -850,8 +834,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = res; - - return OK; } else if (p_res_parser && id == "ExtResource" && p_res_parser->ext_func) { RES res; Error err = p_res_parser->ext_func(p_res_parser->userdata, p_stream, res, line, r_err_str); @@ -860,8 +842,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = res; - - return OK; } else if (p_res_parser && id == "SubResource" && p_res_parser->sub_func) { RES res; Error err = p_res_parser->sub_func(p_res_parser->userdata, p_stream, res, line, r_err_str); @@ -870,8 +850,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = res; - - return OK; } else { get_token(p_stream, token, line, r_err_str); if (token.type == TK_STRING) { @@ -889,14 +867,11 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = res; - return OK; - } else { r_err_str = "Expected string as argument for Resource()."; return ERR_PARSE_ERROR; } } - } else if (id == "PackedByteArray" || id == "PoolByteArray" || id == "ByteArray") { Vector<uint8_t> args; Error err = _parse_construct<uint8_t>(p_stream, args, line, r_err_str); @@ -915,9 +890,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; - } else if (id == "PackedInt32Array" || id == "PackedIntArray" || id == "PoolIntArray" || id == "IntArray") { Vector<int32_t> args; Error err = _parse_construct<int32_t>(p_stream, args, line, r_err_str); @@ -936,9 +908,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; - } else if (id == "PackedInt64Array") { Vector<int64_t> args; Error err = _parse_construct<int64_t>(p_stream, args, line, r_err_str); @@ -957,9 +926,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; - } else if (id == "PackedFloat32Array" || id == "PackedRealArray" || id == "PoolRealArray" || id == "FloatArray") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -978,8 +944,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; } else if (id == "PackedFloat64Array") { Vector<double> args; Error err = _parse_construct<double>(p_stream, args, line, r_err_str); @@ -998,8 +962,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; } else if (id == "PackedStringArray" || id == "PoolStringArray" || id == "StringArray") { get_token(p_stream, token, line, r_err_str); if (token.type != TK_PARENTHESIS_OPEN) { @@ -1046,9 +1008,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; - } else if (id == "PackedVector2Array" || id == "PoolVector2Array" || id == "Vector2Array") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -1067,9 +1026,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; - } else if (id == "PackedVector3Array" || id == "PoolVector3Array" || id == "Vector3Array") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -1088,9 +1044,6 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; - } else if (id == "PackedColorArray" || id == "PoolColorArray" || id == "ColorArray") { Vector<float> args; Error err = _parse_construct<float>(p_stream, args, line, r_err_str); @@ -1109,15 +1062,13 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream, } value = arr; - - return OK; } else { r_err_str = "Unexpected identifier: '" + id + "'."; return ERR_PARSE_ERROR; } + // All above branches end up here unless they had an early return. return OK; - } else if (token.type == TK_NUMBER) { value = token.value; return OK; diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml index e930abba87..2695e86f47 100644 --- a/doc/classes/AStar.xml +++ b/doc/classes/AStar.xml @@ -131,7 +131,8 @@ <argument index="1" name="include_disabled" type="bool" default="false"> </argument> <description> - Returns the ID of the closest point to [code]to_position[/code], optionally taking disabled points into account. Returns -1 if there are no points in the points pool. + Returns the ID of the closest point to [code]to_position[/code], optionally taking disabled points into account. Returns [code]-1[/code] if there are no points in the points pool. + [b]Note:[/b] If several points are the closest to [code]to_position[/code], the one with the smallest ID will be returned, ensuring a deterministic result. </description> </method> <method name="get_closest_position_in_segment" qualifiers="const"> diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml index 16fa05041e..622d336ef6 100644 --- a/doc/classes/AStar2D.xml +++ b/doc/classes/AStar2D.xml @@ -114,7 +114,8 @@ <argument index="1" name="include_disabled" type="bool" default="false"> </argument> <description> - Returns the ID of the closest point to [code]to_position[/code], optionally taking disabled points into account. Returns -1 if there are no points in the points pool. + Returns the ID of the closest point to [code]to_position[/code], optionally taking disabled points into account. Returns [code]-1[/code] if there are no points in the points pool. + [b]Note:[/b] If several points are the closest to [code]to_position[/code], the one with the smallest ID will be returned, ensuring a deterministic result. </description> </method> <method name="get_closest_position_in_segment" qualifiers="const"> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 7593f7dff4..9a3eccd8dc 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -200,7 +200,7 @@ <argument index="1" name="from" type="int" default="0"> </argument> <description> - Searches the array for a value and returns its index or -1 if not found. Optionally, the initial search index can be passed. + Searches the array for a value and returns its index or [code]-1[/code] if not found. Optionally, the initial search index can be passed. </description> </method> <method name="find_last"> @@ -209,7 +209,7 @@ <argument index="0" name="value" type="Variant"> </argument> <description> - Searches the array in reverse order for a value and returns its index or -1 if not found. + Searches the array in reverse order for a value and returns its index or [code]-1[/code] if not found. </description> </method> <method name="front"> @@ -232,6 +232,12 @@ ["inside", 7].has(7) == true ["inside", 7].has("7") == false [/codeblock] + [b]Note:[/b] This is equivalent to using the [code]in[/code] operator as follows: + [codeblock] + # Will evaluate to `true`. + if 2 in [2, 4, 6, 8]: + pass + [/codeblock] </description> </method> <method name="hash"> diff --git a/doc/classes/AudioEffectRecord.xml b/doc/classes/AudioEffectRecord.xml index 4dac81322f..a217342d98 100644 --- a/doc/classes/AudioEffectRecord.xml +++ b/doc/classes/AudioEffectRecord.xml @@ -4,6 +4,7 @@ Audio effect used for recording sound from a microphone. </brief_description> <description> + Allows the user to record sound from a microphone. It sets and gets the format in which the audio file will be recorded (8-bit, 16-bit, or compressed). It checks whether or not the recording is active, and if it is, records the sound. It then returns the recorded sample. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/audio/recording_with_microphone.html</link> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index 385f4b7e59..5413fa33c6 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -126,6 +126,13 @@ </argument> <description> Returns [code]true[/code] if the dictionary has a given key. + [b]Note:[/b] This is equivalent to using the [code]in[/code] operator as follows: + [codeblock] + # Will evaluate to `true`. + if "godot" in {"godot": "engine"}: + pass + [/codeblock] + This method (like the [code]in[/code] operator) will evaluate to [code]true[/code] as long as the key exists, even if the associated value is [code]null[/code]. </description> </method> <method name="has_all"> @@ -148,6 +155,7 @@ # The line below prints `true`, whereas it would have printed `false` if both variables were compared directly. print(dict1.hash() == dict2.hash()) [/codeblock] + [b]Note:[/b] Dictionaries with the same keys/values but in a different order will have a different hash. </description> </method> <method name="keys"> diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml index 7fe712753c..f8306cbd72 100644 --- a/doc/classes/DisplayServer.xml +++ b/doc/classes/DisplayServer.xml @@ -127,12 +127,6 @@ <description> </description> </method> - <method name="get_latin_keyboard_variant" qualifiers="const"> - <return type="int" enum="DisplayServer.LatinKeyboardVariant"> - </return> - <description> - </description> - </method> <method name="get_name" qualifiers="const"> <return type="String"> </return> @@ -389,6 +383,52 @@ <description> </description> </method> + <method name="keyboard_get_current_layout" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns active keyboard layout index. + [b]Note:[/b] This method is implemented on Linux, macOS and Windows. + </description> + </method> + <method name="keyboard_get_layout_count" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the number of keyboard layouts. + [b]Note:[/b] This method is implemented on Linux, macOS and Windows. + </description> + </method> + <method name="keyboard_get_layout_language" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + Returns the ISO-639/BCP-47 language code of the keyboard layout at position [code]index[/code]. + [b]Note:[/b] This method is implemented on Linux, macOS and Windows. + </description> + </method> + <method name="keyboard_get_layout_name" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + Returns the localized name of the keyboard layout at position [code]index[/code]. + [b]Note:[/b] This method is implemented on Linux, macOS and Windows. + </description> + </method> + <method name="keyboard_set_current_layout"> + <return type="void"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + Sets active keyboard layout. + [b]Note:[/b] This method is implemented on Linux, macOS and Windows. + </description> + </method> <method name="mouse_get_absolute_position" qualifiers="const"> <return type="Vector2i"> </return> @@ -1021,20 +1061,6 @@ </constant> <constant name="WINDOW_FLAG_MAX" value="5" enum="WindowFlags"> </constant> - <constant name="LATIN_KEYBOARD_QWERTY" value="0" enum="LatinKeyboardVariant"> - </constant> - <constant name="LATIN_KEYBOARD_QWERTZ" value="1" enum="LatinKeyboardVariant"> - </constant> - <constant name="LATIN_KEYBOARD_AZERTY" value="2" enum="LatinKeyboardVariant"> - </constant> - <constant name="LATIN_KEYBOARD_QZERTY" value="3" enum="LatinKeyboardVariant"> - </constant> - <constant name="LATIN_KEYBOARD_DVORAK" value="4" enum="LatinKeyboardVariant"> - </constant> - <constant name="LATIN_KEYBOARD_NEO" value="5" enum="LatinKeyboardVariant"> - </constant> - <constant name="LATIN_KEYBOARD_COLEMAK" value="6" enum="LatinKeyboardVariant"> - </constant> <constant name="WINDOW_EVENT_MOUSE_ENTER" value="0" enum="WindowEvent"> </constant> <constant name="WINDOW_EVENT_MOUSE_EXIT" value="1" enum="WindowEvent"> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index 17c65731ff..b90039e496 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -54,28 +54,28 @@ <return type="int"> </return> <description> - Returns the next 16 bits from the file as an integer. + Returns the next 16 bits from the file as an integer. See [method store_16] for details on what values can be stored and retrieved this way. </description> </method> <method name="get_32" qualifiers="const"> <return type="int"> </return> <description> - Returns the next 32 bits from the file as an integer. + Returns the next 32 bits from the file as an integer. See [method store_32] for details on what values can be stored and retrieved this way. </description> </method> <method name="get_64" qualifiers="const"> <return type="int"> </return> <description> - Returns the next 64 bits from the file as an integer. + Returns the next 64 bits from the file as an integer. See [method store_64] for details on what values can be stored and retrieved this way. </description> </method> <method name="get_8" qualifiers="const"> <return type="int"> </return> <description> - Returns the next 8 bits from the file as an integer. + Returns the next 8 bits from the file as an integer. See [method store_8] for details on what values can be stored and retrieved this way. </description> </method> <method name="get_as_text" qualifiers="const"> @@ -297,7 +297,26 @@ </argument> <description> 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]. + [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] + const MAX_15B = 1 << 15 + const MAX_16B = 1 << 16 + + func unsigned16_to_signed(unsigned): + return (unsigned + MAX_15B) % MAX_16B - MAX_15B + + func _ready(): + var f = File.new() + f.open("user://file.dat", File.WRITE_READ) + f.store_16(-42) # This wraps around and stores 65494 (2^16 - 42). + f.store_16(121) # In bounds, will store 121. + f.seek(0) # Go back to start to read the stored value. + var read1 = f.get_16() # 65494 + var read2 = f.get_16() # 121 + var converted1 = unsigned16_to_signed(read1) # -42 + var converted2 = unsigned16_to_signed(read2) # 121 + [/codeblock] </description> </method> <method name="store_32"> @@ -307,7 +326,8 @@ </argument> <description> Stores an integer as 32 bits in the file. - [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 2^32 - 1][/code]. + [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 2^32 - 1][/code]. Any other value will overflow and wrap around. + To store a signed integer, use [method store_64], or convert it manually (see [method store_16] for an example). </description> </method> <method name="store_64"> @@ -327,7 +347,8 @@ </argument> <description> Stores an integer as 8 bits in the file. - [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 255][/code]. + [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 255][/code]. Any other value will overflow and wrap around. + To store a signed integer, use [method store_64], or convert it manually (see [method store_16] for an example). </description> </method> <method name="store_buffer"> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index 99563ee367..eaaccbd0dd 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -4,7 +4,7 @@ Dialog for selecting files or directories in the filesystem. </brief_description> <description> - FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. + FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. The FileDialog automatically sets its window title according to the [member file_mode]. If you want to use a custom title, disable this by setting [member mode_overrides_title] to [code]false[/code]. </description> <tutorials> </tutorials> @@ -132,6 +132,12 @@ </constant> </constants> <theme_items> + <theme_item name="file" type="Texture2D"> + Custom icon for files. + </theme_item> + <theme_item name="file_icon_modulate" type="Color" default="Color( 1, 1, 1, 1 )"> + The color modulation applied to the file icon. + </theme_item> <theme_item name="files_disabled" type="Color" default="Color( 0, 0, 0, 0.7 )"> The color tint for disabled files (when the [FileDialog] is used in open folder mode). </theme_item> diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index aa8c8d2443..d29fcfd96f 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -154,7 +154,7 @@ <argument index="4" name="data" type="PackedByteArray"> </argument> <description> - Creates a new image of given size and format. See [enum Format] constants. Fills the image with the given raw data. If [code]use_mipmaps[/code] is [code]true[/code] then generate mipmaps for this image. See the [method generate_mipmaps]. + Creates a new image of given size and format. See [enum Format] constants. Fills the image with the given raw data. If [code]use_mipmaps[/code] is [code]true[/code] then loads mipmaps for this image from [code]data[/code]. See [method generate_mipmaps]. </description> </method> <method name="crop"> diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml index da93d7fb53..842c69de27 100644 --- a/doc/classes/InputMap.xml +++ b/doc/classes/InputMap.xml @@ -95,7 +95,7 @@ Returns [code]true[/code] if the given event is part of an existing action. This method ignores keyboard modifiers if the given [InputEvent] is not pressed (for proper release detection). See [method action_has_event] if you don't want this behavior. </description> </method> - <method name="get_action_list"> + <method name="action_get_events"> <return type="Array"> </return> <argument index="0" name="action" type="StringName"> diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml index 6b2bbeb895..f0f4d83821 100644 --- a/doc/classes/KinematicBody2D.xml +++ b/doc/classes/KinematicBody2D.xml @@ -9,7 +9,7 @@ [b]Kinematic characters:[/b] KinematicBody2D also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics. </description> <tutorials> - <link>https://docs.godotengine.org/en/latest/tutorials/physics/kinematic_character_2d.html</link> + <link title="Kinematic character (2D)">https://docs.godotengine.org/en/latest/tutorials/physics/kinematic_character_2d.html</link> <link>https://docs.godotengine.org/en/latest/tutorials/physics/using_kinematic_body_2d.html</link> </tutorials> <methods> diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml index 263fb6c022..3318f2757d 100644 --- a/doc/classes/Label.xml +++ b/doc/classes/Label.xml @@ -57,7 +57,7 @@ </member> <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" override="true" enum="Control.MouseFilter" default="2" /> <member name="percent_visible" type="float" setter="set_percent_visible" getter="get_percent_visible" default="1.0"> - Limits the count of visible characters. If you set [code]percent_visible[/code] to 50, only up to half of the text's characters will display on screen. Useful to animate the text in a dialog box. + Limits the amount of visible characters. If you set [code]percent_visible[/code] to 0.5, only up to half of the text's characters will display on screen. Useful to animate the text in a dialog box. </member> <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" override="true" default="4" /> <member name="text" type="String" setter="set_text" getter="get_text" default=""""> diff --git a/doc/classes/Light3D.xml b/doc/classes/Light3D.xml index cb21db2d00..930a68be7f 100644 --- a/doc/classes/Light3D.xml +++ b/doc/classes/Light3D.xml @@ -4,7 +4,7 @@ Provides a base class for different kinds of light nodes. </brief_description> <description> - Light3D is the abstract base class for light nodes, so it shouldn't be used directly (it can't be instanced). Other types of light nodes inherit from it. Light3D contains the common variables and parameters used for lighting. + Light3D is the [i]abstract[/i] base class for light nodes. As it can't be instanced, it shouldn't be used directly. Other types of light nodes inherit from it. Light3D contains the common variables and parameters used for lighting. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link> @@ -36,19 +36,19 @@ If [code]true[/code], the light only appears in the editor and will not be visible at runtime. </member> <member name="light_angular_distance" type="float" setter="set_param" getter="get_param" default="0.0"> - Angular size of the light in degrees. Only available for [DirectionalLight3D]s. For reference, the sun from earth is approximately [code]0.5[/code]. + The light's angular size in degrees. Only available for [DirectionalLight3D]s. For reference, the Sun from the Earth is approximately [code]0.5[/code]. </member> <member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light3D.BakeMode" default="1"> The light's bake mode. See [enum BakeMode]. </member> <member name="light_color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )"> - The light's color. + The light's color. An [i]overbright[/i] color can be used to achieve a result equivalent to increasing the light's [member light_energy]. </member> <member name="light_cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask" default="4294967295"> The light will affect objects in the selected layers. </member> <member name="light_energy" type="float" setter="set_param" getter="get_param" default="1.0"> - The light's strength multiplier. + The light's strength multiplier (this is not a physical unit). For [OmniLight3D] and [SpotLight3D], changing this value will only change the light color's intensity, not the light's radius. </member> <member name="light_indirect_energy" type="float" setter="set_param" getter="get_param" default="1.0"> Secondary multiplier used with indirect light (light bounces). Used with [GIProbe]. @@ -60,16 +60,16 @@ [Texture2D] projected by light. [member shadow_enabled] must be on for the projector to work. Light projectors make the light appear as if it is shining through a colored but transparent object, almost like light shining through stained glass. </member> <member name="light_size" type="float" setter="set_param" getter="get_param" default="0.0"> - The size of the light in Godot units. Only available for [OmniLight3D]s and [SpotLight3D]s. + The size of the light in Godot units. Only available for [OmniLight3D]s and [SpotLight3D]s. Increasing this value will make the light fade out slower and shadows appear blurrier. This can be used to simulate area lights to an extent. </member> <member name="light_specular" type="float" setter="set_param" getter="get_param" default="0.5"> - The intensity of the specular blob in objects affected by the light. At [code]0[/code] the light becomes a pure diffuse light. + The intensity of the specular blob in objects affected by the light. At [code]0[/code], the light becomes a pure diffuse light. When not baking emission, this can be used to avoid unrealistic reflections when placing lights above an emissive surface. </member> <member name="shadow_bias" type="float" setter="set_param" getter="get_param" default="0.02"> - Used to adjust shadow appearance. Too small a value results in self-shadowing, while too large a value causes shadows to separate from casters. Adjust as needed. + Used to adjust shadow appearance. Too small a value results in self-shadowing ("shadow acne"), while too large a value causes shadows to separate from casters ("peter-panning"). Adjust as needed. </member> <member name="shadow_blur" type="float" setter="set_param" getter="get_param" default="1.0"> - Blurs the edges of the shadow. Can be used to hide pixel artifacts in low resolution shadow maps. A high value can make shadows appear grainy and can cause other unwanted artifacts. Try to keep as near default as possible. + Blurs the edges of the shadow. Can be used to hide pixel artifacts in low-resolution shadow maps. A high value can impact performance, make shadows appear grainy and can cause other unwanted artifacts. Try to keep as near default as possible. </member> <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 1 )"> The color of shadows cast by this light. @@ -78,7 +78,7 @@ If [code]true[/code], the light will cast shadows. </member> <member name="shadow_normal_bias" type="float" setter="set_param" getter="get_param" default="1.0"> - Offsets the lookup into the shadow map by the objects normal. This can be used reduce self-shadowing artifacts without using [member shadow_bias]. In practice, this value should be tweaked along with [member shadow_bias] to reduce artifacts as much as possible. + Offsets the lookup into the shadow map by the object's normal. This can be used to reduce self-shadowing artifacts without using [member shadow_bias]. In practice, this value should be tweaked along with [member shadow_bias] to reduce artifacts as much as possible. </member> <member name="shadow_reverse_cull_face" type="bool" setter="set_shadow_reverse_cull_face" getter="get_shadow_reverse_cull_face" default="false"> If [code]true[/code], reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with [constant GeometryInstance3D.SHADOW_CASTING_SETTING_DOUBLE_SIDED]. diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 3eeb892719..c1c54dd11b 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -43,7 +43,25 @@ <return type="void"> </return> <description> - Erases the [LineEdit] text. + Erases the [LineEdit]'s [member text]. + </description> + </method> + <method name="delete_char_at_cursor"> + <return type="void"> + </return> + <description> + Deletes one character at the cursor's current position (equivalent to pressing [kbd]Delete[/kbd]). + </description> + </method> + <method name="delete_text"> + <return type="void"> + </return> + <argument index="0" name="from_column" type="int"> + </argument> + <argument index="1" name="to_column" type="int"> + </argument> + <description> + Deletes a section of the [member text] going from position [code]from_column[/code] to [code]to_column[/code]. Both parameters should be within the text's length. </description> </method> <method name="deselect"> diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml index a37c8127f0..f3686876ca 100644 --- a/doc/classes/Material.xml +++ b/doc/classes/Material.xml @@ -17,7 +17,7 @@ </member> <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority" default="0"> Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects. - [b]Note:[/b] this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are sorted based on depth, while transparent objects are sorted from back to front (subject to priority). + [b]Note:[/b] this only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority). </member> </members> <constants> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 04c8d2bf57..9617ee0437 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -55,6 +55,7 @@ It is only called if input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_input]. To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called. For gameplay input, [method _unhandled_input] and [method _unhandled_key_input] are usually a better fit as they allow the GUI to intercept the events first. + [b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not orphan). </description> </method> <method name="_physics_process" qualifiers="virtual"> @@ -66,6 +67,7 @@ Called during the physics processing step of the main loop. Physics processing means that the frame rate is synced to the physics, i.e. the [code]delta[/code] variable should be constant. It is only called if physics processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_physics_process]. Corresponds to the [constant NOTIFICATION_PHYSICS_PROCESS] notification in [method Object._notification]. + [b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not orphan). </description> </method> <method name="_process" qualifiers="virtual"> @@ -77,6 +79,7 @@ Called during the processing step of the main loop. Processing happens at every frame and as fast as possible, so the [code]delta[/code] time since the previous frame is not constant. It is only called if processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process]. Corresponds to the [constant NOTIFICATION_PROCESS] notification in [method Object._notification]. + [b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not orphan). </description> </method> <method name="_ready" qualifiers="virtual"> @@ -99,6 +102,7 @@ It is only called if unhandled input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_input]. To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called. For gameplay input, this and [method _unhandled_key_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first. + [b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not orphan). </description> </method> <method name="_unhandled_key_input" qualifiers="virtual"> @@ -111,6 +115,7 @@ It is only called if unhandled key input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_key_input]. To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called. For gameplay input, this and [method _unhandled_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first. + [b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not orphan). </description> </method> <method name="add_child"> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 03203e2ebb..b131d2728c 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -325,7 +325,7 @@ </description> </method> <method name="get_unix_time" qualifiers="const"> - <return type="int"> + <return type="float"> </return> <description> Returns the current UNIX epoch timestamp. diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index 87bcab25db..8d08688b41 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -15,6 +15,7 @@ print("position" in n) # Prints "True". print("other_property" in n) # Prints "False". [/codeblock] + The [code]in[/code] operator will evaluate to [code]true[/code] as long as the key exists, even if the value is [code]null[/code]. Objects also receive notifications. Notifications are a simple way to notify the object about different events, so they can all be handled together. See [method _notification]. </description> <tutorials> diff --git a/doc/classes/OmniLight3D.xml b/doc/classes/OmniLight3D.xml index 0bbc987156..000d67e691 100644 --- a/doc/classes/OmniLight3D.xml +++ b/doc/classes/OmniLight3D.xml @@ -16,7 +16,7 @@ The light's attenuation (drop-off) curve. A number of presets are available in the [b]Inspector[/b] by right-clicking the curve. </member> <member name="omni_range" type="float" setter="set_param" getter="get_param" default="5.0"> - The light's radius. + The light's radius. Note that the effectively lit area may appear to be smaller depending on the [member omni_attenuation] in use. No matter the [member omni_attenuation] in use, the light will never reach anything outside this radius. </member> <member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight3D.ShadowMode" default="1"> See [enum ShadowMode]. diff --git a/doc/classes/PhysicsMaterial.xml b/doc/classes/PhysicsMaterial.xml index 6410626496..0889c238dc 100644 --- a/doc/classes/PhysicsMaterial.xml +++ b/doc/classes/PhysicsMaterial.xml @@ -12,6 +12,7 @@ </methods> <members> <member name="absorbent" type="bool" setter="set_absorbent" getter="is_absorbent" default="false"> + If [code]true[/code], subtracts the bounciness from the colliding object's bounciness instead of adding it. </member> <member name="bounce" type="float" setter="set_bounce" getter="get_bounce" default="0.0"> The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness). @@ -20,6 +21,7 @@ The body's friction. Values range from [code]0[/code] (frictionless) to [code]1[/code] (maximum friction). </member> <member name="rough" type="bool" setter="set_rough" getter="is_rough" default="false"> + If [code]true[/code], the physics engine will use the friction of the object marked as "rough" when two objects collide. If [code]false[/code], the physics engine will use the lowest friction of all colliding objects instead. If [code]true[/code] for both colliding objects, the physics engine will use the highest friction. </member> </members> <constants> diff --git a/doc/classes/PhysicsServer2D.xml b/doc/classes/PhysicsServer2D.xml index 9da739e57a..d7821b1045 100644 --- a/doc/classes/PhysicsServer2D.xml +++ b/doc/classes/PhysicsServer2D.xml @@ -864,28 +864,28 @@ Creates a damped spring joint between two bodies. If not specified, the second body is assumed to be the joint itself. </description> </method> - <method name="damped_string_joint_get_param" qualifiers="const"> + <method name="damped_spring_joint_get_param" qualifiers="const"> <return type="float"> </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer2D.DampedStringParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.DampedSpringParam"> </argument> <description> - Returns the value of a damped spring joint parameter. + Returns the value of a damped spring joint parameter. See [enum DampedSpringParam] for a list of available parameters. </description> </method> - <method name="damped_string_joint_set_param"> + <method name="damped_spring_joint_set_param"> <return type="void"> </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer2D.DampedStringParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.DampedSpringParam"> </argument> <argument index="2" name="value" type="float"> </argument> <description> - Sets a damped spring joint parameter. See [enum DampedStringParam] for a list of available parameters. + Sets a damped spring joint parameter. See [enum DampedSpringParam] for a list of available parameters. </description> </method> <method name="free_rid"> @@ -1247,13 +1247,13 @@ </constant> <constant name="JOINT_PARAM_MAX_FORCE" value="2" enum="JointParam"> </constant> - <constant name="DAMPED_STRING_REST_LENGTH" value="0" enum="DampedStringParam"> + <constant name="DAMPED_SPRING_REST_LENGTH" value="0" enum="DampedSpringParam"> Sets the resting length of the spring joint. The joint will always try to go to back this length when pulled apart. </constant> - <constant name="DAMPED_STRING_STIFFNESS" value="1" enum="DampedStringParam"> + <constant name="DAMPED_SPRING_STIFFNESS" value="1" enum="DampedSpringParam"> Sets the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length. </constant> - <constant name="DAMPED_STRING_DAMPING" value="2" enum="DampedStringParam"> + <constant name="DAMPED_SPRING_DAMPING" value="2" enum="DampedSpringParam"> Sets the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping). </constant> <constant name="CCD_MODE_DISABLED" value="0" enum="CCDMode"> diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index 8379fc5b58..a3fd2e81fd 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -127,7 +127,7 @@ The body's total applied torque. </member> <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true"> - If [code]true[/code], the body will not calculate forces and will act as a static body if there is no movement. The body will wake up when other forces are applied via collisions or by using [method apply_impulse] or [method add_force]. + If [code]true[/code], the body can enter sleep mode when there is no movement. See [member sleeping]. </member> <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled" default="false"> If [code]true[/code], the body will emit signals when it collides with another RigidBody2D. See also [member contacts_reported]. @@ -165,7 +165,7 @@ If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one. </member> <member name="sleeping" type="bool" setter="set_sleeping" getter="is_sleeping" default="false"> - If [code]true[/code], the body is sleeping and will not calculate forces until woken up by a collision or by using [method apply_impulse] or [method add_force]. + If [code]true[/code], the body will not move and will not calculate forces until woken up by another body through, for example, a collision, or by using the [method apply_impulse] or [method add_force] methods. </member> <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8"> The body's weight based on its mass and the [b]Default Gravity[/b] value in [b]Project > Project Settings > Physics > 2d[/b]. @@ -214,7 +214,8 @@ </signal> <signal name="sleeping_state_changed"> <description> - Emitted when [member sleeping] changes. + Emitted when the physics engine changes the body's sleeping state. + [b]Note:[/b] Changing the value [member sleeping] will not trigger this signal. It is only emitted if the sleeping state is changed by the physics engine or [code]emit_signal("sleeping_state_changed")[/code] is used. </description> </signal> </signals> diff --git a/doc/classes/RigidBody3D.xml b/doc/classes/RigidBody3D.xml index 1db818d6af..063cc3ca59 100644 --- a/doc/classes/RigidBody3D.xml +++ b/doc/classes/RigidBody3D.xml @@ -147,7 +147,7 @@ Lock the body's movement in the Z axis. </member> <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true"> - If [code]true[/code], the body is deactivated when there is no movement, so it will not take part in the simulation until it is awaken by an external force. + If [code]true[/code], the body can enter sleep mode when there is no movement. See [member sleeping]. </member> <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled" default="false"> If [code]true[/code], the RigidBody3D will emit signals when it collides with another RigidBody3D. @@ -182,7 +182,7 @@ If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one. </member> <member name="sleeping" type="bool" setter="set_sleeping" getter="is_sleeping" default="false"> - If [code]true[/code], the body is sleeping and will not calculate forces until woken up by a collision or the [code]apply_impulse[/code] method. + If [code]true[/code], the body will not move and will not calculate forces until woken up by another body through, for example, a collision, or by using the [method apply_impulse] or [method add_force] methods. </member> <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8"> The body's weight based on its mass and the global 3D gravity. Global values are set in [b]Project > Project Settings > Physics > 3d[/b]. @@ -233,7 +233,8 @@ </signal> <signal name="sleeping_state_changed"> <description> - Emitted when the body changes its sleeping state. Either by sleeping or waking up. + Emitted when the physics engine changes the body's sleeping state. + [b]Note:[/b] Changing the value [member sleeping] will not trigger this signal. It is only emitted if the sleeping state is changed by the physics engine or [code]emit_signal("sleeping_state_changed")[/code] is used. </description> </signal> </signals> diff --git a/doc/classes/Skeleton3D.xml b/doc/classes/Skeleton3D.xml index 640cbe84f5..183fd5396f 100644 --- a/doc/classes/Skeleton3D.xml +++ b/doc/classes/Skeleton3D.xml @@ -31,6 +31,16 @@ [i]Deprecated soon.[/i] </description> </method> + <method name="bone_transform_to_world_transform"> + <return type="Transform"> + </return> + <argument index="0" name="bone_transform" type="Transform"> + </argument> + <description> + Takes the given bone pose/transform and converts it to a world transform, relative to the [Skeleton3D] node. + This is useful for using the bone transform in calculations with transforms from [Node3D]-based nodes. + </description> + </method> <method name="clear_bones"> <return type="void"> </return> @@ -42,6 +52,7 @@ <return type="void"> </return> <description> + Removes the global pose override on all bones in the skeleton. </description> </method> <method name="find_bone" qualifiers="const"> @@ -136,12 +147,14 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> + Returns whether the bone rest for the bone at [code]bone_idx[/code] is disabled. </description> </method> <method name="localize_rests"> <return type="void"> </return> <description> + Returns all bones in the skeleton to their rest poses. </description> </method> <method name="physical_bones_add_collision_exception"> @@ -150,6 +163,8 @@ <argument index="0" name="exception" type="RID"> </argument> <description> + Adds a collision exception to the physical bone. + Works just like the [RigidBody3D] node. </description> </method> <method name="physical_bones_remove_collision_exception"> @@ -158,6 +173,8 @@ <argument index="0" name="exception" type="RID"> </argument> <description> + Removes a collision exception to the physical bone. + Works just like the [RigidBody3D] node. </description> </method> <method name="physical_bones_start_simulation"> @@ -166,12 +183,15 @@ <argument index="0" name="bones" type="StringName[]" default="[ ]"> </argument> <description> + Tells the [PhysicalBone3D] nodes in the Skeleton to start simulating and reacting to the physics world. + Optionally, a list of bone names can be passed-in, allowing only the passed-in bones to be simulated. </description> </method> <method name="physical_bones_stop_simulation"> <return type="void"> </return> <description> + Tells the [PhysicalBone3D] nodes in the Skeleton to stop simulating. </description> </method> <method name="register_skin"> @@ -180,6 +200,7 @@ <argument index="0" name="skin" type="Skin"> </argument> <description> + Binds the given Skin to the Skeleton. </description> </method> <method name="set_bone_custom_pose"> @@ -190,6 +211,8 @@ <argument index="1" name="custom_pose" type="Transform"> </argument> <description> + Sets the custom pose transform, [code]custom_pose[/code], for the bone at [code]bone_idx[/code]. This pose is an addition to the bone rest pose. + [b]Note[/b]: The pose transform needs to be in bone space. Use [method world_transform_to_bone_transform] to convert a world transform, like one you can get from a [Node3D], to bone space. </description> </method> <method name="set_bone_disable_rest"> @@ -200,6 +223,7 @@ <argument index="1" name="disable" type="bool"> </argument> <description> + Disables the rest pose for the bone at [code]bone_idx[/code] if [code]true[/code], enables the bone rest if [code]false[/code]. </description> </method> <method name="set_bone_global_pose_override"> @@ -214,6 +238,9 @@ <argument index="3" name="persistent" type="bool" default="false"> </argument> <description> + Sets the global pose transform, [code]pose[/code], for the bone at [code]bone_idx[/code]. + [code]amount[/code] is the interpolation strengh that will be used when applying the pose, and [code]persistent[/code] determines if the applied pose will remain. + [b]Note[/b]: The pose transform needs to be in bone space. Use [method world_transform_to_bone_transform] to convert a world transform, like one you can get from a [Node3D], to bone space. </description> </method> <method name="set_bone_parent"> @@ -237,6 +264,7 @@ </argument> <description> Returns the pose transform for bone [code]bone_idx[/code]. + [b]Note[/b]: The pose transform needs to be in bone space. Use [method world_transform_to_bone_transform] to convert a world transform, like one you can get from a [Node3D], to bone space. </description> </method> <method name="set_bone_rest"> @@ -267,6 +295,17 @@ <argument index="0" name="bone_idx" type="int"> </argument> <description> + Unparents the bone at [code]bone_idx[/code] and sets its rest position to that of it's parent prior to being reset. + </description> + </method> + <method name="world_transform_to_bone_transform"> + <return type="Transform"> + </return> + <argument index="0" name="world_transform" type="Transform"> + </argument> + <description> + Takes the given world transform, relative to the [Skeleton3D], and converts it to a bone pose/transform. + This is useful for using setting bone poses using transforms from [Node3D]-based nodes. </description> </method> </methods> diff --git a/doc/classes/SpotLight3D.xml b/doc/classes/SpotLight3D.xml index f094818c21..d8d82a6852 100644 --- a/doc/classes/SpotLight3D.xml +++ b/doc/classes/SpotLight3D.xml @@ -22,7 +22,7 @@ The spotlight's light energy attenuation curve. </member> <member name="spot_range" type="float" setter="set_param" getter="get_param" default="5.0"> - The maximal range that can be reached by the spotlight. + The maximal range that can be reached by the spotlight. Note that the effectively lit area may appear to be smaller depending on the [member spot_attenuation] in use. No matter the [member spot_attenuation] in use, the light will never reach anything outside this range. </member> </members> <constants> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 0dd6923129..24d92b822a 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -412,7 +412,13 @@ <argument index="1" name="from" type="int" default="0"> </argument> <description> - Finds the first occurrence of a substring. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed. + Finds the first occurrence of a substring. Returns the starting position of the substring or [code]-1[/code] if not found. Optionally, the initial search index can be passed. + [b]Note:[/b] If you just want to know whether a string contains a substring, use the [code]in[/code] operator as follows: + [codeblock] + # Will evaluate to `false`. + if "i" in "team": + pass + [/codeblock] </description> </method> <method name="find_last"> @@ -421,7 +427,7 @@ <argument index="0" name="what" type="String"> </argument> <description> - Finds the last occurrence of a substring. Returns the starting position of the substring or -1 if not found. + Finds the last occurrence of a substring. Returns the starting position of the substring or [code]-1[/code] if not found. </description> </method> <method name="findn"> @@ -432,7 +438,7 @@ <argument index="1" name="from" type="int" default="0"> </argument> <description> - Finds the first occurrence of a substring, ignoring case. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed. + Finds the first occurrence of a substring, ignoring case. Returns the starting position of the substring or [code]-1[/code] if not found. Optionally, the initial search index can be passed. </description> </method> <method name="format"> @@ -947,7 +953,7 @@ <argument index="1" name="len" type="int" default="-1"> </argument> <description> - Returns part of the string from the position [code]from[/code] with length [code]len[/code]. Argument [code]len[/code] is optional and using -1 will return remaining characters from given position. + Returns part of the string from the position [code]from[/code] with length [code]len[/code]. Argument [code]len[/code] is optional and using [code]-1[/code] will return remaining characters from given position. </description> </method> <method name="to_ascii"> diff --git a/doc/classes/SubViewportContainer.xml b/doc/classes/SubViewportContainer.xml index e6a0bd4866..16d483e7f8 100644 --- a/doc/classes/SubViewportContainer.xml +++ b/doc/classes/SubViewportContainer.xml @@ -5,6 +5,7 @@ </brief_description> <description> A [Container] node that holds a [SubViewport], automatically setting its size. + [b]Note:[/b] Changing a SubViewportContainer's [member Control.rect_scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container). </description> <tutorials> </tutorials> diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index c647f83598..9a78e45d46 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -44,6 +44,8 @@ <argument index="1" name="neighbor_id" type="int"> </argument> <description> + Determines when the auto-tiler should consider two different auto-tile IDs to be bound together. + [b]Note:[/b] [code]neighbor_id[/code] will be [code]-1[/code] ([constant TileMap.INVALID_CELL]) when checking a tile against an empty neighbor tile. </description> </method> <method name="autotile_clear_bitmask_map"> diff --git a/doc/translations/classes.pot b/doc/translations/classes.pot index 28db7e4e04..c18fecc6f8 100644 --- a/doc/translations/classes.pot +++ b/doc/translations/classes.pot @@ -35842,7 +35842,7 @@ msgstr "" #: doc/classes/PhysicsServer2D.xml:888 msgid "" -"Sets a damped spring joint parameter. See [enum DampedStringParam] for a " +"Sets a damped spring joint parameter. See [enum DampedSpringParam] for a " "list of available parameters." msgstr "" diff --git a/doc/translations/fr.po b/doc/translations/fr.po index 57466d0b04..8010437cf7 100644 --- a/doc/translations/fr.po +++ b/doc/translations/fr.po @@ -35852,7 +35852,7 @@ msgstr "" #: doc/classes/PhysicsServer2D.xml:888 msgid "" -"Sets a damped spring joint parameter. See [enum DampedStringParam] for a " +"Sets a damped spring joint parameter. See [enum DampedSpringParam] for a " "list of available parameters." msgstr "" diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index 083cd64116..9a5fc6d1a4 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -163,21 +163,11 @@ String OS_Unix::get_name() const { return "Unix"; } -uint64_t OS_Unix::get_unix_time() const { - return time(nullptr); -}; - -uint64_t OS_Unix::get_system_time_secs() const { - struct timeval tv_now; - gettimeofday(&tv_now, nullptr); - return uint64_t(tv_now.tv_sec); -} - -uint64_t OS_Unix::get_system_time_msecs() const { +double OS_Unix::get_unix_time() const { struct timeval tv_now; gettimeofday(&tv_now, nullptr); - return uint64_t(tv_now.tv_sec) * 1000 + uint64_t(tv_now.tv_usec) / 1000; -} + return (double)tv_now.tv_sec + double(tv_now.tv_usec) / 1000000; +}; OS::Date OS_Unix::get_date(bool utc) const { time_t t = time(nullptr); diff --git a/drivers/unix/os_unix.h b/drivers/unix/os_unix.h index 7d235803dc..2982e0c55c 100644 --- a/drivers/unix/os_unix.h +++ b/drivers/unix/os_unix.h @@ -77,9 +77,7 @@ public: virtual Time get_time(bool utc) const; virtual TimeZoneInfo get_time_zone_info() const; - virtual uint64_t get_unix_time() const; - virtual uint64_t get_system_time_secs() const; - virtual uint64_t get_system_time_msecs() const; + virtual double get_unix_time() const; virtual void delay_usec(uint32_t p_usec) const; virtual uint64_t get_ticks_usec() const; diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 9888013ce6..95c7cc0bf1 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -307,18 +307,19 @@ void FindReplaceBar::_update_results_count() { break; } + int pos_subsequent = pos + searched.length(); if (is_whole_words()) { - from_pos++; // Making sure we won't hit the same match next time, if we get out via a continue. - if (pos > 0 && !is_symbol(full_text[pos - 1])) { + from_pos = pos + 1; // Making sure we won't hit the same match next time, if we get out via a continue. + if (pos > 0 && !(is_symbol(full_text[pos - 1]) || full_text[pos - 1] == '\n')) { continue; } - if (pos + searched.length() < full_text.length() && !is_symbol(full_text[pos + searched.length()])) { + if (pos_subsequent < full_text.length() && !(is_symbol(full_text[pos_subsequent]) || full_text[pos_subsequent] == '\n')) { continue; } } results_count++; - from_pos = pos + searched.length(); + from_pos = pos_subsequent; } } diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index e4a853dbd7..73468f8ce0 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -347,20 +347,22 @@ void CreateDialog::_update_search() { } else { bool found = false; String type2 = type; + bool cpp_type2 = cpp_type; if (!cpp_type && !search_loaded_scripts.has(type)) { search_loaded_scripts[type] = ed.script_class_load_script(type); } - while (type2 != "" && (cpp_type ? ClassDB::is_parent_class(type2, base_type) : ed.script_class_is_parent(type2, base_type)) && type2 != base_type) { + while (type2 != "" && (cpp_type2 ? ClassDB::is_parent_class(type2, base_type) : ed.script_class_is_parent(type2, base_type)) && type2 != base_type) { if (search_box->get_text().is_subsequence_ofi(type2)) { found = true; break; } - type2 = cpp_type ? ClassDB::get_parent_class(type2) : ed.script_class_get_base(type2); + type2 = cpp_type2 ? ClassDB::get_parent_class(type2) : ed.script_class_get_base(type2); + cpp_type2 = cpp_type2 || ClassDB::class_exists(type2); // Built-in class can't inherit from custom type, so we can skip the check if it's already true. - if (!cpp_type && !search_loaded_scripts.has(type2)) { + if (!cpp_type2 && !search_loaded_scripts.has(type2)) { search_loaded_scripts[type2] = ed.script_class_load_script(type2); } } @@ -511,30 +513,45 @@ String CreateDialog::get_selected_type() { Object *CreateDialog::instance_selected() { TreeItem *selected = search_options->get_selected(); - if (selected) { - Variant md = selected->get_metadata(0); + if (!selected) { + return nullptr; + } - String custom; - if (md.get_type() != Variant::NIL) { - custom = md; - } + Variant md = selected->get_metadata(0); + String custom; + if (md.get_type() != Variant::NIL) { + custom = md; + } - if (custom != String()) { - if (ScriptServer::is_global_class(custom)) { - Object *obj = EditorNode::get_editor_data().script_class_instance(custom); - Node *n = Object::cast_to<Node>(obj); - if (n) { - n->set_name(custom); - } - return obj; + Object *obj = nullptr; + + if (!custom.empty()) { + if (ScriptServer::is_global_class(custom)) { + obj = EditorNode::get_editor_data().script_class_instance(custom); + Node *n = Object::cast_to<Node>(obj); + if (n) { + n->set_name(custom); } - return EditorNode::get_editor_data().instance_custom_type(selected->get_text(0), custom); + obj = n; } else { - return ClassDB::instance(selected->get_text(0)); + obj = EditorNode::get_editor_data().instance_custom_type(selected->get_text(0), custom); + } + } else { + obj = ClassDB::instance(selected->get_text(0)); + } + + // Check if any Object-type property should be instantiated. + List<PropertyInfo> pinfo; + obj->get_property_list(&pinfo); + + for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { + if (E->get().type == Variant::OBJECT && E->get().usage & PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT) { + Object *prop = ClassDB::instance(E->get().class_name); + obj->set(E->get().name, prop); } } - return nullptr; + return obj; } void CreateDialog::_item_selected() { diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp index 125439d09b..dcd7220ed0 100644 --- a/editor/debugger/editor_debugger_inspector.cpp +++ b/editor/debugger/editor_debugger_inspector.cpp @@ -153,12 +153,9 @@ ObjectID EditorDebuggerInspector::add_object(const Array &p_arr) { if (path.find("::") != -1) { // built-in resource String base_path = path.get_slice("::", 0); - if (ResourceLoader::get_resource_type(base_path) == "PackedScene") { - if (!EditorNode::get_singleton()->is_scene_open(base_path)) { - EditorNode::get_singleton()->load_scene(base_path); - } - } else { - EditorNode::get_singleton()->load_resource(base_path); + RES dependency = ResourceLoader::load(base_path); + if (dependency.is_valid()) { + remote_dependencies.insert(dependency); } } var = ResourceLoader::load(path); @@ -211,6 +208,7 @@ void EditorDebuggerInspector::clear_cache() { memdelete(E->value()); } remote_objects.clear(); + remote_dependencies.clear(); } Object *EditorDebuggerInspector::get_object(ObjectID p_id) { diff --git a/editor/debugger/editor_debugger_inspector.h b/editor/debugger/editor_debugger_inspector.h index 638dee3c3f..7d13a4c362 100644 --- a/editor/debugger/editor_debugger_inspector.h +++ b/editor/debugger/editor_debugger_inspector.h @@ -69,6 +69,7 @@ class EditorDebuggerInspector : public EditorInspector { private: ObjectID inspected_object_id; Map<ObjectID, EditorDebuggerRemoteObject *> remote_objects; + Set<RES> remote_dependencies; EditorDebuggerRemoteObject *variables; void _object_selected(ObjectID p_object); diff --git a/editor/doc_data.cpp b/editor/doc_data.cpp index 53641da0e9..c52d91b03d 100644 --- a/editor/doc_data.cpp +++ b/editor/doc_data.cpp @@ -881,9 +881,14 @@ Error DocData::_load(Ref<XMLParser> parser) { String name3 = parser->get_node_name(); if (name3 == "link") { + TutorialDoc tutorial; + if (parser->has_attribute("title")) { + tutorial.title = parser->get_attribute_value("title"); + } parser->read(); if (parser->get_node_type() == XMLParser::NODE_TEXT) { - c.tutorials.push_back(parser->get_node_data().strip_edges()); + tutorial.link = parser->get_node_data().strip_edges(); + c.tutorials.push_back(tutorial); } } else { ERR_FAIL_V_MSG(ERR_FILE_CORRUPT, "Invalid tag in doc file: " + name3 + "."); @@ -1055,7 +1060,9 @@ Error DocData::save_classes(const String &p_default_path, const Map<String, Stri _write_string(f, 1, "<tutorials>"); for (int i = 0; i < c.tutorials.size(); i++) { - _write_string(f, 2, "<link>" + c.tutorials.get(i).xml_escape() + "</link>"); + TutorialDoc tutorial = c.tutorials.get(i); + String title_attribute = (!tutorial.title.empty()) ? " title=\"" + tutorial.title.xml_escape() + "\"" : ""; + _write_string(f, 2, "<link" + title_attribute + ">" + tutorial.link.xml_escape() + "</link>"); } _write_string(f, 1, "</tutorials>"); diff --git a/editor/doc_data.h b/editor/doc_data.h index 8c93bfa597..1880be81ed 100644 --- a/editor/doc_data.h +++ b/editor/doc_data.h @@ -82,13 +82,18 @@ public: } }; + struct TutorialDoc { + String link; + String title; + }; + struct ClassDoc { String name; String inherits; String category; String brief_description; String description; - Vector<String> tutorials; + Vector<TutorialDoc> tutorials; Vector<MethodDoc> methods; Vector<MethodDoc> signals; Vector<ConstantDoc> constants; diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index f8dec13a5c..5cf5201b18 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -545,6 +545,17 @@ void EditorAudioBus::_gui_input(const Ref<InputEvent> &p_event) { } } +void EditorAudioBus::_unhandled_key_input(Ref<InputEvent> p_event) { + Ref<InputEventKey> k = p_event; + if (k.is_valid() && k->is_pressed() && !k->is_echo() && k->get_keycode() == KEY_DELETE) { + TreeItem *current_effect = effects->get_selected(); + if (current_effect && current_effect->get_metadata(0).get_type() == Variant::INT) { + _delete_effect_pressed(0); + accept_event(); + } + } +} + void EditorAudioBus::_bus_popup_pressed(int p_option) { if (p_option == 2) { // Reset volume @@ -738,6 +749,7 @@ void EditorAudioBus::_bind_methods() { ClassDB::bind_method("update_bus", &EditorAudioBus::update_bus); ClassDB::bind_method("update_send", &EditorAudioBus::update_send); ClassDB::bind_method("_gui_input", &EditorAudioBus::_gui_input); + ClassDB::bind_method("_unhandled_key_input", &EditorAudioBus::_unhandled_key_input); ClassDB::bind_method("get_drag_data_fw", &EditorAudioBus::get_drag_data_fw); ClassDB::bind_method("can_drop_data_fw", &EditorAudioBus::can_drop_data_fw); ClassDB::bind_method("drop_data_fw", &EditorAudioBus::drop_data_fw); @@ -761,6 +773,7 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses, bool p_is_master) { add_child(vb); set_v_size_flags(SIZE_EXPAND_FILL); + set_process_unhandled_key_input(true); track_name = memnew(LineEdit); track_name->connect("text_entered", callable_mp(this, &EditorAudioBus::_name_changed)); diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index 6b2d9e4436..65caf84f0f 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -92,6 +92,7 @@ class EditorAudioBus : public PanelContainer { mutable bool hovering_drop; void _gui_input(const Ref<InputEvent> &p_event); + void _unhandled_key_input(Ref<InputEvent> p_event); void _bus_popup_pressed(int p_option); void _name_changed(const String &p_new_name); diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 716ead9afc..25594bf7c8 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -90,6 +90,19 @@ Ref<EditorExportPlatform> EditorExportPreset::get_platform() const { return platform; } +void EditorExportPreset::update_files_to_export() { + Vector<String> to_remove; + for (Set<String>::Element *E = selected_files.front(); E; E = E->next()) { + if (!FileAccess::exists(E->get())) { + to_remove.push_back(E->get()); + } + } + for (int i = 0; i < to_remove.size(); ++i) { + selected_files.erase(to_remove[i]); + } + EditorExport::singleton->save_presets(); +} + Vector<String> EditorExportPreset::get_files_to_export() const { Vector<String> files; for (Set<String>::Element *E = selected_files.front(); E; E = E->next()) { @@ -1298,7 +1311,11 @@ void EditorExport::load_config() { Vector<String> files = config->get_value(section, "export_files"); for (int i = 0; i < files.size(); i++) { - preset->add_export_file(files[i]); + if (!FileAccess::exists(files[i])) { + preset->remove_export_file(files[i]); + } else { + preset->add_export_file(files[i]); + } } } diff --git a/editor/editor_export.h b/editor/editor_export.h index 4978b39248..8ad8326f10 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -94,6 +94,8 @@ public: bool has(const StringName &p_property) const { return values.has(p_property); } + void update_files_to_export(); + Vector<String> get_files_to_export() const; void add_export_file(const String &p_path); diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index 30cf7d1e7a..f50ac6d580 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -243,6 +243,9 @@ void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview if (p_overview) { class_desc->push_cell(); class_desc->push_align(RichTextLabel::ALIGN_RIGHT); + } else { + static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; + class_desc->add_text(String(prefix)); } _add_type(p_method.return_type, p_method.return_enum); @@ -378,7 +381,6 @@ void EditorHelp::_update_doc() { class_desc->push_color(title_color); class_desc->push_font(doc_font); class_desc->add_text(TTR("Inherits:") + " "); - class_desc->pop(); String inherits = cd.inherits; @@ -393,6 +395,7 @@ void EditorHelp::_update_doc() { } class_desc->pop(); + class_desc->pop(); class_desc->add_newline(); } @@ -401,13 +404,12 @@ void EditorHelp::_update_doc() { bool found = false; bool prev = false; + class_desc->push_font(doc_font); for (Map<String, DocData::ClassDoc>::Element *E = doc->class_list.front(); E; E = E->next()) { if (E->get().inherits == cd.name) { if (!found) { class_desc->push_color(title_color); - class_desc->push_font(doc_font); class_desc->add_text(TTR("Inherited by:") + " "); - class_desc->pop(); found = true; } @@ -419,6 +421,7 @@ void EditorHelp::_update_doc() { prev = true; } } + class_desc->pop(); if (found) { class_desc->pop(); @@ -480,8 +483,8 @@ void EditorHelp::_update_doc() { class_desc->add_newline(); for (int i = 0; i < cd.tutorials.size(); i++) { - const String link = DTR(cd.tutorials[i]); - String linktxt = link; + const String link = DTR(cd.tutorials[i].link); + String linktxt = (cd.tutorials[i].title.empty()) ? link : DTR(cd.tutorials[i].title); const int seppos = linktxt.find("//"); if (seppos != -1) { linktxt = link.right(seppos + 2); @@ -758,6 +761,8 @@ void EditorHelp::_update_doc() { signal_line[cd.signals[i].name] = class_desc->get_line_count() - 2; //gets overridden if description class_desc->push_font(doc_code_font); // monofont class_desc->push_color(headline_color); + static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; + class_desc->add_text(String(prefix)); _add_text(cd.signals[i].name); class_desc->pop(); class_desc->push_color(symbol_color); @@ -835,10 +840,10 @@ void EditorHelp::_update_doc() { for (Map<String, Vector<DocData::ConstantDoc>>::Element *E = enums.front(); E; E = E->next()) { enum_line[E->key()] = class_desc->get_line_count() - 2; + class_desc->push_font(doc_code_font); class_desc->push_color(title_color); class_desc->add_text("enum "); class_desc->pop(); - class_desc->push_font(doc_code_font); String e = E->key(); if ((e.get_slice_count(".") > 1) && (e.get_slice(".", 0) == edited_class)) { e = e.get_slice(".", 1); @@ -851,6 +856,8 @@ void EditorHelp::_update_doc() { class_desc->push_color(symbol_color); class_desc->add_text(":"); class_desc->pop(); + + class_desc->add_newline(); class_desc->add_newline(); class_desc->push_indent(1); @@ -869,6 +876,8 @@ void EditorHelp::_update_doc() { class_desc->push_font(doc_code_font); class_desc->push_color(headline_color); + static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; + class_desc->add_text(String(prefix)); _add_text(enum_list[i].name); class_desc->pop(); class_desc->push_color(symbol_color); @@ -880,14 +889,15 @@ void EditorHelp::_update_doc() { class_desc->pop(); if (enum_list[i].description != "") { class_desc->push_font(doc_font); - //class_desc->add_text(" "); - class_desc->push_indent(1); class_desc->push_color(comment_color); + static const CharType dash[6] = { ' ', ' ', 0x2013 /* en dash */, ' ', ' ', 0 }; + class_desc->add_text(String(dash)); _add_text(DTR(enum_list[i].description)); class_desc->pop(); class_desc->pop(); - class_desc->pop(); // indent - class_desc->add_newline(); + if (DTR(enum_list[i].description).find("\n") > 0) { + class_desc->add_newline(); + } } class_desc->add_newline(); @@ -931,6 +941,9 @@ void EditorHelp::_update_doc() { class_desc->add_text(String(prefix)); class_desc->pop(); } + } else { + static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; + class_desc->add_text(String(prefix)); } class_desc->push_color(headline_color); @@ -946,13 +959,15 @@ void EditorHelp::_update_doc() { class_desc->pop(); if (constants[i].description != "") { class_desc->push_font(doc_font); - class_desc->push_indent(1); class_desc->push_color(comment_color); + static const CharType dash[6] = { ' ', ' ', 0x2013 /* en dash */, ' ', ' ', 0 }; + class_desc->add_text(String(dash)); _add_text(DTR(constants[i].description)); class_desc->pop(); class_desc->pop(); - class_desc->pop(); // indent - class_desc->add_newline(); + if (DTR(constants[i].description).find("\n") > 0) { + class_desc->add_newline(); + } } class_desc->add_newline(); @@ -987,6 +1002,9 @@ void EditorHelp::_update_doc() { class_desc->push_cell(); class_desc->push_font(doc_code_font); + static const CharType prefix[3] = { 0x25CF /* filled circle */, ' ', 0 }; + class_desc->add_text(String(prefix)); + _add_type(cd.properties[i].type, cd.properties[i].enumeration); class_desc->add_text(" "); class_desc->pop(); // font @@ -1015,6 +1033,11 @@ void EditorHelp::_update_doc() { class_desc->pop(); // font class_desc->pop(); // cell + Map<String, DocData::MethodDoc> method_map; + for (int j = 0; j < methods.size(); j++) { + method_map[methods[j].name] = methods[j]; + } + if (cd.properties[i].setter != "") { class_desc->push_cell(); class_desc->pop(); // cell @@ -1022,7 +1045,14 @@ void EditorHelp::_update_doc() { class_desc->push_cell(); class_desc->push_font(doc_code_font); class_desc->push_color(text_color); - class_desc->add_text(cd.properties[i].setter + TTR("(value)")); + if (method_map[cd.properties[i].setter].arguments.size() > 1) { + // Setters with additional arguments are exposed in the method list, so we link them here for quick access. + class_desc->push_meta("@method " + cd.properties[i].setter); + class_desc->add_text(cd.properties[i].setter + TTR("(value)")); + class_desc->pop(); + } else { + class_desc->add_text(cd.properties[i].setter + TTR("(value)")); + } class_desc->pop(); // color class_desc->push_color(comment_color); class_desc->add_text(" setter"); @@ -1039,7 +1069,14 @@ void EditorHelp::_update_doc() { class_desc->push_cell(); class_desc->push_font(doc_code_font); class_desc->push_color(text_color); - class_desc->add_text(cd.properties[i].getter + "()"); + if (method_map[cd.properties[i].getter].arguments.size() > 0) { + // Getters with additional arguments are exposed in the method list, so we link them here for quick access. + class_desc->push_meta("@method " + cd.properties[i].getter); + class_desc->add_text(cd.properties[i].getter + "()"); + class_desc->pop(); + } else { + class_desc->add_text(cd.properties[i].getter + "()"); + } class_desc->pop(); //color class_desc->push_color(comment_color); class_desc->add_text(" getter"); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 14a03c5377..9a9a1bfdeb 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -619,7 +619,9 @@ void EditorNode::_fs_changed() { preset.unref(); } if (preset.is_null()) { - export_error = vformat("Invalid export preset name: %s.", preset_name); + export_error = vformat( + "Invalid export preset name: %s. Make sure `export_presets.cfg` is present in the current directory.", + preset_name); } else { Ref<EditorExportPlatform> platform = preset->get_platform(); if (platform.is_null()) { @@ -903,19 +905,19 @@ void EditorNode::_dialog_display_load_error(String p_file, Error p_error) { if (p_error) { switch (p_error) { case ERR_CANT_OPEN: { - show_accept(vformat(TTR("Can't open '%s'. The file could have been moved or deleted."), p_file.get_file()), TTR("OK")); + show_accept(vformat(TTR("Can't open file '%s'. The file could have been moved or deleted."), p_file.get_file()), TTR("OK")); } break; case ERR_PARSE_ERROR: { - show_accept(vformat(TTR("Error while parsing '%s'."), p_file.get_file()), TTR("OK")); + show_accept(vformat(TTR("Error while parsing file '%s'."), p_file.get_file()), TTR("OK")); } break; case ERR_FILE_CORRUPT: { - show_accept(vformat(TTR("Unexpected end of file '%s'."), p_file.get_file()), TTR("OK")); + show_accept(vformat(TTR("Scene file '%s' appears to be invalid/corrupt."), p_file.get_file()), TTR("OK")); } break; case ERR_FILE_NOT_FOUND: { - show_accept(vformat(TTR("Missing '%s' or its dependencies."), p_file.get_file()), TTR("OK")); + show_accept(vformat(TTR("Missing file '%s' or one its dependencies."), p_file.get_file()), TTR("OK")); } break; default: { - show_accept(vformat(TTR("Error while loading '%s'."), p_file.get_file()), TTR("OK")); + show_accept(vformat(TTR("Error while loading file '%s'."), p_file.get_file()), TTR("OK")); } break; } } @@ -3254,13 +3256,13 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b if (!new_scene) { sdata.unref(); - _dialog_display_load_error(lpath, ERR_FILE_NOT_FOUND); + _dialog_display_load_error(lpath, ERR_FILE_CORRUPT); opening_prev = false; if (prev != -1) { set_current_scene(prev); editor_data.remove_scene(idx); } - return ERR_FILE_NOT_FOUND; + return ERR_FILE_CORRUPT; } if (p_set_inherited) { diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 81c4e48974..74267452e6 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -581,6 +581,7 @@ public: Vector<Rect2> flag_rects; Vector<String> names; Vector<String> tooltips; + int hovered_index; virtual Size2 get_minimum_size() const { Ref<Font> font = get_theme_font("font", "Label"); @@ -596,56 +597,79 @@ public: return String(); } void _gui_input(const Ref<InputEvent> &p_ev) { - Ref<InputEventMouseButton> mb = p_ev; - if (mb.is_valid() && mb->get_button_index() == BUTTON_LEFT && mb->is_pressed()) { + const Ref<InputEventMouseMotion> mm = p_ev; + + if (mm.is_valid()) { for (int i = 0; i < flag_rects.size(); i++) { - if (flag_rects[i].has_point(mb->get_position())) { - //toggle - if (value & (1 << i)) { - value &= ~(1 << i); - } else { - value |= (1 << i); - } - emit_signal("flag_changed", value); + if (flag_rects[i].has_point(mm->get_position())) { + // Used to highlight the hovered flag in the layers grid. + hovered_index = i; update(); + break; } } } - } - void _notification(int p_what) { - if (p_what == NOTIFICATION_DRAW) { - Rect2 rect; - rect.size = get_size(); - flag_rects.clear(); + const Ref<InputEventMouseButton> mb = p_ev; - int bsize = (rect.size.height * 80 / 100) / 2; + if (mb.is_valid() && mb->get_button_index() == BUTTON_LEFT && mb->is_pressed()) { + // Toggle the flag. + // We base our choice on the hovered flag, so that it always matches the hovered flag. + if (value & (1 << hovered_index)) { + value &= ~(1 << hovered_index); + } else { + value |= (1 << hovered_index); + } - int h = bsize * 2 + 1; - int vofs = (rect.size.height - h) / 2; + emit_signal("flag_changed", value); + update(); + } + } - Color color = get_theme_color("highlight_color", "Editor"); - for (int i = 0; i < 2; i++) { - Point2 ofs(4, vofs); - if (i == 1) { - ofs.y += bsize + 1; - } + void _notification(int p_what) { + switch (p_what) { + case NOTIFICATION_DRAW: { + Rect2 rect; + rect.size = get_size(); + flag_rects.clear(); + + const int bsize = (rect.size.height * 80 / 100) / 2; + const int h = bsize * 2 + 1; + const int vofs = (rect.size.height - h) / 2; + + Color color = get_theme_color("highlight_color", "Editor"); + for (int i = 0; i < 2; i++) { + Point2 ofs(4, vofs); + if (i == 1) + ofs.y += bsize + 1; + + ofs += rect.position; + for (int j = 0; j < 10; j++) { + Point2 o = ofs + Point2(j * (bsize + 1), 0); + if (j >= 5) + o.x += 1; + + const int idx = i * 10 + j; + const bool on = value & (1 << idx); + Rect2 rect2 = Rect2(o, Size2(bsize, bsize)); + + color.a = on ? 0.6 : 0.2; + if (idx == hovered_index) { + // Add visual feedback when hovering a flag. + color.a += 0.15; + } - ofs += rect.position; - for (int j = 0; j < 10; j++) { - Point2 o = ofs + Point2(j * (bsize + 1), 0); - if (j >= 5) { - o.x += 1; + draw_rect(rect2, color); + flag_rects.push_back(rect2); } - - uint32_t idx = i * 10 + j; - bool on = value & (1 << idx); - Rect2 rect2 = Rect2(o, Size2(bsize, bsize)); - color.a = on ? 0.6 : 0.2; - draw_rect(rect2, color); - flag_rects.push_back(rect2); } - } + } break; + case NOTIFICATION_MOUSE_EXIT: { + hovered_index = -1; + update(); + } break; + default: + break; } } @@ -661,6 +685,7 @@ public: EditorPropertyLayersGrid() { value = 0; + hovered_index = -1; // Nothing is hovered. } }; void EditorPropertyLayers::_grid_changed(uint32_t p_grid) { @@ -752,7 +777,7 @@ EditorPropertyLayers::EditorPropertyLayers() { hb->add_child(grid); button = memnew(Button); button->set_toggle_mode(true); - button->set_text(".."); + button->set_text("..."); button->connect("pressed", callable_mp(this, &EditorPropertyLayers::_button_pressed)); hb->add_child(button); set_bottom_editor(hb); @@ -1258,14 +1283,25 @@ void EditorPropertyVector3::_value_changed(double val, const String &p_name) { } void EditorPropertyVector3::update_property() { - Vector3 val = get_edited_object()->get(get_edited_property()); + update_using_vector(get_edited_object()->get(get_edited_property())); +} + +void EditorPropertyVector3::update_using_vector(Vector3 p_vector) { setting = true; - spin[0]->set_value(val.x); - spin[1]->set_value(val.y); - spin[2]->set_value(val.z); + spin[0]->set_value(p_vector.x); + spin[1]->set_value(p_vector.y); + spin[2]->set_value(p_vector.z); setting = false; } +Vector3 EditorPropertyVector3::get_vector() { + Vector3 v3; + v3.x = spin[0]->get_value(); + v3.y = spin[1]->get_value(); + v3.z = spin[2]->get_value(); + return v3; +} + void EditorPropertyVector3::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE || p_what == NOTIFICATION_THEME_CHANGED) { Color base = get_theme_color("accent_color", "Editor"); @@ -1409,7 +1445,7 @@ EditorPropertyVector2i::EditorPropertyVector2i(bool p_force_wide) { setting = false; } -///////////////////// RECT2 ///////////////////////// +///////////////////// RECT2i ///////////////////////// void EditorPropertyRect2i::_value_changed(double val, const String &p_name) { if (setting) { @@ -1495,7 +1531,7 @@ EditorPropertyRect2i::EditorPropertyRect2i(bool p_force_wide) { setting = false; } -///////////////////// VECTOR3 ///////////////////////// +///////////////////// VECTOR3i ///////////////////////// void EditorPropertyVector3i::_value_changed(double val, const String &p_name) { if (setting) { @@ -2004,21 +2040,23 @@ void EditorPropertyTransform::_value_changed(double val, const String &p_name) { } void EditorPropertyTransform::update_property() { - Transform val = get_edited_object()->get(get_edited_property()); - setting = true; - spin[0]->set_value(val.basis[0][0]); - spin[1]->set_value(val.basis[1][0]); - spin[2]->set_value(val.basis[2][0]); - spin[3]->set_value(val.basis[0][1]); - spin[4]->set_value(val.basis[1][1]); - spin[5]->set_value(val.basis[2][1]); - spin[6]->set_value(val.basis[0][2]); - spin[7]->set_value(val.basis[1][2]); - spin[8]->set_value(val.basis[2][2]); - spin[9]->set_value(val.origin[0]); - spin[10]->set_value(val.origin[1]); - spin[11]->set_value(val.origin[2]); + update_using_transform(get_edited_object()->get(get_edited_property())); +} +void EditorPropertyTransform::update_using_transform(Transform p_transform) { + setting = true; + spin[0]->set_value(p_transform.basis[0][0]); + spin[1]->set_value(p_transform.basis[1][0]); + spin[2]->set_value(p_transform.basis[2][0]); + spin[3]->set_value(p_transform.basis[0][1]); + spin[4]->set_value(p_transform.basis[1][1]); + spin[5]->set_value(p_transform.basis[2][1]); + spin[6]->set_value(p_transform.basis[0][2]); + spin[7]->set_value(p_transform.basis[1][2]); + spin[8]->set_value(p_transform.basis[2][2]); + spin[9]->set_value(p_transform.origin[0]); + spin[10]->set_value(p_transform.origin[1]); + spin[11]->set_value(p_transform.origin[2]); setting = false; } diff --git a/editor/editor_properties.h b/editor/editor_properties.h index 61c11f4534..35e6c10d90 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -392,6 +392,8 @@ protected: public: virtual void update_property(); + virtual void update_using_vector(Vector3 p_vector); + virtual Vector3 get_vector(); void setup(double p_min, double p_max, double p_step, bool p_no_slider); EditorPropertyVector3(bool p_force_wide = false); }; @@ -536,6 +538,7 @@ protected: public: virtual void update_property(); + virtual void update_using_transform(Transform p_transform); void setup(double p_min, double p_max, double p_step, bool p_no_slider); EditorPropertyTransform(); }; diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index 6ffff09ce5..1a232658fe 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -286,7 +286,16 @@ Error EditorSceneImporterGLTF::_parse_nodes(GLTFState &state) { node->xform.basis.set_quat_scale(node->rotation, node->scale); node->xform.origin = node->translation; } - + if (n.has("extensions")) { + Dictionary extensions = n["extensions"]; + if (extensions.has("KHR_lights_punctual")) { + Dictionary lights_punctual = extensions["KHR_lights_punctual"]; + if (lights_punctual.has("light")) { + GLTFLightIndex light = lights_punctual["light"]; + node->light = light; + } + } + } if (n.has("children")) { const Array &children = n["children"]; for (int j = 0; j < children.size(); j++) { @@ -952,6 +961,9 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) { return OK; } + bool compress_vert_data = state.import_flags & IMPORT_USE_COMPRESSION; + uint32_t mesh_flags = compress_vert_data ? Mesh::ARRAY_COMPRESS_DEFAULT : 0; + Array meshes = state.json["meshes"]; for (GLTFMeshIndex i = 0; i < meshes.size(); i++) { print_verbose("glTF: Parsing mesh: " + itos(i)); @@ -1206,7 +1218,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) { } //just add it - mesh.mesh->add_surface_from_arrays(primitive, array, morphs); + mesh.mesh->add_surface_from_arrays(primitive, array, morphs, Dictionary(), mesh_flags); if (p.has("material")) { const int material = p["material"]; @@ -2242,6 +2254,58 @@ void EditorSceneImporterGLTF::_remove_duplicate_skins(GLTFState &state) { } } +Error EditorSceneImporterGLTF::_parse_lights(GLTFState &state) { + if (!state.json.has("extensions")) { + return OK; + } + Dictionary extensions = state.json["extensions"]; + if (!extensions.has("KHR_lights_punctual")) { + return OK; + } + Dictionary lights_punctual = extensions["KHR_lights_punctual"]; + if (!lights_punctual.has("lights")) { + return OK; + } + + const Array &lights = lights_punctual["lights"]; + + for (GLTFLightIndex light_i = 0; light_i < lights.size(); light_i++) { + const Dictionary &d = lights[light_i]; + + GLTFLight light; + ERR_FAIL_COND_V(!d.has("type"), ERR_PARSE_ERROR); + const String &type = d["type"]; + light.type = type; + + if (d.has("color")) { + const Array &arr = d["color"]; + ERR_FAIL_COND_V(arr.size() != 3, ERR_PARSE_ERROR); + const Color c = Color(arr[0], arr[1], arr[2]).to_srgb(); + light.color = c; + } + if (d.has("intensity")) { + light.intensity = d["intensity"]; + } + if (d.has("range")) { + light.range = d["range"]; + } + if (type == "spot") { + const Dictionary &spot = d["spot"]; + light.inner_cone_angle = spot["innerConeAngle"]; + light.outer_cone_angle = spot["outerConeAngle"]; + ERR_FAIL_COND_V_MSG(light.inner_cone_angle >= light.outer_cone_angle, ERR_PARSE_ERROR, "The inner angle must be smaller than the outer angle."); + } else if (type != "point" && type != "directional") { + ERR_FAIL_V_MSG(ERR_PARSE_ERROR, "Light type is unknown."); + } + + state.lights.push_back(light); + } + + print_verbose("glTF: Total lights: " + itos(state.lights.size())); + + return OK; +} + Error EditorSceneImporterGLTF::_parse_cameras(GLTFState &state) { if (!state.json.has("cameras")) { return OK; @@ -2485,6 +2549,58 @@ MeshInstance3D *EditorSceneImporterGLTF::_generate_mesh_instance(GLTFState &stat return mi; } +Light3D *EditorSceneImporterGLTF::_generate_light(GLTFState &state, Node *scene_parent, const GLTFNodeIndex node_index) { + const GLTFNode *gltf_node = state.nodes[node_index]; + + ERR_FAIL_INDEX_V(gltf_node->light, state.lights.size(), nullptr); + + print_verbose("glTF: Creating light for: " + gltf_node->name); + + const GLTFLight &l = state.lights[gltf_node->light]; + + float intensity = l.intensity; + if (intensity > 10) { + // GLTF spec has the default around 1, but Blender defaults lights to 100. + // The only sane way to handle this is to check where it came from and + // handle it accordingly. If it's over 10, it probably came from Blender. + intensity /= 100; + } + + if (l.type == "directional") { + DirectionalLight3D *light = memnew(DirectionalLight3D); + light->set_param(Light3D::PARAM_ENERGY, intensity); + light->set_color(l.color); + return light; + } + + const float range = CLAMP(l.range, 0, 4096); + // Doubling the range will double the effective brightness, so we need double attenuation (half brightness). + // We want to have double intensity give double brightness, so we need half the attenuation. + const float attenuation = range / intensity; + if (l.type == "point") { + OmniLight3D *light = memnew(OmniLight3D); + light->set_param(OmniLight3D::PARAM_ATTENUATION, attenuation); + light->set_param(OmniLight3D::PARAM_RANGE, range); + light->set_color(l.color); + return light; + } + if (l.type == "spot") { + SpotLight3D *light = memnew(SpotLight3D); + light->set_param(SpotLight3D::PARAM_ATTENUATION, attenuation); + light->set_param(SpotLight3D::PARAM_RANGE, range); + light->set_param(SpotLight3D::PARAM_SPOT_ANGLE, Math::rad2deg(l.outer_cone_angle)); + light->set_color(l.color); + + // Line of best fit derived from guessing, see https://www.desmos.com/calculator/biiflubp8b + // The points in desmos are not exact, except for (1, infinity). + float angle_ratio = l.inner_cone_angle / l.outer_cone_angle; + float angle_attenuation = 0.2 / (1 - angle_ratio) - 0.1; + light->set_param(SpotLight3D::PARAM_SPOT_ATTENUATION, angle_attenuation); + return light; + } + return nullptr; +} + Camera3D *EditorSceneImporterGLTF::_generate_camera(GLTFState &state, Node *scene_parent, const GLTFNodeIndex node_index) { const GLTFNode *gltf_node = state.nodes[node_index]; @@ -2558,6 +2674,8 @@ void EditorSceneImporterGLTF::_generate_scene_node(GLTFState &state, Node *scene current_node = _generate_mesh_instance(state, scene_parent, node_index); } else if (gltf_node->camera >= 0) { current_node = _generate_camera(state, scene_parent, node_index); + } else if (gltf_node->light >= 0) { + current_node = _generate_light(state, scene_parent, node_index); } else { current_node = _generate_spatial(state, scene_parent, node_index); } @@ -2951,6 +3069,7 @@ Node *EditorSceneImporterGLTF::import_scene(const String &p_path, uint32_t p_fla String version = asset["version"]; + state.import_flags = p_flags; state.major_version = version.get_slice(".", 0).to_int(); state.minor_version = version.get_slice(".", 1).to_int(); state.use_named_skin_binds = p_flags & IMPORT_USE_NAMED_SKIN_BINDS; @@ -3033,22 +3152,28 @@ Node *EditorSceneImporterGLTF::import_scene(const String &p_path, uint32_t p_fla return nullptr; } - /* STEP 14 PARSE CAMERAS */ + /* STEP 14 PARSE LIGHTS */ + err = _parse_lights(state); + if (err != OK) { + return NULL; + } + + /* STEP 15 PARSE CAMERAS */ err = _parse_cameras(state); if (err != OK) { return nullptr; } - /* STEP 15 PARSE ANIMATIONS */ + /* STEP 16 PARSE ANIMATIONS */ err = _parse_animations(state); if (err != OK) { return nullptr; } - /* STEP 16 ASSIGN SCENE NAMES */ + /* STEP 17 ASSIGN SCENE NAMES */ _assign_scene_names(state); - /* STEP 17 MAKE SCENE! */ + /* STEP 18 MAKE SCENE! */ Node3D *scene = _generate_scene(state, p_bake_fps); return scene; diff --git a/editor/import/editor_scene_importer_gltf.h b/editor/import/editor_scene_importer_gltf.h index eee978ce16..95c6b87af5 100644 --- a/editor/import/editor_scene_importer_gltf.h +++ b/editor/import/editor_scene_importer_gltf.h @@ -32,6 +32,7 @@ #define EDITOR_SCENE_IMPORTER_GLTF_H #include "editor/import/resource_importer_scene.h" +#include "scene/3d/light_3d.h" #include "scene/3d/node_3d.h" #include "scene/3d/skeleton_3d.h" @@ -50,6 +51,7 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { typedef int GLTFImageIndex; typedef int GLTFMaterialIndex; typedef int GLTFMeshIndex; + typedef int GLTFLightIndex; typedef int GLTFNodeIndex; typedef int GLTFSkeletonIndex; typedef int GLTFSkinIndex; @@ -113,6 +115,8 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { GLTFNodeIndex fake_joint_parent = -1; + GLTFLightIndex light = -1; + GLTFNode() {} }; @@ -218,6 +222,17 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { GLTFCamera() {} }; + struct GLTFLight { + Color color = Color(1.0f, 1.0f, 1.0f); + float intensity = 1.0f; + String type = ""; + float range = Math_INF; + float inner_cone_angle = 0.0f; + float outer_cone_angle = Math_PI / 4.0; + + GLTFLight() {} + }; + struct GLTFAnimation { bool loop = false; @@ -271,6 +286,7 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Vector<GLTFSkin> skins; Vector<GLTFCamera> cameras; + Vector<GLTFLight> lights; Set<String> unique_names; @@ -279,6 +295,9 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Map<GLTFNodeIndex, Node *> scene_nodes; + // EditorSceneImporter::ImportFlags + uint32_t import_flags; + ~GLTFState() { for (int i = 0; i < nodes.size(); i++) { memdelete(nodes[i]); @@ -346,12 +365,13 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { void _remove_duplicate_skins(GLTFState &state); Error _parse_cameras(GLTFState &state); - + Error _parse_lights(GLTFState &state); Error _parse_animations(GLTFState &state); BoneAttachment3D *_generate_bone_attachment(GLTFState &state, Skeleton3D *skeleton, const GLTFNodeIndex node_index); MeshInstance3D *_generate_mesh_instance(GLTFState &state, Node *scene_parent, const GLTFNodeIndex node_index); Camera3D *_generate_camera(GLTFState &state, Node *scene_parent, const GLTFNodeIndex node_index); + Light3D *_generate_light(GLTFState &state, Node *scene_parent, const GLTFNodeIndex node_index); Node3D *_generate_spatial(GLTFState &state, Node *scene_parent, const GLTFNodeIndex node_index); void _generate_scene_node(GLTFState &state, Node *scene_parent, Node3D *scene_root, const GLTFNodeIndex node_index); diff --git a/editor/import/resource_importer_texture.cpp b/editor/import/resource_importer_texture.cpp index a13324f0fc..3a0e624a8f 100644 --- a/editor/import/resource_importer_texture.cpp +++ b/editor/import/resource_importer_texture.cpp @@ -181,15 +181,14 @@ bool ResourceImporterTexture::get_option_visibility(const String &p_option, cons } int ResourceImporterTexture::get_preset_count() const { - return 4; + return 3; } String ResourceImporterTexture::get_preset_name(int p_idx) const { static const char *preset_names[] = { - "2D, Detect 3D", + "2D/3D (Auto-Detect)", "2D", - "2D Pixel", - "3D" + "3D", }; return preset_names[p_idx]; diff --git a/editor/import/resource_importer_texture.h b/editor/import/resource_importer_texture.h index b770d240eb..12eb7f67c2 100644 --- a/editor/import/resource_importer_texture.h +++ b/editor/import/resource_importer_texture.h @@ -93,7 +93,6 @@ public: enum Preset { PRESET_DETECT, PRESET_2D, - PRESET_2D_PIXEL, PRESET_3D, }; diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 59366a239f..2f7080b1a5 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -54,8 +54,10 @@ #include "scene/main/window.h" #include "scene/resources/packed_scene.h" -#define MIN_ZOOM 0.01 -#define MAX_ZOOM 100 +// Min and Max are power of two in order to play nicely with successive increment. +// That way, we can naturally reach a 100% zoom from boundaries. +#define MIN_ZOOM 1. / 128 +#define MAX_ZOOM 128 #define RULER_WIDTH (15 * EDSCALE) #define SCALE_HANDLE_DISTANCE 25 @@ -1213,7 +1215,11 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bo view_offset.y += int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor(); update_viewport(); } else { - _zoom_on_position(zoom * (1 - (0.05 * b->get_factor())), b->get_position()); + float new_zoom = _get_next_zoom_value(-1); + if (b->get_factor() != 1.f) { + new_zoom = zoom * ((new_zoom / zoom - 1.f) * b->get_factor() + 1.f); + } + _zoom_on_position(new_zoom, b->get_position()); } return true; } @@ -1224,7 +1230,11 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event, bo view_offset.y -= int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor(); update_viewport(); } else { - _zoom_on_position(zoom * ((0.95 + (0.05 * b->get_factor())) / 0.95), b->get_position()); + float new_zoom = _get_next_zoom_value(1); + if (b->get_factor() != 1.f) { + new_zoom = zoom * ((new_zoom / zoom - 1.f) * b->get_factor() + 1.f); + } + _zoom_on_position(new_zoom, b->get_position()); } return true; } @@ -4333,8 +4343,37 @@ void CanvasItemEditor::_set_anchors_preset(Control::LayoutPreset p_preset) { undo_redo->commit_action(); } +float CanvasItemEditor::_get_next_zoom_value(int p_increment_count) const { + // Base increment factor defined as the twelveth root of two. + // This allow a smooth geometric evolution of the zoom, with the advantage of + // visiting all integer power of two scale factors. + // note: this is analogous to the 'semitones' interval in the music world + // In order to avoid numerical imprecisions, we compute and edit a zoom index + // with the following relation: zoom = 2 ^ (index / 12) + + if (zoom < CMP_EPSILON || p_increment_count == 0) { + return 1.f; + } + + // Remove Editor scale from the index computation + float zoom_noscale = zoom / MAX(1, EDSCALE); + + // zoom = 2**(index/12) => log2(zoom) = index/12 + float closest_zoom_index = Math::round(Math::log(zoom_noscale) * 12.f / Math::log(2.f)); + + float new_zoom_index = closest_zoom_index + p_increment_count; + float new_zoom = Math::pow(2.f, new_zoom_index / 12.f); + + // Restore Editor scale transformation + new_zoom *= MAX(1, EDSCALE); + + return new_zoom; +} + void CanvasItemEditor::_zoom_on_position(float p_zoom, Point2 p_position) { - if (p_zoom < MIN_ZOOM || p_zoom > MAX_ZOOM) { + p_zoom = CLAMP(p_zoom, MIN_ZOOM, MAX_ZOOM); + + if (p_zoom == zoom) { return; } @@ -4376,7 +4415,7 @@ void CanvasItemEditor::_update_zoom_label() { } void CanvasItemEditor::_button_zoom_minus() { - _zoom_on_position(zoom / Math_SQRT2, viewport_scrollable->get_size() / 2.0); + _zoom_on_position(_get_next_zoom_value(-6), viewport_scrollable->get_size() / 2.0); } void CanvasItemEditor::_button_zoom_reset() { @@ -4384,7 +4423,7 @@ void CanvasItemEditor::_button_zoom_reset() { } void CanvasItemEditor::_button_zoom_plus() { - _zoom_on_position(zoom * Math_SQRT2, viewport_scrollable->get_size() / 2.0); + _zoom_on_position(_get_next_zoom_value(6), viewport_scrollable->get_size() / 2.0); } void CanvasItemEditor::_button_toggle_smart_snap(bool p_status) { diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index a686c98f65..765d5f81d0 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -528,6 +528,7 @@ private: VBoxContainer *controls_vb; HBoxContainer *zoom_hb; + float _get_next_zoom_value(int p_increment_count) const; void _zoom_on_position(float p_zoom, Point2 p_position = Point2()); void _update_zoom_label(); void _button_zoom_minus(); diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index f59b4171b4..7bf8fd7d26 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -2583,14 +2583,14 @@ void Node3DEditorViewport::_notification(int p_what) { } } -static void draw_indicator_bar(Control &surface, real_t fill, Ref<Texture2D> icon) { +static void draw_indicator_bar(Control &surface, real_t fill, const Ref<Texture2D> icon, const Ref<Font> font, const String &text) { // Adjust bar size from control height - Vector2 surface_size = surface.get_size(); - real_t h = surface_size.y / 2.0; - real_t y = (surface_size.y - h) / 2.0; + const Vector2 surface_size = surface.get_size(); + const real_t h = surface_size.y / 2.0; + const real_t y = (surface_size.y - h) / 2.0; - Rect2 r(10, y, 6, h); - real_t sy = r.size.y * fill; + const Rect2 r(10 * EDSCALE, y, 6 * EDSCALE, h); + const real_t sy = r.size.y * fill; // Note: because this bar appears over the viewport, it has to stay readable for any background color // Draw both neutral dark and bright colors to account this @@ -2598,9 +2598,12 @@ static void draw_indicator_bar(Control &surface, real_t fill, Ref<Texture2D> ico surface.draw_rect(Rect2(r.position.x, r.position.y + r.size.y - sy, r.size.x, sy), Color(1, 1, 1, 0.6)); surface.draw_rect(r.grow(1), Color(0, 0, 0, 0.7), false, Math::round(EDSCALE)); - Vector2 icon_size = icon->get_size(); - Vector2 icon_pos = Vector2(r.position.x - (icon_size.x - r.size.x) / 2, r.position.y + r.size.y + 2); + const Vector2 icon_size = icon->get_size(); + const Vector2 icon_pos = Vector2(r.position.x - (icon_size.x - r.size.x) / 2, r.position.y + r.size.y + 2 * EDSCALE); surface.draw_texture(icon, icon_pos); + + // Draw text below the bar (for speed/zoom information). + surface.draw_string(font, Vector2(icon_pos.x, icon_pos.y + icon_size.y + 16 * EDSCALE), text); } void Node3DEditorViewport::_draw() { @@ -2697,7 +2700,14 @@ void Node3DEditorViewport::_draw() { logscale_t = 0.25 * Math::exp(4.0 * logscale_t - 1.0); } - draw_indicator_bar(*surface, 1.0 - logscale_t, get_theme_icon("ViewportSpeed", "EditorIcons")); + // Display the freelook speed to help the user get a better sense of scale. + const int precision = freelook_speed < 1.0 ? 2 : 1; + draw_indicator_bar( + *surface, + 1.0 - logscale_t, + get_theme_icon("ViewportSpeed", "EditorIcons"), + get_theme_font("font", "Label"), + vformat("%s u/s", String::num(freelook_speed).pad_decimals(precision))); } } else { @@ -2716,7 +2726,14 @@ void Node3DEditorViewport::_draw() { logscale_t = 0.25 * Math::exp(4.0 * logscale_t - 1.0); } - draw_indicator_bar(*surface, logscale_t, get_theme_icon("ViewportZoom", "EditorIcons")); + // Display the zoom center distance to help the user get a better sense of scale. + const int precision = cursor.distance < 1.0 ? 2 : 1; + draw_indicator_bar( + *surface, + logscale_t, + get_theme_icon("ViewportZoom", "EditorIcons"), + get_theme_font("font", "Label"), + vformat("%s u", String::num(cursor.distance).pad_decimals(precision))); } } } @@ -3419,11 +3436,7 @@ void Node3DEditorViewport::reset() { last_message = ""; name = ""; - cursor.x_rot = 0.5; - cursor.y_rot = 0.5; - cursor.distance = 4; - cursor.region_select = false; - cursor.pos = Vector3(); + cursor = Cursor(); _update_name(); } @@ -3658,15 +3671,19 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po editor_data->get_undo_redo().add_do_method(ed, "live_debug_instance_node", editor->get_edited_scene()->get_path_to(parent), path, new_name); editor_data->get_undo_redo().add_undo_method(ed, "live_debug_remove_node", NodePath(String(editor->get_edited_scene()->get_path_to(parent)) + "/" + new_name)); - Transform global_transform; - Node3D *parent_spatial = Object::cast_to<Node3D>(parent); - if (parent_spatial) { - global_transform = parent_spatial->get_global_gizmo_transform(); - } + Node3D *node3d = Object::cast_to<Node3D>(instanced_scene); + if (node3d) { + Transform global_transform; + Node3D *parent_node3d = Object::cast_to<Node3D>(parent); + if (parent_node3d) { + global_transform = parent_node3d->get_global_gizmo_transform(); + } - global_transform.origin = spatial_editor->snap_point(_get_instance_position(p_point)); + global_transform.origin = spatial_editor->snap_point(_get_instance_position(p_point)); + global_transform.basis *= node3d->get_transform().basis; - editor_data->get_undo_redo().add_do_method(instanced_scene, "set_global_transform", global_transform); + editor_data->get_undo_redo().add_do_method(instanced_scene, "set_global_transform", global_transform); + } return true; } @@ -5397,6 +5414,9 @@ void Node3DEditor::_update_gizmos_menu() { const int plugin_state = gizmo_plugins_by_name[i]->get_state(); gizmos_menu->add_multistate_item(TTR(plugin_name), 3, plugin_state, i); const int idx = gizmos_menu->get_item_index(i); + gizmos_menu->set_item_tooltip( + idx, + TTR("Click to toggle between visibility states.\n\nOpen eye: Gizmo is visible.\nClosed eye: Gizmo is hidden.\nHalf-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\").")); switch (plugin_state) { case EditorNode3DGizmoPlugin::VISIBLE: gizmos_menu->set_item_icon(idx, gizmos_menu->get_theme_icon("visibility_visible")); diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h index 32b087c372..83173b5ad2 100644 --- a/editor/plugins/node_3d_editor_plugin.h +++ b/editor/plugins/node_3d_editor_plugin.h @@ -391,7 +391,9 @@ private: Point2 region_begin, region_end; Cursor() { - x_rot = y_rot = 0.5; + // These rotations place the camera in +X +Y +Z, aka south east, facing north west. + x_rot = 0.5; + y_rot = -0.5; distance = 4; region_select = false; } diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 8d6dac3907..48a9febcf9 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -837,7 +837,6 @@ void ScriptEditor::_file_dialog_action(String p_file) { Error err; FileAccess *file = FileAccess::open(p_file, FileAccess::WRITE, &err); if (err) { - memdelete(file); editor->show_warning(TTR("Error writing TextFile:") + "\n" + p_file, TTR("Error!")); break; } diff --git a/editor/plugins/skeleton_3d_editor_plugin.cpp b/editor/plugins/skeleton_3d_editor_plugin.cpp index 321b4432ab..52da8dea19 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.cpp +++ b/editor/plugins/skeleton_3d_editor_plugin.cpp @@ -62,125 +62,56 @@ void BoneTransformEditor::create_editors() { enabled_checkbox->set_visible(toggle_enabled); section->get_vbox()->add_child(enabled_checkbox); - Label *l1 = memnew(Label(TTR("Translation"))); - section->get_vbox()->add_child(l1); - - translation_grid = memnew(GridContainer()); - translation_grid->set_columns(TRANSLATION_COMPONENTS); - section->get_vbox()->add_child(translation_grid); - - Label *l2 = memnew(Label(TTR("Rotation Degrees"))); - section->get_vbox()->add_child(l2); - - rotation_grid = memnew(GridContainer()); - rotation_grid->set_columns(ROTATION_DEGREES_COMPONENTS); - section->get_vbox()->add_child(rotation_grid); - - Label *l3 = memnew(Label(TTR("Scale"))); - section->get_vbox()->add_child(l3); - - scale_grid = memnew(GridContainer()); - scale_grid->set_columns(SCALE_COMPONENTS); - section->get_vbox()->add_child(scale_grid); - - Label *l4 = memnew(Label(TTR("Transform"))); - section->get_vbox()->add_child(l4); - - transform_grid = memnew(GridContainer()); - transform_grid->set_columns(TRANSFORM_CONTROL_COMPONENTS); - section->get_vbox()->add_child(transform_grid); - - static const char *desc[TRANSFORM_COMPONENTS] = { "x", "y", "z", "x", "y", "z", "x", "y", "z", "x", "y", "z" }; - - for (int i = 0; i < TRANSFORM_CONTROL_COMPONENTS; ++i) { - translation_slider[i] = memnew(EditorSpinSlider()); - translation_slider[i]->set_label(desc[i]); - setup_spinner(translation_slider[i], false); - translation_grid->add_child(translation_slider[i]); - - rotation_slider[i] = memnew(EditorSpinSlider()); - rotation_slider[i]->set_label(desc[i]); - setup_spinner(rotation_slider[i], false); - rotation_grid->add_child(rotation_slider[i]); - - scale_slider[i] = memnew(EditorSpinSlider()); - scale_slider[i]->set_label(desc[i]); - setup_spinner(scale_slider[i], false); - scale_grid->add_child(scale_slider[i]); - } - - for (int i = 0; i < TRANSFORM_COMPONENTS; ++i) { - transform_slider[i] = memnew(EditorSpinSlider()); - transform_slider[i]->set_label(desc[i]); - setup_spinner(transform_slider[i], true); - transform_grid->add_child(transform_slider[i]); - } -} - -void BoneTransformEditor::setup_spinner(EditorSpinSlider *spinner, const bool is_transform_spinner) { - spinner->set_flat(true); - spinner->set_min(-10000); - spinner->set_max(10000); - spinner->set_step(0.001f); - spinner->set_hide_slider(true); - spinner->set_allow_greater(true); - spinner->set_allow_lesser(true); - spinner->set_h_size_flags(SIZE_EXPAND_FILL); - - spinner->connect_compat("value_changed", this, "_value_changed", varray(is_transform_spinner)); + // Translation property + translation_property = memnew(EditorPropertyVector3()); + translation_property->setup(-10000, 10000, 0.001f, true); + translation_property->set_label("Translation"); + translation_property->set_use_folding(true); + translation_property->set_read_only(false); + translation_property->connect("property_changed", callable_mp(this, &BoneTransformEditor::_value_changed_vector3)); + section->get_vbox()->add_child(translation_property); + + // Rotation property + rotation_property = memnew(EditorPropertyVector3()); + rotation_property->setup(-10000, 10000, 0.001f, true); + rotation_property->set_label("Rotation Degrees"); + rotation_property->set_use_folding(true); + rotation_property->set_read_only(false); + rotation_property->connect("property_changed", callable_mp(this, &BoneTransformEditor::_value_changed_vector3)); + section->get_vbox()->add_child(rotation_property); + + // Scale property + scale_property = memnew(EditorPropertyVector3()); + scale_property->setup(-10000, 10000, 0.001f, true); + scale_property->set_label("Scale"); + scale_property->set_use_folding(true); + scale_property->set_read_only(false); + scale_property->connect("property_changed", callable_mp(this, &BoneTransformEditor::_value_changed_vector3)); + section->get_vbox()->add_child(scale_property); + + // Transform/Matrix section + transform_section = memnew(EditorInspectorSection); + transform_section->setup("trf_properties_transform", "Matrix", this, section_color, true); + section->get_vbox()->add_child(transform_section); + + // Transform/Matrix property + transform_property = memnew(EditorPropertyTransform()); + transform_property->setup(-10000, 10000, 0.001f, true); + transform_property->set_label("Transform"); + transform_property->set_use_folding(true); + transform_property->set_read_only(false); + transform_property->connect("property_changed", callable_mp(this, &BoneTransformEditor::_value_changed_transform)); + transform_section->get_vbox()->add_child(transform_property); } void BoneTransformEditor::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { create_editors(); - key_button->connect_compat("pressed", this, "_key_button_pressed"); - enabled_checkbox->connect_compat("toggled", this, "_checkbox_toggled"); + key_button->connect("pressed", callable_mp(this, &BoneTransformEditor::_key_button_pressed)); + enabled_checkbox->connect("toggled", callable_mp(this, &BoneTransformEditor::_checkbox_toggled)); [[fallthrough]]; } - case NOTIFICATION_THEME_CHANGED: { - const Color base = get_theme_color("accent_color", "Editor"); - const Color bg_color = get_theme_color("property_color", "Editor"); - const Color bg_lbl_color(bg_color.r, bg_color.g, bg_color.b, 0.5); - - for (int i = 0; i < TRANSLATION_COMPONENTS; i++) { - Color c = base; - c.set_hsv(float(i % TRANSLATION_COMPONENTS) / TRANSLATION_COMPONENTS + 0.05, c.get_s() * 0.75, c.get_v()); - if (!translation_slider[i]) { - continue; - } - translation_slider[i]->set_custom_label_color(true, c); - } - - for (int i = 0; i < ROTATION_DEGREES_COMPONENTS; i++) { - Color c = base; - c.set_hsv(float(i % ROTATION_DEGREES_COMPONENTS) / ROTATION_DEGREES_COMPONENTS + 0.05, c.get_s() * 0.75, c.get_v()); - if (!rotation_slider[i]) { - continue; - } - rotation_slider[i]->set_custom_label_color(true, c); - } - - for (int i = 0; i < SCALE_COMPONENTS; i++) { - Color c = base; - c.set_hsv(float(i % SCALE_COMPONENTS) / SCALE_COMPONENTS + 0.05, c.get_s() * 0.75, c.get_v()); - if (!scale_slider[i]) { - continue; - } - scale_slider[i]->set_custom_label_color(true, c); - } - - for (int i = 0; i < TRANSFORM_COMPONENTS; i++) { - Color c = base; - c.set_hsv(float(i % TRANSFORM_COMPONENTS) / TRANSFORM_COMPONENTS + 0.05, c.get_s() * 0.75, c.get_v()); - if (!transform_slider[i]) { - continue; - } - transform_slider[i]->set_custom_label_color(true, c); - } - - break; - } case NOTIFICATION_SORT_CHILDREN: { const Ref<Font> font = get_theme_font("font", "Tree"); @@ -189,8 +120,8 @@ void BoneTransformEditor::_notification(int p_what) { buffer.y += font->get_height(); buffer.y += get_theme_constant("vseparation", "Tree"); - const float vector_height = translation_grid->get_size().y; - const float transform_height = transform_grid->get_size().y; + const float vector_height = translation_property->get_size().y; + const float transform_height = transform_property->get_size().y; const float button_height = key_button->get_size().y; const float width = get_size().x - get_theme_constant("inspector_margin", "Editor"); @@ -202,10 +133,10 @@ void BoneTransformEditor::_notification(int p_what) { } if (section->get_vbox()->is_visible()) { - input_rects.push_back(Rect2(translation_grid->get_position() + buffer, Size2(width, vector_height))); - input_rects.push_back(Rect2(rotation_grid->get_position() + buffer, Size2(width, vector_height))); - input_rects.push_back(Rect2(scale_grid->get_position() + buffer, Size2(width, vector_height))); - input_rects.push_back(Rect2(transform_grid->get_position() + buffer, Size2(width, transform_height))); + input_rects.push_back(Rect2(translation_property->get_position() + buffer, Size2(width, vector_height))); + input_rects.push_back(Rect2(rotation_property->get_position() + buffer, Size2(width, vector_height))); + input_rects.push_back(Rect2(scale_property->get_position() + buffer, Size2(width, vector_height))); + input_rects.push_back(Rect2(transform_property->get_position() + buffer, Size2(width, transform_height))); } else { const int32_t start = input_rects.size(); const int32_t empty_input_rect_elements = 4; @@ -234,49 +165,53 @@ void BoneTransformEditor::_notification(int p_what) { } } -void BoneTransformEditor::_value_changed(const double p_value, const bool p_from_transform) { +void BoneTransformEditor::_value_changed(const double p_value) { if (updating) return; - if (property.get_slicec('/', 0) == "bones" && property.get_slicec('/', 2) == "custom_pose") { - const Transform tform = compute_transform(p_from_transform); + Transform tform = compute_transform_from_vector3s(); + _change_transform(tform); +} +void BoneTransformEditor::_value_changed_vector3(const String p_property_name, const Vector3 p_vector, const StringName p_edited_property_name, const bool p_boolean) { + if (updating) + return; + Transform tform = compute_transform_from_vector3s(); + _change_transform(tform); +} + +Transform BoneTransformEditor::compute_transform_from_vector3s() const { + // Convert rotation from degrees to radians. + Vector3 prop_rotation = rotation_property->get_vector(); + prop_rotation.x = Math::deg2rad(prop_rotation.x); + prop_rotation.y = Math::deg2rad(prop_rotation.y); + prop_rotation.z = Math::deg2rad(prop_rotation.z); + + return Transform( + Basis(prop_rotation, scale_property->get_vector()), + translation_property->get_vector()); +} + +void BoneTransformEditor::_value_changed_transform(const String p_property_name, const Transform p_transform, const StringName p_edited_property_name, const bool p_boolean) { + if (updating) + return; + _change_transform(p_transform); +} + +void BoneTransformEditor::_change_transform(Transform p_new_transform) { + if (property.get_slicec('/', 0) == "bones" && property.get_slicec('/', 2) == "custom_pose") { undo_redo->create_action(TTR("Set Custom Bone Pose Transform"), UndoRedo::MERGE_ENDS); undo_redo->add_undo_method(skeleton, "set_bone_custom_pose", property.get_slicec('/', 1).to_int(), skeleton->get_bone_custom_pose(property.get_slicec('/', 1).to_int())); - undo_redo->add_do_method(skeleton, "set_bone_custom_pose", property.get_slicec('/', 1).to_int(), tform); + undo_redo->add_do_method(skeleton, "set_bone_custom_pose", property.get_slicec('/', 1).to_int(), p_new_transform); undo_redo->commit_action(); } else if (property.get_slicec('/', 0) == "bones") { - const Transform tform = compute_transform(p_from_transform); - undo_redo->create_action(TTR("Set Bone Transform"), UndoRedo::MERGE_ENDS); undo_redo->add_undo_property(skeleton, property, skeleton->get(property)); - undo_redo->add_do_property(skeleton, property, tform); + undo_redo->add_do_property(skeleton, property, p_new_transform); undo_redo->commit_action(); } } -Transform BoneTransformEditor::compute_transform(const bool p_from_transform) const { - // Last modified was a raw transform column... - if (p_from_transform) { - Transform tform; - - for (int i = 0; i < BASIS_COMPONENTS; ++i) { - tform.basis[i / BASIS_SPLIT_COMPONENTS][i % BASIS_SPLIT_COMPONENTS] = transform_slider[i]->get_value(); - } - - for (int i = 0; i < TRANSLATION_COMPONENTS; ++i) { - tform.origin[i] = transform_slider[i + BASIS_COMPONENTS]->get_value(); - } - - return tform; - } - - return Transform( - Basis(Vector3(Math::deg2rad(rotation_slider[0]->get_value()), Math::deg2rad(rotation_slider[1]->get_value()), Math::deg2rad(rotation_slider[2]->get_value())), - Vector3(scale_slider[0]->get_value(), scale_slider[1]->get_value(), scale_slider[2]->get_value())), - Vector3(translation_slider[0]->get_value(), translation_slider[1]->get_value(), translation_slider[2]->get_value())); -} - void BoneTransformEditor::update_enabled_checkbox() { if (enabled_checkbox) { const String path = "bones/" + property.get_slicec('/', 1) + "/enabled"; @@ -285,12 +220,6 @@ void BoneTransformEditor::update_enabled_checkbox() { } } -void BoneTransformEditor::_bind_methods() { - ClassDB::bind_method(D_METHOD("_value_changed", "value"), &BoneTransformEditor::_value_changed); - ClassDB::bind_method(D_METHOD("_key_button_pressed"), &BoneTransformEditor::_key_button_pressed); - ClassDB::bind_method(D_METHOD("_checkbox_toggled", "toggled"), &BoneTransformEditor::_checkbox_toggled); -} - void BoneTransformEditor::_update_properties() { if (updating) return; @@ -318,47 +247,22 @@ void BoneTransformEditor::_update_custom_pose_properties() { } void BoneTransformEditor::_update_transform_properties(Transform tform) { - Quat rot = tform.get_basis(); - Vector3 rot_rad = rot.get_euler(); - Vector3 rot_degrees = Vector3(Math::rad2deg(rot_rad.x), Math::rad2deg(rot_rad.y), Math::rad2deg(rot_rad.z)); - Vector3 tr = tform.get_origin(); + Basis rotation_basis = tform.get_basis(); + Vector3 rotation_radians = rotation_basis.get_rotation_euler(); + Vector3 rotation_degrees = Vector3(Math::rad2deg(rotation_radians.x), Math::rad2deg(rotation_radians.y), Math::rad2deg(rotation_radians.z)); + Vector3 translation = tform.get_origin(); Vector3 scale = tform.basis.get_scale(); - for (int i = 0; i < TRANSLATION_COMPONENTS; i++) { - translation_slider[i]->set_value(tr[i]); - } - - for (int i = 0; i < ROTATION_DEGREES_COMPONENTS; i++) { - rotation_slider[i]->set_value(rot_degrees[i]); - } - - for (int i = 0; i < SCALE_COMPONENTS; i++) { - scale_slider[i]->set_value(scale[i]); - } - - transform_slider[0]->set_value(tform.get_basis()[Vector3::AXIS_X].x); - transform_slider[1]->set_value(tform.get_basis()[Vector3::AXIS_X].y); - transform_slider[2]->set_value(tform.get_basis()[Vector3::AXIS_X].z); - transform_slider[3]->set_value(tform.get_basis()[Vector3::AXIS_Y].x); - transform_slider[4]->set_value(tform.get_basis()[Vector3::AXIS_Y].y); - transform_slider[5]->set_value(tform.get_basis()[Vector3::AXIS_Y].z); - transform_slider[6]->set_value(tform.get_basis()[Vector3::AXIS_Z].x); - transform_slider[7]->set_value(tform.get_basis()[Vector3::AXIS_Z].y); - transform_slider[8]->set_value(tform.get_basis()[Vector3::AXIS_Z].z); - - for (int i = 0; i < TRANSLATION_COMPONENTS; i++) { - transform_slider[BASIS_COMPONENTS + i]->set_value(tform.get_origin()[i]); - } + translation_property->update_using_vector(translation); + rotation_property->update_using_vector(rotation_degrees); + scale_property->update_using_vector(scale); + transform_property->update_using_transform(tform); update_enabled_checkbox(); updating = false; } BoneTransformEditor::BoneTransformEditor(Skeleton3D *p_skeleton) : - translation_slider(), - rotation_slider(), - scale_slider(), - transform_slider(), skeleton(p_skeleton), key_button(nullptr), enabled_checkbox(nullptr), @@ -397,7 +301,7 @@ void BoneTransformEditor::_key_button_pressed() { return; // Need to normalize the basis before you key it - Transform tform = compute_transform(true); + Transform tform = compute_transform_from_vector3s(); tform.orthonormalize(); AnimationPlayerEditor::singleton->get_track_editor()->insert_transform_key(skeleton, name, tform); } @@ -627,8 +531,7 @@ void Skeleton3DEditor::update_joint_tree() { items.insert(-1, root); const Vector<int> &joint_porder = skeleton->get_bone_process_orders(); - - Ref<Texture> bone_icon = get_theme_icon("Skeleton3D", "EditorIcons"); + Ref<Texture> bone_icon = get_theme_icon("BoneAttachment3D", "EditorIcons"); for (int i = 0; i < joint_porder.size(); ++i) { const int b_idx = joint_porder[i]; @@ -665,7 +568,6 @@ void Skeleton3DEditor::create_editors() { options->get_popup()->add_item(TTR("Create physical skeleton"), MENU_OPTION_CREATE_PHYSICAL_SKELETON); options->get_popup()->connect("id_pressed", callable_mp(this, &Skeleton3DEditor::_on_click_option)); - options->hide(); const Color section_color = get_theme_color("prop_subsection", "Editor"); @@ -715,11 +617,11 @@ void Skeleton3DEditor::_notification(int p_what) { update_joint_tree(); update_editors(); - get_tree()->connect_compat("node_removed", this, "_node_removed", Vector<Variant>(), Object::CONNECT_ONESHOT); - joint_tree->connect_compat("item_selected", this, "_joint_tree_selection_changed"); - joint_tree->connect_compat("item_rmb_selected", this, "_joint_tree_rmb_select"); + get_tree()->connect("node_removed", callable_mp(this, &Skeleton3DEditor::_node_removed), Vector<Variant>(), Object::CONNECT_ONESHOT); + joint_tree->connect("item_selected", callable_mp(this, &Skeleton3DEditor::_joint_tree_selection_changed)); + joint_tree->connect("item_rmb_selected", callable_mp(this, &Skeleton3DEditor::_joint_tree_rmb_select)); #ifdef TOOLS_ENABLED - skeleton->connect_compat("pose_updated", this, "_update_properties"); + skeleton->connect("pose_updated", callable_mp(this, &Skeleton3DEditor::_update_properties)); #endif // TOOLS_ENABLED break; diff --git a/editor/plugins/skeleton_3d_editor_plugin.h b/editor/plugins/skeleton_3d_editor_plugin.h index 8b0639ed92..a5b8ce80a9 100644 --- a/editor/plugins/skeleton_3d_editor_plugin.h +++ b/editor/plugins/skeleton_3d_editor_plugin.h @@ -41,30 +41,19 @@ class PhysicalBone3D; class Skeleton3DEditorPlugin; class Button; class CheckBox; +class EditorPropertyTransform; +class EditorPropertyVector3; class BoneTransformEditor : public VBoxContainer { GDCLASS(BoneTransformEditor, VBoxContainer); - static const int32_t TRANSLATION_COMPONENTS = 3; - static const int32_t ROTATION_DEGREES_COMPONENTS = 3; - static const int32_t SCALE_COMPONENTS = 3; - static const int32_t BASIS_COMPONENTS = 9; - static const int32_t BASIS_SPLIT_COMPONENTS = 3; - static const int32_t TRANSFORM_COMPONENTS = 12; - static const int32_t TRANSFORM_SPLIT_COMPONENTS = 3; - static const int32_t TRANSFORM_CONTROL_COMPONENTS = 3; - EditorInspectorSection *section; - GridContainer *translation_grid; - GridContainer *rotation_grid; - GridContainer *scale_grid; - GridContainer *transform_grid; - - EditorSpinSlider *translation_slider[TRANSLATION_COMPONENTS]; - EditorSpinSlider *rotation_slider[ROTATION_DEGREES_COMPONENTS]; - EditorSpinSlider *scale_slider[SCALE_COMPONENTS]; - EditorSpinSlider *transform_slider[TRANSFORM_COMPONENTS]; + EditorPropertyVector3 *translation_property; + EditorPropertyVector3 *rotation_property; + EditorPropertyVector3 *scale_property; + EditorInspectorSection *transform_section; + EditorPropertyTransform *transform_property; Rect2 background_rects[5]; @@ -83,17 +72,22 @@ class BoneTransformEditor : public VBoxContainer { String label; void create_editors(); - void setup_spinner(EditorSpinSlider *spinner, const bool is_transform_spinner); - void _value_changed(const double p_value, const bool p_from_transform); - - Transform compute_transform(const bool p_from_transform) const; + // Called when one of the EditorSpinSliders are changed. + void _value_changed(const double p_value); + // Called when the one of the EditorPropertyVector3 are updated. + void _value_changed_vector3(const String p_property_name, const Vector3 p_vector, const StringName p_edited_property_name, const bool p_boolean); + // Called when the transform_property is updated. + void _value_changed_transform(const String p_property_name, const Transform p_transform, const StringName p_edited_property_name, const bool p_boolean); + // Changes the transform to the given transform and updates the UI accordingly. + void _change_transform(Transform p_new_transform); + // Creates a Transform using the EditorPropertyVector3 properties. + Transform compute_transform_from_vector3s() const; void update_enabled_checkbox(); protected: void _notification(int p_what); - static void _bind_methods(); public: BoneTransformEditor(Skeleton3D *p_skeleton); diff --git a/editor/project_export.cpp b/editor/project_export.cpp index e5372a5d47..c53a59604a 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -163,6 +163,7 @@ void ProjectExportDialog::_update_presets() { if (preset->is_runnable()) { name += " (" + TTR("Runnable") + ")"; } + preset->update_files_to_export(); presets->add_item(name, preset->get_platform()->get_logo()); } diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 499f7d4017..cbba4b4834 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -1741,10 +1741,6 @@ void ProjectList::_panel_input(const Ref<InputEvent> &p_ev, Node *p_hb) { select_project(clicked_index); } - if (_selected_project_keys.has(clicked_project.project_key)) { - clicked_project.control->grab_focus(); - } - emit_signal(SIGNAL_SELECTION_CHANGED); if (!mb->get_control() && mb->is_doubleclick()) { diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index c6efcc944b..49b9ca167b 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -326,6 +326,9 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: menu->set_size(Size2(1, 1) * EDSCALE); for (int i = 0; i < MAX_VALUE_EDITORS; i++) { + if (i < MAX_VALUE_EDITORS / 4) { + value_hboxes[i]->hide(); + } value_editor[i]->hide(); value_label[i]->hide(); if (i < 4) { @@ -1701,6 +1704,14 @@ void CustomPropertyEditor::config_value_editors(int p_amount, int p_columns, int set_size(Size2(cell_margin + p_label_w + (cell_width + cell_margin + p_label_w) * p_columns, cell_margin + (cell_height + cell_margin) * rows) * EDSCALE); for (int i = 0; i < MAX_VALUE_EDITORS; i++) { + if (i < MAX_VALUE_EDITORS / 4) { + if (i <= p_amount / 4) { + value_hboxes[i]->show(); + } else { + value_hboxes[i]->hide(); + } + } + int c = i % p_columns; int r = i / p_columns; @@ -1729,13 +1740,23 @@ CustomPropertyEditor::CustomPropertyEditor() { read_only = false; updating = false; + value_vbox = memnew(VBoxContainer); + add_child(value_vbox); + for (int i = 0; i < MAX_VALUE_EDITORS; i++) { - value_editor[i] = memnew(LineEdit); - add_child(value_editor[i]); + if (i < MAX_VALUE_EDITORS / 4) { + value_hboxes[i] = memnew(HBoxContainer); + value_vbox->add_child(value_hboxes[i]); + value_hboxes[i]->hide(); + } + int hbox_idx = i / 4; value_label[i] = memnew(Label); - add_child(value_label[i]); - value_editor[i]->hide(); + value_hboxes[hbox_idx]->add_child(value_label[i]); value_label[i]->hide(); + value_editor[i] = memnew(LineEdit); + value_hboxes[hbox_idx]->add_child(value_editor[i]); + value_editor[i]->set_h_size_flags(Control::SIZE_EXPAND_FILL); + value_editor[i]->hide(); value_editor[i]->connect("text_entered", callable_mp(this, &CustomPropertyEditor::_modified)); value_editor[i]->connect("focus_entered", callable_mp(this, &CustomPropertyEditor::_focus_enter)); value_editor[i]->connect("focus_exited", callable_mp(this, &CustomPropertyEditor::_focus_exit)); diff --git a/editor/property_editor.h b/editor/property_editor.h index 5b7db3b83f..75c6fd372b 100644 --- a/editor/property_editor.h +++ b/editor/property_editor.h @@ -100,6 +100,8 @@ class CustomPropertyEditor : public PopupPanel { List<String> field_names; int hint; String hint_text; + HBoxContainer *value_hboxes[MAX_VALUE_EDITORS / 4]; + VBoxContainer *value_vbox; LineEdit *value_editor[MAX_VALUE_EDITORS]; int focused_value_editor; Label *value_label[MAX_VALUE_EDITORS]; diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index c37d32b26b..5795d85e66 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -2658,7 +2658,9 @@ void SceneTreeDock::_remote_tree_selected() { } void SceneTreeDock::_local_tree_selected() { - scene_tree->show(); + if (!bool(EDITOR_GET("interface/editors/show_scene_tree_root_selection")) || get_tree()->get_edited_scene_root() != nullptr) { + scene_tree->show(); + } if (remote_tree) { remote_tree->hide(); } diff --git a/editor/translations/af.po b/editor/translations/af.po index fb354fa199..1f598ef5e5 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -870,7 +870,6 @@ msgstr "Koppel tans Sein:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1513,18 +1512,9 @@ msgstr "Aktiveer" msgid "Rearrange Autoloads" msgstr "Herrangskik AutoLaaie" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Ongeldige Pad." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Lêer bestaan nie." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nie in hulpbron pad nie." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2497,11 +2487,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Open Lêer(s)" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2774,10 +2767,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3392,6 +3381,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -4014,6 +4007,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -7005,15 +7002,15 @@ msgid "" msgstr "Koppel '%s' aan '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Reël:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Maak Funksie" @@ -7496,6 +7493,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10516,8 +10522,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Deursoek Hulp" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10680,6 +10687,13 @@ msgid "Open Documentation" msgstr "Opnoemings" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10729,11 +10743,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10858,6 +10872,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Lêer bestaan nie." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Moet 'n geldige uitbreiding gebruik." @@ -10900,6 +10918,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Ongeldige Pad." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Ongeldige naam." @@ -11963,6 +11986,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11987,6 +12014,32 @@ msgstr "Ongeldige naam." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12641,6 +12694,9 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Nie in hulpbron pad nie." + #~ msgid "Replaced %d occurrence(s)." #~ msgstr "Het %d verskynsel(s) vervang." diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 22358973a0..a60de1a41e 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -37,12 +37,16 @@ # Nabeel20 <nabeelandnizam@gmail.com>, 2020. # merouche djallal <kbordora@gmail.com>, 2020. # Airbus5717 <Abdussamadf350@gmail.com>, 2020. +# tamsamani mohamed <tamsmoha@gmail.com>, 2020. +# Anas <anas.ghamdi61@gmail.com>, 2020. +# R-K <raouf9005@gmail.com>, 2020. +# HeroFight dev <abdkafi2002@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-05 14:01+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-06-09 02:02+0000\n" +"Last-Translator: HeroFight dev <abdkafi2002@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -862,7 +866,6 @@ msgstr "إشارة غير قادر على الاتصال" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1472,17 +1475,9 @@ msgstr "تمكين" msgid "Rearrange Autoloads" msgstr "اعادة ترتيب التØميلات التلقائية" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "مسار غير صالØ." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "المل٠غير موجود." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "ليس ÙÙŠ مسار الموارد." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2431,12 +2426,15 @@ msgid "Can't reload a scene that was never saved." msgstr "لا يمكن إعادة تØميل مشهد لم يتم ØÙظه من قبل." #: editor/editor_node.cpp -msgid "Revert" -msgstr "إرجاع" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "ØÙظ المشهد" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "هذا الÙعل لا يمكن إرجاعة. إرجاع علي أية Øال؟" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2721,10 +2719,6 @@ msgid "Redo" msgstr "إعادة تراجع" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "إعادة المشهد" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "ادوات لكل-المشهد او لمشاريع متنوعه." @@ -3007,9 +3001,8 @@ msgid "Update When Changed" msgstr "تØديث عند التغيير" #: editor/editor_node.cpp -#, fuzzy msgid "Hide Update Spinner" -msgstr "تعطيل دوار التØديث" +msgstr "إخÙاء دوران التØديث" #: editor/editor_node.cpp msgid "FileSystem" @@ -3238,9 +3231,8 @@ msgid "Assign..." msgstr "إلØاق..." #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr "اسم غير صالØ." +msgstr "إسم RID غير صالØ." #: editor/editor_properties.cpp msgid "" @@ -3278,9 +3270,8 @@ msgid "New Script" msgstr "نص برمجي جديد" #: editor/editor_properties.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Extend Script" -msgstr "ÙØªØ Ø§Ù„ÙƒÙˆØ¯" +msgstr "ÙØªØ Ø§Ù„ÙƒÙˆØ¯ البرمجي" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" @@ -3326,14 +3317,12 @@ msgid "Remove Item" msgstr "إزالة عنصر" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "New Key:" -msgstr "إسم جديد:" +msgstr "Ù…ÙØªØ§Ø Ø¬Ø¯ÙŠØ¯:" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "New Value:" -msgstr "إسم جديد:" +msgstr "قيمة جديدة:" #: editor/editor_properties_array_dict.cpp msgid "Add Key/Value Pair" @@ -3371,6 +3360,13 @@ msgstr "لم نستطع تشغيل الكود:" msgid "Did you forget the '_run' method?" msgstr "هل نسيت الطريقة '_run' ØŸ" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"اضغط مطولاً على Ctrl لإسقاط جالب Getter. اضغط مطولاً على Shift لإسقاط توقيع " +"عام generic signature." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "إختيار عقدة(عقد) للإستيراد" @@ -3388,9 +3384,8 @@ msgid "Import From Node:" msgstr "إستيراد من عقدة:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Redownload" -msgstr "اعادة التØميل" +msgstr "إعادة التØميل" #: editor/export_template_manager.cpp msgid "Uninstall" @@ -3430,9 +3425,8 @@ msgid "Can't open export templates zip." msgstr "لم نستطع ÙØªØ Ø§Ù„Ù…Ù„Ù Ø§Ù„Ù…Ø¶ØºÙˆØ· المÙورد." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside templates: %s." -msgstr "صيغة غير صالØØ© لـ version.txt داخل القالب." +msgstr "صيغة غير صالØØ© Ù„ version.txt داخل القالب: %s." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." @@ -3501,9 +3495,8 @@ msgid "Download Complete." msgstr "التØميل إكتمل." #: editor/export_template_manager.cpp -#, fuzzy msgid "Cannot remove temporary file:" -msgstr "لا يمكن المسØ:" +msgstr "لا يمكن Øذ٠مل٠مؤقت:" #: editor/export_template_manager.cpp msgid "" @@ -3514,9 +3507,8 @@ msgstr "" "يمكن إيجاد أرشي٠القوالب المعطوبة ÙÙŠ '%s'." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting URL:" -msgstr "خطأ ÙÙŠ طلب الرابط: " +msgstr "خطأ ÙÙŠ طلب الرابط:" #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." @@ -3565,9 +3557,8 @@ msgid "SSL Handshake Error" msgstr "خطأ مطابقة ssl" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uncompressing Android Build Sources" -msgstr "ÙŠÙكك الضغط عن الأصول" +msgstr "يتم تÙكيك مصادر بناء أندرويد Android" #: editor/export_template_manager.cpp msgid "Current Version:" @@ -3586,14 +3577,12 @@ msgid "Remove Template" msgstr "Ù…Ø³Ø Ø§Ù„Ù‚Ø§Ù„Ø¨" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select Template File" msgstr "Øدد مل٠القالب" #: editor/export_template_manager.cpp -#, fuzzy msgid "Godot Export Templates" -msgstr "إدارة قوالب التصدير" +msgstr "إدارة قوالب التصدير Godot" #: editor/export_template_manager.cpp msgid "Export Template Manager" @@ -3604,14 +3593,12 @@ msgid "Download Templates" msgstr "تنزيل القوالب" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "Øدد السرÙر من القائمة: " +msgstr "Øدد السرÙر من القائمة: (Shift+Click: للÙØªØ ÙÙŠ المتصÙØ)" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Favorites" -msgstr "المÙضلة:" +msgstr "المÙضلات" #: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." @@ -3642,9 +3629,8 @@ msgid "No name provided." msgstr "لا أسم Ù…Ùقدم." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Provided name contains invalid characters." -msgstr "الأسم المÙقدم ÙŠØتوي علي Øرو٠خاطئة" +msgstr "الإسم المÙقدم ÙŠØتوي على Ø£Øر٠خاطئة." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." @@ -3671,33 +3657,28 @@ msgid "Duplicating folder:" msgstr "تكرار مجلد:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Inherited Scene" -msgstr "مشهد مورث جديد..." +msgstr "مشهد Ù…Ùوّرَث جديد" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Set As Main Scene" -msgstr "إختر المشهد الأساسي" +msgstr "تعيين كمشهد أساسي" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Open Scenes" -msgstr "ÙØªØ Ù…Ø´Ù‡Ø¯" +msgstr "ÙØªØ Ø§Ù„Ù…ÙŽØ´Ø§Ù‡Ùد" #: editor/filesystem_dock.cpp msgid "Instance" msgstr "نموذج" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Add to Favorites" -msgstr "المÙضلة:" +msgstr "إضاÙØ© إلى المÙضلات" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Remove from Favorites" -msgstr "Øذ٠من المجموعة" +msgstr "Øذ٠من المÙضلات" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." @@ -3720,29 +3701,24 @@ msgid "Move To..." msgstr "تØريك إلي..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Scene..." -msgstr "مشهد جديد" +msgstr "مشهد جديد..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "New Script..." -msgstr "ÙØªØ Ø³Ø±ÙŠØ¹ للكود..." +msgstr "ÙØªØ Ø§Ù„Ø³ÙƒØ±ÙŠØ¨Øª..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Resource..." -msgstr "ØÙظ المورد باسم..." +msgstr "مورد جديد..." #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Expand All" msgstr "توسيع الكل" #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Collapse All" msgstr "طوي الكل" @@ -3754,28 +3730,24 @@ msgid "Rename" msgstr "إعادة التسمية" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Previous Folder/File" -msgstr "المجلد السابق" +msgstr "‪المجلد/المل٠السابق" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Next Folder/File" -msgstr "المجلد اللاØÙ‚" +msgstr "المجلد/المل٠التالي" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" msgstr "إعادة ÙØص نظام الملÙات" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle Split Mode" -msgstr "أظهر المود" +msgstr "تعيين وضعية الإنقسام" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Search files" -msgstr "إبØØ« ÙÙŠ الأصناÙ" +msgstr "بØØ« الملÙات" #: editor/filesystem_dock.cpp msgid "" @@ -3790,42 +3762,36 @@ msgid "Move" msgstr "تØريك" #: editor/filesystem_dock.cpp -#, fuzzy msgid "There is already file or folder with the same name in this location." -msgstr "مل٠أو مجلد مع هذا الأسم موجود بالÙعل." +msgstr "يوجد بالÙعل مل٠أو مجلد بنÙس الاسم ÙÙŠ هذا المكان." #: editor/filesystem_dock.cpp msgid "Overwrite" msgstr "الكتابة المÙتراكبة Overwrite" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Create Scene" -msgstr "ØÙظ المشهد" +msgstr "إنشاء المشهد" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" msgstr "إنشاء نص برمجي" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Find in Files" -msgstr "%d مزيد من الملÙات" +msgstr "إبØØ« ÙÙŠ الملÙات" #: editor/find_in_files.cpp -#, fuzzy msgid "Find:" -msgstr "جد" +msgstr "إيجاد:" #: editor/find_in_files.cpp -#, fuzzy msgid "Folder:" -msgstr "أنشئ مجلد" +msgstr "مجلد:" #: editor/find_in_files.cpp -#, fuzzy msgid "Filters:" -msgstr "وضع المÙصÙÙŠ:" +msgstr "Ùلتر:" #: editor/find_in_files.cpp msgid "" @@ -3849,29 +3815,24 @@ msgid "Cancel" msgstr "إلغاء" #: editor/find_in_files.cpp -#, fuzzy msgid "Find: " -msgstr "جد" +msgstr "إيجاد: " #: editor/find_in_files.cpp -#, fuzzy msgid "Replace: " -msgstr "إستبدال" +msgstr "إستبدال:" #: editor/find_in_files.cpp -#, fuzzy msgid "Replace all (no undo)" -msgstr "إستبدال الكل" +msgstr "إستبدال الكل (بلا تراجع)" #: editor/find_in_files.cpp -#, fuzzy msgid "Searching..." -msgstr "جاري الØÙظ..." +msgstr "جاري البØØ«..." #: editor/find_in_files.cpp -#, fuzzy msgid "Search complete" -msgstr "إبØØ« عن كتابة" +msgstr "إكتمل البØØ«" #: editor/groups_editor.cpp msgid "Add to Group" @@ -3882,57 +3843,49 @@ msgid "Remove from Group" msgstr "Øذ٠من المجموعة" #: editor/groups_editor.cpp -#, fuzzy msgid "Group name already exists." -msgstr "خطأ: إسم الØركة موجود بالÙعل!" +msgstr "توجد مجموعة بهذا الاسم." #: editor/groups_editor.cpp -#, fuzzy msgid "Invalid group name." -msgstr "اسم غير صالØ." +msgstr "اسم المجموعة غير صالØ." #: editor/groups_editor.cpp -#, fuzzy msgid "Rename Group" -msgstr "المجموعات" +msgstr "إعادة تسمية المجموعة" #: editor/groups_editor.cpp -#, fuzzy msgid "Delete Group" -msgstr "Ù…Ø³Ø Ø§Ù„Ù…Ø®Ø·Ø·" +msgstr "Øذ٠المجموعة" #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" msgstr "المجموعات" #: editor/groups_editor.cpp -#, fuzzy msgid "Nodes Not in Group" -msgstr "إضاÙØ© إلي مجموعة" +msgstr "العÙقد خارج المجموعة" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp #: editor/scene_tree_editor.cpp msgid "Filter nodes" -msgstr "العÙقد المÙرشØØ© Filter nodes" +msgstr "تصÙية العÙقد" #: editor/groups_editor.cpp -#, fuzzy msgid "Nodes in Group" -msgstr "إضاÙØ© إلي مجموعة" +msgstr "العÙقد ÙÙŠ المجموعة" #: editor/groups_editor.cpp msgid "Empty groups will be automatically removed." -msgstr "ستزال المجموعات الÙارغة بصورة تلقائية." +msgstr "ستزال المجموعات الÙارغة تلقائياً." #: editor/groups_editor.cpp -#, fuzzy msgid "Group Editor" -msgstr "ÙØªØ Ù…Ùعدل الكود" +msgstr "Ù…Øرر المجموعات" #: editor/groups_editor.cpp -#, fuzzy msgid "Manage Groups" -msgstr "المجموعات" +msgstr "إدارة المجموعات" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" @@ -4008,6 +3961,10 @@ msgid "Error running post-import script:" msgstr "خطأ ÙÙŠ تشغيل الكود الملصق- المستورد:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "جاري الØÙظ..." @@ -4028,7 +3985,6 @@ msgid "Import As:" msgstr "إستيراد كـ:" #: editor/import_dock.cpp -#, fuzzy msgid "Preset" msgstr "إعداد Ù…Ùسبق..." @@ -4054,14 +4010,12 @@ msgid "Failed to load resource." msgstr "Ùشل تØميل المورد." #: editor/inspector_dock.cpp -#, fuzzy msgid "Expand All Properties" -msgstr "توسيع كل التÙاصيل" +msgstr "توسيع كل الخصائص" #: editor/inspector_dock.cpp -#, fuzzy msgid "Collapse All Properties" -msgstr "طي كل التÙاصيل" +msgstr "طي كل الخصائص" #: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp @@ -4073,9 +4027,8 @@ msgid "Copy Params" msgstr "إنسخ المÙعامل" #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource Clipboard" -msgstr "خطأ: لا مصدر Øركة علي الØاÙظة!" +msgstr "تØرير ØاÙظة الموارد" #: editor/inspector_dock.cpp msgid "Copy Resource" @@ -4122,9 +4075,8 @@ msgid "Object properties." msgstr "خصائص العنصر." #: editor/inspector_dock.cpp -#, fuzzy msgid "Filter properties" -msgstr "خصائص العنصر." +msgstr "تصÙية الخصائص" #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4135,24 +4087,20 @@ msgid "MultiNode Set" msgstr "تØديد عقد متعددة" #: editor/node_dock.cpp -#, fuzzy msgid "Select a single node to edit its signals and groups." -msgstr "Øدد عقدة لكي تÙعدل الإشارات والمجموعات." +msgstr "Øدد عقدة لكي تÙعدل إشاراتها ومجموعاتها." #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Edit a Plugin" -msgstr "تعديل البولي" +msgstr "تعديل إضاÙØ©" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Create a Plugin" -msgstr "إنشاء ØÙ„ C#‎" +msgstr "إنشاء إضاÙØ©" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Plugin Name:" -msgstr "إضاÙات" +msgstr "اسم الإضاÙØ©:" #: editor/plugin_config_dialog.cpp msgid "Subfolder:" @@ -4172,53 +4120,45 @@ msgstr "التÙعيل الآن؟" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Polygon" -msgstr "إنشاء بولي" +msgstr "إنشاء مضلع" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Create points." -msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø§Ø·" +msgstr "إنشاء نقاط." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "" "Edit points.\n" "LMB: Move Point\n" "RMB: Erase Point" msgstr "" -"تعديل المضلعات الموجودة:\n" -"زر الÙأرة الأيسر: لتØريك النقطة.\n" -"Ctrl+زر الÙأرة الأيسر: لتقسيم الجزء.\n" -"زر الÙأرة الأيمن: Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©." +"تعديل النقاط.\n" +"زر الÙأرة الأيسر: لتØريك النقطة\n" +"زر الÙأرة الأيمن: Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Erase points." -msgstr "زر الÙأرة الأيمن: Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©." +msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø§Ø·." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon" -msgstr "تعديل البولي" +msgstr "تعديل مضلع" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" msgstr "إدخال نقطة" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon (Remove Point)" -msgstr "تعديل البولي (Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©)" +msgstr "تعديل المضلع (Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©)" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Remove Polygon And Point" -msgstr "Ù…Ø³Ø Ø§Ù„Ø¨ÙˆÙ„ÙŠ والنقطة" +msgstr "Ù…Ø³Ø Ø§Ù„Ù…Ø¶Ù„Ø¹ والنقطة" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4232,15 +4172,13 @@ msgstr "أض٠Øركة" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Load..." -msgstr "تØميل" +msgstr "تØميل..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" +msgstr "تØريك نقطة العقدة" #: editor/plugins/animation_blend_space_1d_editor.cpp #, fuzzy @@ -4261,9 +4199,8 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "إضاÙØ© نقطة" +msgstr "إضاÙØ© نقطة العقدة" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -7011,12 +6948,13 @@ msgstr "قطع إتصال'%s' من '%s'" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Line" -msgstr "الخط:" +msgid "[Ignore]" +msgstr "(تجاهل)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(تجاهل)" +#, fuzzy +msgid "Line" +msgstr "الخط:" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -7509,6 +7447,15 @@ msgid "XForm Dialog" msgstr "ناÙذة XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Ù…Øاذاة العÙقد إلى الأرضية" @@ -7963,7 +7910,7 @@ msgstr "الخطوة:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" -msgstr "" +msgstr "الÙاصل:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "TextureRegion" @@ -8050,7 +7997,7 @@ msgstr "عنصر Ù…ÙÙعل اختياري" #: editor/plugins/theme_editor_plugin.cpp msgid "Named Sep." -msgstr "" +msgstr "الÙاصل المÙسمّى" #: editor/plugins/theme_editor_plugin.cpp msgid "Submenu" @@ -9195,9 +9142,8 @@ msgid "Scalar constant." msgstr "ثابت الكمية القياسية Scalar constant." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar uniform." -msgstr "تØويل تغيير التØريك" +msgstr "الكمية القياسية المÙÙˆØدة Scalar uniform." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Perform the cubic texture lookup." @@ -9219,6 +9165,7 @@ msgstr "البØØ« عن النقش الموØد ثنائي البÙعد." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "2D texture uniform lookup with triplanar." msgstr "" +"البØØ« عن النقش ثنائي البÙعد الموØد باستخدام الإسقاط ثلاثي المستويات triplanar." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform function." @@ -9234,6 +9181,13 @@ msgid "" "whose number of rows is the number of components in 'c' and whose number of " "columns is the number of components in 'r'." msgstr "" +"ÙŠØسب الجداء السلمي لزوج من المÙتجهات (الأشعة). \n" +"\n" +"يعامل OuterProduct (الجداء السلمي) المعامل الأول 'c' كمتجه عمودي (مصÙÙˆÙØ© " +"بعمود واØد) بينما يعامل المعامل الثاني 'r' كمÙتجه Ø£Ùقي (مصÙÙˆÙØ© بص٠واØد) Øيث " +"يقوم بالجداء الجبري الخطي للمصÙÙˆÙتين بضرب 'c * r'ØŒ الأمر الذي ينتج عنه " +"مصÙÙˆÙØ© عدد صÙÙˆÙها يساوي عدد مكونات 'c' وعدد الأعمدة Ùيها يكون عدد المكونات " +"ÙÙŠ 'r'." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes transform from four vectors." @@ -9306,6 +9260,11 @@ msgid "" "incident vector, and Nref, the reference vector. If the dot product of I and " "Nref is smaller than zero the return value is N. Otherwise -N is returned." msgstr "" +"ÙŠÙرجع المÙتجه (الشعاع) الذي يشير إلى ذات اتجاه المÙتجه المرجعي. ولدى هذه " +"الوظيÙØ© البرمجية ثلاث مَعالم كمتجهات: NØŒ المÙتجه الموجه، IØŒ المÙتجه المÙسقط " +"وأخيراً Nref الذي يمثل المÙوجه المرجعي. إذا كان الجداء السÙلمي dot product لكل " +"من I ÙˆNref أصغر من الصÙر Ùإن القيمة المÙرجعة وقتها ستكون N. عدا ذلك سيتم " +"إرجاع -N." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the length of a vector." @@ -9323,25 +9282,27 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the normalize product of vector." -msgstr "" +msgstr "ÙŠØسب قيمة المÙتجه (الشعاع) نسبة للواØد normalize product." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 - vector" -msgstr "" +msgstr "1.0 - Ù…Ùتجه (شعاع)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 / vector" -msgstr "" +msgstr "1.0 \\ المÙتجه (الشعاع)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns the vector that points in the direction of reflection ( a : incident " "vector, b : normal vector )." msgstr "" +"ÙŠÙرجع المÙتجه الذي يشير إلى باتجاه الانعكاس (Ø£: المÙتجه (الشعاع) المÙسقَط، ب: " +"المÙتجه (الشعاع) الطبيعي)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the vector that points in the direction of refraction." -msgstr "" +msgstr "ÙŠÙرجع المÙتجه (الشعاع) الذي يشير باتجاه الانكسار." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9351,6 +9312,11 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n" +"\n" +"تÙرجع قيمة 0.0 إذا كان 'x' أصغر من 'edge0' Ùˆ 1.0 إذا كان 'x' أكبر من 'edge1'. " +"بخلا٠ذلك القيمة المÙرجعة سيتم استيÙاؤها (استقراء داخلي) بين 0.0 Ùˆ1.0 " +"باستخدام متعددات الØدود لهيرمت Hermite polynomials." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9360,6 +9326,11 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n" +"\n" +"تÙرجع قيمة 0.0 إذا كان 'x' أصغر من 'edge0' Ùˆ 1.0 إذا كان 'x' أكبر من 'edge1'. " +"بخلا٠ذلك القيمة المÙرجعة سيتم استيÙاؤها (استقراء داخلي) بين 0.0 Ùˆ1.0 " +"باستخدام متعددات الØدود لهيرمت Hermite polynomials." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9367,6 +9338,9 @@ msgid "" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Step function( vector(edge), vector(x) ).\n" +"\n" +"ÙŠÙرجع القيمة 0.0 إذا كان 'x' أصغر من 'edge' وعدا ذلك ستÙرجع القيمة 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9374,10 +9348,13 @@ msgid "" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Step function( scalar(edge), vector(x) ).\n" +"\n" +"ÙŠÙرجع القيمة 0.0 إذا كان 'x' أصغر من 'edge' وعدا ذلك ستÙرجع القيمة 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Adds vector to vector." -msgstr "" +msgstr "إضاÙØ© Ù…Ùتجه (شعاع) إلى Ù…Ùتجه (شعاع)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Divides vector by vector." @@ -9385,19 +9362,19 @@ msgstr "ÙŠÙقسّم المÙتجه (الشعاع) على المÙتجه." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies vector by vector." -msgstr "" +msgstr "جداء (مضاعÙØ©) Ù…Ùتجه بمÙتجه." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the remainder of the two vectors." -msgstr "" +msgstr "ÙŠÙرجع باقي كل من المÙتجهين (الشعاعين)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Subtracts vector from vector." -msgstr "" +msgstr "Ø·Ø±Ø Ù…Ùتجه (شعاع) من Ù…Ùتجه." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector constant." -msgstr "" +msgstr "ثابت المÙتجه." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9410,12 +9387,18 @@ msgid "" "output ports. This is a direct injection of code into the vertex/fragment/" "light function, do not use it to write the function declarations inside." msgstr "" +"تعبير إصلاØÙŠ (لغوي) خاص بمÙظلل غودوت، بواسطة كمية Ù…Ùخصصة من مناÙØ° المÙدخلات " +"والمÙخرجات. إنه إقØام مباشر للنص البرمجي ضمن الوظائ٠الخاصة بالقمة vertex/ " +"بالجزء fragment/ بالضوء light ØŒ لذا لا تستخدمها لكي تكتب ØªØ¹Ø±ÙŠÙ ÙˆØªÙˆØ¶ÙŠØ " +"الوظيÙØ© البرمجية داخلها." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." msgstr "" +"ÙŠÙرجع الإسقاط المبني على الجداء السÙلمي لكل من Ø§Ù„Ø³Ø·Ø Ø§Ù„Ø·Ø¨ÙŠØ¹ÙŠ وتوجيه الكاميرا " +"(يمرر المÙدخلات المرتبطة بها)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9424,50 +9407,67 @@ msgid "" "it later in the Expressions. You can also declare varyings, uniforms and " "constants." msgstr "" +"تعبير (إصطلاØÙŠ) لغوي خاص بمÙظلل غودوت، والذي يكون أعلى المÙظلل الناتج. يمكنك " +"أن تضع تعريÙات وظيÙية برمجية مختلÙØ© ضمنه واستدعاءها لاØقاً ÙÙŠ التعابير عنها. " +"كما يمكنك أيضاً أن تÙØµØ±Ù‘Ø (تعرّÙ) عن المتØولات، الموØدات (uniforms)ØŒ وكذلك " +"الثوابت." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Scalar derivative function." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) وظيÙية برمجية اشتقاقية للكمية القياسية " +"Scalar." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Vector derivative function." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) وظيÙية برمجية اشتقاقية للمÙتجه (الشعاع)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'x' using local " "differencing." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) (Ù…Ùتجه) Ù…Ùشتق ÙÙŠ 'x' باستخدام الاختلاÙات " +"المØلية." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " "differencing." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) (كمية قياسية Scalar) Ù…Ùشتقة ÙÙŠ 'x' باستخدام " +"الاختلاÙات المØلية." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'y' using local " "differencing." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) (Ù…Ùتجه) Ù…Ùشتق ÙÙŠ 'y' باستخدام الاختلاÙات " +"المØلية." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " "differencing." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) (كمية قياسية Scalar) Ù…Ùشتقة ÙÙŠ 'y' باستخدام " +"الاختلاÙات المØلية." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and " "'y'." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) (Ù…Ùتجه)مجموع الاشتقاق المÙطلق ÙÙŠ 'x' Ùˆ 'y'." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and " "'y'." msgstr "" +"(Ùقط وضع القÙطع Fragment/ الضوء) (كمية قياسية Scalar) Ù…Ùشتق Ù…Ùطلق ÙÙŠ 'x' Ùˆ'y'." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" @@ -9863,6 +9863,14 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" +"إن مل٠إعدادت المشروع المرÙÙ‚ لا ÙŠÙØدد نسخة غودوت التي تم بناؤه بها. \n" +"\n" +"%s\n" +"\n" +"إن أصريت على ÙتØه، سيتم تØويله لبنية مل٠التهيئة (التكوين) الØالي الخاص " +"بغودوت. \n" +"تØذير: لن تعد قادارً على ÙØªØ Ø§Ù„Ù…Ø´Ø±ÙˆØ¹ باستخدام النÙسخ السابقة من المÙØرك بعد " +"الآن." #: editor/project_manager.cpp msgid "" @@ -9875,6 +9883,13 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" +"إن مل٠إعدادات المشروع المرÙÙ‚ كان قد تم إنشاؤه باستخدام إصدار أقدم من " +"المØرك، لذا إنه بØاجة لتØويله إلى النسخة الØالية:\n" +"\n" +"%s\n" +"\n" +"هل ترغب ÙÙŠ تØويله؟\n" +"تØذير: لن تعد قادراً على ÙØªØ Ø§Ù„Ù…Ø´Ø±ÙˆØ¹ بالنÙسخ السابقة من المÙØرك بعد الآن." #: editor/project_manager.cpp msgid "" @@ -9999,6 +10014,9 @@ msgid "" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"صندوق البØØ« ÙŠÙØ±Ø´Ø (ÙŠÙغربل) المشاريع ÙˆÙقاً للاسم Ùˆ مكون المسار الأخير.\n" +"Ù„ØªØ´Ø±ÙŠØ (غربلة) المشاريع باستخدام الاسم والمسار الكامل، يجب أن تØتوي المبØوث " +"عنه query على الأقل Øر٠`/` واØد." #: editor/project_settings_editor.cpp msgid "Key " @@ -10021,8 +10039,8 @@ msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" -"اسم Ùعالية غير صØÙŠØ. لا يمكن أن يكون Ùارغاً أو أو يتضمن '/'ØŒ ':'ØŒ '='ØŒ '\\' " -"أو '\"'" +"اسم Ùعالية غير صØÙŠØ. لا يمكن أن يكون Ùارغاً أو يتضمن '/'ØŒ ':'ØŒ '='ØŒ '\\' أو " +"'\"'" #: editor/project_settings_editor.cpp msgid "An action with the name '%s' already exists." @@ -10086,27 +10104,27 @@ msgstr "زر العجلة يميناً" #: editor/project_settings_editor.cpp msgid "X Button 1" -msgstr "" +msgstr "زر X 1" #: editor/project_settings_editor.cpp msgid "X Button 2" -msgstr "" +msgstr "زر X 2" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "مؤشر Ù…Øور القبضة Joypad :" #: editor/project_settings_editor.cpp msgid "Axis" -msgstr "" +msgstr "Ù…Øاور" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "مؤشر زر القبضة Joypad:" #: editor/project_settings_editor.cpp msgid "Erase Input Action" -msgstr "" +msgstr "Ù…Ø³Ø Ø¥Ø¬Ø±Ø§Ø¡ الإدخال" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -10203,19 +10221,19 @@ msgstr "إضاÙØ© مسار Ù…Ùعاد تعيينه Remapped" #: editor/project_settings_editor.cpp msgid "Resource Remap Add Remap" -msgstr "" +msgstr "مورد إعادة رسم الخريطة ÙŠÙضي٠إعادة رسم خريطة" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" -msgstr "" +msgstr "تغيير لغة مورد إعادة تعيين الخريطة" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap" -msgstr "" +msgstr "إزالة مورد إعادة تعيين الخريطة" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap Option" -msgstr "" +msgstr "إزالة إعداد مورد إعادة تعيين الخريطة" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter" @@ -10223,7 +10241,7 @@ msgstr "Ù…ÙØ±Ø´Ø Ù…Øلي Ù…Ùعدّل" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "وضع المÙØ±Ø´Ø (المÙغربل) المØلي المÙعدّل" #: editor/project_settings_editor.cpp msgid "Project Settings (project.godot)" @@ -10279,7 +10297,7 @@ msgstr "الترجمات:" #: editor/project_settings_editor.cpp msgid "Remaps" -msgstr "" +msgstr "إعادة تعيين الخرائط" #: editor/project_settings_editor.cpp msgid "Resources:" @@ -10343,7 +10361,7 @@ msgstr "ملÙ..." #: editor/property_editor.cpp msgid "Dir..." -msgstr "" +msgstr "مسار..." #: editor/property_editor.cpp msgid "Assign" @@ -10454,13 +10472,15 @@ msgstr "مقدار الزيادة للعداد لكل عÙقدة" #: editor/rename_dialog.cpp msgid "Padding" -msgstr "" +msgstr "الØدود المÙبطنة Padding" #: editor/rename_dialog.cpp msgid "" "Minimum number of digits for the counter.\n" "Missing digits are padded with leading zeros." msgstr "" +"أصغر عدد خانات للعداد.\n" +"الخانات الناقصة ستعوض padded بأصÙار قياسية." #: editor/rename_dialog.cpp msgid "Post-Process" @@ -10566,8 +10586,9 @@ msgid "Instance Child Scene" msgstr "نمذجة المشهد الابن" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "إخلاء الكود" +#, fuzzy +msgid "Detach Script" +msgstr "إلØاق نص برمجي" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10736,6 +10757,13 @@ msgid "Open Documentation" msgstr "ÙÙØªØ Ù…Ø¤Ø®Ø±Ø§Ù‹" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "إضاÙØ© عÙقدة ابن" @@ -10788,11 +10816,13 @@ msgstr "" "موروث." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "إلØاق نص برمجي موجود أو جديد للعÙقدة المختارة." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Ù…Ø³Ø Ø§Ù„Ù†Øµ البرمجي للعÙقدة المختارة." #: editor/scene_tree_dock.cpp @@ -10829,86 +10859,95 @@ msgstr "خطأ ÙÙŠ الإتصال" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" -msgstr "" +msgstr "تØذير تهيئة العÙقدة:" #: editor/scene_tree_editor.cpp msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" +"تملك هذه العÙقدة %s اتصال(ات) Ùˆ %s مجموعة(مجموعات).\n" +"اضغط لإظهار رصي٠(ميناء) الإشارات." #: editor/scene_tree_editor.cpp msgid "" "Node has %s connection(s).\n" "Click to show signals dock." msgstr "" +"تملك العÙقدة %s اتصال(ات).\n" +"اضغط لإظهار رصي٠(ميناء) الإشارات." #: editor/scene_tree_editor.cpp msgid "" "Node is in %s group(s).\n" "Click to show groups dock." msgstr "" +"العÙقدة ضمن %s مجموعة(مجموعات).\n" +"اضغط لإظهار رصي٠(ميناء) المجموعات." #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Open Script:" -msgstr "ÙØªØ Ø§Ù„ÙƒÙˆØ¯" +msgstr "ÙØªØ Ø§Ù„Ù†Øµ البرمجي:" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock it." msgstr "" +"إن العÙقدة مقÙولة. \n" +"اضغط Ù„Ùكّ القÙÙ„." #: editor/scene_tree_editor.cpp msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" +"الابن غير قابل للاختيار.\n" +"اضغط لجعله قابلاً للاختيار." #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" -msgstr "" +msgstr "تشغيل/إطÙاء الوضوØية Visibility" #: editor/scene_tree_editor.cpp msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" +"تم تعليق Ù…Ùشغل الرسومات المÙتØركة.\n" +"اضغط لإزالة تعليقه." #: editor/scene_tree_editor.cpp msgid "Invalid node name, the following characters are not allowed:" -msgstr "" +msgstr "اسم عÙقدة غير صالØØŒ إن الأØر٠التالية غير مسموØØ©:" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "إعادة تسمية العÙقدة" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" -msgstr "" +msgstr "شجرة المشهد (العÙقد):" #: editor/scene_tree_editor.cpp msgid "Node Configuration Warning!" -msgstr "" +msgstr "تØذير تهيئة العÙقدة!" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "اختر عÙقدة" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Path is empty." -msgstr "الميش Ùارغ!" +msgstr "المسار Ùارغ!." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Filename is empty." -msgstr "الميش Ùارغ!" +msgstr "اسم المل٠Ùارغ." #: editor/script_create_dialog.cpp msgid "Path is not local." -msgstr "" +msgstr "المسار ليس Ù…Øلياً." #: editor/script_create_dialog.cpp #, fuzzy @@ -10921,57 +10960,61 @@ msgid "A directory with the same name exists." msgstr "مل٠أو مجلد مع هذا الأسم موجود بالÙعل." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "المل٠غير موجود." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "يجب أن يستخدم صيغة صØÙŠØØ©." #: editor/script_create_dialog.cpp msgid "Wrong extension chosen." -msgstr "" +msgstr "لاØقة Ù…Ùختارة غير مناسبة." #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "" +msgstr "خطأ ÙÙŠ تØميل القالب '%s'" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." -msgstr "" +msgstr "خطأ - Ùشل إنشاء النص البرمجي ÙÙŠ نظام الملÙات filesystem." #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "" +msgstr "خطأ ÙÙŠ تØميل النص البرمجي من %s" #: editor/script_create_dialog.cpp msgid "Overrides" -msgstr "" +msgstr "يتجاوز" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "غير متواÙÙ‚ N/A" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script / Choose Location" -msgstr "ÙØªØ Ù…Ùعدل الكود" +msgstr "ÙØªØ Ø§Ù„Ù†Øµ البرمجي / انتقاء الموقع" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script" -msgstr "ÙØªØ Ø§Ù„ÙƒÙˆØ¯" +msgstr "ÙØªØ Ø§Ù„Ù†Øµ البرمجي" #: editor/script_create_dialog.cpp -#, fuzzy msgid "File exists, it will be reused." -msgstr "المل٠موجود، سيعاد إستخدامه" +msgstr "إن المل٠موجود، سيعاد إستخدامه." + +#: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "مسار غير صالØ." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid class name." -msgstr "إسم صن٠غير صالØ" +msgstr "إسم ص٠غير صالØ." #: editor/script_create_dialog.cpp msgid "Invalid inherited parent name or path." -msgstr "" +msgstr "إن اسم أو مسار الأب (الأصل parent) الموروث غير صالØ." #: editor/script_create_dialog.cpp #, fuzzy @@ -10980,7 +11023,7 @@ msgstr "شجرة الØركة صØÙŠØØ©." #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "" +msgstr "المسموØ: a-zØŒ A-Z ØŒ 0-9 ØŒ _ Ùˆ ." #: editor/script_create_dialog.cpp #, fuzzy @@ -11007,6 +11050,8 @@ msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." msgstr "" +"ملاØظة: النصوص البرمجية المبنية ضمناً تملك مقيدة ولها إمكانيات Ù…Øددة ولا يمكن " +"تعديلها باستخدام Ù…ÙØرر خارجي." #: editor/script_create_dialog.cpp #, fuzzy @@ -11025,7 +11070,7 @@ msgstr "ÙØªØ Ø§Ù„ÙƒÙˆØ¯" #: editor/script_create_dialog.cpp msgid "Attach Node Script" -msgstr "" +msgstr "ألØÙ‚ نص برمجي للعÙقدة" #: editor/script_editor_debugger.cpp msgid "Remote " @@ -11033,7 +11078,7 @@ msgstr "من بعد " #: editor/script_editor_debugger.cpp msgid "Bytes:" -msgstr "" +msgstr "Bytes:" #: editor/script_editor_debugger.cpp #, fuzzy @@ -11072,11 +11117,11 @@ msgstr "مورد" #: editor/script_editor_debugger.cpp msgid "Stack Trace" -msgstr "" +msgstr "تتبع المÙكدس Stack Trace" #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "أخطاء" #: editor/script_editor_debugger.cpp #, fuzzy @@ -11089,7 +11134,7 @@ msgstr "خطأ ÙÙŠ نسخ" #: editor/script_editor_debugger.cpp msgid "Video RAM" -msgstr "" +msgstr "ذاكرة الÙيديو Video RAM" #: editor/script_editor_debugger.cpp #, fuzzy @@ -11098,19 +11143,19 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø§Ø·" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" -msgstr "" +msgstr "تÙØص النمذجة السابقة" #: editor/script_editor_debugger.cpp msgid "Inspect Next Instance" -msgstr "" +msgstr "تÙØص النمذجة التالية" #: editor/script_editor_debugger.cpp msgid "Stack Frames" -msgstr "" +msgstr "Øزم الإطارات Stack Frames" #: editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "Ù…Ùنشئ الملÙات التعريÙية Profiler" #: editor/script_editor_debugger.cpp msgid "Network Profiler" @@ -11118,27 +11163,27 @@ msgstr "مل٠تعري٠الشبكة Network Profiler" #: editor/script_editor_debugger.cpp msgid "Monitor" -msgstr "" +msgstr "المراقب Monitor" #: editor/script_editor_debugger.cpp msgid "Value" -msgstr "" +msgstr "القيمة" #: editor/script_editor_debugger.cpp msgid "Monitors" -msgstr "" +msgstr "المراقبون Monitors" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "اختر واØدة أو كثر من العناصر ÙÙŠ القائمة لعرض الرسم البياني graph." #: editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" -msgstr "" +msgstr "قائمة باستخدام ذاكرة الÙيديو لكل من الموارد:" #: editor/script_editor_debugger.cpp msgid "Total:" -msgstr "" +msgstr "المجموع الكلي:" #: editor/script_editor_debugger.cpp #, fuzzy @@ -11147,35 +11192,35 @@ msgstr "تصدير الملÙ" #: editor/script_editor_debugger.cpp msgid "Resource Path" -msgstr "" +msgstr "مسار المورد" #: editor/script_editor_debugger.cpp msgid "Type" -msgstr "" +msgstr "النوع" #: editor/script_editor_debugger.cpp msgid "Format" -msgstr "" +msgstr "البنية (اللاØقة)" #: editor/script_editor_debugger.cpp msgid "Usage" -msgstr "" +msgstr "الاستخدام" #: editor/script_editor_debugger.cpp msgid "Misc" -msgstr "" +msgstr "المتنوعات Misc" #: editor/script_editor_debugger.cpp msgid "Clicked Control:" -msgstr "" +msgstr "التØكم بالنقر Clicked Control:" #: editor/script_editor_debugger.cpp msgid "Clicked Control Type:" -msgstr "" +msgstr "نوع التØكم بالنقر Clicked Control:" #: editor/script_editor_debugger.cpp msgid "Live Edit Root:" -msgstr "" +msgstr "جذر التعديل المباشر:" #: editor/script_editor_debugger.cpp msgid "Set From Tree" @@ -11218,10 +11263,11 @@ msgstr "تغيير نص٠قطر الإنارة" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" msgstr "" +"تعديل زاوية انبعاث (إصدار) Ù…Ùشغل الصوت ثلاثي الأبعاد AudioStreamPlayer3D" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" -msgstr "" +msgstr "تعديل Øقل رؤية الكاميرا Camera FOV" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" @@ -11229,43 +11275,43 @@ msgstr "غيّر Øجم الكاميرا" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier AABB" -msgstr "" +msgstr "تعديل Notifier AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" -msgstr "" +msgstr "تعديل جÙزيئات AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" -msgstr "" +msgstr "تعديل نطاقات المسبر Probe Extents" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Sphere Shape Radius" -msgstr "" +msgstr "تعديل نص٠قطر الشكل الكروي" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "" +msgstr "تعديل Øجم الشكل الصندوقي" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "" +msgstr "تعديل نص٠قطر الشكل الكبسولي Capsule Shape" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "" +msgstr "تعديل ارتÙاع الشكل الكبسولي Capsule Shape" #: editor/spatial_editor_gizmos.cpp msgid "Change Cylinder Shape Radius" -msgstr "" +msgstr "تعديل نص٠قطر الشكل الأسطواني" #: editor/spatial_editor_gizmos.cpp msgid "Change Cylinder Shape Height" -msgstr "" +msgstr "تعديل ارتÙاع الشكل الأسطواني" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" -msgstr "" +msgstr "تعديل طول الشكل الشعاعي" #: modules/csg/csg_gizmos.cpp #, fuzzy @@ -11284,15 +11330,15 @@ msgstr "تغيير المرتكزات Ùˆ الهوامش" #: modules/csg/csg_gizmos.cpp msgid "Change Torus Outer Radius" -msgstr "" +msgstr "تعديل نص٠القطر الخارجي للطارة Torus Outer Radius" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select the dynamic library for this entry" -msgstr "" +msgstr "اختر المكتبة المطاوعة (الديناميكية) لأجل هذا الإدخال" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select dependencies of the library for this entry" -msgstr "" +msgstr "اختر تبعيات المكتبة لأجل هذا الإدخال" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Remove current entry" @@ -11300,31 +11346,31 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù…Ø¯Ø®Ù„Ø© الØالية" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Double click to create a new entry" -msgstr "" +msgstr "الضغط المزدوج لإنشاء إدخال جديد" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform:" -msgstr "" +msgstr "المنصة:" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform" -msgstr "" +msgstr "منصة" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dynamic Library" -msgstr "" +msgstr "مكتبة مطاوعة (ديناميكية)" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Add an architecture entry" -msgstr "" +msgstr "إضاÙØ© إدخال معماري architecture entry" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "GDNativeLibrary" -msgstr "" +msgstr "مكتبة GDNativeLibrary" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Enabled GDNative Singleton" -msgstr "" +msgstr "تمكين نمط البرمجة Singleton Ù„Ù GDNative" #: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy @@ -11333,15 +11379,15 @@ msgstr "تعطيل دوار التØديث" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" -msgstr "" +msgstr "مكتبة" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "مكتبات: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #, fuzzy @@ -11383,7 +11429,7 @@ msgstr "مجسّد القاموس غير ØµØ§Ù„Ø (أصنا٠Ùرعية غير #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "لا يمكن للكائن Object أن ÙŠÙ…Ù†Ø Ø·ÙˆÙ„Ø§Ù‹." #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -11397,23 +11443,23 @@ msgstr "التبويب السابق" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Plane:" -msgstr "" +msgstr "المستوى:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "الطابق التالي" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Previous Floor" -msgstr "" +msgstr "الطابق السابق" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "الطابق:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Delete Selection" -msgstr "" +msgstr "خريطة الشبكة GridMap Ù„Øذ٠المÙختار" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -11427,67 +11473,67 @@ msgstr "ÙƒÙÙ„ المÙØدد" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Paint" -msgstr "" +msgstr "تلوين (طلاء) خريطة الشبكة GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "" +msgstr "خريطة الشبكة" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" -msgstr "" +msgstr "مظهر المØاذاة" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Disabled" -msgstr "" +msgstr "القص Clip Ù…Ùعطّل" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Above" -msgstr "" +msgstr "القص Clip أعلاه" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Below" -msgstr "" +msgstr "القص Clip أدناه" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "تعديل المØور X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "تعديل المØور Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "تعديل المØور Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate X" -msgstr "" +msgstr "تدوير المؤشر X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Y" -msgstr "" +msgstr "تدوير المؤشر Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Z" -msgstr "" +msgstr "تدوير المؤشر Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate X" -msgstr "" +msgstr "تدوير المؤشر عكساً على X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "تدوير المؤشر عكساً على Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "تدوير المؤشر عكساً على Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Clear Rotation" -msgstr "" +msgstr "Ù…Ø³Ø ØªØ¯ÙˆÙŠØ± المؤشر" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -11504,11 +11550,11 @@ msgstr "تعبئة المÙØدد" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "" +msgstr "إعدادات خريطة الشبكة" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" -msgstr "" +msgstr "اختر المساÙØ©:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -11518,18 +11564,20 @@ msgstr "وضع المÙصÙÙŠ:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Give a MeshLibrary resource to this GridMap to use its meshes." msgstr "" +"Ø§Ù…Ù†Ø Ù…ÙƒØªØ¨Ø© Ø§Ù„Ø³Ø·ÙˆØ MeshLibrary وصولاً لخريطة الشبكة لتستخدم Ø§Ù„Ø³Ø·ÙˆØ Ø§Ù„Ù…Ø¬Ø³Ù…Ø© " +"الخاصة بها meshes." #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" -msgstr "" +msgstr "لا يمكن أن يكون اسم الص٠كلمة Ù…Øجوزة" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" -msgstr "" +msgstr "نهاية تتبع مكدس الاستثناء الداخلي" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "" +msgstr "اطبخ شبكة ملاØØ©" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -11592,26 +11640,29 @@ msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" msgstr "" +"عقدة ØÙصÙلت بدون ذاكرة Ùعالة,الرجاء قراءة الدليل عن كيÙية تØصيلها بطريقة صØÙŠØØ©!" #: modules/visual_script/visual_script.cpp msgid "" "Node yielded, but did not return a function state in the first working " "memory." -msgstr "" +msgstr "العقدة ØÙصÙلت,ولكنها لم ترجع Øالة الوظيÙØ© ÙÙŠ اول ذاكرة Ùعالة." #: modules/visual_script/visual_script.cpp msgid "" "Return value must be assigned to first element of node working memory! Fix " "your node please." msgstr "" +"يجب أن تكون القيمة المÙرجهة مقرونة بالعنصر الأول من العÙقدة العاملة بالذاكرة! " +"Ø£ØµÙ„Ø Ø§Ù„Ø¹Ù‚Ø¯Ø© من Ùضلك." #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "" +msgstr "أرجعت العÙقدة تسلسلاً Ù…Ùخرجاً غير صالØ: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" -msgstr "" +msgstr "عثر على تسلسل بت ولكن ليس العقدة ÙÙŠ المكدس ,ارÙع تقرير عن الخطأ!" #: modules/visual_script/visual_script.cpp msgid "Stack overflow with stack depth: " @@ -11619,23 +11670,23 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Signal Arguments" -msgstr "" +msgstr "تعديل معاملات الإشارات" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument Type" -msgstr "" +msgstr "تعديل نوع المعامل" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument name" -msgstr "" +msgstr "تعديل اسم المعامل" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" -msgstr "" +msgstr "تØديد القيمة الاÙتراضية للمتغير" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Type" -msgstr "" +msgstr "تØيد نوع المتغير" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11659,7 +11710,7 @@ msgstr "إنشاء %s جديد" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" -msgstr "" +msgstr "المتغيرات:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11677,27 +11728,27 @@ msgstr "أنشئ شكل جديد من لا شئ." #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" -msgstr "" +msgstr "هذا الاسم ليس Ù…ÙعرÙاً مميزاً صالØاً:" #: modules/visual_script/visual_script_editor.cpp msgid "Name already in use by another func/var/signal:" -msgstr "" +msgstr "لقد تم استخدام هذا الاسم ÙÙŠ وظيÙØ© برمجية/ Ù…Ùتغيّر/ إشارة، من قبل:" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "" +msgstr "إعادة تسمية الوظيÙØ© البرمجية" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "" +msgstr "إعادة تسمية المÙتغيّر" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "" +msgstr "إعادة تسمية الإشارة" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "" +msgstr "إضاÙØ© وظيÙØ© برمجية" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11706,11 +11757,11 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "" +msgstr "إضاÙØ© Ù…Ùتغيّر" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" -msgstr "" +msgstr "إضاÙØ© إشارة" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11724,65 +11775,72 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "تعديل التعبير" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Nodes" -msgstr "" +msgstr "إزالة عÙقد البرمجة البصرية VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Duplicate VisualScript Nodes" -msgstr "" +msgstr "Ù…ÙضاعÙØ© عÙقد البرمجة البصرية VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"اضغط مطولاً %s لإسقاط جالب Getter. اضغط مطولاً على Shift لإسقاط توقيع عام " +"generic signature." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"اضغط مطولاً على Ctrl لإسقاط جالب Getter. اضغط مطولاً على Shift لإسقاط توقيع " +"عام generic signature." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a simple reference to the node." -msgstr "" +msgstr "اضغط مطولاً على %s لإسقاط مرجعية بسيطة للعÙقدة." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" +msgstr "اضغط مطولاً على Ctrl لإسقاط مرجعية بسيطة للعÙقدة." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." -msgstr "" +msgstr "اضغط مطولاً على %s لإسقاط Ù…ÙØدد المÙتغير Variable Setter." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Variable Setter." -msgstr "" +msgstr "اضغط مطولاً على Ctrl لإسقاط Ù…ÙØدد المÙتغيّر Variable Setter." #: modules/visual_script/visual_script_editor.cpp msgid "Add Preload Node" -msgstr "" +msgstr "إضاÙØ© عÙقدة مسبقة التØميل" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" -msgstr "" +msgstr "إضاÙØ© عÙقدة (عÙقد) من الشجرة" #: modules/visual_script/visual_script_editor.cpp msgid "" "Can't drop properties because script '%s' is not used in this scene.\n" "Drop holding 'Shift' to just copy the signature." msgstr "" +"لا يمكن إضاÙØ© (إسقاط) الخاصيات لأن النص البرمجي '%s' ليس موجوداً ÙÙŠ هذا " +"المشهد.\n" +"للإضاÙØ© (للإسقاط) اضغط مطولاً 'Shift' ببساطة لنسخ التوقيع signature." #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" -msgstr "" +msgstr "إضاÙية خاصية جالب Getter Property" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" -msgstr "" +msgstr "إضاÙØ© خاصية Ù…ÙØدد Setter Property" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" -msgstr "" +msgstr "تعديل النوع الأساس" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" @@ -11790,11 +11848,11 @@ msgstr "تØريك العقدة(عقدات)" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Node" -msgstr "" +msgstr "إزالة عÙقدة البرمجة البصرية VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" -msgstr "" +msgstr "وصل العÙقد" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11813,11 +11871,11 @@ msgstr "صلها بالعقدة:" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "يملك النص البرمجي سلÙاً الوظيÙØ© البرمجية '%s'" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "تعديل قيمة الإدخال" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11826,31 +11884,32 @@ msgstr "تعديل العنصر القماشي" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "لا يمكن نسخ الوظيÙØ© البرمجية للعÙقدة." #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" -msgstr "" +msgstr "الØاÙظة Ùارغة!" #: modules/visual_script/visual_script_editor.cpp msgid "Paste VisualScript Nodes" -msgstr "" +msgstr "لصق عÙقد البرمجة البصرية VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Can't create function with a function node." -msgstr "" +msgstr "لا يمكن إنشاء وظيÙØ© برمجية من دون عÙقدة وظيÙية." #: modules/visual_script/visual_script_editor.cpp msgid "Can't create function of nodes from nodes of multiple functions." msgstr "" +"لا يمكن إنشاء وظيÙØ© برمجية لعÙقد من عÙقد تابعة للعديد من الوظائ٠البرمجية." #: modules/visual_script/visual_script_editor.cpp msgid "Select at least one node with sequence port." -msgstr "" +msgstr "اختر على الأقل واØدة من العقد التي تملك منÙØ° تسلسل sequence port." #: modules/visual_script/visual_script_editor.cpp msgid "Try to only have one sequence input in selection." -msgstr "" +msgstr "Øاول أن يكون لديك تسلسل إدخال واØد من المÙختار." #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11863,19 +11922,19 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù…Ù‡Ù…Ø©" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" -msgstr "" +msgstr "إزالة المÙتغيّر" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" -msgstr "" +msgstr "تØرير المÙتغيّر:" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" -msgstr "" +msgstr "إزالة الإشارة" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Signal:" -msgstr "" +msgstr "تØرير الإشارة:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11908,23 +11967,23 @@ msgstr "الإعدادات:" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit its graph." -msgstr "" +msgstr "اختر أو أنشئ وظيÙØ© برمجية لتØرير الرسم الخاص بها (graph)." #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "" +msgstr "Øذ٠المÙختار" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "" +msgstr "إيجاد نوع العÙقدة" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "" +msgstr "نسخ العÙقد" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" -msgstr "" +msgstr "قص العÙقد" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11943,47 +12002,47 @@ msgstr "الأعضاء" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " -msgstr "" +msgstr "نوع الإدخال غير متوقع: " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" -msgstr "" +msgstr "Ø£ØµØ¨Ø Ø§Ù„Ù…Ùكرر غير صالØاً" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "" +msgstr "Ø£ØµØ¨Ø Ø§Ù„Ù…Ùكرر غير صالØاً: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "" +msgstr "اسم خاصية المؤشر index property غير صالØ." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "" +msgstr "الكائن الأساس ليس بعÙقدة!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" -msgstr "" +msgstr "لا يؤدي المسار للوصول لعÙقدة!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "" +msgstr "اسم خاصية المؤشر \"الÙهرس\" '%s' ÙÙŠ العÙقدة %s غير صالØ." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr "" +msgstr ": معامل النوع غير صØÙŠØ: " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " -msgstr "" +msgstr ": معاملات غير صالØØ©: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " -msgstr "" +msgstr "لم يتم إيجاد VariableGet ÙÙŠ النص البرمجي: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableSet not found in script: " -msgstr "" +msgstr "لم يتم إيجاد (Ù…ÙØدد المÙتغير) VariableSet ÙÙŠ النص البرمجي: " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." @@ -11994,6 +12053,8 @@ msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" +"القيمة المÙرجعة من _step() غير صالØØ©ØŒ ينبغي أن تكون رقماً (تسلسل)ØŒ أو نصاً " +"(خطأ)." #: modules/visual_script/visual_script_property_selector.cpp #, fuzzy @@ -12053,6 +12114,13 @@ msgstr "" "الموضوعة سلÙاً." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Ù…ÙÙ†Ù‚Ø Ø£Ø®Ø·Ø§Ø¡ Ù…ÙØªØ§Ø Ø§Ù„Ù…ØªØ¬Ø± keystore غير Ù…Ùهيئ ÙÙŠ إعدادت المÙØرر أو ÙÙŠ الإعدادات " +"الموضوعة سلÙاً." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "البÙنى المخصوصة تتطلب مساراً Ù„Øزمة تطوير Android SDK صالØØ© ÙÙŠ إعدادات المÙØرر." @@ -12079,6 +12147,32 @@ msgstr "اسم رÙزمة غير صالØ:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12237,6 +12331,8 @@ msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" +"ÙŠÙØ³Ù…Ø Ø¨ÙˆØ§Øد Ùقط من CanvasModulate (Ù…Ùعدلات اللوØØ©) ÙÙŠ ÙƒÙÙ„ مشهد (أو مجموعة " +"المشاهد المÙنمذجة). سيعمل أول واØد Ùقط، بينما الباقي سيتم تجاهلهم." #: scene/2d/collision_object_2d.cpp msgid "" @@ -12244,6 +12340,11 @@ msgid "" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " "define its shape." msgstr "" +"لا تملك هذه العÙقدة شكلاً، بالتالي إنها غير قادرة على التصادم أو التÙاعل مع " +"الكائنات الأخرى.\n" +"ضع ÙÙŠ الØسبان إضاÙØ© عÙقدة بنت كالشكل التصادمي ثنائي الأبعاد CollisionShape2D " +"أو الشكل التصادمي المÙضلع ثنائي الأبعاد CollisionPolygon2D لتØديد الشكل " +"الخاصة بها." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -12251,6 +12352,11 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"يعمل Ù…Ùضلع التصادم ثنائي الأبعاد CollisionPolygon2D Ùقط كشكل تصادمي لكل العÙقد " +"المشتقة من الكائن التصادمي ثنائي الأبعاد CollisionObject2D. من Ùضلك استخدمه " +"Ùقط لكل أبناء الØيز ثنائي الأبعاد Area2DØŒ الجسم السكوني ثنائي الأبعاد " +"StaticBody2D Ùˆ الجسم الجامد ثنائي الأبعاد RigidBody2DØŒ والجسم المتØرك ثنائي " +"الأبعاد KinematicBody2D إلخ.. لكي ØªÙ…Ù†Ø ÙƒÙ„ منهم شكلاً." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -12262,6 +12368,11 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"يعمل Ù…Ùضلع التصادم ثنائي الأبعاد CollisionPolygon2D Ùقط كشكل تصادمي لكل العÙقد " +"المشتقة من الكائن التصادمي ثنائي الأبعاد CollisionObject2D. من Ùضلك استخدمه " +"Ùقط لكل أبناء الØيز ثنائي الأبعاد Area2DØŒ الجسم السكوني ثنائي الأبعاد " +"StaticBody2D Ùˆ الجسم الجامد ثنائي الأبعاد RigidBody2DØŒ والجسم المتØرك ثنائي " +"الأبعاد KinematicBody2D إلخ.. لكي ØªÙ…Ù†Ø ÙƒÙ„ منهم شكلاً." #: scene/2d/collision_shape_2d.cpp msgid "" @@ -12276,12 +12387,14 @@ msgid "" "CPUParticles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"تتطلب الرسوم المتØركة CPUParticles2D استخدام CanvasItemMaterial مع تمكين " +"\"الرسوم المتØركة للجزيئات\"." #: scene/2d/light_2d.cpp msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." -msgstr "" +msgstr "يجب توريد نقش بهيئة الضوء لخاصية \"النقش\"." #: scene/2d/light_occluder_2d.cpp msgid "" @@ -12748,6 +12861,21 @@ msgstr "يمكن تعيين المتغيرات Ùقط ÙÙŠ الذروة ." msgid "Constants cannot be modified." msgstr "لا يمكن تعديل الثوابت." +#~ msgid "Not in resource path." +#~ msgstr "ليس ÙÙŠ مسار الموارد." + +#~ msgid "Revert" +#~ msgstr "إرجاع" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "هذا الÙعل لا يمكن إرجاعة. إرجاع علي أية Øال؟" + +#~ msgid "Revert Scene" +#~ msgstr "إعادة المشهد" + +#~ msgid "Clear Script" +#~ msgstr "إخلاء الكود" + #~ msgid "Issue Tracker" #~ msgstr "متتبع الأخطاء" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index c9be0c2c3f..f08f2b1362 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -825,7 +825,6 @@ msgstr "Сигналът не може да бъде Ñвързан" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1426,17 +1425,9 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Ðеправилен път." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ðе е в Ð¿ÑŠÑ‚Ñ Ð½Ð° реÑурÑите." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2356,11 +2347,14 @@ msgid "Can't reload a scene that was never saved." msgstr "Сцена, коÑто никога не е била запазвана, не може да бъде презаредена." #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Запазване на Ñцената" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2626,10 +2620,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3237,6 +3227,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3822,6 +3816,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Запазване..." @@ -6763,12 +6761,12 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Ред" +msgid "[Ignore]" +msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" +msgid "Line" +msgstr "Ред" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7246,6 +7244,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10245,8 +10252,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Премахване на Ñкрипта" +#, fuzzy +msgid "Detach Script" +msgstr "Закачане на Ñкрипт" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10403,6 +10411,13 @@ msgid "Open Documentation" msgstr "ОтварÑне на документациÑта" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10453,11 +10468,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10584,6 +10599,10 @@ msgid "A directory with the same name exists." msgstr "Вече ÑъщеÑтвува файл или папка Ñ Ñ‚Ð¾Ð²Ð° име." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "ТрÑбва да Ñе използва правилно разширение." @@ -10630,6 +10649,10 @@ msgid "File exists, it will be reused." msgstr "Файлът ÑъщеÑтвува. ИÑкате ли да го презапишете?" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Ðеправилен път." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid class name." msgstr "невалидно име на Група." @@ -11711,6 +11734,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11735,6 +11762,32 @@ msgstr "невалидно име на Група." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12427,6 +12480,12 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Ðе е в Ð¿ÑŠÑ‚Ñ Ð½Ð° реÑурÑите." + +#~ msgid "Clear Script" +#~ msgstr "Премахване на Ñкрипта" + #~ msgid "Replaced %d occurrence(s)." #~ msgstr "Заменени ÑъвпадениÑ: %d ." diff --git a/editor/translations/bn.po b/editor/translations/bn.po index aaa46da54d..3680e4ce6c 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -897,7 +897,6 @@ msgstr "সংযোজক সংকেত/সিগনà§à¦¯à¦¾à¦²:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1546,18 +1545,9 @@ msgstr "সকà§à¦°à¦¿à¦¯à¦¼ করà§à¦¨" msgid "Rearrange Autoloads" msgstr "Autoload সমূহ পà§à¦¨à¦°à§à¦¬à¦¿à¦¨à§à¦¯à¦¸à§à¦¤ করà§à¦¨" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "অকারà§à¦¯à¦•à¦° পথ।" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "রিসোরà§à¦¸à§‡à¦° পথে নয়।" +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2591,12 +2581,15 @@ msgid "Can't reload a scene that was never saved." msgstr "পূরà§à¦¬à§‡ কখনোই সংরকà§à¦·à¦¿à¦¤ হয়নি à¦à¦®à¦¨ দৃশà§à¦¯ পà§à¦¨à¦°à¦¾à§Ÿ-লোড (রিলোড) করা অসমà§à¦à¦¬à¥¤" #: editor/editor_node.cpp -msgid "Revert" -msgstr "পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à¦°à§à¦¤à¦¨ করà§à¦¨" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "দৃশà§à¦¯ সংরকà§à¦·à¦£ করà§à¦¨" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "à¦à¦‡ কাজটি অসমà§à¦ªà¦¾à¦¦à¦¿à¦¤ করা সমà§à¦à¦¬ হবে না। তবà§à¦“ পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à¦°à§à¦¤à¦¨ করবেন?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2900,10 +2893,6 @@ msgid "Redo" msgstr "পà§à¦¨à¦°à¦¾à¦¯à¦¼ করà§à¦¨" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "দৃশà§à¦¯ পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à§ƒà¦¤à§à¦¤ করà§à¦¨" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "পà§à¦°à¦•à¦²à§à¦ª অথবা দৃশà§à¦¯à§‡-বà§à¦¯à¦¾à¦ªà§€ বিবিধ সরঞà§à¦œà¦¾à¦®-সমূহ।" @@ -3584,6 +3573,13 @@ msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালানো সমà§à¦à¦¬ হয়ন msgid "Did you forget the '_run' method?" msgstr "আপনি কি '_run' মেথডটি দিতে à¦à§à¦²à§‡à¦›à§‡à¦¨?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"গেটার (Getter) তৈরি করতে/নামাতে কনà§à¦Ÿà§à¦°à§‹à¦² কী (Ctrl) চেপে রাখà§à¦¨à¥¤ জেনেরিক সিগনেচার " +"(generic signature) তৈরি করতে/নামাতে শিফট কী (Shift) চেপে রাখà§à¦¨à¥¤" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡à¦° জনà§à¦¯ নোড(সমূহ) নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨" @@ -4265,6 +4261,10 @@ msgid "Error running post-import script:" msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿ-পরবরà§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালানোয় সমসà§à¦¯à¦¾ হয়েছে:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "সংরকà§à¦·à¦¿à¦¤ হচà§à¦›à§‡..." @@ -7429,15 +7429,15 @@ msgid "" msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "লাইন:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "ফাংশনে যান..." @@ -7953,6 +7953,15 @@ msgid "XForm Dialog" msgstr "XForm à¦à¦° সংলাপ" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª মোড:" @@ -11164,8 +11173,9 @@ msgid "Instance Child Scene" msgstr "শীষà§à¦¯ নোড ইনà§à¦¸à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ পরিসà§à¦•à¦¾à¦° করà§à¦¨" +#, fuzzy +msgid "Detach Script" +msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ সংযà§à¦•à§à¦¤ করà§à¦¨" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -11337,6 +11347,13 @@ msgid "Open Documentation" msgstr "রেফারেনà§à¦¸à§‡à¦° ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨à§‡ খà§à¦à¦œà§à¦¨à¥¤" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "শীষà§à¦¯ নোড তৈরি করà§à¦¨" @@ -11390,11 +11407,13 @@ msgstr "" "উতà§à¦¤à¦°à¦¾à¦§à¦¿à¦•à¦¾à¦°à§€ দৃশà§à¦¯ তৈরি করে।" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "à¦à¦•à¦Ÿà¦¿ নতà§à¦¨ বা বিদà§à¦¯à¦®à¦¾à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোডে সংযà§à¦•à§à¦¤ করà§à¦¨à¥¤" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোড হতে à¦à¦•à¦Ÿà¦¿ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ পরিসà§à¦•à¦¾à¦° করà§à¦¨à¥¤" #: editor/scene_tree_dock.cpp @@ -11542,6 +11561,10 @@ msgid "A directory with the same name exists." msgstr "à¦à¦•à¦‡ নামের ডিরেকà§à¦Ÿà¦°à¦¿ বিদà§à¦¯à¦®à¦¾à¦¨" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨" @@ -11591,6 +11614,11 @@ msgstr "à¦à¦•à¦‡ নামের ফাইল উপসà§à¦¥à¦¿à¦¤, তা ম #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "অকারà§à¦¯à¦•à¦° পথ।" + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ কà§à¦²à¦¾à¦¸ নাম" @@ -12743,6 +12771,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12767,6 +12799,32 @@ msgstr "অগà§à¦°à¦¹à¦£à¦¯à§‹à¦—à§à¦¯ কà§à¦²à¦¾à¦¸ নাম" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -13489,6 +13547,21 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "রিসোরà§à¦¸à§‡à¦° পথে নয়।" + +#~ msgid "Revert" +#~ msgstr "পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à¦°à§à¦¤à¦¨ করà§à¦¨" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "à¦à¦‡ কাজটি অসমà§à¦ªà¦¾à¦¦à¦¿à¦¤ করা সমà§à¦à¦¬ হবে না। তবà§à¦“ পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à¦°à§à¦¤à¦¨ করবেন?" + +#~ msgid "Revert Scene" +#~ msgstr "দৃশà§à¦¯ পà§à¦°à¦¤à§à¦¯à¦¾à¦¬à§ƒà¦¤à§à¦¤ করà§à¦¨" + +#~ msgid "Clear Script" +#~ msgstr "সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ পরিসà§à¦•à¦¾à¦° করà§à¦¨" + #~ msgid "Issue Tracker" #~ msgstr "ইসà§à¦¯à§ টà§à¦°à§à¦¯à¦¾à¦•à¦¾à¦°" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index a1577b5a15..1640367701 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-03-11 12:20+0000\n" -"Last-Translator: Alex Mancha <codingstain@gmail.com>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: roger <616steam@gmail.com>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/" "godot/ca/>\n" "Language: ca\n" @@ -25,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-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -567,7 +567,7 @@ msgstr "Escala amb el Cursor" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Duplica la Selecció" +msgstr "Duplicar la Selecció" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" @@ -575,7 +575,7 @@ msgstr "Duplica'l Transposat" #: editor/animation_track_editor.cpp msgid "Delete Selection" -msgstr "Elimina la Selecció" +msgstr "Suprimir la Selecció" #: editor/animation_track_editor.cpp msgid "Go to Next Step" @@ -656,7 +656,7 @@ msgstr "Seleccioneu les Pistes a Copiar" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "Copia" +msgstr "Copiar" #: editor/animation_track_editor.cpp msgid "Select All/None" @@ -688,7 +688,7 @@ msgstr "Modifica el Valor de la Taula" #: editor/code_editor.cpp msgid "Go to Line" -msgstr "Vés a la LÃnia" +msgstr "Anar a la LÃnia" #: editor/code_editor.cpp msgid "Line Number:" @@ -715,8 +715,9 @@ msgid "Whole Words" msgstr "Paraules senceres" #: editor/code_editor.cpp editor/rename_dialog.cpp +#, fuzzy msgid "Replace" -msgstr "Reemplaça" +msgstr "Reemplaçar" #: editor/code_editor.cpp msgid "Replace All" @@ -847,7 +848,6 @@ msgstr "No es pot connectar el senyal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1328,7 +1328,7 @@ msgstr "El Bus Principal no es pot pas eliminar!" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" -msgstr "Elimina Bus d'Àudio" +msgstr "Elimina Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" @@ -1460,17 +1460,9 @@ msgstr "Activa" msgid "Rearrange Autoloads" msgstr "Reorganitza AutoCà rregues" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Camà no và lid." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "El Fitxer no existeix." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Fora del camà dels recursos." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1499,7 +1491,7 @@ msgstr "Singleton" #: editor/editor_data.cpp editor/inspector_dock.cpp msgid "Paste Params" -msgstr "Enganxa els Parà metres" +msgstr "Enganxa els Parà metres" #: editor/editor_data.cpp msgid "Updating Scene" @@ -1984,6 +1976,7 @@ msgid "Constants" msgstr "Constants" #: editor/editor_help.cpp +#, fuzzy msgid "Property Descriptions" msgstr "Descripcions de la Propietat" @@ -2000,6 +1993,7 @@ msgstr "" "$color][url=$url] totaportant-ne una[/url][/color]!" #: editor/editor_help.cpp +#, fuzzy msgid "Method Descriptions" msgstr "Descripcions del Mètode" @@ -2008,7 +2002,7 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquest mètode no disposa de cap descripció. Podeu contribuir [color=$color]" +"Aquest mètode no disposa de cap descripció. Podeu contribuir [color=$color]" "[url=$url] tot aportant-ne una[/url][/color]!" #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -2077,7 +2071,6 @@ msgid "Property" msgstr "Propietat" #: editor/editor_help_search.cpp -#, fuzzy msgid "Theme Property" msgstr "Propietats del tema" @@ -2430,12 +2423,19 @@ msgid "Can't reload a scene that was never saved." msgstr "No es pot recarregar una escena mai desada." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Reverteix" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Desa Escena" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Aquesta acció no es pot desfer. N'esteu segur?" +#, fuzzy +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"L'escena actual té canvis sense desar.\n" +"Voleu torna a carregar l'escena desada de totes maneres? Aquesta acció no es " +"pot desfer." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2484,14 +2484,13 @@ msgid "Close Scene" msgstr "Tanca l'Escena" #: editor/editor_node.cpp -#, fuzzy msgid "Reopen Closed Scene" msgstr "Reobrir l'escena tancada" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" -"No es pot habilitar el complement a: '%s' ha fallat l'anà lisi de la " +"No es pot habilitar el complement a: '%s' ha fallat l'anà lisi de la " "configuració." #: editor/editor_node.cpp @@ -2530,8 +2529,8 @@ msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" -"En ser importada automà ticament, l'escena '%s' no es pot modificar. Per fer-" -"hi canvis, creeu una nova escena heretada." +"En ser importada automà ticament, l'escena '%s' no es pot modificar. \n" +"Per fer-hi canvis, creeu una nova escena heretada." #: editor/editor_node.cpp msgid "" @@ -2607,7 +2606,6 @@ msgid "Close Tab" msgstr "Tanca la Pestanya" #: editor/editor_node.cpp -#, fuzzy msgid "Undo Close Tab" msgstr "Desfer Tancament de Pestanya" @@ -2730,10 +2728,6 @@ msgid "Redo" msgstr "Refés" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Reverteix Escena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Eines và ries o d'escena." @@ -2751,7 +2745,6 @@ msgid "Version Control" msgstr "Control de Versions" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Set Up Version Control" msgstr "Configurar Control de Versions" @@ -2764,9 +2757,8 @@ msgid "Export..." msgstr "Exportar..." #: editor/editor_node.cpp -#, fuzzy msgid "Install Android Build Template..." -msgstr "Instal·lar plantilla de compilació d'Android" +msgstr "Instal·lar Plantilla de Compilació d'Android..." #: editor/editor_node.cpp msgid "Open Project Data Folder" @@ -2777,9 +2769,8 @@ msgid "Tools" msgstr "Eines" #: editor/editor_node.cpp -#, fuzzy msgid "Orphan Resource Explorer..." -msgstr "Navegador de Recursos Orfes" +msgstr "Navegador de Recursos Orfes..." #: editor/editor_node.cpp msgid "Quit to Project List" @@ -2921,14 +2912,12 @@ msgid "Open Editor Settings Folder" msgstr "Obre el directori de Configuració de l'Editor" #: editor/editor_node.cpp -#, fuzzy msgid "Manage Editor Features..." -msgstr "Administrar CaracterÃstiques de l'Editor" +msgstr "Administrar CaracterÃstiques de l'Editor..." #: editor/editor_node.cpp -#, fuzzy msgid "Manage Export Templates..." -msgstr "Gestor de Plantilles d'Exportació" +msgstr "Administrar Plantilles d'Exportació..." #: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp msgid "Help" @@ -2958,8 +2947,9 @@ msgid "Report a Bug" msgstr "ReImportar" #: editor/editor_node.cpp +#, fuzzy msgid "Send Docs Feedback" -msgstr "" +msgstr "Enviar suggeriments sobre la documentació" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" @@ -3219,7 +3209,7 @@ msgstr "% del Fotograma" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "Fotograma de FÃsica %" +msgstr "Fotograma de FÃsica %" #: editor/editor_profiler.cpp msgid "Inclusive" @@ -3294,7 +3284,7 @@ msgid "" msgstr "" "No es pot crear una ViewportTexture en aquest recurs ja que no s'ha definit " "com local per a l'escena.\n" -"Activeu la propietat \"local a l'escena\" del recurs i també en tots els " +"Activeu la propietat \"local a l'escena\" del recurs i també en tots els " "recurs intermitjos que el continguin fins a un node." #: editor/editor_properties.cpp editor/property_editor.cpp @@ -3369,7 +3359,7 @@ msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" -"No s'ha trobat cap patró d'exportació executable per aquesta plataforma. \n" +"No s'ha trobat cap patró d'exportació executable per aquesta plataforma. \n" "Afegiu un patró predeterminat en el menú d'exportació." #: editor/editor_run_script.cpp @@ -3396,6 +3386,13 @@ msgstr "No s'ha pogut executar l'Script:" msgid "Did you forget the '_run' method?" msgstr "Podria mancar el mètode '_run'?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Retén Ctrl per dipositar un mètode Accessor (Getter). Retén Maj per " +"dipositar una firma genèrica." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selecciona Node(s) per Importar" @@ -3538,13 +3535,12 @@ msgid "" "Templates installation failed.\n" "The problematic templates archives can be found at '%s'." msgstr "" -"No s'han pogut instal·lar les plantilles. Els fitxers problemà tics es troben " -"a '%s'." +"No s'han pogut instal·lar les plantilles. \n" +"Les plantilles problemà tics es troben a '%s'." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting URL:" -msgstr "Error en la sol·licitud de l'url: " +msgstr "Error en sol·licitar l'URL:" #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." @@ -3739,9 +3735,8 @@ msgid "Move To..." msgstr "Mou cap a..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Scene..." -msgstr "Nova Escena" +msgstr "Nova Escena..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "New Script..." @@ -3792,7 +3787,9 @@ msgstr "Cerca Fitxers" msgid "" "Scanning Files,\n" "Please Wait..." -msgstr "Analitzant Fitxers..." +msgstr "" +"Analitzant Fitxers,\n" +"Si Us Plau Espereu..." #: editor/filesystem_dock.cpp msgid "Move" @@ -3931,7 +3928,7 @@ msgstr "Gestiona Grups" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "Importar com a Única Escena" +msgstr "Importar com a Única Escena" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" @@ -4003,6 +4000,10 @@ msgid "Error running post-import script:" msgstr "Error en l'execució de l'Script de post-importació:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Desant..." @@ -4771,9 +4772,8 @@ msgid "Transition: " msgstr "Transició: " #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Play Mode:" -msgstr "Mode d'Escombratge lateral" +msgstr "Mode de Reproducció:" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4836,7 +4836,7 @@ msgstr "Mescla 1:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "Durada de la fosa (s):" +msgstr "Durada de la fosa (s):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Current:" @@ -4970,12 +4970,12 @@ msgstr "Bucle de redirecció." #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "Request failed, timeout" -msgstr "Ha fallat la sol·licitud, codi de devolució:" +msgstr "La sol·licitud ha fallat, s'ha esgotat el temps d'espera" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "Timeout." -msgstr "Temps" +msgstr "Temps esgotat." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." @@ -5348,9 +5348,8 @@ msgid "Full Rect" msgstr "Rect. Complet" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Keep Ratio" -msgstr "Relació d'Escala:" +msgstr "Mantenir Proporcions" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5371,7 +5370,7 @@ msgid "" "Overrides game camera with editor viewport camera." msgstr "" "Substitueix la cà mera del joc.\n" -"Substitueix la cà mera del joc per la la cà mera de l'editor." +"Substitueix la cà mera del joc per la cà mera de l'editor." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5499,9 +5498,8 @@ msgid "Pan Mode" msgstr "Mode d'Escombratge lateral" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Ruler Mode" -msgstr "Mode d'Execució:" +msgstr "Mode Regla" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -5700,9 +5698,8 @@ msgid "Auto Insert Key" msgstr "Inserir Clau Automà ticament" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation Key and Pose Options" -msgstr "S'ha insertit una Clau d'Animació." +msgstr "Opcions de Clau d'Animació i Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5760,7 +5757,7 @@ msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" -"Arrossegar i deixar anar + Maj: Afegeix un node com a germà \n" +"Arrossegar i deixar anar + Maj: Afegeix un node com a germà \n" "Arrossegar i deixar anar + Maj: Canvia el tipus del node" #: editor/plugins/collision_polygon_editor_plugin.cpp @@ -5958,7 +5955,7 @@ msgstr "La malla és buida!" #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Couldn't create a Trimesh collision shape." -msgstr "Crea una Col·lisió entre malles de triangles germanes" +msgstr "Crea una Col·lisió entre malles de triangles germanes." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" @@ -5974,12 +5971,15 @@ msgid "Create Trimesh Static Shape" msgstr "Crea un forma amb una malla de triangles" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Can't create a single convex collision shape for the scene root." msgstr "" +"No es pot crear una sola forma de col·lisió convexa per a l'arrel de " +"l'escena." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Couldn't create a single convex collision shape." -msgstr "No s'ha pogut crear una capa de col·lisió convexa." +msgstr "No s'ha pogut crear una forma de col·lisió convexa." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy @@ -6132,12 +6132,14 @@ msgstr "Elimina l'element %d?" msgid "" "Update from existing scene?:\n" "%s" -msgstr "Actualitza des de l'Escena" +msgstr "" +"Actualitzar des d'una 'Escena existent?:\n" +"%s" #: editor/plugins/mesh_library_editor_plugin.cpp #, fuzzy msgid "Mesh Library" -msgstr "Biblioteca de Models (MeshLibrary)..." +msgstr "Biblioteca de Models (MeshLibrary)" #: editor/plugins/mesh_library_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -6381,7 +6383,7 @@ msgstr "Selecciona Punts" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "Maj.+ Arrossegar: Selecciona Punts de Control" +msgstr "Maj.+ Arrossegar: Selecciona Punts de Control" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -6656,7 +6658,7 @@ msgstr "Configurar QuadrÃcula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" -msgstr "Desplaçament X de la quadrÃcula:" +msgstr "Desplaçament X de la quadrÃcula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset Y:" @@ -7028,12 +7030,13 @@ msgstr "" "'%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "LÃnia" +#, fuzzy +msgid "[Ignore]" +msgstr "(ignorar)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorar)" +msgid "Line" +msgstr "LÃnia" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7089,9 +7092,8 @@ msgid "Bookmarks" msgstr "Marcadors" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Breakpoints" -msgstr "Crea punts." +msgstr "Punts d’interrupció" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -7125,7 +7127,7 @@ msgstr "(Des)Plega la lÃnia" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "Plega totes les LÃnies" +msgstr "Plega totes les LÃnies" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" @@ -7245,7 +7247,7 @@ msgstr "Esquelet2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy msgid "Make Rest Pose (From Bones)" -msgstr "Crear Pose de Repòs (A partir dels Ossos)" +msgstr "Crear Pose de Repòs (A partir dels Ossos)" #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy @@ -7311,7 +7313,7 @@ msgstr "Rotació de %s graus." #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "l'Edició de Claus està inhabilitada (no s'ha inserit cap Clau)." +msgstr "l'Edició de Claus està inhabilitada (no s'ha inserit cap Clau)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." @@ -7526,6 +7528,15 @@ msgid "XForm Dialog" msgstr "Dià leg XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Ajustar Nodes al Terra" @@ -7540,9 +7551,9 @@ msgid "" "Alt+Drag: Move\n" "Alt+RMB: Depth list selection" msgstr "" -"Arrossegar: Gira\n" +"Arrossegar: Gira\n" "Alt+Arrossegar: Mou\n" -"Alt+Clic Dret: Selecció de llista de profunditat" +"Alt+Clic Dret: Selecció de llista de profunditat" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -7649,9 +7660,8 @@ msgstr "Mostra la Graella" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Settings..." -msgstr "Configuració" +msgstr "Configuració..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" @@ -7842,9 +7852,8 @@ msgid "Add Frame" msgstr "Afegeix Fotograma" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Unable to load images" -msgstr "No s'ha pogut carregar el recurs." +msgstr "No s'han pogut carregar les imatges" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" @@ -8208,7 +8217,7 @@ msgstr "Habilitar Prioritat" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy msgid "Filter tiles" -msgstr "Filtrat de Fitxers..." +msgstr "Filtrat de Fitxers" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Give a TileSet resource to this TileMap to use its tiles." @@ -8254,12 +8263,12 @@ msgstr "Restablir Transformació" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Add Texture(s) to TileSet." -msgstr "Afegeix Nodes des d'Arbre" +msgstr "Afegeix Nodes des d'Arbre." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove selected Texture from TileSet." -msgstr "Elimina l'entrada actual" +msgstr "Elimineu la textura seleccionada de TileSet." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -8608,9 +8617,8 @@ msgid "TileSet" msgstr "Conjunt de rajoles" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "No VCS addons are available." -msgstr "Nom del pare del node, si està disponible" +msgstr "No hi ha addons VCS disponibles." #: editor/plugins/version_control_editor_plugin.cpp msgid "Error" @@ -8649,9 +8657,8 @@ msgid "Staging area" msgstr "Zona de posada en escena" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Detect new changes" -msgstr "Crear un nou rectangle." +msgstr "Detectar nous canvis" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8727,9 +8734,8 @@ msgid "Add Output" msgstr "Afegeix una Entrada" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar" -msgstr "Escala:" +msgstr "Escalar" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector" @@ -8850,7 +8856,7 @@ msgstr "Crear node Shader" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Color function." -msgstr "Vés a la Funció" +msgstr "Funció color." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Color operator." @@ -8871,7 +8877,7 @@ msgstr "Converteix el vector RGB en un equivalent de HSV." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Sepia function." -msgstr "Reanomena Funció" +msgstr "Funció sèpia." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Burn operator." @@ -8919,7 +8925,7 @@ msgstr "Constant de color." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Color uniform." -msgstr "Transforma" +msgstr "Color uniforme." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9004,9 +9010,8 @@ msgstr "" "escalar." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Boolean constant." -msgstr "Modificar una constant vectorial" +msgstr "Constant booleana." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Boolean uniform." @@ -9052,14 +9057,12 @@ msgid "'%s' input parameter for vertex and fragment shader mode." msgstr "parà metre d'entrada 'alpha' per modes shader vèrtex i el fragment." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar function." -msgstr "Modifica una Funció Escalar" +msgstr "Funció escalar." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar operator." -msgstr "Modifica un operador escalar" +msgstr "Operador escalar." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "E constant (2.718282). Represents the base of the natural logarithm." @@ -9100,7 +9103,7 @@ msgstr "Retorna el valor absolut del parà metre." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-cosine of the parameter." -msgstr "Retorna el l'arc cosinus del parà metre." +msgstr "Retorna el l'arc cosinus del parà metre." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9302,14 +9305,13 @@ msgid "Subtracts scalar from scalar." msgstr "Resta escalar d'escalar." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar constant." -msgstr "Modificar una constant escalar" +msgstr "Constant escalar." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Scalar uniform." -msgstr "Modificar un Uniforme Escalar" +msgstr "Escalar uniforme." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9324,7 +9326,7 @@ msgstr "Realitza la cerca de textures." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Cubic texture uniform lookup." -msgstr "Modifica un Uniforme Textura" +msgstr "Modifica un Uniforme Textura." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9405,7 +9407,7 @@ msgstr "Funció vector." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Vector operator." -msgstr "Modifica un operador vectorial" +msgstr "Operador de vector." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes vector from three scalars." @@ -9556,16 +9558,15 @@ msgid "Vector uniform." msgstr "Modifica un Uniforme Vectorial" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "" "Custom Godot Shader Language expression, with custom amount of input and " "output ports. This is a direct injection of code into the vertex/fragment/" "light function, do not use it to write the function declarations inside." msgstr "" "Expressió personalitzada del llenguatge de Shader de Godot, amb una " -"quantitat de ports d'entrada i sortida personalitzats. Això es una una " -"injecció de codi directa en la funció vertex/fragment/light, no lo utilitzau " -"per a escriure les declaracions de la funció dins seu." +"quantitat de ports d'entrada i sortida personalitzats. Això es una injecció " +"de codi directa en la funció vertex/fragment/light, no lo utilitzau per a " +"escriure les declaracions de la funció dins seu." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9690,7 +9691,7 @@ msgstr "El camà d'exportació donat no existeix:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "Manquen d'exportació per aquesta plataforma o s'han malmès:" +msgstr "Manquen d'exportació per aquesta plataforma o s'han malmès:" #: editor/project_export.cpp msgid "Presets" @@ -9735,22 +9736,20 @@ msgid "Resources to export:" msgstr "Recursos per exportar:" #: editor/project_export.cpp -#, fuzzy msgid "" "Filters to export non-resource files/folders\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" -"Filtres per a l'exportació fitxers no-recurs (separats per comes, ex: *." -"json, *. txt)" +"Filtres per a l'exportació de fitxers/carpetes no-recurs \n" +"(separats per comes, ex: *.json, *. txt, docs/*)" #: editor/project_export.cpp -#, fuzzy msgid "" "Filters to exclude files/folders from project\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" -"Filtres per excloure fitxers del projecte (separats per comes, ex:*.json, *." -"txt)" +"Filtres per excloure fitxers/carpetes del projecte\n" +"(separats per comes, ex:*.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "Patches" @@ -9763,7 +9762,7 @@ msgstr "Crea un Pedaç" #: editor/project_export.cpp #, fuzzy msgid "Pack File" -msgstr " Fitxers" +msgstr "Fitxers" #: editor/project_export.cpp msgid "Features" @@ -9823,9 +9822,8 @@ msgid "Export All" msgstr "Exportar Tot" #: editor/project_export.cpp editor/project_manager.cpp -#, fuzzy msgid "ZIP File" -msgstr " Fitxers" +msgstr "Fitxer ZIP" #: editor/project_export.cpp msgid "Godot Game Pack" @@ -10217,7 +10215,7 @@ msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" -"Nom d'acció no và lid. No pot estar buit ni contenir '/', ':', '=', '\\' o " +"Nom d'acció no và lid. No pot estar buit ni contenir '/', ':', '=', '\\' o " "'\"'" #: editor/project_settings_editor.cpp @@ -10705,7 +10703,7 @@ msgstr "Expressions Regulars" #: editor/rename_dialog.cpp #, fuzzy msgid "At character %s" -msgstr "Carà cters và lids:" +msgstr "Al carà cter %s" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" @@ -10773,8 +10771,9 @@ msgid "Instance Child Scene" msgstr "Instancia una Escena Filla" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Esborra l'Script" +#, fuzzy +msgid "Detach Script" +msgstr "Adjunta-li un Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10814,14 +10813,12 @@ msgid "Make node as Root" msgstr "Convertir node en arrel" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes?" -msgstr "Eliminar Nodes" +msgstr "Suprimir %d nodes?" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete the root node \"%s\"?" -msgstr "Elimina el(s) Node(s) de Graf d'Ombreig" +msgstr "Voleu suprimir el node arrel \"% s\"?" #: editor/scene_tree_dock.cpp #, fuzzy @@ -10829,9 +10826,8 @@ msgid "Delete node \"%s\" and its children?" msgstr "Voleu suprimir el node \"%s\" i els seus fills?" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete node \"%s\"?" -msgstr "Eliminar Nodes" +msgstr "Suprimir el node \"% s\"?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." @@ -10950,6 +10946,13 @@ msgid "Open Documentation" msgstr "Obrir documentació" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Afegeix un Node Fill" @@ -11002,11 +11005,13 @@ msgstr "" "node arrel." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Adjunta un Script nou o existent per al Node Seleccionat." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Reestableix un Script per al node Seleccionat." #: editor/scene_tree_dock.cpp @@ -11142,6 +11147,10 @@ msgid "A directory with the same name exists." msgstr "Ja existeix un directori amb el mateix nom." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "El Fitxer no existeix." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "L'extensió no és và lida." @@ -11183,6 +11192,10 @@ msgid "File exists, it will be reused." msgstr "El fitxer ja existeix, es reutilitzarà ." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Camà no và lid." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nom de classe no và lid." @@ -11224,19 +11237,16 @@ msgid "" msgstr "" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Class Name:" -msgstr "Nom de Classe" +msgstr "Nom de la Classe:" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Template:" -msgstr "Plantilla" +msgstr "Plantilla:" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in Script:" -msgstr "Script Integrat" +msgstr "Script integrat:" #: editor/script_create_dialog.cpp msgid "Attach Node Script" @@ -11275,14 +11285,13 @@ msgid "C++ Source" msgstr "Font" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Source:" -msgstr "Font" +msgstr "Font:" #: editor/script_editor_debugger.cpp #, fuzzy msgid "C++ Source:" -msgstr "Font" +msgstr "Font de C++:" #: editor/script_editor_debugger.cpp #, fuzzy @@ -11729,7 +11738,7 @@ msgstr "Trieu la distà ncia:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "Filter meshes" -msgstr "Filtra Mode:" +msgstr "Filtrar malles" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Give a MeshLibrary resource to this GridMap to use its meshes." @@ -12043,7 +12052,7 @@ msgstr "Connecta els Nodes" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "La funció '%s' ja existeix en l'Script" +msgstr "La funció '%s' ja existeix en l'Script" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" @@ -12112,7 +12121,7 @@ msgstr "Edició del Senyal:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Make Tool:" -msgstr "Fer Local" +msgstr "Convertir en Eina:" #: modules/visual_script/visual_script_editor.cpp msgid "Members:" @@ -12121,7 +12130,7 @@ msgstr "Membres:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Change Base Type:" -msgstr "Modifica el Tipus de Base" +msgstr "Canviar Tipus de Base:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -12136,7 +12145,7 @@ msgstr "Afegeix una Funció" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "function_name" -msgstr "Funció:" +msgstr "nom_funció" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -12284,13 +12293,17 @@ msgstr "L'executable ADB no està configurat a la configuració de l'editor." #: platform/android/export/export.cpp #, fuzzy msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "OpenJDK Jarsigner no està configurat en la configuració de l'editor." +msgstr "OpenJDK Jarsigner no està configurat en la configuració de l'editor." #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp #, fuzzy msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12322,6 +12335,32 @@ msgid "Invalid package name:" msgstr "El nom del paquet no és và lid:" #: platform/android/export/export.cpp +msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp #, fuzzy msgid "" "Trying to build from a custom built template, but no version info for it " @@ -12426,7 +12465,7 @@ msgstr "Utilitzant la imatge de presentació per defecte." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." -msgstr "El nom del paquet no és và lid:" +msgstr "El nom curt del paquet no és và lid." #: platform/uwp/export/export.cpp msgid "Invalid package unique name." @@ -13057,7 +13096,7 @@ msgid "" msgstr "" "ScrollContainer fou pensat per treballar-hi amb un sol Control fill.\n" "Utilitzeu un contenidor (VBox, HBox, ...) com a fill, o un utilitzeu Control " -"i personalitzeu-hi la mida mÃnima manualment." +"i personalitzeu-hi la mida mÃnima manualment." #: scene/gui/tree.cpp msgid "(Other)" @@ -13117,6 +13156,21 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Les constants no es poden modificar." +#~ msgid "Not in resource path." +#~ msgstr "Fora del camà dels recursos." + +#~ msgid "Revert" +#~ msgstr "Reverteix" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Aquesta acció no es pot desfer. N'esteu segur?" + +#~ msgid "Revert Scene" +#~ msgstr "Reverteix Escena" + +#~ msgid "Clear Script" +#~ msgstr "Esborra l'Script" + #~ msgid "Issue Tracker" #~ msgstr "Seguiment d'Incidències" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index 566ff0c1e2..fabec77283 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -18,12 +18,14 @@ # David KubeÅ¡ <kubesdavid@email.cz>, 2019. # Emil Jiřà Tywoniak <emil.tywoniak@gmail.com>, 2020. # Filip Vincůrek <vincurek.f@gmail.com>, 2020. +# Ondrej Pavelka <ondrej.pavelka@outlook.com>, 2020. +# ZbynÄ›k <zbynek.fiala@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-03-12 23:33+0000\n" -"Last-Translator: VojtÄ›ch Å amla <auzkok@seznam.cz>\n" +"PO-Revision-Date: 2020-06-06 10:15+0000\n" +"Last-Translator: ZbynÄ›k <zbynek.fiala@gmail.com>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -31,7 +33,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.0-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -746,13 +748,13 @@ msgstr "PÅ™epnout panel skriptů" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom In" -msgstr "PÅ™iblÞit" +msgstr "ZvÄ›tÅ¡it" #: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom Out" -msgstr "Oddálit" +msgstr "ZmÄ›nÅ¡it" #: editor/code_editor.cpp msgid "Reset Zoom" @@ -852,7 +854,6 @@ msgstr "PÅ™ipojit Signál" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1463,17 +1464,9 @@ msgstr "Povolit" msgid "Rearrange Autoloads" msgstr "PÅ™eskupit Autoloady" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Neplatná cesta." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Soubor neexistuje." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nenà v cestÄ› ke zdroji." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1624,7 +1617,7 @@ msgstr "Editor skriptů" #: editor/editor_feature_profile.cpp msgid "Asset Library" -msgstr "Knihovna assetů" +msgstr "OtevÅ™Ãt knihovnu assetů" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" @@ -1888,9 +1881,8 @@ msgid "(Un)favorite current folder." msgstr "PÅ™idat/odebrat složku z oblÃbených." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Toggle the visibility of hidden files." -msgstr "Zobrazit skryté soubory" +msgstr "ZmÄ›nit viditelnost skrytých souborů." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." @@ -1990,7 +1982,7 @@ msgstr "Konstanty" #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "Popis vlastnosti" +msgstr "Popisy vlastnosti" #: editor/editor_help.cpp msgid "(value)" @@ -2006,7 +1998,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "Popis metody" +msgstr "Popisy metod" #: editor/editor_help.cpp msgid "" @@ -2123,7 +2115,7 @@ msgstr "Vymazat výstup" #: editor/editor_network_profiler.cpp editor/editor_node.cpp #: editor/editor_profiler.cpp msgid "Stop" -msgstr "Zastavit" +msgstr "Stop" #: editor/editor_network_profiler.cpp editor/editor_profiler.cpp #: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp @@ -2430,12 +2422,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Nelze naÄÃst scénu, která nebyla nikdy uložena." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Vrátit zpÄ›t" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Uložit scénu" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Tuto akci nelze vrátit zpÄ›t. PokraÄovat?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2483,7 +2478,7 @@ msgstr "ZavÅ™Ãt scénu" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "ZnovuotevÅ™Ãt uzavÅ™enou scénu" +msgstr "Znovu otevÅ™Ãt zavÅ™enou scénu" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2631,7 +2626,7 @@ msgstr "Pozice doku" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "NerozptylujÃcà režim" +msgstr "NerozptylujÃcà režitm" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." @@ -2655,11 +2650,11 @@ msgstr "KopÃrovat text" #: editor/editor_node.cpp msgid "Next tab" -msgstr "DalÅ¡Ã záložka" +msgstr "DalÅ¡Ã panel" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "PÅ™edchozà záložka" +msgstr "PÅ™edchozà tab" #: editor/editor_node.cpp msgid "Filter Files..." @@ -2716,10 +2711,6 @@ msgid "Redo" msgstr "Znovu" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Vrátit scénu" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Různé nástroje pro projekt nebo scény." @@ -2882,7 +2873,7 @@ msgstr "OtevÅ™Ãt složku s daty a nastavenÃm editoru" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "Celá obrazovka" +msgstr "PÅ™epnout celou obrazovku" #: editor/editor_node.cpp #, fuzzy @@ -2955,7 +2946,7 @@ msgstr "Spustit projekt." #: editor/editor_node.cpp msgid "Play" -msgstr "Spustit" +msgstr "Hrát" #: editor/editor_node.cpp msgid "Pause the scene execution for debugging." @@ -2975,7 +2966,7 @@ msgstr "Spustit upravenou scénu." #: editor/editor_node.cpp msgid "Play Scene" -msgstr "Spustit scénu" +msgstr "PÅ™ehrát scénu" #: editor/editor_node.cpp msgid "Play custom scene" @@ -2983,7 +2974,7 @@ msgstr "PÅ™ehrát vlastnà scénu" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "Spustit vlastnà scénu" +msgstr "PÅ™ehrát upravenou scénu" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." @@ -3091,15 +3082,15 @@ msgstr "Vybrat" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "OtevÅ™Ãt 2D editor" +msgstr "OtevÅ™Ãt 2D Editor" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "OtevÅ™Ãt 3D editor" +msgstr "OtevÅ™Ãt 3D Editor" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "OtevÅ™Ãt editor skriptů" +msgstr "OtevÅ™Ãt Editor Skriptů" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" @@ -3327,8 +3318,9 @@ msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" -"Nenalezen žádný spustitelný preset pro export pro tuto platformu.\n" -"rosÃm pÅ™idejte spustitelný preset v menu exportu." +"Nebylo nalezeno žádné spustilené pÅ™ednastavenà pro exportovánà na tuto " +"platformu.\n" +"PÅ™idejte prosÃm spustitelné pÅ™ednastavenà v exportovacÃm menu." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -3354,6 +3346,13 @@ msgstr "Nelze spustit skript:" msgid "Did you forget the '_run' method?" msgstr "NezapomÄ›l jste metodu '_run'?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Podržte Ctrl k uvolnÄ›nà getteru. Podržte Shift k uvolnÄ›nà generického " +"podpisu." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3948,6 +3947,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "UkládánÃ..." @@ -5067,7 +5070,6 @@ msgid "Failed creating lightmap images, make sure path is writable." msgstr "" #: editor/plugins/baked_lightmap_editor_plugin.cpp -#, fuzzy msgid "Bake Lightmaps" msgstr "Zapéct lightmapy" @@ -5332,7 +5334,7 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom Reset" -msgstr "Resetovat zoom" +msgstr "Obnovenà lupy" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6012,11 +6014,12 @@ msgid "Remove item %d?" msgstr "Odstranit %d?" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "" "Update from existing scene?:\n" "%s" -msgstr "Aktualizovat ze scény" +msgstr "" +"Aktualizovat z existujÃcà scény?:\n" +"%s" #: editor/plugins/mesh_library_editor_plugin.cpp #, fuzzy @@ -6898,12 +6901,13 @@ msgid "" msgstr "Odpojit '%s' od '%s'" #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Řádek" +#, fuzzy +msgid "[Ignore]" +msgstr "(ignorovat)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorovat)" +msgid "Line" +msgstr "Řádek" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7389,6 +7393,15 @@ msgid "XForm Dialog" msgstr "XForm Dialog" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "PÅ™ichytit k mřÞce" @@ -8055,7 +8068,7 @@ msgstr "NajÃt dlaždici" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" -msgstr "" +msgstr "Transponovat" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Disable Autotile" @@ -8195,14 +8208,12 @@ msgid "Z Index" msgstr "Index:" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Region Mode" -msgstr "Režim otáÄenÃ" +msgstr "Režim oblasti" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Collision Mode" -msgstr "InterpolaÄnà režim" +msgstr "Koliznà režim" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8210,14 +8221,12 @@ msgid "Occlusion Mode" msgstr "Editovat polygon" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Mode" -msgstr "VytvoÅ™it Navigation Mesh" +msgstr "NavigaÄnà režim" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Bitmask Mode" -msgstr "Režim otáÄenÃ" +msgstr "Režim bitové masky" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8225,9 +8234,8 @@ msgid "Priority Mode" msgstr "Expertnà režim:" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Icon Mode" -msgstr "Režim pÅ™esouvánÃ" +msgstr "Režim ikony" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Z Index Mode" @@ -9512,9 +9520,8 @@ msgid "Make Patch" msgstr "" #: editor/project_export.cpp -#, fuzzy msgid "Pack File" -msgstr " Soubory" +msgstr "Soubour balÃÄk" #: editor/project_export.cpp msgid "Features" @@ -10498,8 +10505,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Vymazat skript" +#, fuzzy +msgid "Detach Script" +msgstr "PÅ™ipojit skript" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10661,6 +10669,13 @@ msgid "Open Documentation" msgstr "OtevÅ™Ãt dokumentaci" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "PÅ™idat podÅ™Ãzený uzel" @@ -10710,12 +10725,14 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "PÅ™ipojit nový, nebo existujÃcà skript k vybranému uzlu." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" +#, fuzzy +msgid "Detach the script from the selected node." +msgstr "PÅ™ipojit nový, nebo existujÃcà skript k vybranému uzlu." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10837,6 +10854,10 @@ msgid "A directory with the same name exists." msgstr "Složka se stejným jménem již existuje." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Soubor neexistuje." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Neplatná pÅ™Ãpona." @@ -10878,6 +10899,10 @@ msgid "File exists, it will be reused." msgstr "Soubor již existuje, bude znovu použit." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Neplatná cesta." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Neplatné jméno tÅ™Ãdy." @@ -11947,6 +11972,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11971,6 +12000,32 @@ msgstr "Neplatné jméno tÅ™Ãdy" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12702,6 +12757,21 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Konstanty nenà možné upravovat." +#~ msgid "Not in resource path." +#~ msgstr "Nenà v cestÄ› ke zdroji." + +#~ msgid "Revert" +#~ msgstr "Vrátit zpÄ›t" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Tuto akci nelze vrátit zpÄ›t. PokraÄovat?" + +#~ msgid "Revert Scene" +#~ msgstr "Vrátit scénu" + +#~ msgid "Clear Script" +#~ msgstr "Vymazat skript" + #~ msgid "Issue Tracker" #~ msgstr "Sledovánà chyb" diff --git a/editor/translations/da.po b/editor/translations/da.po index 5e88313d95..8eeaaafaea 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -881,7 +881,6 @@ msgstr "Forbind Signal: " #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1516,18 +1515,9 @@ msgstr "Aktivér" msgid "Rearrange Autoloads" msgstr "Flytte om pÃ¥ Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Ugyldig Sti." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Fil eksisterer ikke." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ikke i stien for ressource." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2520,12 +2510,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Kan ikke genindlæse en scene, der aldrig blev gemt." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Vend tilbage" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Gem Scene" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Denne handling kan ikke fortrydes. Vend tilbage alligevel?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2816,10 +2809,6 @@ msgid "Redo" msgstr "Annuller Fortyd" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Gendan scene" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Diverse projekt eller scene redskaber." @@ -3469,6 +3458,10 @@ msgstr "Kunne ikke køre script:" msgid "Did you forget the '_run' method?" msgstr "Glemte du '_run' metoden?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Vælg Noder at Importere" @@ -4108,6 +4101,10 @@ msgid "Error running post-import script:" msgstr "Fejl ved kørsel af efter-import script:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Gemmer..." @@ -7154,15 +7151,15 @@ msgid "" msgstr "Afbryd '%s' fra '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Linje:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Tilføj Funktion" @@ -7651,6 +7648,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10733,7 +10739,8 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +#, fuzzy +msgid "Detach Script" msgstr "Ryd Script" #: editor/scene_tree_dock.cpp @@ -10902,6 +10909,13 @@ msgid "Open Documentation" msgstr "Ã…ben Seneste" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10952,11 +10966,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -11087,6 +11101,10 @@ msgid "A directory with the same name exists." msgstr "En fil eller mappe med dette navn findes allerede." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Fil eksisterer ikke." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Du skal bruge en gyldig udvidelse." @@ -11132,6 +11150,11 @@ msgstr "Filen findes, vil blive genbrugt" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Ugyldig Sti." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Ugyldigt navn." @@ -12224,6 +12247,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12248,6 +12275,32 @@ msgstr "Ugyldigt navn." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12971,6 +13024,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Konstanter kan ikke ændres." +#~ msgid "Not in resource path." +#~ msgstr "Ikke i stien for ressource." + +#~ msgid "Revert" +#~ msgstr "Vend tilbage" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Denne handling kan ikke fortrydes. Vend tilbage alligevel?" + +#~ msgid "Revert Scene" +#~ msgstr "Gendan scene" + #~ msgid "Issue Tracker" #~ msgstr "Problem Tracker" diff --git a/editor/translations/de.po b/editor/translations/de.po index c3b2d6ee58..b52206e56e 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -49,12 +49,15 @@ # Draco Drache <jan.holger.te@gmail.com>, 2019. # Jonas <dotchucknorris@gmx.de>, 2019. # PagDev <pag.develop@gmail.com>, 2020. +# artism90 <artism90@googlemail.com>, 2020. +# Jaigskim <filzstift112@gmail.com>, 2020. +# Jacqueline Ulken <Jacqueline.Ulken@protonmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-04 15:11+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: So Wieso <sowieso@dukun.de>\n" "Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" "godot/de/>\n" "Language: de\n" @@ -67,12 +70,11 @@ msgstr "" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" -"Ungültiger Argument-Typ in convert()-Aufruf, TYPE_*-Konstanten benötigt." +msgstr "Ungültiger Argument-Typ in convert(), TYPE_*-Konstanten benötigt." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "Zeichenkette der Länge 1 erwartet (ein Zeichen)." +msgstr "Zeichenkette der Länge 1 erwartet (exakt ein Symbol)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -95,7 +97,7 @@ msgstr "Ungültige Operanden für Operator %s, %s und %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "Ungültiger Index des Typs ‚%s‘ für Grundtyp %s" +msgstr "Ungültiger Index des Typs %s für Grundtyp %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" @@ -435,7 +437,7 @@ msgstr "Spuren neu anordnen" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "Transformationsspuren gelten nur für Nodes die auf Spatial basieren." +msgstr "Transformationsspuren gelten nur für Nodes, die auf Spatial basieren." #: editor/animation_track_editor.cpp msgid "" @@ -538,11 +540,11 @@ msgstr "" "Diese Animation gehört zu einer importierten Szene, Änderungen an " "importierten Spuren werden nicht gespeichert.\n" "\n" -"Um neue Spuren hinzufügen zu können muss unter den Importeinstellungen\n" +"Um neue Spuren hinzufügen zu können muss unter den Importeinstellungen der " +"Szene\n" "„Animation > Storage“ zu „Files“ gesetzt und „Animation > Keep Custom " -"Tracks“ aktiviert werden.\n" -"Danach ist die Szene erneut zu importieren.\n" -"Alternativ kann eine Importeinstllung benutzt werden welche Animationen in " +"Tracks“ aktiviert werden, danach ist die Szene erneut zu importieren.\n" +"Alternativ kann eine Importeinstellung benutzt werden, welche Animationen in " "separate Dateien importiert." #: editor/animation_track_editor.cpp @@ -552,7 +554,7 @@ msgstr "Achtung: Es wird eine importierte Animation bearbeitet" #: editor/animation_track_editor.cpp msgid "Select an AnimationPlayer node to create and edit animations." msgstr "" -"Ein AnimationPlayer-Node auswählen um Animationen zu erzeugen oder zu " +"Ein AnimationPlayer-Node auswählen, um Animationen zu erzeugen oder zu " "bearbeiten." #: editor/animation_track_editor.cpp @@ -887,7 +889,6 @@ msgstr "Signal kann nicht verbunden werden" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1502,17 +1503,9 @@ msgstr "Aktivieren" msgid "Rearrange Autoloads" msgstr "Autoloads neu anordnen" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Ungültiger Pfad." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Datei existiert nicht." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nicht im Ressourcen-Pfad." +msgid "Can't add autoload:" +msgstr "Autoload konnte nicht hinzugefügt werden:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1629,8 +1622,9 @@ msgid "" "Enabled'." msgstr "" "Die Zielplattform benötigt ‚ETC‘-Texturkompression für den Treiber-Fallback " -"auf GLES2. Bitte ‚Import Etc‘ in den Projekteinstellungen aktivieren oder " -"‚Driver Fallback Enabled‘ ausschalten." +"auf GLES2. \n" +"Bitte ‚Import Etc‘ in den Projekteinstellungen aktivieren oder ‚Driver " +"Fallback Enabled‘ ausschalten." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -2015,7 +2009,7 @@ msgstr "Methoden" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "Motiv-Eigenschaften" +msgstr "Theme-Eigenschaften" #: editor/editor_help.cpp msgid "Enumerations" @@ -2092,11 +2086,11 @@ msgstr "Nur Eigenschaften" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "Nur Motiv-Eigenschaften" +msgstr "Nur Theme-Eigenschaften" #: editor/editor_help_search.cpp msgid "Member Type" -msgstr "Mitgliedstyp" +msgstr "Attribut-Typ" #: editor/editor_help_search.cpp msgid "Class" @@ -2112,7 +2106,7 @@ msgstr "Signal" #: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constant" -msgstr "Konstant" +msgstr "Konstante" #: editor/editor_help_search.cpp msgid "Property" @@ -2120,7 +2114,7 @@ msgstr "Eigenschaft" #: editor/editor_help_search.cpp msgid "Theme Property" -msgstr "Motiv-Eigenschaft" +msgstr "Theme-Eigenschaft" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" @@ -2128,11 +2122,11 @@ msgstr "Eigenschaft:" #: editor/editor_inspector.cpp msgid "Set" -msgstr "Setze" +msgstr "Festlegen" #: editor/editor_inspector.cpp msgid "Set Multiple:" -msgstr "Mehrfach einstellen:" +msgstr "Mehrfach festlegen:" #: editor/editor_log.cpp msgid "Output:" @@ -2159,7 +2153,7 @@ msgstr "Ausgabe löschen" #: editor/editor_network_profiler.cpp editor/editor_node.cpp #: editor/editor_profiler.cpp msgid "Stop" -msgstr "Stop" +msgstr "Stopp" #: editor/editor_network_profiler.cpp editor/editor_profiler.cpp #: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp @@ -2172,7 +2166,7 @@ msgstr "%s/s" #: editor/editor_network_profiler.cpp msgid "Down" -msgstr "Herunter" +msgstr "Runter" #: editor/editor_network_profiler.cpp msgid "Up" @@ -2213,7 +2207,7 @@ msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "Fehler beim speichern der Ressource!" +msgstr "Fehler beim Speichern der Ressource!" #: editor/editor_node.cpp msgid "" @@ -2229,7 +2223,7 @@ msgstr "Speichere Ressource als..." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "Datei kann nicht zum schreiben geöffnet werden:" +msgstr "Datei kann nicht zum Schreiben geöffnet werden:" #: editor/editor_node.cpp msgid "Requested file format unknown:" @@ -2237,13 +2231,13 @@ msgstr "Angefordertes Dateiformat unbekannt:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "Fehler beim speichern." +msgstr "Fehler beim Speichern." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." msgstr "" "Datei ‚%s‘ kann nicht geöffnet werden. Die Datei könnte verschoben oder " -"gelöscht sein." +"gelöscht worden sein." #: editor/editor_node.cpp msgid "Error while parsing '%s'." @@ -2282,8 +2276,8 @@ msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" -"Diese Szene kann nicht gespeichert werden da sie eine zyklische " -"Instantiierungshierarchie enthält.\n" +"Diese Szene kann nicht gespeichert werden, da sie eine zyklische " +"Instanziierungshierarchie enthält.\n" "Speichern ist erst nach Beheben des Konflikts möglich." #: editor/editor_node.cpp @@ -2300,23 +2294,23 @@ msgstr "Momentan geöffnete Szenen können nicht überschrieben werden!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "MeshLibrary konnte nicht zum vereinen geladen werden!" +msgstr "MeshLibrary konnte nicht zum Vereinen geladen werden!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "Fehler beim speichern der MeshLibrary!" +msgstr "Fehler beim Speichern der MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "TileSet konnte nicht zum vereinen geladen werden!" +msgstr "TileSet konnte nicht zum Vereinen geladen werden!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "Fehler beim speichern des TileSet!" +msgstr "Fehler beim Speichern des TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "Fehler beim speichern des Layouts!" +msgstr "Fehler beim Speichern des Layouts!" #: editor/editor_node.cpp msgid "Default editor layout overridden." @@ -2324,7 +2318,7 @@ msgstr "Standard-Editorlayout überschrieben." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "Layout Name nicht gefunden!" +msgstr "Layout-Name nicht gefunden!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." @@ -2345,7 +2339,7 @@ msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it won't be kept when saving the current scene." msgstr "" -"Diese Ressource gehört zu einer instantiierten oder geerbten Szene.\n" +"Diese Ressource gehört zu einer instanziierten oder geerbten Szene.\n" "Änderungen an der Ressource werden beim Speichern der aktuellen Szene nicht " "mitgespeichert." @@ -2366,7 +2360,7 @@ msgid "" "understand this workflow." msgstr "" "Diese Szene wurde importiert, Änderungen an ihr werden nicht gespeichert.\n" -"Instantiierung oder Vererbung sind nötig um Änderungen vorzunehmen.\n" +"Instanziierung oder Vererbung ist nötig, um Änderungen vorzunehmen.\n" "Die Dokumentation zum Szenenimport beschreibt den nötigen Arbeitsablauf." #: editor/editor_node.cpp @@ -2375,18 +2369,19 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" -"Dies ist ein Fern-Objekt, Änderungen an ihm werden nicht gespeichert.\n" +"Dies ist ein nicht-lokales Objekt, Änderungen an ihm werden nicht " +"gespeichert.\n" "Die Dokumentation zum Debugging beschreibt den nötigen Arbeitsablauf." #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "Es ist keine zu startende Szene definiert." +msgstr "Es ist keine abzuspielende Szene definiert." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." msgstr "" -"Die aktuelle Szene wurde noch nicht gespeichert, bitte speichere sie vor dem " -"Starten." +"Die aktuelle Szene wurde noch nicht gespeichert, bitte vor dem Abspielen " +"sichern." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -2474,13 +2469,17 @@ msgstr "" "Szene kann nicht neu geladen werden, wenn sie vorher nicht gespeichert wurde." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Zurücksetzen" +msgid "Reload Saved Scene" +msgstr "Gespeicherte Szene neu laden" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" -"Diese Aktion kann nicht rückgängig gemacht werden. Trotzdem zurücksetzen?" +"Die aktuelle Szene enthält ungesicherte Änderungen.\n" +"Soll die Szene trotzdem neu geladen werden? Diese Aktion kann nicht " +"rückgängig gemacht werden." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2612,9 +2611,10 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Die ausgewählte Szene ‚%s‘ existiert nicht.\n" -"Wähle eine gültige Szene in den Projekteinstellungen unter der Kategorie " -"„Anwendung“." +"Die ausgewählte Szene ‚%s‘ existiert nicht, soll eine gültige ausgewählt " +"werden?\n" +"Dies kann später in den Projekteinstellungen unter der Kategorie ‚Anwendung‘ " +"geändert werden." #: editor/editor_node.cpp msgid "" @@ -2622,9 +2622,10 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Die ausgewählte Szene ‚%s‘ ist keine gültige Datei für eine Szene.\n" -"Wähle eine gültige Szene in den Projekteinstellungen unter der Kategorie " -"„Anwendung“." +"Die ausgewählte Szene ‚%s‘ ist keine gültige Datei für eine Szene, soll eine " +"andere ausgewählt werden?\n" +"Dies kann später in den Projekteinstellungen unter der Kategorie ‚Anwendung‘ " +"geändert werden." #: editor/editor_node.cpp msgid "Save Layout" @@ -2775,10 +2776,6 @@ msgid "Redo" msgstr "Wiederherstellen" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Szene zurücksetzen" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Sonstiges Projekt oder szenenübergreifende Werkzeuge." @@ -3428,6 +3425,12 @@ msgstr "Skript konnte nicht ausgeführt werden:" msgid "Did you forget the '_run' method?" msgstr "Hast du die '_run' Methode vergessen?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Strg-Taste halten um auf Ganzzahlen zu runden. Umschalt-Taste halten für " +"präzisere Änderungen." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selektiere Node(s) für den Import" @@ -3939,7 +3942,7 @@ msgstr "Nodes filtern" #: editor/groups_editor.cpp msgid "Nodes in Group" -msgstr "Nodes in der Gruppe" +msgstr "Nodes in Gruppe" #: editor/groups_editor.cpp msgid "Empty groups will be automatically removed." @@ -4027,6 +4030,12 @@ msgid "Error running post-import script:" msgstr "Fehler beim ausführen des Post-Import Skripts:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" +"Wurde ein von Node abstammendes Objekt in der ‚post_import()‘-Methode " +"zurückgegeben?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Speichere..." @@ -4581,7 +4590,7 @@ msgstr "Spiele ausgewählte Animation vom Start. (Umschalt+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "Ausgewählte Animation von aktueller Position aus abspielen. (D)" +msgstr "Spiele ausgewählte Animation von aktueller Position. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." @@ -4621,7 +4630,7 @@ msgstr "Zwiebelhaut aktivieren" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning Options" -msgstr "Zwiebelhaut-Einstellugen" +msgstr "Zwiebelhaut-Einstellungen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" @@ -5268,8 +5277,8 @@ msgid "" "When active, moving Control nodes changes their anchors instead of their " "margins." msgstr "" -"Wenn aktiviert ändert das Verschieben von Control-Nodes ihre Anker anstatt " -"ihre Ausmaße." +"Wenn aktiviert, ändert das Verschieben von Control-Nodes deren Bezugspunkte " +"statt ihre Randabstände." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Top Left" @@ -5624,7 +5633,7 @@ msgstr "Zeige Ansichtsfenster (Viewport)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" -msgstr "Gruppe zeigen und Icons sperren" +msgstr "Gruppen und Symbole anzeigen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -6769,11 +6778,11 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "Motiv importieren" +msgstr "Theme importieren" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "Fehler beim Speichern des Motivs" +msgstr "Fehler beim Speichern des Themes" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" @@ -6781,7 +6790,7 @@ msgstr "Fehler beim Speichern" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As..." -msgstr "Motiv speichern als..." +msgstr "Theme speichern als..." #: editor/plugins/script_editor_plugin.cpp msgid "%s Class Reference" @@ -6868,7 +6877,7 @@ msgstr "Vorwärts im Verlauf" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Theme" -msgstr "Motiv" +msgstr "Theme" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme..." @@ -6876,11 +6885,11 @@ msgstr "Thema importieren..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "Motiv neu laden" +msgstr "Theme neu laden" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "Motiv speichern" +msgstr "Theme speichern" #: editor/plugins/script_editor_plugin.cpp msgid "Close All" @@ -6988,12 +6997,12 @@ msgstr "" "Fehlende verbundene Methode ‚%s‘ für Signal ‚%s‘ von Node ‚%s‘ zu Node ‚%s‘." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Zeile" +msgid "[Ignore]" +msgstr "[Ignorieren]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorieren)" +msgid "Line" +msgstr "Zeile" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7471,6 +7480,21 @@ msgid "XForm Dialog" msgstr "Transformationsdialog" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Klicken um zwischen Sichtbarkeitsmodi umzuschalten.\n" +"\n" +"Offenes Auge: Griffe sind sichtbar.\n" +"Geschlossenes Auge: Griffe sind unsichtbar.\n" +"Halb offenes Auge: Griffe sind auch durch deckende Oberflächen sichtbar " +"(\"Röntgenblick\")." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Nodes am Boden einrasten" @@ -7961,7 +7985,7 @@ msgstr "Aus derzeitigem Editor-Thema erstellen" #: editor/plugins/theme_editor_plugin.cpp msgid "Toggle Button" -msgstr "Knopf umschalten" +msgstr "Umschaltknopf" #: editor/plugins/theme_editor_plugin.cpp msgid "Disabled Button" @@ -8066,7 +8090,7 @@ msgstr "Farbe" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme File" -msgstr "Motiv-Datei" +msgstr "Theme-Datei" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -8196,7 +8220,7 @@ msgstr "Nächste Koordinate" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." -msgstr "Die nächste Form oder Kachel auswählen." +msgstr "Die nächste Form oder (Unter-)Kachel auswählen." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Previous Coordinate" @@ -8204,7 +8228,7 @@ msgstr "Vorherige Koordinate" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." -msgstr "Die vorherige Form oder Kachel auswählen." +msgstr "Die vorherige Form oder (Unter-)Kachel auswählen." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Region" @@ -8244,7 +8268,7 @@ msgstr "Kollisionsmodus" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occlusion Mode" -msgstr "Verschlussmodus" +msgstr "Verdeckungsmodus" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation Mode" @@ -9317,7 +9341,7 @@ msgid "" msgstr "" "Stufenfunktion ( Vektor(Kante), Vektor(x) ).\n" "\n" -"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0." +"Gibt 0.0 zurück falls ‚x‘ kleiner als ‚Kante‘, ansonsten 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -10575,8 +10599,8 @@ msgid "Instance Child Scene" msgstr "Szene hier instantiieren" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Skript leeren" +msgid "Detach Script" +msgstr "Skript loslösen" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10742,6 +10766,15 @@ msgid "Open Documentation" msgstr "Dokumentation öffnen" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"Skript konnte nicht angehängt werden: Keine Sprachen registriert.\n" +"Vermutliche Ursache ist dass der Editor ohne Sprachmodulen gebaut wurde." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Node hier anhängen" @@ -10790,12 +10823,12 @@ msgstr "" "kein Root-Node existiert." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "Ein neues oder existierendes Skript zum ausgewählten Node hinzufügen." +msgid "Attach a new or existing script to the selected node." +msgstr "Ein neues oder existierendes Skript dem ausgewählten Node anhängen." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Entferne Skript von ausgewähltem Node." +msgid "Detach the script from the selected node." +msgstr "Skript vom ausgewählten Node loslösen." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10850,12 +10883,12 @@ msgid "" "Node is in %s group(s).\n" "Click to show groups dock." msgstr "" -"Node ist %s Gruppe(n).\n" +"Node gehört zu %s Gruppe(n).\n" "Hier klicken zur Gruppenverwaltung." #: editor/scene_tree_editor.cpp msgid "Open Script:" -msgstr "Offenes Skript:" +msgstr "Skript öffnen:" #: editor/scene_tree_editor.cpp msgid "" @@ -10927,6 +10960,10 @@ msgid "A directory with the same name exists." msgstr "Ein Verzeichnis mit gleichem Namen existiert bereits." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Datei existiert nicht." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Ungültige Dateiendung." @@ -10967,6 +11004,10 @@ msgid "File exists, it will be reused." msgstr "Datei existiert bereits, wird erneut verwendet." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Ungültiger Pfad." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Ungültiger Klassenname." @@ -11986,7 +12027,7 @@ msgstr "Paketsegmente dürfen keine Länge gleich Null haben." #: platform/android/export/export.cpp msgid "The character '%s' is not allowed in Android application package names." -msgstr "Das Zeichen ‚%s‘ ist in Android-Anwendungs-Paketnamen nicht gestattet." +msgstr "Das Zeichen ‚%s‘ ist in Android-Anwendungspaketnamen nicht gestattet." #: platform/android/export/export.cpp msgid "A digit cannot be the first character in a package segment." @@ -12020,6 +12061,11 @@ msgstr "" "konfiguriert." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Release-Keystore wurde nicht korrekt konfiguriert in den Exporteinstellungen." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Eigene Builds erfordern gültigen Android-SDK-Pfad in den Editoreinstellungen." @@ -12047,6 +12093,41 @@ msgstr "Ungültiger Paketname:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"Ungültiges „GodotPaymentV3“-Modul eingebunden in den „android/modules“-" +"Projekteinstellungen (wurde in Godot 3.2.2 geändert).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" +"„Use Custom Build“ muss aktiviert werden um die Plugins nutzen zu können." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"„Degrees Of Freedom“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VR“ " +"gesetzt wurde." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"„Hand Tracking“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VR“ " +"gesetzt wurde." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"„Focus Awareness“ ist nur gültig wenn „Xr Mode“ als „Occulus Mobile VR“ " +"gesetzt wurde." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12229,7 +12310,7 @@ msgid "" msgstr "" "CollisionPolygon2D liefert nur eine Kollisionsform für ein von " "CollisionObject2D abgeleitetes Node. Es kann nur als Unterobjekt von Area2D, " -"StaticBody2D, RigidBody2D, KinematicBody2D usw. eingehängt werden um diesen " +"StaticBody2D, RigidBody2D, KinematicBody2D usw. eingehängt werden, um diesen " "eine Form zu geben." #: scene/2d/collision_polygon_2d.cpp @@ -12244,7 +12325,7 @@ msgid "" msgstr "" "CollisionShape2D liefert nur eine Kollisionsform für ein von " "CollisionObject2D abgeleitetes Node. Es kann nur als Unterobjekt von Area2D, " -"StaticBody2D, RigidBody2D, KinematicBody2D usw. eingehängt werden um diesen " +"StaticBody2D, RigidBody2D, KinematicBody2D usw. eingehängt werden, um diesen " "eine Form zu geben." #: scene/2d/collision_shape_2d.cpp @@ -12298,9 +12379,9 @@ msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" -"Eine NavigationPolygon-Instanz muss ein Unterobjekt erster oder zweiter " -"Ordnung unterhalb eines Navigation2D-Node sein. Sie liefert nur " -"Navigationsdaten." +"NavigationPolygonInstance muss ein Unterobjekt erster oder zweiter Ordnung " +"unterhalb eines Navigation2D-Node sein. Es liefert nur " +"Navigationsinformationen." #: scene/2d/parallax_layer.cpp msgid "" @@ -12381,10 +12462,10 @@ msgid "" "to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, " "KinematicBody2D, etc. to give them a shape." msgstr "" -"Ein TileMap mit aktivierter „Use Parent“-Option benötigt ein " -"CollisionObject2D-Elternnode dem es Form verleiht. Das TileMap sollte als " -"als Unterobjekt von Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, usw. " -"verwendet werden um ihnen eine Form zu geben." +"Eine TileMap mit aktivierter „Use Parent“-Option benötigt ein Eltern-Node " +"des Typs CollisionObject2D, welcher der TileMap eine Form verleiht. Sie " +"sollte als Unterobjekt von Area2D, StaticBody2D, RigidBody2D, " +"KinematicBody2D, usw. verwendet werden, um ihnen eine Form zu geben." #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -12469,7 +12550,8 @@ msgid "" msgstr "" "CollisionPolygon liefert nur eine Kollisionsform für ein von CollisionObject " "abgeleitetes Node. Es kann nur als Unterobjekt von Area, StaticBody, " -"RigidBody, KinematicBody usw. eingehängt werden um diesen eine Form zu geben." +"RigidBody, KinematicBody usw. eingehängt werden, um diesen eine Form zu " +"verleihen." #: scene/3d/collision_polygon.cpp msgid "An empty CollisionPolygon has no effect on collision." @@ -12483,7 +12565,8 @@ msgid "" msgstr "" "CollisionShape liefert nur eine Kollisionsform für ein von CollisionObject " "abgeleitetes Node. Es kann nur als Unterobjekt von Area, StaticBody, " -"RigidBody, KinematicBody usw. eingehängt werden um diesen eine Form zu geben." +"RigidBody, KinematicBody usw. eingehängt werden, um diesen eine Form zu " +"geben." #: scene/3d/collision_shape.cpp msgid "" @@ -12547,8 +12630,8 @@ msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" -"Eine NavigationMesh-Instanz muss ein Unterobjekt erster oder höherer Ordnung " -"eines Navigation-Nodes sein. Es liefert nur Navigationsdaten." +"NavigationMeshInstance muss ein Unterobjekt erster oder zweiter Ordnung " +"eines Navigation-Nodes sein. Es liefert nur Navigationsinformationen." #: scene/3d/particles.cpp msgid "" @@ -12852,6 +12935,22 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." msgid "Constants cannot be modified." msgstr "Konstanten können nicht verändert werden." +#~ msgid "Not in resource path." +#~ msgstr "Nicht im Ressourcen-Pfad." + +#~ msgid "Revert" +#~ msgstr "Zurücksetzen" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "" +#~ "Diese Aktion kann nicht rückgängig gemacht werden. Trotzdem zurücksetzen?" + +#~ msgid "Revert Scene" +#~ msgstr "Szene zurücksetzen" + +#~ msgid "Clear Script" +#~ msgstr "Skript leeren" + #~ msgid "Issue Tracker" #~ msgstr "Problem-Melder" diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po deleted file mode 100644 index c86daa54dc..0000000000 --- a/editor/translations/de_CH.po +++ /dev/null @@ -1,12956 +0,0 @@ -# Swiss High German translation of the Godot Engine editor -# Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. -# Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). -# This file is distributed under the same license as the Godot source code. -# Christian Fisch <christian.fiesel@gmail.com>, 2016. -# Nils <nfa106008@iet-gibb.ch>, 2020. -# PagDev <pag.develop@gmail.com>, 2020. -msgid "" -msgstr "" -"Project-Id-Version: Godot Engine editor\n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2020-03-08 22:33+0000\n" -"Last-Translator: PagDev <pag.develop@gmail.com>\n" -"Language-Team: German (Switzerland) <https://hosted.weblate.org/projects/" -"godot-engine/godot/de_CH/>\n" -"Language: de_CH\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0-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 "" -"Ungültiger Argument-Typ in convert()-Aufruf, TYPE_*-Konstanten benötigt." - -#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp -msgid "Expected a string of length 1 (a character)." -msgstr "Es wurde eine Zeichenfolge der Länge 1 (a character) erwartet." - -#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp -#: modules/mono/glue/gd_glue.cpp -#: modules/visual_script/visual_script_builtin_funcs.cpp -msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "Nicht genügend Bytes zum Decodieren von Bytes oder ungültiges Format." - -#: core/math/expression.cpp -msgid "Invalid input %i (not passed) in expression" -msgstr "" - -#: core/math/expression.cpp -msgid "self can't be used because instance is null (not passed)" -msgstr "self cha nid brucht wärde wöu d Instanz null isch (nid düre cho)" - -#: core/math/expression.cpp -msgid "Invalid operands to operator %s, %s and %s." -msgstr "Invalidi Operande füre Operator %s, %s und %s." - -#: core/math/expression.cpp -msgid "Invalid index of type %s for base type %s" -msgstr "Invalide index vom Typ %s füre Basis Typ %s" - -#: core/math/expression.cpp -msgid "Invalid named index '%s' for base type %s" -msgstr "Invalid benamslete index '%s' füre Basis Typ %s" - -#: core/math/expression.cpp -msgid "Invalid arguments to construct '%s'" -msgstr "Invalidi argumänt für s '%s' z konstruiere" - -#: core/math/expression.cpp -msgid "On call to '%s':" -msgstr "Ufem ufruef für '%s':" - -#: core/ustring.cpp -msgid "B" -msgstr "B" - -#: core/ustring.cpp -msgid "KiB" -msgstr "KiB" - -#: core/ustring.cpp -msgid "MiB" -msgstr "MiB" - -#: core/ustring.cpp -msgid "GiB" -msgstr "GiB" - -#: core/ustring.cpp -msgid "TiB" -msgstr "TiB" - -#: core/ustring.cpp -msgid "PiB" -msgstr "PiB" - -#: core/ustring.cpp -msgid "EiB" -msgstr "EiB" - -#: editor/animation_bezier_editor.cpp -msgid "Free" -msgstr "Gratis" - -#: editor/animation_bezier_editor.cpp -msgid "Balanced" -msgstr "Usgliche" - -#: editor/animation_bezier_editor.cpp -msgid "Mirror" -msgstr "Spiegu" - -#: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp -msgid "Time:" -msgstr "Zit:" - -#: editor/animation_bezier_editor.cpp -msgid "Value:" -msgstr "Wärt:" - -#: editor/animation_bezier_editor.cpp -msgid "Insert Key Here" -msgstr "Schlüssu hie ifüege" - -#: editor/animation_bezier_editor.cpp -msgid "Duplicate Selected Key(s)" -msgstr "Usgwäuti Schlüssle dupliziere" - -#: editor/animation_bezier_editor.cpp -msgid "Delete Selected Key(s)" -msgstr "Usgwäuti Schlüssle lösche" - -#: editor/animation_bezier_editor.cpp -msgid "Add Bezier Point" -msgstr "Dr Bezier Punkt hinzuefüege" - -#: editor/animation_bezier_editor.cpp -msgid "Move Bezier Points" -msgstr "Dr Bezier Punkt bewege" - -#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp -msgid "Anim Duplicate Keys" -msgstr "Anim Schlüssle Dupliziere" - -#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp -msgid "Anim Delete Keys" -msgstr "Anim Schlüssle lösche" - -#: editor/animation_track_editor.cpp -msgid "Anim Change Keyframe Time" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Change Transition" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Change Transform" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Change Keyframe Value" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Change Call" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Multi Change Keyframe Time" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Multi Change Transition" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Multi Change Transform" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Multi Change Keyframe Value" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Multi Change Call" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Change Animation Length" -msgstr "Typ ändern" - -#: editor/animation_track_editor.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Change Animation Loop" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Property Track" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "3D Transform Track" -msgstr "Transformationstyp" - -#: editor/animation_track_editor.cpp -msgid "Call Method Track" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Bezier Curve Track" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Audio Playback Track" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Animation Playback Track" -msgstr "Stoppe Animations-Wiedergabe. (S)" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Animation length (frames)" -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Animation length (seconds)" -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -msgid "Add Track" -msgstr "Spur hinzuefüege" - -#: editor/animation_track_editor.cpp -msgid "Animation Looping" -msgstr "Animationswiderholig" - -#: editor/animation_track_editor.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Functions:" -msgstr "Funktione:" - -#: editor/animation_track_editor.cpp -msgid "Audio Clips:" -msgstr "Audioclips:" - -#: editor/animation_track_editor.cpp -msgid "Anim Clips:" -msgstr "Animationsclips:" - -#: editor/animation_track_editor.cpp -msgid "Change Track Path" -msgstr "D Spur wächsle" - -#: editor/animation_track_editor.cpp -msgid "Toggle this track on/off." -msgstr "Die Spur ah-/abschaute" - -#: editor/animation_track_editor.cpp -msgid "Update Mode (How this property is set)" -msgstr "Update Modus (Wie die Eigeschaft gsetzt isch)" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Interpolation Mode" -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Remove this track." -msgstr "Ungültige Bilder löschen" - -#: editor/animation_track_editor.cpp -msgid "Time (s): " -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Toggle Track Enabled" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Continuous" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Discrete" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Trigger" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Capture" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Nearest" -msgstr "" - -#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp -#: editor/property_editor.cpp -msgid "Linear" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Cubic" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Clamp Loop Interp" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Wrap Loop Interp" -msgstr "" - -#: editor/animation_track_editor.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Key" -msgstr "Bild einfügen" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Duplicate Key(s)" -msgstr "Node(s) duplizieren" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Delete Key(s)" -msgstr "Node(s) löschen" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Change Animation Update Mode" -msgstr "Typ ändern" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Change Animation Interpolation Mode" -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Change Animation Loop Mode" -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -msgid "Remove Anim Track" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Create NEW track for %s and insert key?" -msgstr "Willst du eine neue Ebene inklusiv Bild in %s einfügen?" - -#: editor/animation_track_editor.cpp -msgid "Create %d NEW tracks and insert keys?" -msgstr "Erstelle %d in neuer Ebene inklusiv Bild?" - -#: editor/animation_track_editor.cpp editor/create_dialog.cpp -#: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp -#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp -#: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/mesh_instance_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#: editor/script_create_dialog.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Create" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Insert" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Create & Insert" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Insert Track & Key" -msgstr "Anim Ebene und Bild einfügen" - -#: editor/animation_track_editor.cpp -msgid "Anim Insert Key" -msgstr "Anim Bild einfügen" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Change Animation Step" -msgstr "Bild einfügen" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Rearrange Tracks" -msgstr "Node erstellen" - -#: editor/animation_track_editor.cpp -msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "" -"Audio tracks can only point to nodes of type:\n" -"-AudioStreamPlayer\n" -"-AudioStreamPlayer2D\n" -"-AudioStreamPlayer3D" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "An animation player can't animate itself, only other players." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Not possible to add a new track without a root" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Add Bezier Track" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Track path is invalid, so can't add a key." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Track is not of type Spatial, can't insert key" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Add Transform Track Key" -msgstr "Transformationstyp" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Add Track Key" -msgstr "Anim Ebene und Bild einfügen" - -#: editor/animation_track_editor.cpp -msgid "Track path is invalid, so can't add a method key." -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Add Method Track Key" -msgstr "Anim Ebene und Bild einfügen" - -#: editor/animation_track_editor.cpp -msgid "Method not found in object: " -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim Move Keys" -msgstr "Anim Bilder bewegen" - -#: editor/animation_track_editor.cpp -msgid "Clipboard is empty" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Paste Tracks" -msgstr "Node erstellen" - -#: editor/animation_track_editor.cpp -msgid "Anim Scale Keys" -msgstr "Anim verlängern" - -#: editor/animation_track_editor.cpp -msgid "" -"This option does not work for Bezier editing, as it's only a single track." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "" -"This animation belongs to an imported scene, so changes to imported tracks " -"will not be saved.\n" -"\n" -"To enable the ability to add custom tracks, navigate to the scene's import " -"settings and set\n" -"\"Animation > Storage\" to \"Files\", enable \"Animation > Keep Custom Tracks" -"\", then re-import.\n" -"Alternatively, use an import preset that imports animations to separate " -"files." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Warning: Editing imported animation" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Select an AnimationPlayer node to create and edit animations." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Only show tracks from nodes selected in tree." -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Group tracks by node or display them as plain list." -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Snap:" -msgstr "Selektiere Node(s) zum Importieren aus" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Animation step value." -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -msgid "Seconds" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "FPS" -msgstr "" - -#: editor/animation_track_editor.cpp editor/editor_properties.cpp -#: editor/plugins/polygon_2d_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -#: editor/plugins/tile_set_editor_plugin.cpp editor/project_manager.cpp -#: editor/project_settings_editor.cpp editor/property_editor.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Edit" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Animation properties." -msgstr "Animations-Node" - -#: editor/animation_track_editor.cpp -msgid "Copy Tracks" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Scale Selection" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Scale From Cursor" -msgstr "" - -#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp -msgid "Duplicate Selection" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Duplicate Transposed" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Delete Selection" -msgstr "Script hinzufügen" - -#: editor/animation_track_editor.cpp -msgid "Go to Next Step" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Go to Previous Step" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Optimize Animation" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Clean-Up Animation" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Pick the node that will be animated:" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Use Bezier Curves" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Anim. Optimizer" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Max. Linear Error:" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Max. Angular Error:" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Max Optimizable Angle:" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Optimize" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Remove invalid keys" -msgstr "Ungültige Bilder löschen" - -#: editor/animation_track_editor.cpp -msgid "Remove unresolved and empty tracks" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Clean-up all animations" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Clean-Up" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Scale Ratio:" -msgstr "" - -#: editor/animation_track_editor.cpp -msgid "Select Tracks to Copy" -msgstr "" - -#: editor/animation_track_editor.cpp editor/editor_log.cpp -#: editor/editor_properties.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp -msgid "Copy" -msgstr "" - -#: editor/animation_track_editor.cpp -#, fuzzy -msgid "Select All/None" -msgstr "Node(s) löschen" - -#: editor/animation_track_editor_plugins.cpp -msgid "Add Audio Track Clip" -msgstr "" - -#: editor/animation_track_editor_plugins.cpp -msgid "Change Audio Track Clip Start Offset" -msgstr "" - -#: editor/animation_track_editor_plugins.cpp -msgid "Change Audio Track Clip End Offset" -msgstr "" - -#: editor/array_property_edit.cpp -msgid "Resize Array" -msgstr "" - -#: editor/array_property_edit.cpp -msgid "Change Array Value Type" -msgstr "" - -#: editor/array_property_edit.cpp -msgid "Change Array Value" -msgstr "" - -#: editor/code_editor.cpp -msgid "Go to Line" -msgstr "" - -#: editor/code_editor.cpp -msgid "Line Number:" -msgstr "" - -#: editor/code_editor.cpp -msgid "%d replaced." -msgstr "" - -#: editor/code_editor.cpp editor/editor_help.cpp -msgid "%d match." -msgstr "" - -#: editor/code_editor.cpp editor/editor_help.cpp -msgid "%d matches." -msgstr "" - -#: editor/code_editor.cpp editor/find_in_files.cpp -msgid "Match Case" -msgstr "" - -#: editor/code_editor.cpp editor/find_in_files.cpp -msgid "Whole Words" -msgstr "" - -#: editor/code_editor.cpp editor/rename_dialog.cpp -msgid "Replace" -msgstr "" - -#: editor/code_editor.cpp -msgid "Replace All" -msgstr "" - -#: editor/code_editor.cpp -msgid "Selection Only" -msgstr "" - -#: editor/code_editor.cpp editor/plugins/script_text_editor.cpp -#: editor/plugins/text_editor.cpp -msgid "Standard" -msgstr "" - -#: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp -msgid "Toggle Scripts Panel" -msgstr "" - -#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/texture_region_editor_plugin.cpp -#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp -msgid "Zoom In" -msgstr "" - -#: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/texture_region_editor_plugin.cpp -#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp -msgid "Zoom Out" -msgstr "" - -#: editor/code_editor.cpp -msgid "Reset Zoom" -msgstr "" - -#: editor/code_editor.cpp -msgid "Warnings" -msgstr "" - -#: editor/code_editor.cpp -msgid "Line and column numbers." -msgstr "" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Method in target node must be specified." -msgstr "Die Methode muss im Ziel Node definiert werden!" - -#: editor/connections_dialog.cpp -msgid "" -"Target method not found. Specify a valid method or attach a script to the " -"target node." -msgstr "" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Connect to Node:" -msgstr "Verbindung zu Node:" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Connect to Script:" -msgstr "Verbindung zu Node:" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "From Signal:" -msgstr "Connections editieren" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Scene does not contain any script." -msgstr "Node enthält keine Geometrie (Flächen)." - -#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp -#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp -msgid "Add" -msgstr "" - -#: editor/connections_dialog.cpp editor/dependency_editor.cpp -#: editor/editor_feature_profile.cpp editor/groups_editor.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp -#: editor/project_settings_editor.cpp -msgid "Remove" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Add Extra Call Argument:" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Extra Call Arguments:" -msgstr "" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Receiver Method:" -msgstr "Node erstellen" - -#: editor/connections_dialog.cpp -msgid "Advanced" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Deferred" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "" -"Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Oneshot" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Disconnects the signal after its first emission." -msgstr "" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Cannot connect signal" -msgstr "Connections editieren" - -#: editor/connections_dialog.cpp editor/dependency_editor.cpp -#: editor/export_template_manager.cpp editor/groups_editor.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#: editor/plugins/version_control_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/property_editor.cpp -#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Close" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Connect" -msgstr "" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Signal:" -msgstr "Script hinzufügen" - -#: editor/connections_dialog.cpp -msgid "Connect '%s' to '%s'" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Disconnect '%s' from '%s'" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Disconnect all from signal: '%s'" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Connect..." -msgstr "" - -#: editor/connections_dialog.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Disconnect" -msgstr "" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Connect a Signal to a Method" -msgstr "Connections editieren" - -#: editor/connections_dialog.cpp -#, fuzzy -msgid "Edit Connection:" -msgstr "Connections editieren" - -#: editor/connections_dialog.cpp -msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "" - -#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp -msgid "Signals" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Disconnect All" -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Edit..." -msgstr "" - -#: editor/connections_dialog.cpp -msgid "Go To Method" -msgstr "" - -#: editor/create_dialog.cpp -#, fuzzy -msgid "Change %s Type" -msgstr "Typ ändern" - -#: editor/create_dialog.cpp editor/project_settings_editor.cpp -#, fuzzy -msgid "Change" -msgstr "Typ ändern" - -#: editor/create_dialog.cpp -#, fuzzy -msgid "Create New %s" -msgstr "Node erstellen" - -#: editor/create_dialog.cpp editor/editor_file_dialog.cpp -#: editor/filesystem_dock.cpp -msgid "Favorites:" -msgstr "" - -#: editor/create_dialog.cpp editor/editor_file_dialog.cpp -msgid "Recent:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Search:" -msgstr "" - -#: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Matches:" -msgstr "" - -#: editor/create_dialog.cpp editor/editor_plugin_settings.cpp -#: editor/plugin_config_dialog.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Description:" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Search Replacement For:" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Dependencies For:" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "" -"Scene '%s' is currently being edited.\n" -"Changes will only take effect when reloaded." -msgstr "" - -#: editor/dependency_editor.cpp -msgid "" -"Resource '%s' is in use.\n" -"Changes will only take effect when reloaded." -msgstr "" - -#: editor/dependency_editor.cpp -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Dependencies" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Resource" -msgstr "" - -#: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp -#: editor/project_manager.cpp editor/project_settings_editor.cpp -msgid "Path" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Dependencies:" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Fix Broken" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Dependency Editor" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Search Replacement Resource:" -msgstr "" - -#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp -#: editor/editor_help_search.cpp editor/editor_node.cpp -#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#: editor/property_selector.cpp editor/quick_open.cpp -#: editor/script_create_dialog.cpp -#: modules/visual_script/visual_script_property_selector.cpp -#: scene/gui/file_dialog.cpp -msgid "Open" -msgstr "Öffnen" - -#: editor/dependency_editor.cpp -msgid "Owners Of:" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Remove selected files from the project? (Can't be restored)" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "" -"The files being removed are required by other resources in order for them to " -"work.\n" -"Remove them anyway? (no undo)" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Cannot remove:" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Error loading:" -msgstr "" - -#: editor/dependency_editor.cpp -#, fuzzy -msgid "Load failed due to missing dependencies:" -msgstr "Szene '%s' hat kapute Abhängigkeiten:" - -#: editor/dependency_editor.cpp editor/editor_node.cpp -msgid "Open Anyway" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Which action should be taken?" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Fix Dependencies" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Errors loading!" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Show Dependencies" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Orphan Resource Explorer" -msgstr "" - -#: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_file_dialog.cpp editor/editor_node.cpp -#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp -msgid "Delete" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Owns" -msgstr "" - -#: editor/dependency_editor.cpp -msgid "Resources Without Explicit Ownership:" -msgstr "" - -#: editor/dictionary_property_edit.cpp -msgid "Change Dictionary Key" -msgstr "" - -#: editor/dictionary_property_edit.cpp -#, fuzzy -msgid "Change Dictionary Value" -msgstr "Typ ändern" - -#: editor/editor_about.cpp -msgid "Thanks from the Godot community!" -msgstr "" - -#: editor/editor_about.cpp -msgid "Godot Engine contributors" -msgstr "" - -#: editor/editor_about.cpp -#, fuzzy -msgid "Project Founders" -msgstr "Projekt exportieren" - -#: editor/editor_about.cpp -msgid "Lead Developer" -msgstr "" - -#: editor/editor_about.cpp -#, fuzzy -msgid "Project Manager " -msgstr "Projektname:" - -#: editor/editor_about.cpp -msgid "Developers" -msgstr "" - -#: editor/editor_about.cpp -msgid "Authors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Platinum Sponsors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Gold Sponsors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Mini Sponsors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Gold Donors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Silver Donors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Bronze Donors" -msgstr "" - -#: editor/editor_about.cpp -msgid "Donors" -msgstr "" - -#: editor/editor_about.cpp -msgid "License" -msgstr "" - -#: editor/editor_about.cpp -msgid "Third-party Licenses" -msgstr "" - -#: editor/editor_about.cpp -msgid "" -"Godot Engine relies on a number of third-party free and open source " -"libraries, all compatible with the terms of its MIT license. The following " -"is an exhaustive list of all such third-party components with their " -"respective copyright statements and license terms." -msgstr "" - -#: editor/editor_about.cpp -msgid "All Components" -msgstr "" - -#: editor/editor_about.cpp -msgid "Components" -msgstr "" - -#: editor/editor_about.cpp -msgid "Licenses" -msgstr "" - -#: editor/editor_asset_installer.cpp editor/project_manager.cpp -msgid "Error opening package file, not in ZIP format." -msgstr "" - -#: editor/editor_asset_installer.cpp -msgid "%s (Already Exists)" -msgstr "" - -#: editor/editor_asset_installer.cpp -msgid "Uncompressing Assets" -msgstr "" - -#: editor/editor_asset_installer.cpp editor/project_manager.cpp -msgid "The following files failed extraction from package:" -msgstr "" - -#: editor/editor_asset_installer.cpp -#, fuzzy -msgid "And %s more files." -msgstr "Node erstellen" - -#: editor/editor_asset_installer.cpp editor/project_manager.cpp -msgid "Package installed successfully!" -msgstr "" - -#: editor/editor_asset_installer.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Success!" -msgstr "" - -#: editor/editor_asset_installer.cpp -msgid "Package Contents:" -msgstr "" - -#: editor/editor_asset_installer.cpp editor/editor_node.cpp -msgid "Install" -msgstr "" - -#: editor/editor_asset_installer.cpp -msgid "Package Installer" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Speakers" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Add Effect" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Rename Audio Bus" -msgstr "" - -#: editor/editor_audio_buses.cpp -#, fuzzy -msgid "Change Audio Bus Volume" -msgstr "Autoplay Umschalten" - -#: editor/editor_audio_buses.cpp -#, fuzzy -msgid "Toggle Audio Bus Solo" -msgstr "Autoplay Umschalten" - -#: editor/editor_audio_buses.cpp -msgid "Toggle Audio Bus Mute" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Toggle Audio Bus Bypass Effects" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Select Audio Bus Send" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Add Audio Bus Effect" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Move Bus Effect" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Delete Bus Effect" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Drag & drop to rearrange." -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Solo" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Mute" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Bypass" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Bus options" -msgstr "" - -#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp -#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "Duplicate" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Reset Volume" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Delete Effect" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Audio" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Add Audio Bus" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Master bus can't be deleted!" -msgstr "" - -#: editor/editor_audio_buses.cpp -#, fuzzy -msgid "Delete Audio Bus" -msgstr "Bild einfügen" - -#: editor/editor_audio_buses.cpp -#, fuzzy -msgid "Duplicate Audio Bus" -msgstr "Node(s) duplizieren" - -#: editor/editor_audio_buses.cpp -msgid "Reset Bus Volume" -msgstr "" - -#: editor/editor_audio_buses.cpp -#, fuzzy -msgid "Move Audio Bus" -msgstr "Bild bewegen/einfügen" - -#: editor/editor_audio_buses.cpp -msgid "Save Audio Bus Layout As..." -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Location for New Layout..." -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Open Audio Bus Layout" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "There is no '%s' file." -msgstr "" - -#: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp -msgid "Layout" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Invalid file, not an audio bus layout." -msgstr "" - -#: editor/editor_audio_buses.cpp -#, fuzzy -msgid "Error saving file: %s" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/editor_audio_buses.cpp -msgid "Add Bus" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Add a new Audio Bus to this layout." -msgstr "" - -#: editor/editor_audio_buses.cpp editor/editor_properties.cpp -#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp -#: editor/script_create_dialog.cpp -msgid "Load" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Load an existing Bus Layout." -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Save As" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Save this Bus Layout to a file." -msgstr "" - -#: editor/editor_audio_buses.cpp editor/import_dock.cpp -msgid "Load Default" -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Load the default Bus Layout." -msgstr "" - -#: editor/editor_audio_buses.cpp -msgid "Create a new Bus Layout." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Invalid name." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Valid characters:" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Must not collide with an existing engine class name." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Must not collide with an existing built-in type name." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Must not collide with an existing global constant name." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Keyword cannot be used as an autoload name." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Autoload '%s' already exists!" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Rename Autoload" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Toggle AutoLoad Globals" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Move Autoload" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Remove Autoload" -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp -msgid "Enable" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Rearrange Autoloads" -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Projektname:" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Add AutoLoad" -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp -#: editor/editor_plugin_settings.cpp -#: editor/plugins/animation_tree_editor_plugin.cpp -#: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp -msgid "Path:" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Node Name:" -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp -#: editor/editor_profiler.cpp editor/project_manager.cpp -#: editor/settings_config_dialog.cpp -msgid "Name" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "Singleton" -msgstr "" - -#: editor/editor_data.cpp editor/inspector_dock.cpp -msgid "Paste Params" -msgstr "" - -#: editor/editor_data.cpp -msgid "Updating Scene" -msgstr "" - -#: editor/editor_data.cpp -msgid "Storing local changes..." -msgstr "" - -#: editor/editor_data.cpp -msgid "Updating scene..." -msgstr "" - -#: editor/editor_data.cpp editor/editor_properties.cpp -msgid "[empty]" -msgstr "" - -#: editor/editor_data.cpp -msgid "[unsaved]" -msgstr "" - -#: editor/editor_dir_dialog.cpp -msgid "Please select a base directory first." -msgstr "" - -#: editor/editor_dir_dialog.cpp -msgid "Choose a Directory" -msgstr "" - -#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp -#: editor/filesystem_dock.cpp editor/project_manager.cpp -#: scene/gui/file_dialog.cpp -msgid "Create Folder" -msgstr "" - -#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp -#: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp -#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp -#: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp -msgid "Name:" -msgstr "" - -#: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp -#: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp -msgid "Could not create folder." -msgstr "" - -#: editor/editor_dir_dialog.cpp -msgid "Choose" -msgstr "" - -#: editor/editor_export.cpp -msgid "Storing File:" -msgstr "" - -#: editor/editor_export.cpp -msgid "No export template found at the expected path:" -msgstr "" - -#: editor/editor_export.cpp -msgid "Packing" -msgstr "" - -#: editor/editor_export.cpp -msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " -"Etc' in Project Settings." -msgstr "" - -#: editor/editor_export.cpp -msgid "" -"Target platform requires 'ETC2' texture compression for GLES3. Enable " -"'Import Etc 2' in Project Settings." -msgstr "" - -#: editor/editor_export.cpp -msgid "" -"Target platform requires 'ETC' texture compression for the driver fallback " -"to GLES2.\n" -"Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " -"Enabled'." -msgstr "" - -#: editor/editor_export.cpp platform/android/export/export.cpp -#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp -#: platform/osx/export/export.cpp platform/uwp/export/export.cpp -msgid "Custom debug template not found." -msgstr "" - -#: editor/editor_export.cpp platform/android/export/export.cpp -#: platform/iphone/export/export.cpp platform/javascript/export/export.cpp -#: platform/osx/export/export.cpp platform/uwp/export/export.cpp -msgid "Custom release template not found." -msgstr "" - -#: editor/editor_export.cpp platform/javascript/export/export.cpp -msgid "Template file not found:" -msgstr "" - -#: editor/editor_export.cpp -msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "3D Editor" -msgstr "Verzeichnis öffnen" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Script Editor" -msgstr "Verzeichnis öffnen" - -#: editor/editor_feature_profile.cpp -msgid "Asset Library" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "Scene Tree Editing" -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Import Dock" -msgstr "Importierte Projekte" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Node Dock" -msgstr "Bild bewegen/einfügen" - -#: editor/editor_feature_profile.cpp -msgid "FileSystem and Import Docks" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "Erase profile '%s'? (no undo)" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "Profile must be a valid filename and must not contain '.'" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "Profile with this name already exists." -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "(Editor Disabled, Properties Disabled)" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "(Properties Disabled)" -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "(Editor Disabled)" -msgstr "Ungültige Bilder löschen" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Class Options:" -msgstr "Script hinzufügen" - -#: editor/editor_feature_profile.cpp -msgid "Enable Contextual Editor" -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Enabled Properties:" -msgstr "Node erstellen" - -#: editor/editor_feature_profile.cpp -msgid "Enabled Features:" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "Enabled Classes:" -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "File '%s' format is invalid, import aborted." -msgstr "" - -#: editor/editor_feature_profile.cpp -msgid "" -"Profile '%s' already exists. Remove it first before importing, import " -"aborted." -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Error saving profile to path: '%s'." -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/editor_feature_profile.cpp -msgid "Unset" -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Current Profile:" -msgstr "Node(s) löschen" - -#: editor/editor_feature_profile.cpp -msgid "Make Current" -msgstr "" - -#: editor/editor_feature_profile.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "New" -msgstr "" - -#: editor/editor_feature_profile.cpp editor/editor_node.cpp -#: editor/project_manager.cpp -msgid "Import" -msgstr "" - -#: editor/editor_feature_profile.cpp editor/project_export.cpp -msgid "Export" -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Available Profiles:" -msgstr "TimeScale-Node" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Class Options" -msgstr "Script hinzufügen" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "New profile name:" -msgstr "Node" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Erase Profile" -msgstr "Oberfläche %d" - -#: editor/editor_feature_profile.cpp -msgid "Godot Feature Profile" -msgstr "" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Import Profile(s)" -msgstr "Importierte Projekte" - -#: editor/editor_feature_profile.cpp -#, fuzzy -msgid "Export Profile" -msgstr "Projekt exportieren" - -#: editor/editor_feature_profile.cpp -msgid "Manage Editor Feature Profiles" -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy -msgid "Select Current Folder" -msgstr "Node(s) löschen" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "File Exists, Overwrite?" -msgstr "Datei existiert, Ãœberschreiben?" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy -msgid "Select This Folder" -msgstr "Node(s) löschen" - -#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" - -#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -#, fuzzy -msgid "Open in File Manager" -msgstr "Datei öffnen" - -#: editor/editor_file_dialog.cpp editor/editor_node.cpp -#: editor/filesystem_dock.cpp editor/project_manager.cpp -#, fuzzy -msgid "Show in File Manager" -msgstr "Datei öffnen" - -#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -msgid "New Folder..." -msgstr "" - -#: editor/editor_file_dialog.cpp editor/find_in_files.cpp -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "All Recognized" -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "All Files (*)" -msgstr "Alle Dateien (*)" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Open a File" -msgstr "Datei öffnen" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Open File(s)" -msgstr "Datei(en) öffnen" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Open a Directory" -msgstr "Verzeichnis öffnen" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Open a File or Directory" -msgstr "Datei oder Verzeichnis öffnen" - -#: editor/editor_file_dialog.cpp editor/editor_node.cpp -#: editor/editor_properties.cpp editor/inspector_dock.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp -msgid "Save" -msgstr "Speichern" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Save a File" -msgstr "Datei speichern" - -#: editor/editor_file_dialog.cpp -msgid "Go Back" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Go Forward" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Go Up" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Toggle Hidden Files" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Toggle Favorite" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Toggle Mode" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Focus Path" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Move Favorite Up" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Move Favorite Down" -msgstr "" - -#: editor/editor_file_dialog.cpp -#, fuzzy -msgid "Go to previous folder." -msgstr "Node erstellen" - -#: editor/editor_file_dialog.cpp -#, fuzzy -msgid "Go to next folder." -msgstr "Node erstellen" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy -msgid "Go to parent folder." -msgstr "Node erstellen" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Refresh files." -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "(Un)favorite current folder." -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Toggle the visibility of hidden files." -msgstr "" - -#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Directories & Files:" -msgstr "" - -#: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp -#: editor/plugins/style_box_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp -msgid "Preview:" -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "File:" -msgstr "" - -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -msgid "Must use a valid extension." -msgstr "" - -#: editor/editor_file_system.cpp -msgid "ScanSources" -msgstr "" - -#: editor/editor_file_system.cpp -msgid "" -"There are multiple importers for different types pointing to file %s, import " -"aborted" -msgstr "" - -#: editor/editor_file_system.cpp -msgid "(Re)Importing Assets" -msgstr "" - -#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp -msgid "Top" -msgstr "" - -#: editor/editor_help.cpp -msgid "Class:" -msgstr "" - -#: editor/editor_help.cpp editor/scene_tree_editor.cpp -#: editor/script_create_dialog.cpp -msgid "Inherits:" -msgstr "" - -#: editor/editor_help.cpp -msgid "Inherited by:" -msgstr "" - -#: editor/editor_help.cpp -#, fuzzy -msgid "Description" -msgstr "Script hinzufügen" - -#: editor/editor_help.cpp -msgid "Online Tutorials" -msgstr "" - -#: editor/editor_help.cpp -msgid "Properties" -msgstr "" - -#: editor/editor_help.cpp -msgid "override:" -msgstr "" - -#: editor/editor_help.cpp -msgid "default:" -msgstr "" - -#: editor/editor_help.cpp -msgid "Methods" -msgstr "" - -#: editor/editor_help.cpp -#, fuzzy -msgid "Theme Properties" -msgstr "Node erstellen" - -#: editor/editor_help.cpp -msgid "Enumerations" -msgstr "" - -#: editor/editor_help.cpp -msgid "Constants" -msgstr "" - -#: editor/editor_help.cpp -#, fuzzy -msgid "Property Descriptions" -msgstr "Script hinzufügen" - -#: editor/editor_help.cpp -msgid "(value)" -msgstr "" - -#: editor/editor_help.cpp -msgid "" -"There is currently no description for this property. Please help us by " -"[color=$color][url=$url]contributing one[/url][/color]!" -msgstr "" - -#: editor/editor_help.cpp -#, fuzzy -msgid "Method Descriptions" -msgstr "Script hinzufügen" - -#: editor/editor_help.cpp -msgid "" -"There is currently no description for this method. Please help us by [color=" -"$color][url=$url]contributing one[/url][/color]!" -msgstr "" - -#: editor/editor_help_search.cpp editor/editor_node.cpp -#: editor/plugins/script_editor_plugin.cpp -msgid "Search Help" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Case Sensitive" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Show Hierarchy" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Display All" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Classes Only" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Methods Only" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Signals Only" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Constants Only" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Properties Only" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Theme Properties Only" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Member Type" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Class" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Method" -msgstr "" - -#: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Signal" -msgstr "Script hinzufügen" - -#: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp -msgid "Constant" -msgstr "" - -#: editor/editor_help_search.cpp -msgid "Property" -msgstr "" - -#: editor/editor_help_search.cpp -#, fuzzy -msgid "Theme Property" -msgstr "Node erstellen" - -#: editor/editor_inspector.cpp editor/project_settings_editor.cpp -msgid "Property:" -msgstr "" - -#: editor/editor_inspector.cpp -msgid "Set" -msgstr "" - -#: editor/editor_inspector.cpp -msgid "Set Multiple:" -msgstr "" - -#: editor/editor_log.cpp -msgid "Output:" -msgstr "" - -#: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -msgid "Copy Selection" -msgstr "Script hinzufügen" - -#: editor/editor_log.cpp editor/editor_network_profiler.cpp -#: editor/editor_profiler.cpp editor/editor_properties.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/property_editor.cpp editor/scene_tree_dock.cpp -#: editor/script_editor_debugger.cpp -#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp -#: scene/gui/text_edit.cpp -msgid "Clear" -msgstr "" - -#: editor/editor_log.cpp -#, fuzzy -msgid "Clear Output" -msgstr "Script hinzufügen" - -#: editor/editor_network_profiler.cpp editor/editor_node.cpp -#: editor/editor_profiler.cpp -msgid "Stop" -msgstr "" - -#: editor/editor_network_profiler.cpp editor/editor_profiler.cpp -#: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp -msgid "Start" -msgstr "" - -#: editor/editor_network_profiler.cpp -msgid "%s/s" -msgstr "" - -#: editor/editor_network_profiler.cpp -msgid "Down" -msgstr "" - -#: editor/editor_network_profiler.cpp -msgid "Up" -msgstr "" - -#: editor/editor_network_profiler.cpp editor/editor_node.cpp -msgid "Node" -msgstr "Node" - -#: editor/editor_network_profiler.cpp -msgid "Incoming RPC" -msgstr "" - -#: editor/editor_network_profiler.cpp -msgid "Incoming RSET" -msgstr "" - -#: editor/editor_network_profiler.cpp -msgid "Outgoing RPC" -msgstr "" - -#: editor/editor_network_profiler.cpp -msgid "Outgoing RSET" -msgstr "" - -#: editor/editor_node.cpp editor/project_manager.cpp -msgid "New Window" -msgstr "" - -#: editor/editor_node.cpp -msgid "Imported resources can't be saved." -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -#: scene/gui/dialogs.cpp -msgid "OK" -msgstr "Okay" - -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This resource can't be saved because it does not belong to the edited scene. " -"Make it unique first." -msgstr "" - -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Save Resource As..." -msgstr "" - -#: editor/editor_node.cpp -msgid "Can't open file for writing:" -msgstr "" - -#: editor/editor_node.cpp -msgid "Requested file format unknown:" -msgstr "" - -#: editor/editor_node.cpp -msgid "Error while saving." -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Error while parsing '%s'." -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/editor_node.cpp -msgid "Unexpected end of file '%s'." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Missing '%s' or its dependencies." -msgstr "Szene '%s' hat kapute Abhängigkeiten:" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Error while loading '%s'." -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/editor_node.cpp -msgid "Saving Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Analyzing" -msgstr "" - -#: editor/editor_node.cpp -msgid "Creating Thumbnail" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "This operation can't be done without a tree root." -msgstr "Ohne eine Szene kann das nicht funktionieren." - -#: editor/editor_node.cpp -msgid "" -"This scene can't be saved because there is a cyclic instancing inclusion.\n" -"Please resolve it and then attempt to save again." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " -"be satisfied." -msgstr "" - -#: editor/editor_node.cpp editor/scene_tree_dock.cpp -msgid "Can't overwrite scene that is still open!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Can't load MeshLibrary for merging!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Error saving MeshLibrary!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Can't load TileSet for merging!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Error saving TileSet!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Error trying to save layout!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Default editor layout overridden." -msgstr "" - -#: editor/editor_node.cpp -msgid "Layout name not found!" -msgstr "" - -#: editor/editor_node.cpp -msgid "Restored default layout to base settings." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This resource belongs to a scene that was imported, so it's not editable.\n" -"Please read the documentation relevant to importing scenes to better " -"understand this workflow." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This resource belongs to a scene that was instanced or inherited.\n" -"Changes to it won't be kept when saving the current scene." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This resource was imported, so it's not editable. Change its settings in the " -"import panel and then re-import." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This scene was imported, so changes to it won't be kept.\n" -"Instancing it or inheriting will allow making changes to it.\n" -"Please read the documentation relevant to importing scenes to better " -"understand this workflow." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This is a remote object, so changes to it won't be kept.\n" -"Please read the documentation relevant to debugging to better understand " -"this workflow." -msgstr "" - -#: editor/editor_node.cpp -msgid "There is no defined scene to run." -msgstr "" - -#: editor/editor_node.cpp -msgid "Current scene was never saved, please save it prior to running." -msgstr "" - -#: editor/editor_node.cpp -msgid "Could not start subprocess!" -msgstr "" - -#: editor/editor_node.cpp editor/filesystem_dock.cpp -msgid "Open Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open Base Scene" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Quick Open..." -msgstr "Öffnen" - -#: editor/editor_node.cpp -msgid "Quick Open Scene..." -msgstr "" - -#: editor/editor_node.cpp -msgid "Quick Open Script..." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Save & Close" -msgstr "Datei speichern" - -#: editor/editor_node.cpp -msgid "Save changes to '%s' before closing?" -msgstr "" - -#: editor/editor_node.cpp -msgid "Saved %s modified resource(s)." -msgstr "" - -#: editor/editor_node.cpp -msgid "A root node is required to save the scene." -msgstr "" - -#: editor/editor_node.cpp -msgid "Save Scene As..." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "No" -msgstr "Node" - -#: editor/editor_node.cpp -msgid "Yes" -msgstr "Ja" - -#: editor/editor_node.cpp -msgid "This scene has never been saved. Save before running?" -msgstr "" - -#: editor/editor_node.cpp editor/scene_tree_dock.cpp -msgid "This operation can't be done without a scene." -msgstr "Ohne eine Szene kann das nicht funktionieren." - -#: editor/editor_node.cpp -msgid "Export Mesh Library" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "This operation can't be done without a root node." -msgstr "Ohne eine Szene kann das nicht funktionieren." - -#: editor/editor_node.cpp -msgid "Export Tile Set" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "This operation can't be done without a selected node." -msgstr "Ohne eine Szene kann das nicht funktionieren." - -#: editor/editor_node.cpp -msgid "Current scene not saved. Open anyway?" -msgstr "" - -#: editor/editor_node.cpp -msgid "Can't reload a scene that was never saved." -msgstr "" - -#: editor/editor_node.cpp -msgid "Revert" -msgstr "" - -#: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "" - -#: editor/editor_node.cpp -msgid "Quick Run Scene..." -msgstr "" - -#: editor/editor_node.cpp -msgid "Quit" -msgstr "" - -#: editor/editor_node.cpp -msgid "Exit the editor?" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open Project Manager?" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Save & Quit" -msgstr "Datei speichern" - -#: editor/editor_node.cpp -msgid "Save changes to the following scene(s) before quitting?" -msgstr "" - -#: editor/editor_node.cpp -msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"This option is deprecated. Situations where refresh must be forced are now " -"considered a bug. Please report." -msgstr "" - -#: editor/editor_node.cpp -msgid "Pick a Main Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Close Scene" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Reopen Closed Scene" -msgstr "Datei(en) öffnen" - -#: editor/editor_node.cpp -msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" - -#: editor/editor_node.cpp -msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Unable to load addon script from path: '%s'." -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/editor_node.cpp -msgid "" -"Unable to load addon script from path: '%s' There seems to be an error in " -"the code, please check the syntax." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Unable to load addon script from path: '%s' Base type is not EditorPlugin." -msgstr "" - -#: editor/editor_node.cpp -msgid "Unable to load addon script from path: '%s' Script is not in tool mode." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Scene '%s' was automatically imported, so it can't be modified.\n" -"To make changes to it, a new inherited scene can be created." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to " -"open the scene, then save it inside the project path." -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene '%s' has broken dependencies:" -msgstr "Szene '%s' hat kapute Abhängigkeiten:" - -#: editor/editor_node.cpp -msgid "Clear Recent Scenes" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"No main scene has ever been defined, select one?\n" -"You can change it later in \"Project Settings\" under the 'application' " -"category." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Selected scene '%s' does not exist, select a valid one?\n" -"You can change it later in \"Project Settings\" under the 'application' " -"category." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Selected scene '%s' is not a scene file, select a valid one?\n" -"You can change it later in \"Project Settings\" under the 'application' " -"category." -msgstr "" - -#: editor/editor_node.cpp -msgid "Save Layout" -msgstr "" - -#: editor/editor_node.cpp -msgid "Delete Layout" -msgstr "" - -#: editor/editor_node.cpp editor/import_dock.cpp -#: editor/script_create_dialog.cpp -msgid "Default" -msgstr "" - -#: editor/editor_node.cpp editor/editor_properties.cpp -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp -#, fuzzy -msgid "Show in FileSystem" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/editor_node.cpp -#, fuzzy -msgid "Play This Scene" -msgstr "Szene starten" - -#: editor/editor_node.cpp -msgid "Close Tab" -msgstr "" - -#: editor/editor_node.cpp -msgid "Undo Close Tab" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -msgid "Close Other Tabs" -msgstr "" - -#: editor/editor_node.cpp -msgid "Close Tabs to the Right" -msgstr "" - -#: editor/editor_node.cpp -msgid "Close All Tabs" -msgstr "" - -#: editor/editor_node.cpp -msgid "Switch Scene Tab" -msgstr "" - -#: editor/editor_node.cpp -msgid "%d more files or folders" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "%d more folders" -msgstr "Node erstellen" - -#: editor/editor_node.cpp -msgid "%d more files" -msgstr "" - -#: editor/editor_node.cpp -msgid "Dock Position" -msgstr "" - -#: editor/editor_node.cpp -msgid "Distraction Free Mode" -msgstr "" - -#: editor/editor_node.cpp -msgid "Toggle distraction-free mode." -msgstr "" - -#: editor/editor_node.cpp -msgid "Add a new scene." -msgstr "" - -#: editor/editor_node.cpp -msgid "Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Go to previously opened scene." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Copy Text" -msgstr "Script hinzufügen" - -#: editor/editor_node.cpp -msgid "Next tab" -msgstr "" - -#: editor/editor_node.cpp -msgid "Previous tab" -msgstr "" - -#: editor/editor_node.cpp -msgid "Filter Files..." -msgstr "" - -#: editor/editor_node.cpp -msgid "Operations with scene files." -msgstr "" - -#: editor/editor_node.cpp -msgid "New Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "New Inherited Scene..." -msgstr "" - -#: editor/editor_node.cpp -msgid "Open Scene..." -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -msgid "Open Recent" -msgstr "" - -#: editor/editor_node.cpp -msgid "Save Scene" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Save All Scenes" -msgstr "Neue Szene speichern als..." - -#: editor/editor_node.cpp -msgid "Convert To..." -msgstr "" - -#: editor/editor_node.cpp -msgid "MeshLibrary..." -msgstr "" - -#: editor/editor_node.cpp -msgid "TileSet..." -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp -msgid "Undo" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp -msgid "Redo" -msgstr "" - -#: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Miscellaneous project or scene-wide tools." -msgstr "Verschiedene Projekte oder Szenenweite Werkzeuge." - -#: editor/editor_node.cpp editor/project_manager.cpp -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Project" -msgstr "Projektname:" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Project Settings..." -msgstr "Projekteinstellungen" - -#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp -msgid "Set Up Version Control" -msgstr "" - -#: editor/editor_node.cpp -msgid "Shut Down Version Control" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Export..." -msgstr "Projekt exportieren" - -#: editor/editor_node.cpp -msgid "Install Android Build Template..." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Open Project Data Folder" -msgstr "Projekt exportieren" - -#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp -msgid "Tools" -msgstr "" - -#: editor/editor_node.cpp -msgid "Orphan Resource Explorer..." -msgstr "" - -#: editor/editor_node.cpp -msgid "Quit to Project List" -msgstr "Zurück zur Projektliste" - -#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -#: editor/project_export.cpp -msgid "Debug" -msgstr "" - -#: editor/editor_node.cpp -msgid "Deploy with Remote Debug" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"When exporting or deploying, the resulting executable will attempt to " -"connect to the IP of this computer in order to be debugged." -msgstr "" - -#: editor/editor_node.cpp -msgid "Small Deploy with Network FS" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"When this option is enabled, export or deploy will produce a minimal " -"executable.\n" -"The filesystem will be provided from the project by the editor over the " -"network.\n" -"On Android, deploy will use the USB cable for faster performance. This " -"option speeds up testing for games with a large footprint." -msgstr "" - -#: editor/editor_node.cpp -msgid "Visible Collision Shapes" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "" -"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " -"running game if this option is turned on." -msgstr "" -"Collision-Formen und Raycast Nodes (für 2D und 3D) werden im laufenden Spiel " -"angezeigt, falls diese Option aktiviert ist." - -#: editor/editor_node.cpp -msgid "Visible Navigation" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"Navigation meshes and polygons will be visible on the running game if this " -"option is turned on." -msgstr "" - -#: editor/editor_node.cpp -msgid "Sync Scene Changes" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"When this option is turned on, any changes made to the scene in the editor " -"will be replicated in the running game.\n" -"When used remotely on a device, this is more efficient with network " -"filesystem." -msgstr "" - -#: editor/editor_node.cpp -msgid "Sync Script Changes" -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"When this option is turned on, any script that is saved will be reloaded on " -"the running game.\n" -"When used remotely on a device, this is more efficient with network " -"filesystem." -msgstr "" - -#: editor/editor_node.cpp editor/script_create_dialog.cpp -msgid "Editor" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Editor Settings..." -msgstr "Connections editieren" - -#: editor/editor_node.cpp -msgid "Editor Layout" -msgstr "" - -#: editor/editor_node.cpp -msgid "Take Screenshot" -msgstr "" - -#: editor/editor_node.cpp -msgid "Screenshots are stored in the Editor Data/Settings Folder." -msgstr "" - -#: editor/editor_node.cpp -msgid "Toggle Fullscreen" -msgstr "" - -#: editor/editor_node.cpp -msgid "Toggle System Console" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open Editor Data/Settings Folder" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open Editor Data Folder" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open Editor Settings Folder" -msgstr "" - -#: editor/editor_node.cpp -msgid "Manage Editor Features..." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Manage Export Templates..." -msgstr "Ungültige Bilder löschen" - -#: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp -msgid "Help" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp -#: editor/project_settings_editor.cpp editor/rename_dialog.cpp -msgid "Search" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp -#: editor/plugins/shader_editor_plugin.cpp -msgid "Online Docs" -msgstr "" - -#: editor/editor_node.cpp -msgid "Q&A" -msgstr "" - -#: editor/editor_node.cpp -msgid "Report a Bug" -msgstr "" - -#: editor/editor_node.cpp -msgid "Send Docs Feedback" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp -msgid "Community" -msgstr "" - -#: editor/editor_node.cpp -msgid "About" -msgstr "" - -#: editor/editor_node.cpp -msgid "Play the project." -msgstr "Projekt starten." - -#: editor/editor_node.cpp -msgid "Play" -msgstr "Abspielen" - -#: editor/editor_node.cpp -msgid "Pause the scene execution for debugging." -msgstr "" - -#: editor/editor_node.cpp -msgid "Pause Scene" -msgstr "" - -#: editor/editor_node.cpp -msgid "Stop the scene." -msgstr "" - -#: editor/editor_node.cpp -msgid "Play the edited scene." -msgstr "Spiele die editierte Szene." - -#: editor/editor_node.cpp -msgid "Play Scene" -msgstr "Szene starten" - -#: editor/editor_node.cpp -msgid "Play custom scene" -msgstr "Spiele angepasste Szene" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Play Custom Scene" -msgstr "Spiele angepasste Szene" - -#: editor/editor_node.cpp -msgid "Changing the video driver requires restarting the editor." -msgstr "" - -#: editor/editor_node.cpp editor/project_settings_editor.cpp -#: editor/settings_config_dialog.cpp -#, fuzzy -msgid "Save & Restart" -msgstr "Datei speichern" - -#: editor/editor_node.cpp -msgid "Spins when the editor window redraws." -msgstr "" - -#: editor/editor_node.cpp -msgid "Update Continuously" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Update When Changed" -msgstr "Typ ändern" - -#: editor/editor_node.cpp -msgid "Hide Update Spinner" -msgstr "" - -#: editor/editor_node.cpp -msgid "FileSystem" -msgstr "" - -#: editor/editor_node.cpp -msgid "Inspector" -msgstr "" - -#: editor/editor_node.cpp -msgid "Expand Bottom Panel" -msgstr "" - -#: editor/editor_node.cpp -msgid "Output" -msgstr "" - -#: editor/editor_node.cpp -msgid "Don't Save" -msgstr "" - -#: editor/editor_node.cpp -msgid "Android build template is missing, please install relevant templates." -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Manage Templates" -msgstr "Ungültige Bilder löschen" - -#: editor/editor_node.cpp -msgid "" -"This will set up your project for custom Android builds by installing the " -"source template to \"res://android/build\".\n" -"You can then apply modifications and build your own custom APK on export " -"(adding modules, changing the AndroidManifest.xml, etc.).\n" -"Note that in order to make custom builds instead of using pre-built APKs, " -"the \"Use Custom Build\" option should be enabled in the Android export " -"preset." -msgstr "" - -#: editor/editor_node.cpp -msgid "" -"The Android build template is already installed in this project and it won't " -"be overwritten.\n" -"Remove the \"res://android/build\" directory manually before attempting this " -"operation again." -msgstr "" - -#: editor/editor_node.cpp -msgid "Import Templates From ZIP File" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Template Package" -msgstr "Ungültige Bilder löschen" - -#: editor/editor_node.cpp -msgid "Export Library" -msgstr "" - -#: editor/editor_node.cpp -msgid "Merge With Existing" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open & Run a Script" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "New Inherited" -msgstr "Script hinzufügen" - -#: editor/editor_node.cpp -msgid "Load Errors" -msgstr "" - -#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Open 2D Editor" -msgstr "Verzeichnis öffnen" - -#: editor/editor_node.cpp -#, fuzzy -msgid "Open 3D Editor" -msgstr "Verzeichnis öffnen" - -#: editor/editor_node.cpp -msgid "Open Script Editor" -msgstr "" - -#: editor/editor_node.cpp editor/project_manager.cpp -msgid "Open Asset Library" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open the next Editor" -msgstr "" - -#: editor/editor_node.cpp -msgid "Open the previous Editor" -msgstr "" - -#: editor/editor_node.h -msgid "Warning!" -msgstr "" - -#: editor/editor_path.cpp -#, fuzzy -msgid "No sub-resources found." -msgstr "Keine Oberflächen Quelle spezifiziert." - -#: editor/editor_plugin.cpp -msgid "Creating Mesh Previews" -msgstr "" - -#: editor/editor_plugin.cpp -msgid "Thumbnail..." -msgstr "" - -#: editor/editor_plugin_settings.cpp -#, fuzzy -msgid "Main Script:" -msgstr "Script hinzufügen" - -#: editor/editor_plugin_settings.cpp -#, fuzzy -msgid "Edit Plugin" -msgstr "Script hinzufügen" - -#: editor/editor_plugin_settings.cpp -msgid "Installed Plugins:" -msgstr "" - -#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp -msgid "Update" -msgstr "" - -#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Version:" -msgstr "" - -#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp -msgid "Author:" -msgstr "" - -#: editor/editor_plugin_settings.cpp -msgid "Status:" -msgstr "" - -#: editor/editor_plugin_settings.cpp -msgid "Edit:" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Measure:" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Frame Time (sec)" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Average Time (sec)" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Frame %" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Physics Frame %" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Inclusive" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Self" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Frame #:" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Time" -msgstr "" - -#: editor/editor_profiler.cpp -msgid "Calls" -msgstr "" - -#: editor/editor_properties.cpp -#, fuzzy -msgid "Edit Text:" -msgstr "Node Filter editieren" - -#: editor/editor_properties.cpp editor/script_create_dialog.cpp -msgid "On" -msgstr "" - -#: editor/editor_properties.cpp -msgid "Layer" -msgstr "" - -#: editor/editor_properties.cpp -msgid "Bit %d, value %d" -msgstr "" - -#: editor/editor_properties.cpp -msgid "[Empty]" -msgstr "" - -#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp -msgid "Assign..." -msgstr "" - -#: editor/editor_properties.cpp -msgid "Invalid RID" -msgstr "" - -#: editor/editor_properties.cpp -msgid "" -"The selected resource (%s) does not match any type expected for this " -"property (%s)." -msgstr "" - -#: editor/editor_properties.cpp -msgid "" -"Can't create a ViewportTexture on resources saved as a file.\n" -"Resource needs to belong to a scene." -msgstr "" - -#: editor/editor_properties.cpp -msgid "" -"Can't create a ViewportTexture on this resource because it's not set as " -"local to scene.\n" -"Please switch on the 'local to scene' property on it (and all resources " -"containing it up to a node)." -msgstr "" - -#: editor/editor_properties.cpp editor/property_editor.cpp -msgid "Pick a Viewport" -msgstr "" - -#: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy -msgid "New Script" -msgstr "Script hinzufügen" - -#: editor/editor_properties.cpp editor/scene_tree_dock.cpp -#, fuzzy -msgid "Extend Script" -msgstr "Script hinzufügen" - -#: editor/editor_properties.cpp editor/property_editor.cpp -msgid "New %s" -msgstr "" - -#: editor/editor_properties.cpp editor/property_editor.cpp -msgid "Make Unique" -msgstr "" - -#: editor/editor_properties.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/animation_state_machine_editor.cpp -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp -msgid "Paste" -msgstr "" - -#: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy -msgid "Convert To %s" -msgstr "Verbindung zu Node:" - -#: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy -msgid "Selected node is not a Viewport!" -msgstr "Selektiere Node(s) zum Importieren aus" - -#: editor/editor_properties_array_dict.cpp -msgid "Size: " -msgstr "" - -#: editor/editor_properties_array_dict.cpp -msgid "Page: " -msgstr "" - -#: editor/editor_properties_array_dict.cpp -#: editor/plugins/theme_editor_plugin.cpp -msgid "Remove Item" -msgstr "" - -#: editor/editor_properties_array_dict.cpp -msgid "New Key:" -msgstr "" - -#: editor/editor_properties_array_dict.cpp -msgid "New Value:" -msgstr "" - -#: editor/editor_properties_array_dict.cpp -msgid "Add Key/Value Pair" -msgstr "" - -#: editor/editor_run_native.cpp -msgid "" -"No runnable export preset found for this platform.\n" -"Please add a runnable preset in the export menu." -msgstr "" - -#: editor/editor_run_script.cpp -msgid "Write your logic in the _run() method." -msgstr "" - -#: editor/editor_run_script.cpp -msgid "There is an edited scene already." -msgstr "" - -#: editor/editor_run_script.cpp -msgid "Couldn't instance script:" -msgstr "" - -#: editor/editor_run_script.cpp -msgid "Did you forget the 'tool' keyword?" -msgstr "Sieht so aus als hättest du das Schlüsselwort \"tool\" vergessen?" - -#: editor/editor_run_script.cpp -msgid "Couldn't run script:" -msgstr "" - -#: editor/editor_run_script.cpp -msgid "Did you forget the '_run' method?" -msgstr "" - -#: editor/editor_sub_scene.cpp -msgid "Select Node(s) to Import" -msgstr "Selektiere Node(s) zum Importieren aus" - -#: editor/editor_sub_scene.cpp editor/project_manager.cpp -msgid "Browse" -msgstr "" - -#: editor/editor_sub_scene.cpp -msgid "Scene Path:" -msgstr "" - -#: editor/editor_sub_scene.cpp -msgid "Import From Node:" -msgstr "Importiere von folgendem Node:" - -#: editor/export_template_manager.cpp -msgid "Redownload" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Uninstall" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "(Installed)" -msgstr "" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Download" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Official export templates aren't available for development builds." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "(Missing)" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "(Current)" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Retrieving mirrors, please wait..." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Remove template version '%s'?" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Can't open export templates zip." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Invalid version.txt format inside templates: %s." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "No version.txt found inside templates." -msgstr "" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Error creating path for templates:" -msgstr "Fehler beim Schreiben des Projekts PCK!" - -#: editor/export_template_manager.cpp -msgid "Extracting Export Templates" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Importing:" -msgstr "" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Error getting the list of mirrors." -msgstr "Fehler beim Schreiben des Projekts PCK!" - -#: editor/export_template_manager.cpp -msgid "Error parsing JSON of mirror list. Please report this issue!" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "" -"No download links found for this version. Direct download is only available " -"for official releases." -msgstr "" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Can't resolve." -msgstr "" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Can't connect." -msgstr "" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "No response." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Request Failed." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Redirect Loop." -msgstr "" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Failed:" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Download Complete." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Cannot remove temporary file:" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "" -"Templates installation failed.\n" -"The problematic templates archives can be found at '%s'." -msgstr "" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Error requesting URL:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Connecting to Mirror..." -msgstr "Connections editieren" - -#: editor/export_template_manager.cpp -msgid "Disconnected" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Resolving" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Can't Resolve" -msgstr "" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy -msgid "Connecting..." -msgstr "Connections editieren" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Can't Connect" -msgstr "Neues Projekt erstellen" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Connected" -msgstr "Verbindung zu Node:" - -#: editor/export_template_manager.cpp -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Requesting..." -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Downloading" -msgstr "" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Connection Error" -msgstr "Connections editieren" - -#: editor/export_template_manager.cpp -msgid "SSL Handshake Error" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Uncompressing Android Build Sources" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Current Version:" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Installed Versions:" -msgstr "" - -#: editor/export_template_manager.cpp -msgid "Install From File" -msgstr "" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Remove Template" -msgstr "Ungültige Bilder löschen" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Select Template File" -msgstr "Node(s) löschen" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Godot Export Templates" -msgstr "Ungültige Bilder löschen" - -#: editor/export_template_manager.cpp -msgid "Export Template Manager" -msgstr "" - -#: editor/export_template_manager.cpp -#, fuzzy -msgid "Download Templates" -msgstr "Ungültige Bilder löschen" - -#: editor/export_template_manager.cpp -msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Favorites" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Status: Import of file failed. Please fix file and reimport manually." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Cannot move/rename resources root." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Cannot move a folder into itself." -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Error moving:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Error duplicating:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Unable to update dependencies:" -msgstr "Szene '%s' hat kapute Abhängigkeiten:" - -#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp -msgid "No name provided." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Provided name contains invalid characters." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "A file or folder with this name already exists." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Name contains invalid characters." -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Renaming file:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/filesystem_dock.cpp -msgid "Renaming folder:" -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Duplicating file:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Duplicating folder:" -msgstr "Node(s) duplizieren" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "New Inherited Scene" -msgstr "Script hinzufügen" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Set As Main Scene" -msgstr "Neue Szene speichern als..." - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Open Scenes" -msgstr "Datei(en) öffnen" - -#: editor/filesystem_dock.cpp -msgid "Instance" -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Add to Favorites" -msgstr "Node" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Remove from Favorites" -msgstr "Ungültige Bilder löschen" - -#: editor/filesystem_dock.cpp -msgid "Edit Dependencies..." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View Owners..." -msgstr "" - -#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Rename..." -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Duplicate..." -msgstr "Node(s) duplizieren" - -#: editor/filesystem_dock.cpp -msgid "Move To..." -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "New Scene..." -msgstr "Neue Szene speichern als..." - -#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "New Script..." -msgstr "Script hinzufügen" - -#: editor/filesystem_dock.cpp -msgid "New Resource..." -msgstr "" - -#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp -#: editor/script_editor_debugger.cpp -msgid "Expand All" -msgstr "" - -#: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp -#: editor/script_editor_debugger.cpp -msgid "Collapse All" -msgstr "" - -#: editor/filesystem_dock.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/project_manager.cpp editor/rename_dialog.cpp -#: editor/scene_tree_dock.cpp -msgid "Rename" -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Previous Folder/File" -msgstr "Node(s) löschen" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Next Folder/File" -msgstr "Node erstellen" - -#: editor/filesystem_dock.cpp -msgid "Re-Scan Filesystem" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Toggle Split Mode" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Search files" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "" -"Scanning Files,\n" -"Please Wait..." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Move" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "There is already file or folder with the same name in this location." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Overwrite" -msgstr "" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Create Scene" -msgstr "Node erstellen" - -#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -msgid "Create Script" -msgstr "" - -#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Find in Files" -msgstr "Node Filter editieren" - -#: editor/find_in_files.cpp -msgid "Find:" -msgstr "" - -#: editor/find_in_files.cpp -msgid "Folder:" -msgstr "" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Filters:" -msgstr "Node erstellen" - -#: editor/find_in_files.cpp -msgid "" -"Include the files with the following extensions. Add or remove them in " -"ProjectSettings." -msgstr "" - -#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -msgid "Find..." -msgstr "" - -#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp -msgid "Replace..." -msgstr "" - -#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Abbrechen" - -#: editor/find_in_files.cpp -msgid "Find: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace: " -msgstr "" - -#: editor/find_in_files.cpp -msgid "Replace all (no undo)" -msgstr "" - -#: editor/find_in_files.cpp -#, fuzzy -msgid "Searching..." -msgstr "Connections editieren" - -#: editor/find_in_files.cpp -msgid "Search complete" -msgstr "" - -#: editor/groups_editor.cpp -msgid "Add to Group" -msgstr "" - -#: editor/groups_editor.cpp -msgid "Remove from Group" -msgstr "" - -#: editor/groups_editor.cpp -msgid "Group name already exists." -msgstr "" - -#: editor/groups_editor.cpp -#, fuzzy -msgid "Invalid group name." -msgstr "Projektname:" - -#: editor/groups_editor.cpp -#, fuzzy -msgid "Rename Group" -msgstr "Neues Projekt erstellen" - -#: editor/groups_editor.cpp -#, fuzzy -msgid "Delete Group" -msgstr "Node(s) löschen" - -#: editor/groups_editor.cpp editor/node_dock.cpp -msgid "Groups" -msgstr "" - -#: editor/groups_editor.cpp -msgid "Nodes Not in Group" -msgstr "" - -#: editor/groups_editor.cpp editor/scene_tree_dock.cpp -#: editor/scene_tree_editor.cpp -#, fuzzy -msgid "Filter nodes" -msgstr "Node erstellen" - -#: editor/groups_editor.cpp -msgid "Nodes in Group" -msgstr "" - -#: editor/groups_editor.cpp -msgid "Empty groups will be automatically removed." -msgstr "" - -#: editor/groups_editor.cpp -#, fuzzy -msgid "Group Editor" -msgstr "Verzeichnis öffnen" - -#: editor/groups_editor.cpp -msgid "Manage Groups" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import as Single Scene" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Animations" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Materials" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Objects" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Objects+Materials" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Objects+Animations" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Materials+Animations" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import with Separate Objects+Materials+Animations" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import as Multiple Scenes" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Import as Multiple Scenes+Materials" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "Import Scene" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Importing Scene..." -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Generating Lightmaps" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Generating for Mesh: " -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script..." -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Couldn't load post-import script:" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Invalid/broken script for post-import (check console):" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Error running post-import script:" -msgstr "" - -#: editor/import/resource_importer_scene.cpp -msgid "Saving..." -msgstr "" - -#: editor/import_dock.cpp -msgid "%d Files" -msgstr "%d Dateien" - -#: editor/import_dock.cpp -msgid "Set as Default for '%s'" -msgstr "" - -#: editor/import_dock.cpp -msgid "Clear Default for '%s'" -msgstr "" - -#: editor/import_dock.cpp -msgid "Import As:" -msgstr "" - -#: editor/import_dock.cpp -msgid "Preset" -msgstr "" - -#: editor/import_dock.cpp -msgid "Reimport" -msgstr "" - -#: editor/import_dock.cpp -msgid "Save Scenes, Re-Import, and Restart" -msgstr "" - -#: editor/import_dock.cpp -msgid "Changing the type of an imported file requires editor restart." -msgstr "" - -#: editor/import_dock.cpp -msgid "" -"WARNING: Assets exist that use this resource, they may stop loading properly." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Failed to load resource." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Expand All Properties" -msgstr "" - -#: editor/inspector_dock.cpp -#, fuzzy -msgid "Collapse All Properties" -msgstr "Node erstellen" - -#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp -msgid "Save As..." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Copy Params" -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Edit Resource Clipboard" -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Copy Resource" -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Make Built-In" -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Make Sub-Resources Unique" -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Open in Help" -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Create a new resource in memory and edit it." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Load an existing resource from disk and edit it." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Save the currently edited resource." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Go to the previous edited object in history." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Go to the next edited object in history." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "History of recently edited objects." -msgstr "" - -#: editor/inspector_dock.cpp -msgid "Object properties." -msgstr "" - -#: editor/inspector_dock.cpp -#, fuzzy -msgid "Filter properties" -msgstr "Node erstellen" - -#: editor/inspector_dock.cpp -msgid "Changes may be lost!" -msgstr "" - -#: editor/multi_node_edit.cpp -#, fuzzy -msgid "MultiNode Set" -msgstr "MultiNode Set" - -#: editor/node_dock.cpp -#, fuzzy -msgid "Select a single node to edit its signals and groups." -msgstr "Selektiere ein Node um deren Signale und Gruppen zu ändern." - -#: editor/plugin_config_dialog.cpp -msgid "Edit a Plugin" -msgstr "" - -#: editor/plugin_config_dialog.cpp -#, fuzzy -msgid "Create a Plugin" -msgstr "Node erstellen" - -#: editor/plugin_config_dialog.cpp -msgid "Plugin Name:" -msgstr "" - -#: editor/plugin_config_dialog.cpp -msgid "Subfolder:" -msgstr "" - -#: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp -msgid "Language:" -msgstr "" - -#: editor/plugin_config_dialog.cpp -#, fuzzy -msgid "Script Name:" -msgstr "Projektname:" - -#: editor/plugin_config_dialog.cpp -msgid "Activate now?" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Create Polygon" -msgstr "Node erstellen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Create points." -msgstr "Bild einfügen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "" -"Edit points.\n" -"LMB: Move Point\n" -"RMB: Erase Point" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy -msgid "Erase points." -msgstr "Oberfläche %d" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Edit Polygon" -msgstr "Script hinzufügen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Insert Point" -msgstr "Bild einfügen" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -msgid "Edit Polygon (Remove Point)" -msgstr "" - -#: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy -msgid "Remove Polygon And Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/animation_state_machine_editor.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Add Animation" -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Load..." -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Move Node Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Change BlendSpace1D Limits" -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Change BlendSpace1D Labels" -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_state_machine_editor.cpp -msgid "This type of node can't be used. Only root nodes are allowed." -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Add Node Point" -msgstr "Node" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Add Animation Point" -msgstr "Animations-Node" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy -msgid "Remove BlendSpace1D Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -msgid "Move BlendSpace1D Node Point" -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/animation_state_machine_editor.cpp -msgid "" -"AnimationTree is inactive.\n" -"Activate to enable playback, check node warnings if activation fails." -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Set the blending position within the space" -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Select and move points, create points with RMB." -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp -msgid "Enable snap and show grid." -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Point" -msgstr "" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Open Editor" -msgstr "Verzeichnis öffnen" - -#: editor/plugins/animation_blend_space_1d_editor.cpp -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Open Animation Node" -msgstr "Animations-Node" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Triangle already exists." -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Add Triangle" -msgstr "Script hinzufügen" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Change BlendSpace2D Limits" -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Change BlendSpace2D Labels" -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Remove BlendSpace2D Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Remove BlendSpace2D Triangle" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "BlendSpace2D does not belong to an AnimationTree node." -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "No triangles exist, so no blending can take place." -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy -msgid "Toggle Auto Triangles" -msgstr "Autoplay Umschalten" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Create triangles by connecting points." -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Erase points and triangles." -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -msgid "Generate blend triangles automatically (instead of manually)" -msgstr "" - -#: editor/plugins/animation_blend_space_2d_editor.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend:" -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Parameter Changed" -msgstr "Typ ändern" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#, fuzzy -msgid "Edit Filters" -msgstr "Node Filter editieren" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Output node can't be added to the blend tree." -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Add Node to BlendTree" -msgstr "Node von Szene" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Node Moved" -msgstr "Bild bewegen/einfügen" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Unable to connect, port may be in use or connection may be invalid." -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Nodes Connected" -msgstr "Verbindung zu Node:" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Nodes Disconnected" -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Set Animation" -msgstr "Bild einfügen" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Delete Node" -msgstr "Node(s) löschen" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "Node(s) löschen" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Toggle Filter On/Off" -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Change Filter" -msgstr "Typ ändern" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "No animation player set, so unable to retrieve track names." -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Player path set is invalid, so unable to retrieve track names." -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/root_motion_editor_plugin.cpp -msgid "" -"Animation player has no valid root node path, so unable to retrieve track " -"names." -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Anim Clips" -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -msgid "Audio Clips" -msgstr "" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Functions" -msgstr "Node erstellen" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Node Renamed" -msgstr "Node" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Add Node..." -msgstr "Node" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy -msgid "Edit Filtered Tracks:" -msgstr "Node Filter editieren" - -#: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy -msgid "Enable Filtering" -msgstr "Typ ändern" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Toggle Autoplay" -msgstr "Autoplay Umschalten" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "New Animation Name:" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "New Anim" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Change Animation Name:" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Delete Animation?" -msgstr "Bild einfügen" - -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Remove Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Invalid animation name!" -msgstr "Bild einfügen" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Animation name already exists!" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Rename Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Blend Next Changed" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Change Blend Time" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Load Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Duplicate Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "No animation to copy!" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "No animation resource on clipboard!" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Pasted Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Paste Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "No animation to edit!" -msgstr "Animations-Node" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Play selected animation backwards from current pos. (A)" -msgstr "Spiele ausgewählte Animation rückwärts von aktueller Position. (A)" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "Spiele ausgewählte Animation rückwärts vom Ende. (Shift+A)" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Stop animation playback. (S)" -msgstr "Stoppe Animations-Wiedergabe. (S)" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Play selected animation from start. (Shift+D)" -msgstr "Spiele ausgewählte Animation vom Start. (Shift+D)" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Play selected animation from current pos. (D)" -msgstr "Ausgewählte Animation von der aktueller Position aus abspielen. (D)" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Animation position (in seconds)." -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Scale animation playback globally for the node." -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Animation Tools" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Edit Transitions..." -msgstr "Connections editieren" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Open in Inspector" -msgstr "Verzeichnis öffnen" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Display list of animations in player." -msgstr "Liste der Animationen anzeigen." - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Autoplay on Load" -msgstr "Beim Laden automatisch abpielen" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Enable Onion Skinning" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Onion Skinning Options" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Directions" -msgstr "Script hinzufügen" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Past" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Future" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Depth" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "1 step" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "2 steps" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "3 steps" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Differences Only" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Force White Modulate" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Include Gizmos (3D)" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Pin AnimationPlayer" -msgstr "Animations-Node" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Create New Animation" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Animation Name:" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp -msgid "Error!" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Blend Times:" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Next (Auto Queue):" -msgstr "" - -#: editor/plugins/animation_player_editor_plugin.cpp -msgid "Cross-Animation Blend Times" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Move Node" -msgstr "Bild bewegen/einfügen" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Transition exists!" -msgstr "Transition-Node" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Add Transition" -msgstr "Transition-Node" - -#: editor/plugins/animation_state_machine_editor.cpp -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Node" -msgstr "Node" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "End" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Immediate" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Sync" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "At End" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Travel" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Start and end nodes are needed for a sub-transition." -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "No playback resource set at path: %s." -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Node Removed" -msgstr "Node" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Transition Removed" -msgstr "Transition-Node" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Set Start Node (Autoplay)" -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "" -"Select and move nodes.\n" -"RMB to add new nodes.\n" -"Shift+LMB to create connections." -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Create new nodes." -msgstr "Node erstellen" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Connect nodes." -msgstr "Verbindung zu Node:" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Remove selected node or transition." -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Toggle autoplay this animation on start, restart or seek to zero." -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -msgid "Set the end animation. This is useful for sub-transitions." -msgstr "" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Transition: " -msgstr "Transition-Node" - -#: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy -msgid "Play Mode:" -msgstr "Node erstellen" - -#: editor/plugins/animation_tree_editor_plugin.cpp -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#, fuzzy -msgid "AnimationTree" -msgstr "Animations-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "New name:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Scale:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Fade In (s):" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Fade Out (s):" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Mix" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Auto Restart:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Restart (s):" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Random Restart (s):" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Start!" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Amount:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend 0:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend 1:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "X-Fade Time (s):" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Current:" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Add Input" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Clear Auto-Advance" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Set Auto-Advance" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Delete Input" -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Animation tree is valid." -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Animation tree is invalid." -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Animation Node" -msgstr "Animations-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "OneShot Node" -msgstr "OneShot-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Mix Node" -msgstr "Mix-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend2 Node" -msgstr "Blend2-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend3 Node" -msgstr "Blend3-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Blend4 Node" -msgstr "Blend4-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "TimeScale Node" -msgstr "TimeScale-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "TimeSeek Node" -msgstr "TimeSeek-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Transition Node" -msgstr "Transition-Node" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Import Animations..." -msgstr "" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Edit Node Filters" -msgstr "Node Filter editieren" - -#: editor/plugins/animation_tree_player_editor_plugin.cpp -msgid "Filters..." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Contents:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy -msgid "View Files" -msgstr "Datei(en) öffnen" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Connection error, please try again." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy -msgid "Can't connect to host:" -msgstr "Verbindung zu Node:" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "No response from host:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Can't resolve hostname:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Request failed, return code:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Request failed." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Cannot save response to:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Write error." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Request failed, too many redirects" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Redirect loop." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Request failed, timeout" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Timeout." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Bad download hash, assuming file has been tampered with." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Expected:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Got:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Failed sha256 hash check" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Asset Download Error:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Downloading (%s / %s)..." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Downloading..." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Resolving..." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy -msgid "Error making request" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Idle" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Install..." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Retry" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Download Error" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Download for this asset is already in progress!" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Recently Updated" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Least Recently Updated" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Name (A-Z)" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Name (Z-A)" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "License (A-Z)" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "License (Z-A)" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "First" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Previous" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Next" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Last" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "All" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "No results for \"%s\"." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy -msgid "Import..." -msgstr "Importierte Projekte" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Plugins..." -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp -msgid "Sort:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -#: editor/project_settings_editor.cpp -msgid "Category:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Site:" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Support" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Official" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Testing" -msgstr "" - -#: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy -msgid "Loading..." -msgstr "Connections editieren" - -#: editor/plugins/asset_library_editor_plugin.cpp -msgid "Assets ZIP File" -msgstr "" - -#: editor/plugins/baked_lightmap_editor_plugin.cpp -msgid "" -"Can't determine a save path for lightmap images.\n" -"Save your scene (for images to be saved in the same dir), or pick a save " -"path from the BakedLightmap properties." -msgstr "" - -#: editor/plugins/baked_lightmap_editor_plugin.cpp -msgid "" -"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " -"Light' flag is on." -msgstr "" - -#: editor/plugins/baked_lightmap_editor_plugin.cpp -msgid "Failed creating lightmap images, make sure path is writable." -msgstr "" - -#: editor/plugins/baked_lightmap_editor_plugin.cpp -msgid "Bake Lightmaps" -msgstr "" - -#: editor/plugins/camera_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp -msgid "Preview" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Configure Snap" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Grid Offset:" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Grid Step:" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Primary Line Every:" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "steps" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotation Offset:" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotation Step:" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Scale Step:" -msgstr "TimeScale-Node" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move Vertical Guide" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Create Vertical Guide" -msgstr "Neues Projekt erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Remove Vertical Guide" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move Horizontal Guide" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Create Horizontal Guide" -msgstr "Neues Projekt erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Remove Horizontal Guide" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Create Horizontal and Vertical Guides" -msgstr "Neues Projekt erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move pivot" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotate CanvasItem" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Move anchor" -msgstr "Bild bewegen/einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Resize CanvasItem" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale CanvasItem" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Move CanvasItem" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "" -"Children of containers have their anchors and margins values overridden by " -"their parent." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Presets for the anchors and margins values of a Control node." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "" -"When active, moving Control nodes changes their anchors instead of their " -"margins." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Top Left" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Top Right" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Bottom Right" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Bottom Left" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Center Left" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Center Top" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Center Right" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Center Bottom" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Center" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Left Wide" -msgstr "Bild einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Top Wide" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Right Wide" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Bottom Wide" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "VCenter Wide" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "HCenter Wide" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Full Rect" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Keep Ratio" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Anchors only" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Change Anchors and Margins" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Change Anchors" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "" -"Game Camera Override\n" -"Overrides game camera with editor viewport camera." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "" -"Game Camera Override\n" -"No game instance running." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Lock Selected" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Unlock Selected" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Group Selected" -msgstr "Script hinzufügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Ungroup Selected" -msgstr "Script hinzufügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Paste Pose" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Clear Guides" -msgstr "Spiele angepasste Szene" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Create Custom Bone(s) from Node(s)" -msgstr "Spiele angepasste Szene" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Clear Bones" -msgstr "Spiele angepasste Szene" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Make IK Chain" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Clear IK Chain" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "" -"Warning: Children of a container get their position and size determined only " -"by their parent." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/texture_region_editor_plugin.cpp -#: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp -msgid "Zoom Reset" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Select Mode" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Drag: Rotate" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Alt+Drag: Move" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Alt+RMB: Depth list selection" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Move Mode" -msgstr "Bild bewegen/einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Rotate Mode" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Scale Mode" -msgstr "TimeScale-Node" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "" -"Show a list of all objects at the position clicked\n" -"(same as Alt+RMB in select mode)." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Click to change object's rotation pivot." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Pan Mode" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Ruler Mode" -msgstr "TimeScale-Node" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Toggle smart snapping." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Use Smart Snap" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Toggle grid snapping." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Use Grid Snap" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Snapping Options" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Use Rotation Snap" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Use Scale Snap" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Snap Relative" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Use Pixel Snap" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Smart Snapping" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Configure Snap..." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Snap to Parent" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Snap to Node Anchor" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Snap to Node Sides" -msgstr "Selektiere Node(s) zum Importieren aus" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Snap to Node Center" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Snap to Other Nodes" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Snap to Guides" -msgstr "Selektiere Node(s) zum Importieren aus" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Lock the selected object in place (can't be moved)." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Unlock the selected object (can be moved)." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Makes sure the object's children are not selectable." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Restores the object's children's ability to be selected." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Skeleton Options" -msgstr "Bild einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Bones" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Make Custom Bone(s) from Node(s)" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Clear Custom Bones" -msgstr "Spiele angepasste Szene" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Always Show Grid" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Helpers" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Rulers" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Guides" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Origin" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Viewport" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Show Group And Lock Icons" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Center Selection" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Frame Selection" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Preview Canvas Scale" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Translation mask for inserting keys." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Rotation mask for inserting keys." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Scale mask for inserting keys." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Insert keys (based on mask)." -msgstr "Bilder (innerhalb) einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "" -"Auto insert keys when objects are translated, rotated or scaled (based on " -"mask).\n" -"Keys are only added to existing tracks, no new tracks will be created.\n" -"Keys must be inserted manually for the first time." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Auto Insert Key" -msgstr "Anim Bild einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Animation Key and Pose Options" -msgstr "Animationsbild eingefügt." - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Insert Key (Existing Tracks)" -msgstr "Bild in bestehende Ebene einfügen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Copy Pose" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Clear Pose" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Multiply grid step by 2" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Divide grid step by 2" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Pan View" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Add %s" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Adding %s..." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "Cannot instantiate multiple nodes without root." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "Create Node" -msgstr "Node erstellen" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "Error instancing scene from %s" -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy -msgid "Change Default Type" -msgstr "Typ ändern" - -#: editor/plugins/canvas_item_editor_plugin.cpp -msgid "" -"Drag & drop + Shift : Add node as sibling\n" -"Drag & drop + Alt : Change node type" -msgstr "" - -#: editor/plugins/collision_polygon_editor_plugin.cpp -#, fuzzy -msgid "Create Polygon3D" -msgstr "Node erstellen" - -#: editor/plugins/collision_polygon_editor_plugin.cpp -msgid "Edit Poly" -msgstr "" - -#: editor/plugins/collision_polygon_editor_plugin.cpp -msgid "Edit Poly (Remove Point)" -msgstr "" - -#: editor/plugins/collision_shape_2d_editor_plugin.cpp -msgid "Set Handle" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" -msgstr "Emissions-Maske laden" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/cpu_particles_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "Restart" -msgstr "Datei speichern" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "Inhalt der Emissions-Masken löschen" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -msgid "Particles" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generated Point Count:" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Emission Mask" -msgstr "Emissions-Maske setzen" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Solid Pixels" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Border Pixels" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Directed Border Pixels" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Capture from Pixel" -msgstr "" - -#: editor/plugins/cpu_particles_2d_editor_plugin.cpp -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Emission Colors" -msgstr "Emissions-Maske setzen" - -#: editor/plugins/cpu_particles_editor_plugin.cpp -msgid "CPUParticles" -msgstr "" - -#: editor/plugins/cpu_particles_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -msgid "Create Emission Points From Mesh" -msgstr "" - -#: editor/plugins/cpu_particles_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -msgid "Create Emission Points From Node" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Flat 0" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Flat 1" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp -msgid "Ease In" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp -msgid "Ease Out" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Smoothstep" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Modify Curve Point" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Modify Curve Tangent" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Load Curve Preset" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -#, fuzzy -msgid "Add Point" -msgstr "Script hinzufügen" - -#: editor/plugins/curve_editor_plugin.cpp -#, fuzzy -msgid "Remove Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/curve_editor_plugin.cpp -#, fuzzy -msgid "Left Linear" -msgstr "Bild einfügen" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Right Linear" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Load Preset" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -#, fuzzy -msgid "Remove Curve Point" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Toggle Curve Linear Tangent" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Hold Shift to edit tangents individually" -msgstr "" - -#: editor/plugins/curve_editor_plugin.cpp -msgid "Right click to add point" -msgstr "" - -#: editor/plugins/gi_probe_editor_plugin.cpp -msgid "Bake GI Probe" -msgstr "" - -#: editor/plugins/gradient_editor_plugin.cpp -msgid "Gradient Edited" -msgstr "" - -#: editor/plugins/item_list_editor_plugin.cpp -msgid "Item %d" -msgstr "" - -#: editor/plugins/item_list_editor_plugin.cpp -msgid "Items" -msgstr "" - -#: editor/plugins/item_list_editor_plugin.cpp -msgid "Item List Editor" -msgstr "" - -#: editor/plugins/light_occluder_2d_editor_plugin.cpp -msgid "Create Occluder Polygon" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh is empty!" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "Couldn't create a Trimesh collision shape." -msgstr "Node erstellen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Static Trimesh Body" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "This doesn't work on scene root!" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Trimesh Static Shape" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Can't create a single convex collision shape for the scene root." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Couldn't create a single convex collision shape." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "Create Single Convex Shape" -msgstr "Node erstellen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Can't create multiple convex collision shapes for the scene root." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "Couldn't create any collision shapes." -msgstr "Node erstellen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "Create Multiple Convex Shapes" -msgstr "Node erstellen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Navigation Mesh" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Contained Mesh is not of type ArrayMesh." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "No mesh to debug." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Model has no UV in this layer" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "MeshInstance lacks a Mesh!" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh has not surface to create outlines from!" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Could not create outline!" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Outline" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Trimesh Static Body" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "" -"Creates a StaticBody and assigns a polygon-based collision shape to it " -"automatically.\n" -"This is the most accurate (but slowest) option for collision detection." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Trimesh Collision Sibling" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "" -"Creates a polygon-based collision shape.\n" -"This is the most accurate (but slowest) option for collision detection." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "Create Single Convex Collision Sibling" -msgstr "Node erstellen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "" -"Creates a single convex collision shape.\n" -"This is the fastest (but least accurate) option for collision detection." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "Create Multiple Convex Collision Siblings" -msgstr "Node erstellen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "" -"Creates a polygon-based collision shape.\n" -"This is a performance middle-ground between the two above options." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Outline Mesh..." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "" -"Creates a static outline mesh. The outline mesh will have its normals " -"flipped automatically.\n" -"This can be used instead of the SpatialMaterial Grow property when using " -"that property isn't possible." -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "View UV1" -msgstr "Datei(en) öffnen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy -msgid "View UV2" -msgstr "Datei(en) öffnen" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Unwrap UV2 for Lightmap/AO" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Create Outline Mesh" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Outline Size:" -msgstr "" - -#: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "UV Channel Debug" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "Remove item %d?" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "" -"Update from existing scene?:\n" -"%s" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "Mesh Library" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Item" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "Remove Selected Item" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "Import from Scene" -msgstr "" - -#: editor/plugins/mesh_library_editor_plugin.cpp -msgid "Update from Scene" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "No mesh source specified (and no MultiMesh set in node)." -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "No mesh source specified (and MultiMesh contains no Mesh)." -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Mesh source is invalid (invalid path)." -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Mesh source is invalid (not a MeshInstance)." -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Mesh source is invalid (contains no Mesh resource)." -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "No surface source specified." -msgstr "Keine Oberflächen Quelle spezifiziert." - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Surface source is invalid (invalid path)." -msgstr "Oberflächen Quelle is invalid (invalider Pfad)." - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Surface source is invalid (no geometry)." -msgstr "Oberflächen Quelle is invalid (keine Form)." - -#: editor/plugins/multimesh_editor_plugin.cpp -#, fuzzy -msgid "Surface source is invalid (no faces)." -msgstr "Oberflächen Quelle is invalid (kein Face)" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Select a Source Mesh:" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Select a Target Surface:" -msgstr "Wähle eine Ziel Oberfläche aus:" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Populate Surface" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Populate MultiMesh" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Target Surface:" -msgstr "Ziel Oberfläche:" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Source Mesh:" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "X-Axis" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Y-Axis" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Z-Axis" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Mesh Up Axis:" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Random Rotation:" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Random Tilt:" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Random Scale:" -msgstr "" - -#: editor/plugins/multimesh_editor_plugin.cpp -msgid "Populate" -msgstr "" - -#: editor/plugins/navigation_polygon_editor_plugin.cpp -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Create Navigation Polygon" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "Convert to CPUParticles" -msgstr "Verbindung zu Node:" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generating Visibility Rect" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#: editor/plugins/particles_editor_plugin.cpp -msgid "Generation Time (sec):" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "The geometry's faces don't contain any area." -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "The geometry doesn't contain any faces." -msgstr "Node enthält keine Geometrie (Flächen)." - -#: editor/plugins/particles_editor_plugin.cpp -msgid "\"%s\" doesn't inherit from Spatial." -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "\"%s\" doesn't contain geometry." -msgstr "Node enthält keine Geometrie (Flächen)." - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "\"%s\" doesn't contain face geometry." -msgstr "Node enthält keine Geometrie (Flächen)." - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Create Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "Emission Points:" -msgstr "Emissions-Maske setzen" - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "Surface Points" -msgstr "Oberfläche %d" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Surface Points+Normal (Directed)" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Volume" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Emission Source: " -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Generating AABB" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Remove Point from Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Remove Out-Control from Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Remove In-Control from Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Add Point to Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy -msgid "Split Curve" -msgstr "Node Kurve editieren" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Move Point in Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Move In-Control in Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Move Out-Control in Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Select Points" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Shift+Drag: Select Control Points" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Click: Add Point" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Left Click: Split Segment (in curve)" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Right Click: Delete Point" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -msgid "Select Control Points (Shift+Drag)" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Add Point (in empty space)" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Delete Point" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Close Curve" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp -msgid "Options" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Mirror Handle Angles" -msgstr "" - -#: editor/plugins/path_2d_editor_plugin.cpp -#: editor/plugins/path_editor_plugin.cpp -msgid "Mirror Handle Lengths" -msgstr "" - -#: editor/plugins/path_editor_plugin.cpp -msgid "Curve Point #" -msgstr "" - -#: editor/plugins/path_editor_plugin.cpp -#, fuzzy -msgid "Set Curve Point Position" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/path_editor_plugin.cpp -#, fuzzy -msgid "Set Curve In Position" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/path_editor_plugin.cpp -#, fuzzy -msgid "Set Curve Out Position" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/path_editor_plugin.cpp -msgid "Split Path" -msgstr "" - -#: editor/plugins/path_editor_plugin.cpp -msgid "Remove Path Point" -msgstr "" - -#: editor/plugins/path_editor_plugin.cpp -msgid "Remove Out-Control Point" -msgstr "" - -#: editor/plugins/path_editor_plugin.cpp -msgid "Remove In-Control Point" -msgstr "" - -#: editor/plugins/path_editor_plugin.cpp -msgid "Split Segment (in curve)" -msgstr "" - -#: editor/plugins/physical_bone_plugin.cpp -#, fuzzy -msgid "Move Joint" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "" -"The skeleton property of the Polygon2D does not point to a Skeleton2D node" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Sync Bones" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "" -"No texture in this polygon.\n" -"Set a texture to be able to edit UV." -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Create UV Map" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "" -"Polygon 2D has internal vertices, so it can no longer be edited in the " -"viewport." -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Create Polygon & UV" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Create Internal Vertex" -msgstr "Neues Projekt erstellen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Remove Internal Vertex" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Add Custom Polygon" -msgstr "Script hinzufügen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Remove Custom Polygon" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Transform UV Map" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Transform Polygon" -msgstr "Transformationstyp" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Paint Bone Weights" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Open Polygon 2D UV editor." -msgstr "Polygon 2D UV Editor" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon 2D UV Editor" -msgstr "Polygon 2D UV Editor" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Points" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Polygons" -msgstr "Script hinzufügen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Bones" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Move Points" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Ctrl: Rotate" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Shift: Move All" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Shift+Ctrl: Scale" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Move Polygon" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Rotate Polygon" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Scale Polygon" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Create a custom polygon. Enables custom polygon rendering." -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "" -"Remove a custom polygon. If none remain, custom polygon rendering is " -"disabled." -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Paint weights with specified intensity." -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Unpaint weights with specified intensity." -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Radius:" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Polygon->UV" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "UV->Polygon" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Clear UV" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy -msgid "Grid Settings" -msgstr "Projekteinstellungen" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Snap" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Enable Snap" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Grid" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Show Grid" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Configure Grid:" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Grid Offset X:" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Grid Offset Y:" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Grid Step X:" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Grid Step Y:" -msgstr "" - -#: editor/plugins/polygon_2d_editor_plugin.cpp -msgid "Sync Bones to Polygon" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ERROR: Couldn't load resource!" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "Add Resource" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "Rename Resource" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Delete Resource" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "Resource clipboard is empty!" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "Paste Resource" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/scene_tree_editor.cpp -msgid "Instance:" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp -#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Type:" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -#: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp -msgid "Open in Editor" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "Load Resource" -msgstr "" - -#: editor/plugins/resource_preloader_editor_plugin.cpp -msgid "ResourcePreloader" -msgstr "" - -#: editor/plugins/root_motion_editor_plugin.cpp -msgid "AnimationTree has no path set to an AnimationPlayer" -msgstr "" - -#: editor/plugins/root_motion_editor_plugin.cpp -msgid "Path to AnimationPlayer is invalid" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Clear Recent Files" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Close and save changes?" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Error writing TextFile:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Could not load file at:" -msgstr "Neues Projekt erstellen" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Error saving file!" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Error while saving theme." -msgstr "Szene kann nicht gespeichert werden." - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Error Saving" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Error importing theme." -msgstr "Fehler beim Exportieren des Projekts!" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Error Importing" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "New Text File..." -msgstr "Datei(en) öffnen" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Open File" -msgstr "Datei öffnen" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Save File As..." -msgstr "Datei speichern" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Can't obtain the script for running." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Script failed reloading, check console for errors." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Script is not in tool mode, will not be able to run." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "" -"To run this script, it must inherit EditorScript and be set to tool mode." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Import Theme" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Error while saving theme" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Error saving" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Save Theme As..." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "%s Class Reference" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -msgid "Find Next" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp -msgid "Find Previous" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Filter scripts" -msgstr "Node erstellen" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Toggle alphabetical sorting of the method list." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Filter methods" -msgstr "Node erstellen" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Sort" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Move Up" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Move Down" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Next script" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Previous script" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "File" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Open..." -msgstr "Öffnen" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Reopen Closed Script" -msgstr "Script hinzufügen" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Save All" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Soft Reload Script" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Copy Script Path" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "History Previous" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "History Next" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/theme_editor_plugin.cpp -msgid "Theme" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Import Theme..." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Reload Theme" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Save Theme" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Close All" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Close Docs" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp -msgid "Run" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp -msgid "Step Into" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp -msgid "Step Over" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp -msgid "Break" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp -#: editor/script_editor_debugger.cpp -msgid "Continue" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Keep Debugger Open" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Debug with External Editor" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Open Godot online documentation." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Search the reference documentation." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Go to previous edited document." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Go to next edited document." -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "Discard" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -msgid "" -"The following files are newer on disk.\n" -"What action should be taken?:" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/shader_editor_plugin.cpp -msgid "Reload" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#: editor/plugins/shader_editor_plugin.cpp -msgid "Resave" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp -msgid "Debugger" -msgstr "" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Search Results" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Clear Recent Scripts" -msgstr "Script hinzufügen" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Connections to method:" -msgstr "Verbindung zu Node:" - -#: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp -msgid "Source" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Target" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "" -"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Function" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Only resources from filesystem can be dropped." -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Can't drop nodes because script '%s' is not used in this scene." -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Lookup Symbol" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Pick Color" -msgstr "" - -#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp -msgid "Convert Case" -msgstr "" - -#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp -msgid "Uppercase" -msgstr "" - -#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp -msgid "Lowercase" -msgstr "" - -#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp -msgid "Capitalize" -msgstr "" - -#: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp -msgid "Syntax Highlighter" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Go To" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp -msgid "Bookmarks" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Breakpoints" -msgstr "Bild einfügen" - -#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp -#: scene/gui/text_edit.cpp -msgid "Cut" -msgstr "" - -#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp -#: scene/gui/text_edit.cpp -msgid "Select All" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Delete Line" -msgstr "Bild einfügen" - -#: editor/plugins/script_text_editor.cpp -msgid "Indent Left" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Indent Right" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Toggle Comment" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Fold/Unfold Line" -msgstr "Bild einfügen" - -#: editor/plugins/script_text_editor.cpp -msgid "Fold All Lines" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold All Lines" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Clone Down" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Complete Symbol" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Evaluate Selection" -msgstr "Script hinzufügen" - -#: editor/plugins/script_text_editor.cpp -msgid "Trim Trailing Whitespace" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Convert Indent to Spaces" -msgstr "Verbindung zu Node:" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Convert Indent to Tabs" -msgstr "Verbindung zu Node:" - -#: editor/plugins/script_text_editor.cpp -msgid "Auto Indent" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Find in Files..." -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Contextual Help" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Toggle Bookmark" -msgstr "Autoplay Umschalten" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Next Bookmark" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Previous Bookmark" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Remove All Bookmarks" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Function..." -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Line..." -msgstr "" - -#: editor/plugins/script_text_editor.cpp -#: modules/visual_script/visual_script_editor.cpp -msgid "Toggle Breakpoint" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Remove All Breakpoints" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Next Breakpoint" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Go to Previous Breakpoint" -msgstr "" - -#: editor/plugins/shader_editor_plugin.cpp -msgid "" -"This shader has been modified on on disk.\n" -"What action should be taken?" -msgstr "" - -#: editor/plugins/shader_editor_plugin.cpp -msgid "Shader" -msgstr "" - -#: editor/plugins/skeleton_2d_editor_plugin.cpp -msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "" - -#: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy -msgid "Create Rest Pose from Bones" -msgstr "Spiele angepasste Szene" - -#: editor/plugins/skeleton_2d_editor_plugin.cpp -msgid "Set Rest Pose to Bones" -msgstr "" - -#: editor/plugins/skeleton_2d_editor_plugin.cpp -msgid "Skeleton2D" -msgstr "" - -#: editor/plugins/skeleton_2d_editor_plugin.cpp -msgid "Make Rest Pose (From Bones)" -msgstr "" - -#: editor/plugins/skeleton_2d_editor_plugin.cpp -msgid "Set Bones to Rest Pose" -msgstr "" - -#: editor/plugins/skeleton_editor_plugin.cpp -msgid "Create physical bones" -msgstr "" - -#: editor/plugins/skeleton_editor_plugin.cpp -msgid "Skeleton" -msgstr "" - -#: editor/plugins/skeleton_editor_plugin.cpp -msgid "Create physical skeleton" -msgstr "" - -#: editor/plugins/skeleton_ik_editor_plugin.cpp -#, fuzzy -msgid "Play IK" -msgstr "Abspielen" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Orthogonal" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Transform Aborted." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "X-Axis Transform." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Y-Axis Transform." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Z-Axis Transform." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scaling: " -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Translating: " -msgstr "Transition-Node" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Rotating %s degrees." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Keying is disabled (no key inserted)." -msgstr "\"keying\" ist deaktiviert (Bild nicht hinzugefügt)." - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Animation Key Inserted." -msgstr "Animationsbild eingefügt." - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Pitch" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Yaw" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Objects Drawn" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Material Changes" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Shader Changes" -msgstr "Typ ändern" - -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Surface Changes" -msgstr "Oberfläche %d" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Draw Calls" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Vertices" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Top View." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom View." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Left View." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Left" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Right View." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Right" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Front View." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Front" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Rear View." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Rear" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Align Transform with View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Align Rotation with View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "This operation requires a single selected node." -msgstr "Bitte nur ein Node selektieren." - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Auto Orthogonal Enabled" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Lock View Rotation" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Display Normal" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Display Wireframe" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Display Overdraw" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Display Unshaded" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Environment" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Gizmos" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Information" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "View FPS" -msgstr "Datei(en) öffnen" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Half Resolution" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Audio Listener" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Enable Doppler" -msgstr "Typ ändern" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Cinematic Preview" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Not available when using the GLES2 renderer." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Left" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Right" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Forward" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Backwards" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Up" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Down" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Speed Modifier" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Freelook Slow Modifier" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Rotation Locked" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "" -"Note: The FPS value displayed is the editor's framerate.\n" -"It cannot be used as a reliable indication of in-game performance." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "XForm Dialog" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Snap Nodes To Floor" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Couldn't find a solid floor to snap the selection to." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "" -"Drag: Rotate\n" -"Alt+Drag: Move\n" -"Alt+RMB: Depth list selection" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Use Local Space" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Use Snap" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Bottom View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Top View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Rear View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Front View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Left View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Right View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Switch Perspective/Orthogonal View" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy -msgid "Insert Animation Key" -msgstr "Bild einfügen" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Focus Origin" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Focus Selection" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Toggle Freelook" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Transform" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Snap Object to Floor" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Transform Dialog..." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "1 Viewport" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "2 Viewports" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "2 Viewports (Alt)" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "3 Viewports" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "3 Viewports (Alt)" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "4 Viewports" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Gizmos" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Origin" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Grid" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "Settings..." -msgstr "Projekteinstellungen" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Snap Settings" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Translate Snap:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Rotate Snap (deg.):" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scale Snap (%):" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Viewport Settings" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Perspective FOV (deg.):" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Z-Near:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "View Z-Far:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Transform Change" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Translate:" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Rotate (deg.):" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Scale (ratio):" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Transform Type" -msgstr "Transformationstyp" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Pre" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Post" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Nameless gizmo" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Create Mesh2D" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Mesh2D Preview" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Create Polygon2D" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Polygon2D Preview" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Create CollisionPolygon2D" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "CollisionPolygon2D Preview" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Create LightOccluder2D" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "LightOccluder2D Preview" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Sprite is empty!" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Can't convert a sprite using animation frames to mesh." -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Invalid geometry, can't replace by mesh." -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Convert to Mesh2D" -msgstr "Verbindung zu Node:" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Invalid geometry, can't create polygon." -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Convert to Polygon2D" -msgstr "Verbindung zu Node:" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Invalid geometry, can't create collision polygon." -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Create CollisionPolygon2D Sibling" -msgstr "Node erstellen" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Invalid geometry, can't create light occluder." -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Create LightOccluder2D Sibling" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Sprite" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Simplification: " -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Shrink (Pixels): " -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Grow (Pixels): " -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -msgid "Update Preview" -msgstr "" - -#: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy -msgid "Settings:" -msgstr "Projekteinstellungen" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "No Frames Selected" -msgstr "Verbindung zu Node:" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Add %d Frame(s)" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Add Frame" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Unable to load images" -msgstr "Selektiere Node(s) zum Importieren aus" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "ERROR: Couldn't load frame resource!" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Resource clipboard is empty or not a texture!" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Paste Frame" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Add Empty" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Change Animation FPS" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "(empty)" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Move Frame" -msgstr "Bild bewegen/einfügen" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Animations:" -msgstr "Animations-Node" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "New Animation" -msgstr "Bild einfügen" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Speed (FPS):" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Loop" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Animation Frames:" -msgstr "Animations-Node" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Add a Texture from File" -msgstr "Node von Szene" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Add Frames from a Sprite Sheet" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Insert Empty (Before)" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Insert Empty (After)" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Move (Before)" -msgstr "Node(s) entfernen" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Move (After)" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy -msgid "Select Frames" -msgstr "Node(s) löschen" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Horizontal:" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Vertical:" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Select/Clear All Frames" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "Create Frames from Sprite Sheet" -msgstr "" - -#: editor/plugins/sprite_frames_editor_plugin.cpp -msgid "SpriteFrames" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Set Region Rect" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Set Margin" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Snap Mode:" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -#: scene/resources/visual_shader.cpp -msgid "None" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Pixel Snap" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Grid Snap" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Auto Slice" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Offset:" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Step:" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -msgid "Sep.:" -msgstr "" - -#: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy -msgid "TextureRegion" -msgstr "2D-Textur" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add All Items" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add All" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Remove All Items" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp -#, fuzzy -msgid "Remove All" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Edit Theme" -msgstr "Node Filter editieren" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Theme editing menu." -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Add Class Items" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Remove Class Items" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Create Empty Template" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Create Empty Editor Template" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Create From Current Editor Theme" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Toggle Button" -msgstr "Autoplay Umschalten" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Disabled Button" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Item" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Disabled Item" -msgstr "Node(s) löschen" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Check Item" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Checked Item" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Radio Item" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Checked Radio Item" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Named Sep." -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Submenu" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Subitem 1" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Subitem 2" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Has" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Many" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Disabled LineEdit" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Tab 1" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Tab 2" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Tab 3" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Editable Item" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Subtree" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Has,Many,Options" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Data Type:" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Icon" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp -msgid "Style" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Font" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -msgid "Color" -msgstr "" - -#: editor/plugins/theme_editor_plugin.cpp -#, fuzzy -msgid "Theme File" -msgstr "Datei öffnen" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Fix Invalid Tiles" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "Cut Selection" -msgstr "Script hinzufügen" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Paint TileMap" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Line Draw" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Rectangle Paint" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket Fill" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase TileMap" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Find Tile" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Disable Autotile" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -msgid "Enable Priority" -msgstr "Node Filter editieren" - -#: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -msgid "Filter tiles" -msgstr "Node erstellen" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Give a TileSet resource to this TileMap to use its tiles." -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Paint Tile" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "" -"Shift+LMB: Line Draw\n" -"Shift+Ctrl+LMB: Rectangle Paint" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -msgid "Rotate Left" -msgstr "Node erstellen" - -#: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -msgid "Rotate Right" -msgstr "Node erstellen" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Flip Horizontally" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -msgid "Flip Vertically" -msgstr "" - -#: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy -msgid "Clear Transform" -msgstr "Transformationstyp" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Add Texture(s) to TileSet." -msgstr "Node von Szene" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Remove selected Texture from TileSet." -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Create from Scene" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Merge from Scene" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "New Single Tile" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "New Autotile" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "New Atlas" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Next Coordinate" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Select the next shape, subtile, or Tile." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Previous Coordinate" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Select the previous shape, subtile, or Tile." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Region" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Collision" -msgstr "Animations-Node" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Occlusion" -msgstr "Script hinzufügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Navigation" -msgstr "Animations-Node" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Bitmask" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Priority" -msgstr "Projekt exportieren" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Z Index" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Region Mode" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Collision Mode" -msgstr "Animations-Node" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Occlusion Mode" -msgstr "Script hinzufügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Navigation Mode" -msgstr "Animations-Node" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Bitmask Mode" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Priority Mode" -msgstr "Projekt exportieren" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Icon Mode" -msgstr "Bild bewegen/einfügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Z Index Mode" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Copy bitmask." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Paste bitmask." -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Erase bitmask." -msgstr "Oberfläche %d" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Create a new rectangle." -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Create a new polygon." -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Keep polygon inside region Rect." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Enable snap and show grid (configurable via the Inspector)." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Display Tile Names (Hold Alt Key)" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "" -"Add or select a texture on the left panel to edit the tiles bound to it." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "You haven't selected a texture to remove." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Create from scene? This will overwrite all current tiles." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Merge from scene?" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Remove Texture" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "%s file(s) were not added because was already on the list." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "" -"Drag handles to edit Rect.\n" -"Click on another Tile to edit it." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Delete selected Rect." -msgstr "Node(s) löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "" -"Select current edited sub-tile.\n" -"Click on another Tile to edit it." -msgstr "Node(s) löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Delete polygon." -msgstr "Bild einfügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "" -"LMB: Set bit on.\n" -"RMB: Set bit off.\n" -"Shift+LMB: Set wildcard bit.\n" -"Click on another Tile to edit it." -msgstr "Node(s) löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "" -"Select sub-tile to use as icon, this will be also used on invalid autotile " -"bindings.\n" -"Click on another Tile to edit it." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "" -"Select sub-tile to change its priority.\n" -"Click on another Tile to edit it." -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "" -"Select sub-tile to change its z index.\n" -"Click on another Tile to edit it." -msgstr "Node(s) löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Set Tile Region" -msgstr "2D-Textur" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Create Tile" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Set Tile Icon" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Edit Tile Bitmask" -msgstr "Node Filter editieren" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Edit Collision Polygon" -msgstr "Script hinzufügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Edit Occlusion Polygon" -msgstr "Script hinzufügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Edit Navigation Polygon" -msgstr "Script hinzufügen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Paste Tile Bitmask" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Clear Tile Bitmask" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Make Polygon Concave" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Make Polygon Convex" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Remove Tile" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Remove Collision Polygon" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Remove Occlusion Polygon" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Remove Navigation Polygon" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Edit Tile Priority" -msgstr "Node Filter editieren" - -#: editor/plugins/tile_set_editor_plugin.cpp -msgid "Edit Tile Z Index" -msgstr "" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Make Convex" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Make Concave" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Create Collision Polygon" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "Create Occlusion Polygon" -msgstr "Node erstellen" - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "This property can't be changed." -msgstr "Ohne eine Szene kann das nicht funktionieren." - -#: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy -msgid "TileSet" -msgstr "Datei(en) öffnen" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "No VCS addons are available." -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Error" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "No commit message was provided" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "No files added to stage" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Commit" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "VCS Addon is not initialized" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Version Control System" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Initialize" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Staging area" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Detect new changes" -msgstr "Node erstellen" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Changes" -msgstr "Typ ändern" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Modified" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Renamed" -msgstr "Node" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Deleted" -msgstr "Node(s) löschen" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Typechange" -msgstr "Typ ändern" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Stage Selected" -msgstr "Verbindung zu Node:" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Stage All" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Add a commit message" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy -msgid "Commit Changes" -msgstr "Typ ändern" - -#: editor/plugins/version_control_editor_plugin.cpp -#: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Status" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "View file diffs before committing them to the latest version" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "No file diff is active" -msgstr "" - -#: editor/plugins/version_control_editor_plugin.cpp -msgid "Detect changes in file diff" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "(GLES3 only)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Add Output" -msgstr "Script hinzufügen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Scalar" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Vector" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Boolean" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Sampler" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Add input port" -msgstr "Script hinzufügen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Add output port" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Change input port type" -msgstr "Typ ändern" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Change output port type" -msgstr "Typ ändern" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Change input port name" -msgstr "Typ ändern" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Change output port name" -msgstr "Typ ändern" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Remove input port" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Remove output port" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Set expression" -msgstr "Typ ändern" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Resize VisualShader node" -msgstr "Ungültige Bilder löschen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Set Uniform Name" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Set Input Default Port" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Add Node to Visual Shader" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Duplicate Nodes" -msgstr "Node(s) duplizieren" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Paste Nodes" -msgstr "Node erstellen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Delete Nodes" -msgstr "Node(s) löschen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Visual Shader Input Type Changed" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Vertex" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Fragment" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Light" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Show resulted shader code." -msgstr "Node erstellen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Create Shader Node" -msgstr "Node erstellen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Color function." -msgstr "Script hinzufügen" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Color operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Grayscale function." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Converts HSV vector to RGB equivalent." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Converts RGB vector to HSV equivalent." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Sepia function." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Burn operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Darken operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Difference operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Dodge operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "HardLight operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Lighten operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Overlay operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Screen operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "SoftLight operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Color constant." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Color uniform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the boolean result of the %s comparison between two parameters." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Equal (==)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Greater Than (>)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Greater Than or Equal (>=)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns an associated vector if the provided scalars are equal, greater or " -"less." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns the boolean result of the comparison between INF and a scalar " -"parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns the boolean result of the comparison between NaN and a scalar " -"parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Less Than (<)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Less Than or Equal (<=)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Not Equal (!=)" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns an associated vector if the provided boolean value is true or false." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns an associated scalar if the provided boolean value is true or false." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the boolean result of the comparison between two parameters." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns the boolean result of the comparison between INF (or NaN) and a " -"scalar parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Boolean constant." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Boolean uniform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for all shader modes." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Input parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for vertex and fragment shader modes." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for fragment and light shader modes." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for fragment shader mode." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for light shader mode." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for vertex shader mode." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "'%s' input parameter for vertex and fragment shader mode." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Scalar function." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Scalar operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "E constant (2.718282). Represents the base of the natural logarithm." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Epsilon constant (0.00001). Smallest possible scalar number." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Phi constant (1.618034). Golden ratio." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Pi/4 constant (0.785398) or 45 degrees." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Pi/2 constant (1.570796) or 90 degrees." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Pi constant (3.141593) or 180 degrees." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Tau constant (6.283185) or 360 degrees." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Sqrt2 constant (1.414214). Square root of 2." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the absolute value of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the arc-cosine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the inverse hyperbolic cosine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the arc-sine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the inverse hyperbolic sine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the arc-tangent of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the arc-tangent of the parameters." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the inverse hyperbolic tangent of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Finds the nearest integer that is greater than or equal to the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Constrains a value to lie between two further values." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the cosine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the hyperbolic cosine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Converts a quantity in radians to degrees." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Base-e Exponential." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Base-2 Exponential." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Finds the nearest integer less than or equal to the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Computes the fractional part of the argument." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the inverse of the square root of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Natural logarithm." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Base-2 logarithm." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the greater of two values." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the lesser of two values." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Linear interpolation between two scalars." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the opposite value of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "1.0 - scalar" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns the value of the first parameter raised to the power of the second." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Converts a quantity in degrees to radians." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "1.0 / scalar" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Finds the nearest integer to the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Finds the nearest even integer to the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Clamps the value between 0.0 and 1.0." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Extracts the sign of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the sine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the hyperbolic sine of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the square root of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n" -"\n" -"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if x is larger than " -"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " -"using Hermite polynomials." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Step function( scalar(edge), scalar(x) ).\n" -"\n" -"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the tangent of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the hyperbolic tangent of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Finds the truncated value of the parameter." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Adds scalar to scalar." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Divides scalar by scalar." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Multiplies scalar by scalar." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the remainder of the two scalars." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Subtracts scalar from scalar." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Scalar constant." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Scalar uniform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Perform the cubic texture lookup." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Perform the texture lookup." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Cubic texture uniform lookup." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "2D texture uniform lookup." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "2D texture uniform lookup with triplanar." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Transform function." -msgstr "Transformationstyp" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Calculate the outer product of a pair of vectors.\n" -"\n" -"OuterProduct treats the first parameter 'c' as a column vector (matrix with " -"one column) and the second parameter 'r' as a row vector (matrix with one " -"row) and does a linear algebraic matrix multiply 'c * r', yielding a matrix " -"whose number of rows is the number of components in 'c' and whose number of " -"columns is the number of components in 'r'." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Composes transform from four vectors." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Decomposes transform to four vectors." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the determinant of a transform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the inverse of a transform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the transpose of a transform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Multiplies transform by transform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Multiplies vector by transform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Transform constant." -msgstr "Transformationstyp" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Transform uniform." -msgstr "Transformationstyp" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Vector function." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Vector operator." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Composes vector from three scalars." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Decomposes vector to three scalars." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the cross product of two vectors." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the distance between two points." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the dot product of two vectors." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns the vector that points in the same direction as a reference vector. " -"The function has three vector parameters : N, the vector to orient, I, the " -"incident vector, and Nref, the reference vector. If the dot product of I and " -"Nref is smaller than zero the return value is N. Otherwise -N is returned." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the length of a vector." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Linear interpolation between two vectors." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Linear interpolation between two vectors using scalar." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Calculates the normalize product of vector." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "1.0 - vector" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "1.0 / vector" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns the vector that points in the direction of reflection ( a : incident " -"vector, b : normal vector )." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the vector that points in the direction of refraction." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n" -"\n" -"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than " -"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " -"using Hermite polynomials." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n" -"\n" -"Returns 0.0 if 'x' is smaller than 'edge0' and 1.0 if 'x' is larger than " -"'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " -"using Hermite polynomials." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Step function( vector(edge), vector(x) ).\n" -"\n" -"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Step function( scalar(edge), vector(x) ).\n" -"\n" -"Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Adds vector to vector." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Divides vector by vector." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Multiplies vector by vector." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Returns the remainder of the two vectors." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Subtracts vector from vector." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Vector constant." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "Vector uniform." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Custom Godot Shader Language expression, with custom amount of input and " -"output ports. This is a direct injection of code into the vertex/fragment/" -"light function, do not use it to write the function declarations inside." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Returns falloff based on the dot product of surface normal and view " -"direction of camera (pass associated inputs to it)." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"Custom Godot Shader Language expression, which is placed on top of the " -"resulted shader. You can place various function definitions inside and call " -"it later in the Expressions. You can also declare varyings, uniforms and " -"constants." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "(Fragment/Light mode only) Scalar derivative function." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "(Fragment/Light mode only) Vector derivative function." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"(Fragment/Light mode only) (Vector) Derivative in 'x' using local " -"differencing." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " -"differencing." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"(Fragment/Light mode only) (Vector) Derivative in 'y' using local " -"differencing." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " -"differencing." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and " -"'y'." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "" -"(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and " -"'y'." -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -msgid "VisualShader" -msgstr "" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Edit Visual Property" -msgstr "Node Filter editieren" - -#: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy -msgid "Visual Shader Mode Changed" -msgstr "Typ ändern" - -#: editor/project_export.cpp -msgid "Runnable" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Add initial export..." -msgstr "Script hinzufügen" - -#: editor/project_export.cpp -msgid "Add previous patches..." -msgstr "" - -#: editor/project_export.cpp -msgid "Delete patch '%s' from list?" -msgstr "" - -#: editor/project_export.cpp -msgid "Delete preset '%s'?" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"Export templates seem to be missing or invalid." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Failed to export the project for platform '%s'.\n" -"This might be due to a configuration issue in the export preset or your " -"export settings." -msgstr "" - -#: editor/project_export.cpp -msgid "Release" -msgstr "" - -#: editor/project_export.cpp -msgid "Exporting All" -msgstr "" - -#: editor/project_export.cpp -msgid "The given export path doesn't exist:" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing/corrupted:" -msgstr "" - -#: editor/project_export.cpp -msgid "Presets" -msgstr "" - -#: editor/project_export.cpp editor/project_settings_editor.cpp -msgid "Add..." -msgstr "" - -#: editor/project_export.cpp -msgid "" -"If checked, the preset will be available for use in one-click deploy.\n" -"Only one preset per platform may be marked as runnable." -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Export Path" -msgstr "Projekt exportieren" - -#: editor/project_export.cpp -msgid "Resources" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Export all resources in the project" -msgstr "Exportiere alle Resources des Projekts." - -#: editor/project_export.cpp -msgid "Export selected scenes (and dependencies)" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Export selected resources (and dependencies)" -msgstr "Exportiere alle Resources des Projekts." - -#: editor/project_export.cpp -msgid "Export Mode:" -msgstr "" - -#: editor/project_export.cpp -msgid "Resources to export:" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Filters to export non-resource files/folders\n" -"(comma-separated, e.g: *.json, *.txt, docs/*)" -msgstr "" - -#: editor/project_export.cpp -msgid "" -"Filters to exclude files/folders from project\n" -"(comma-separated, e.g: *.json, *.txt, docs/*)" -msgstr "" - -#: editor/project_export.cpp -msgid "Patches" -msgstr "" - -#: editor/project_export.cpp -msgid "Make Patch" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Pack File" -msgstr "Datei(en) öffnen" - -#: editor/project_export.cpp -msgid "Features" -msgstr "" - -#: editor/project_export.cpp -msgid "Custom (comma-separated):" -msgstr "" - -#: editor/project_export.cpp -msgid "Feature List:" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Script" -msgstr "Script hinzufügen" - -#: editor/project_export.cpp -#, fuzzy -msgid "Script Export Mode:" -msgstr "Projekt exportieren" - -#: editor/project_export.cpp -msgid "Text" -msgstr "" - -#: editor/project_export.cpp -msgid "Compiled" -msgstr "" - -#: editor/project_export.cpp -msgid "Encrypted (Provide Key Below)" -msgstr "" - -#: editor/project_export.cpp -msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "" - -#: editor/project_export.cpp -msgid "Script Encryption Key (256-bits as hex):" -msgstr "" - -#: editor/project_export.cpp -#, fuzzy -msgid "Export PCK/Zip" -msgstr "Exportiere das Projekt PCK" - -#: editor/project_export.cpp -msgid "Export Project" -msgstr "Projekt exportieren" - -#: editor/project_export.cpp -#, fuzzy -msgid "Export mode?" -msgstr "Projekt exportieren" - -#: editor/project_export.cpp -msgid "Export All" -msgstr "" - -#: editor/project_export.cpp editor/project_manager.cpp -#, fuzzy -msgid "ZIP File" -msgstr "Datei(en) öffnen" - -#: editor/project_export.cpp -msgid "Godot Game Pack" -msgstr "" - -#: editor/project_export.cpp -msgid "Export templates for this platform are missing:" -msgstr "" - -#: editor/project_export.cpp -msgid "Manage Export Templates" -msgstr "" - -#: editor/project_export.cpp -msgid "Export With Debug" -msgstr "" - -#: editor/project_manager.cpp -msgid "The path specified doesn't exist." -msgstr "" - -#: editor/project_manager.cpp -msgid "Error opening package file (it's not in ZIP format)." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Please choose an empty folder." -msgstr "Bitte ausserhalb des Projekt Verzeichnis exportieren!" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "Bitte ausserhalb des Projekt Verzeichnis exportieren!" - -#: editor/project_manager.cpp -msgid "This directory already contains a Godot project." -msgstr "" - -#: editor/project_manager.cpp -msgid "New Game Project" -msgstr "" - -#: editor/project_manager.cpp -msgid "Imported Project" -msgstr "Importierte Projekte" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Invalid Project Name." -msgstr "Projektname:" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Couldn't create folder." -msgstr "Node erstellen" - -#: editor/project_manager.cpp -msgid "There is already a folder in this path with the specified name." -msgstr "" - -#: editor/project_manager.cpp -msgid "It would be a good idea to name your project." -msgstr "" - -#: editor/project_manager.cpp -msgid "Invalid project path (changed anything?)." -msgstr "Ungültiger Projektpfad, (wurde was geändert?)!" - -#: editor/project_manager.cpp -#, fuzzy -msgid "" -"Couldn't load project.godot in project path (error %d). It may be missing or " -"corrupted." -msgstr "Die engine.cfg kann im Projektverzeichnis nicht erstellt werden." - -#: editor/project_manager.cpp -#, fuzzy -msgid "Couldn't edit project.godot in project path." -msgstr "Die engine.cfg kann im Projektverzeichnis nicht erstellt werden." - -#: editor/project_manager.cpp -#, fuzzy -msgid "Couldn't create project.godot in project path." -msgstr "Die engine.cfg kann im Projektverzeichnis nicht erstellt werden." - -#: editor/project_manager.cpp -#, fuzzy -msgid "Rename Project" -msgstr "Neues Projekt erstellen" - -#: editor/project_manager.cpp -msgid "Import Existing Project" -msgstr "Existierendes Projekt importieren" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Import & Edit" -msgstr "Importiere von folgendem Node:" - -#: editor/project_manager.cpp -msgid "Create New Project" -msgstr "Neues Projekt erstellen" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Create & Edit" -msgstr "Node erstellen" - -#: editor/project_manager.cpp -msgid "Install Project:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Install & Edit" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Name:" -msgstr "Projektname:" - -#: editor/project_manager.cpp -msgid "Project Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Installation Path:" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer:" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 3.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Higher visual quality\n" -"All features available\n" -"Incompatible with older hardware\n" -"Not recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "OpenGL ES 2.0" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Lower visual quality\n" -"Some features not available\n" -"Works on most hardware\n" -"Recommended for web games" -msgstr "" - -#: editor/project_manager.cpp -msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" - -#: editor/project_manager.cpp -msgid "Unnamed Project" -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Missing Project" -msgstr "Existierendes Projekt importieren" - -#: editor/project_manager.cpp -msgid "Error: Project is missing on the filesystem." -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Can't open project at '%s'." -msgstr "Neues Projekt erstellen" - -#: editor/project_manager.cpp -msgid "Are you sure to open more than one project?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file does not specify the version of Godot " -"through which it was created.\n" -"\n" -"%s\n" -"\n" -"If you proceed with opening it, it will be converted to Godot's current " -"configuration file format.\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The following project settings file was generated by an older engine " -"version, and needs to be converted for this version:\n" -"\n" -"%s\n" -"\n" -"Do you want to convert it?\n" -"Warning: You won't be able to open the project with previous versions of the " -"engine anymore." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The project settings were created by a newer engine version, whose settings " -"are not compatible with this version." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: no main scene defined.\n" -"Please edit the project and set the main scene in the Project Settings under " -"the \"Application\" category." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Can't run project: Assets need to be imported.\n" -"Please edit the project to trigger the initial import." -msgstr "" - -#: editor/project_manager.cpp -msgid "Are you sure to run %d projects at once?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove %d projects from the list?\n" -"The project folders' contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove this project from the list?\n" -"The project folder's contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Remove all missing projects from the list?\n" -"The project folders' contents won't be modified." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Language changed.\n" -"The interface will update after restarting the editor or project manager." -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"Are you sure to scan %s folders for existing Godot projects?\n" -"This could take a while." -msgstr "" - -#: editor/project_manager.cpp -msgid "Project Manager" -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Projects" -msgstr "Projektname:" - -#: editor/project_manager.cpp -msgid "Last Modified" -msgstr "" - -#: editor/project_manager.cpp -msgid "Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "Select a Folder to Scan" -msgstr "" - -#: editor/project_manager.cpp -msgid "New Project" -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Remove Missing" -msgstr "Ungültige Bilder löschen" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Templates" -msgstr "Ungültige Bilder löschen" - -#: editor/project_manager.cpp -msgid "Restart Now" -msgstr "" - -#: editor/project_manager.cpp -#, fuzzy -msgid "Can't run project" -msgstr "Neues Projekt erstellen" - -#: editor/project_manager.cpp -msgid "" -"You currently don't have any projects.\n" -"Would you like to explore official example projects in the Asset Library?" -msgstr "" - -#: editor/project_manager.cpp -msgid "" -"The search box filters projects by name and last path component.\n" -"To filter projects by name and full path, the query must contain at least " -"one `/` character." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Key " -msgstr "Taste " - -#: editor/project_settings_editor.cpp -msgid "Joy Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joy Axis" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Mouse Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "An action with the name '%s' already exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Rename Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -#, fuzzy -msgid "Change Action deadzone" -msgstr "Typ ändern" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "All Devices" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Device" -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "Press a Key..." -msgstr "Taste drücken..." - -#: editor/project_settings_editor.cpp -msgid "Mouse Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Left Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Right Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 1" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "X Button 2" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Axis Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Axis" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Joypad Button Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Erase Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Button" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Left Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Right Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Middle Button." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Up." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Wheel Down." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Global Property" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Select a setting item first!" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "No property '%s' exists." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" - -#: editor/project_settings_editor.cpp -#, fuzzy -msgid "Delete Item" -msgstr "Node(s) löschen" - -#: editor/project_settings_editor.cpp -msgid "" -"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " -"'\"'." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Error saving settings." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Settings saved OK." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Moved Input Action Event" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override for Feature" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Translation" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Translation" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Add Remapped Path" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Resource Remap Add Remap" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Change Resource Remap Language" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remove Resource Remap Option" -msgstr "" - -#: editor/project_settings_editor.cpp -#, fuzzy -msgid "Changed Locale Filter" -msgstr "Typ ändern" - -#: editor/project_settings_editor.cpp -msgid "Changed Locale Filter Mode" -msgstr "" - -#: editor/project_settings_editor.cpp -#, fuzzy -msgid "Project Settings (project.godot)" -msgstr "Projekteinstellungen" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "General" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Override For..." -msgstr "" - -#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp -msgid "The editor must be restarted for changes to take effect." -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Input Map" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Action:" -msgstr "" - -#: editor/project_settings_editor.cpp -#, fuzzy -msgid "Action" -msgstr "Script hinzufügen" - -#: editor/project_settings_editor.cpp -msgid "Deadzone" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Device:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Index:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Localization" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Translations:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Resources:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Remaps by Locale:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locale" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Locales Filter" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show All Locales" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Show Selected Locales Only" -msgstr "" - -#: editor/project_settings_editor.cpp -#, fuzzy -msgid "Filter mode:" -msgstr "Node erstellen" - -#: editor/project_settings_editor.cpp -msgid "Locales:" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "AutoLoad" -msgstr "" - -#: editor/project_settings_editor.cpp -msgid "Plugins" -msgstr "" - -#: editor/property_editor.cpp -msgid "Preset..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Zero" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing In-Out" -msgstr "" - -#: editor/property_editor.cpp -msgid "Easing Out-In" -msgstr "" - -#: editor/property_editor.cpp -msgid "File..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Dir..." -msgstr "" - -#: editor/property_editor.cpp -msgid "Assign" -msgstr "" - -#: editor/property_editor.cpp -#, fuzzy -msgid "Select Node" -msgstr "Node(s) löschen" - -#: editor/property_editor.cpp -msgid "Error loading file: Not a resource!" -msgstr "" - -#: editor/property_editor.cpp -#, fuzzy -msgid "Pick a Node" -msgstr "TimeScale-Node" - -#: editor/property_editor.cpp -msgid "Bit %d, val %d." -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Property" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Virtual Method" -msgstr "" - -#: editor/property_selector.cpp -msgid "Select Method" -msgstr "" - -#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -msgid "Batch Rename" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Prefix" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Suffix" -msgstr "" - -#: editor/rename_dialog.cpp -#, fuzzy -msgid "Use Regular Expressions" -msgstr "Typ ändern" - -#: editor/rename_dialog.cpp -msgid "Advanced Options" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Substitute" -msgstr "" - -#: editor/rename_dialog.cpp -#, fuzzy -msgid "Node name" -msgstr "Node" - -#: editor/rename_dialog.cpp -msgid "Node's parent name, if available" -msgstr "" - -#: editor/rename_dialog.cpp -#, fuzzy -msgid "Node type" -msgstr "Node" - -#: editor/rename_dialog.cpp -msgid "Current scene name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Root node name" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Sequential integer counter.\n" -"Compare counter options." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Per-level Counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "If set the counter restarts for each group of child nodes" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Initial value for the counter" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Step" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Amount by which counter is incremented for each node" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Padding" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "" -"Minimum number of digits for the counter.\n" -"Missing digits are padded with leading zeros." -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Post-Process" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Keep" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "PascalCase to snake_case" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "snake_case to PascalCase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Case" -msgstr "" - -#: editor/rename_dialog.cpp -#, fuzzy -msgid "To Lowercase" -msgstr "Verbindung zu Node:" - -#: editor/rename_dialog.cpp -msgid "To Uppercase" -msgstr "" - -#: editor/rename_dialog.cpp -msgid "Reset" -msgstr "" - -#: editor/rename_dialog.cpp -#, fuzzy -msgid "Regular Expression Error" -msgstr "Typ ändern" - -#: editor/rename_dialog.cpp -msgid "At character %s" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent Node" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Reparent Location (Select new Parent):" -msgstr "" - -#: editor/reparent_dialog.cpp -msgid "Keep Global Transform" -msgstr "" - -#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp -msgid "Reparent" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Run Mode:" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Current Scene" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Main Scene" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Main Scene Arguments:" -msgstr "" - -#: editor/run_settings_dialog.cpp -msgid "Scene Run Settings" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "No parent to instance the scenes at." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Error loading scene from %s" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Cannot instance the scene '%s' because the current scene exists within one " -"of its nodes." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Scene(s)" -msgstr "Instanziere Szene(n)" - -#: editor/scene_tree_dock.cpp -msgid "Replace with Branch Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instance Child Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Clear Script" -msgstr "Script hinzufügen" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "This operation can't be done on the tree root." -msgstr "Das funktioniert nicht beim obersten Node. (tree root)" - -#: editor/scene_tree_dock.cpp -msgid "Move Node In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Move Nodes In Parent" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Duplicate Node(s)" -msgstr "Node(s) duplizieren" - -#: editor/scene_tree_dock.cpp -msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Node must belong to the edited scene to become root." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Instantiated scenes can't become root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make node as Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Delete %d nodes?" -msgstr "Node(s) löschen" - -#: editor/scene_tree_dock.cpp -msgid "Delete the root node \"%s\"?" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Delete node \"%s\" and its children?" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Delete node \"%s\"?" -msgstr "Node(s) löschen" - -#: editor/scene_tree_dock.cpp -msgid "Can not perform with the root node." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "This operation can't be done on instanced scenes." -msgstr "Das funktioniert nicht bei einer instanzierten Szene." - -#: editor/scene_tree_dock.cpp -msgid "Save New Scene As..." -msgstr "Neue Szene speichern als..." - -#: editor/scene_tree_dock.cpp -msgid "" -"Disabling \"editable_instance\" will cause all properties of the node to be " -"reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "" -"Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " -"cause all properties of the node to be reverted to their default." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Make Local" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "New Scene Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Create Root Node:" -msgstr "Node erstellen" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "2D Scene" -msgstr "Szene starten" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "3D Scene" -msgstr "Szene starten" - -#: editor/scene_tree_dock.cpp -msgid "User Interface" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Other Node" -msgstr "Node(s) löschen" - -#: editor/scene_tree_dock.cpp -msgid "Can't operate on nodes from a foreign scene!" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Attach Script" -msgstr "Script hinzufügen" - -#: editor/scene_tree_dock.cpp -msgid "Remove Node(s)" -msgstr "Node(s) entfernen" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Change type of node(s)" -msgstr "Typ ändern" - -#: editor/scene_tree_dock.cpp -msgid "" -"Couldn't save new scene. Likely dependencies (instances) couldn't be " -"satisfied." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Error saving scene." -msgstr "Szene kann nicht gespeichert werden." - -#: editor/scene_tree_dock.cpp -msgid "Error duplicating scene to save it." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Sub-Resources" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Clear Inheritance" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Editable Children" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Load As Placeholder" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Open Documentation" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Add Child Node" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Expand/Collapse All" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Change Type" -msgstr "Typ ändern" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Reparent to New Node" -msgstr "Node erstellen" - -#: editor/scene_tree_dock.cpp -msgid "Make Scene Root" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Merge From Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp -msgid "Save Branch as Scene" -msgstr "" - -#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp -msgid "Copy Node Path" -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Delete (No Confirm)" -msgstr "Bitte bestätigen..." - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Add/Create a New Node." -msgstr "Node erstellen" - -#: editor/scene_tree_dock.cpp -msgid "" -"Instance a scene file as a Node. Creates an inherited scene if no root node " -"exists." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" - -#: editor/scene_tree_dock.cpp -#, fuzzy -msgid "Remote" -msgstr "Ungültige Bilder löschen" - -#: editor/scene_tree_dock.cpp -msgid "Local" -msgstr "" - -#: editor/scene_tree_dock.cpp -msgid "Clear Inheritance? (No Undo!)" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Toggle Visible" -msgstr "" - -#: editor/scene_tree_editor.cpp -#, fuzzy -msgid "Unlock Node" -msgstr "Node(s) löschen" - -#: editor/scene_tree_editor.cpp -msgid "Button Group" -msgstr "" - -#: editor/scene_tree_editor.cpp -#, fuzzy -msgid "(Connecting From)" -msgstr "Connections editieren" - -#: editor/scene_tree_editor.cpp -msgid "Node configuration warning:" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "" -"Node has %s connection(s) and %s group(s).\n" -"Click to show signals dock." -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "" -"Node has %s connection(s).\n" -"Click to show signals dock." -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "" -"Node is in %s group(s).\n" -"Click to show groups dock." -msgstr "" - -#: editor/scene_tree_editor.cpp -#, fuzzy -msgid "Open Script:" -msgstr "Script hinzufügen" - -#: editor/scene_tree_editor.cpp -msgid "" -"Node is locked.\n" -"Click to unlock it." -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "" -"Children are not selectable.\n" -"Click to make selectable." -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Toggle Visibility" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "" -"AnimationPlayer is pinned.\n" -"Click to unpin." -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Invalid node name, the following characters are not allowed:" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Rename Node" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Scene Tree (Nodes):" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Node Configuration Warning!" -msgstr "" - -#: editor/scene_tree_editor.cpp -msgid "Select a Node" -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Path is empty." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Filename is empty." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Path is not local." -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid base path." -msgstr "Projektname:" - -#: editor/script_create_dialog.cpp -msgid "A directory with the same name exists." -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid extension." -msgstr "Projektname:" - -#: editor/script_create_dialog.cpp -msgid "Wrong extension chosen." -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Error loading template '%s'" -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/script_create_dialog.cpp -msgid "Error - Could not create script in filesystem." -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Error loading script from %s" -msgstr "Fehler beim Instanzieren der %s Szene" - -#: editor/script_create_dialog.cpp -msgid "Overrides" -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "N/A" -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Open Script / Choose Location" -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Open Script" -msgstr "Script hinzufügen" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "File exists, it will be reused." -msgstr "Datei existiert, Ãœberschreiben?" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid class name." -msgstr "Projektname:" - -#: editor/script_create_dialog.cpp -msgid "Invalid inherited parent name or path." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Script path/name is valid." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Built-in script (into scene file)." -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Will create a new script file." -msgstr "Neues Projekt erstellen" - -#: editor/script_create_dialog.cpp -msgid "Will load an existing script file." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Script file already exists." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "" -"Note: Built-in scripts have some limitations and can't be edited using an " -"external editor." -msgstr "" - -#: editor/script_create_dialog.cpp -msgid "Class Name:" -msgstr "" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Template:" -msgstr "Ungültige Bilder löschen" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Built-in Script:" -msgstr "Script hinzufügen" - -#: editor/script_create_dialog.cpp -#, fuzzy -msgid "Attach Node Script" -msgstr "Script hinzufügen" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Remote " -msgstr "Ungültige Bilder löschen" - -#: editor/script_editor_debugger.cpp -msgid "Bytes:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Warning:" -msgstr "" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Error:" -msgstr "Szene kann nicht gespeichert werden." - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "C++ Error" -msgstr "Connections editieren" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "C++ Error:" -msgstr "Connections editieren" - -#: editor/script_editor_debugger.cpp -msgid "C++ Source" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Source:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "C++ Source:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Stack Trace" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Errors" -msgstr "" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Child process connected." -msgstr "Verbindung zu Node:" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Copy Error" -msgstr "Connections editieren" - -#: editor/script_editor_debugger.cpp -msgid "Video RAM" -msgstr "" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Skip Breakpoints" -msgstr "Bild einfügen" - -#: editor/script_editor_debugger.cpp -msgid "Inspect Previous Instance" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Inspect Next Instance" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Stack Frames" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Profiler" -msgstr "" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Network Profiler" -msgstr "Projekt exportieren" - -#: editor/script_editor_debugger.cpp -msgid "Monitor" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Value" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Monitors" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Pick one or more items from the list to display the graph." -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "List of Video Memory Usage by Resource:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Total:" -msgstr "" - -#: editor/script_editor_debugger.cpp -#, fuzzy -msgid "Export list to a CSV file" -msgstr "Projekt exportieren" - -#: editor/script_editor_debugger.cpp -msgid "Resource Path" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Type" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Format" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Usage" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Misc" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Clicked Control:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Clicked Control Type:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Live Edit Root:" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Set From Tree" -msgstr "" - -#: editor/script_editor_debugger.cpp -msgid "Export measures as CSV" -msgstr "" - -#: editor/settings_config_dialog.cpp -msgid "Erase Shortcut" -msgstr "" - -#: editor/settings_config_dialog.cpp -msgid "Restore Shortcut" -msgstr "" - -#: editor/settings_config_dialog.cpp -msgid "Change Shortcut" -msgstr "" - -#: editor/settings_config_dialog.cpp -msgid "Editor Settings" -msgstr "" - -#: editor/settings_config_dialog.cpp -msgid "Shortcuts" -msgstr "" - -#: editor/settings_config_dialog.cpp -msgid "Binding" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Light Radius" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Camera FOV" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Camera Size" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Notifier AABB" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Particles AABB" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Probe Extents" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp -msgid "Change Sphere Shape Radius" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp -msgid "Change Box Shape Extents" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Capsule Shape Radius" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Capsule Shape Height" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Cylinder Shape Radius" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Cylinder Shape Height" -msgstr "" - -#: editor/spatial_editor_gizmos.cpp -msgid "Change Ray Shape Length" -msgstr "" - -#: modules/csg/csg_gizmos.cpp -msgid "Change Cylinder Radius" -msgstr "" - -#: modules/csg/csg_gizmos.cpp -msgid "Change Cylinder Height" -msgstr "" - -#: modules/csg/csg_gizmos.cpp -msgid "Change Torus Inner Radius" -msgstr "" - -#: modules/csg/csg_gizmos.cpp -msgid "Change Torus Outer Radius" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Select the dynamic library for this entry" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Select dependencies of the library for this entry" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy -msgid "Remove current entry" -msgstr "Ungültige Bilder löschen" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Double click to create a new entry" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Platform:" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Platform" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Dynamic Library" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "Add an architecture entry" -msgstr "" - -#: modules/gdnative/gdnative_library_editor_plugin.cpp -msgid "GDNativeLibrary" -msgstr "" - -#: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Enabled GDNative Singleton" -msgstr "" - -#: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Disabled GDNative Singleton" -msgstr "" - -#: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Library" -msgstr "" - -#: modules/gdnative/gdnative_library_singleton_editor.cpp -msgid "Libraries: " -msgstr "" - -#: modules/gdnative/register_types.cpp -msgid "GDNative" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Step argument is zero!" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Not a script with an instance" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Not based on a script" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Not based on a resource file" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Invalid instance dictionary format (missing @path)" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Invalid instance dictionary format (can't load script at @path)" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" - -#: modules/gdscript/gdscript_functions.cpp -msgid "Object can't provide a length." -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Next Plane" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Previous Plane" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Plane:" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Next Floor" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Previous Floor" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Floor:" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "GridMap Delete Selection" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "GridMap Fill Selection" -msgstr "Projekteinstellungen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "GridMap Paste Selection" -msgstr "Projekteinstellungen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "GridMap Paint" -msgstr "Projekteinstellungen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Grid Map" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Snap View" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Clip Disabled" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Clip Above" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Clip Below" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Edit X Axis" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Edit Y Axis" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Edit Z Axis" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Rotate X" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Rotate Y" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Rotate Z" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Back Rotate X" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Back Rotate Y" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Back Rotate Z" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Cursor Clear Rotation" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "Paste Selects" -msgstr "Projekteinstellungen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "Clear Selection" -msgstr "Script hinzufügen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "Fill Selection" -msgstr "Script hinzufügen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "GridMap Settings" -msgstr "Projekteinstellungen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Pick Distance:" -msgstr "" - -#: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy -msgid "Filter meshes" -msgstr "Node erstellen" - -#: modules/gridmap/grid_map_editor_plugin.cpp -msgid "Give a MeshLibrary resource to this GridMap to use its meshes." -msgstr "" - -#: modules/mono/csharp_script.cpp -msgid "Class name can't be a reserved keyword" -msgstr "" - -#: modules/mono/mono_gd/gd_mono_utils.cpp -msgid "End of inner exception stack trace" -msgstr "" - -#: modules/recast/navigation_mesh_editor_plugin.cpp -msgid "Bake NavMesh" -msgstr "" - -#: modules/recast/navigation_mesh_editor_plugin.cpp -msgid "Clear the navigation mesh." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Setting up Configuration..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Calculating grid size..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Creating heightfield..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Marking walkable triangles..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Constructing compact heightfield..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Eroding walkable area..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Partitioning..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Creating contours..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Creating polymesh..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Converting to native navigation mesh..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Navigation Mesh Generator Setup:" -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Parsing Geometry..." -msgstr "" - -#: modules/recast/navigation_mesh_generator.cpp -msgid "Done!" -msgstr "" - -#: modules/visual_script/visual_script.cpp -msgid "" -"A node yielded without working memory, please read the docs on how to yield " -"properly!" -msgstr "" - -#: modules/visual_script/visual_script.cpp -msgid "" -"Node yielded, but did not return a function state in the first working " -"memory." -msgstr "" - -#: modules/visual_script/visual_script.cpp -msgid "" -"Return value must be assigned to first element of node working memory! Fix " -"your node please." -msgstr "" - -#: modules/visual_script/visual_script.cpp -msgid "Node returned an invalid sequence output: " -msgstr "" - -#: modules/visual_script/visual_script.cpp -msgid "Found sequence bit but not the node in the stack, report bug!" -msgstr "" - -#: modules/visual_script/visual_script.cpp -msgid "Stack overflow with stack depth: " -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Change Signal Arguments" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Change Argument Type" -msgstr "Typ ändern" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Change Argument name" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Set Variable Default Value" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Set Variable Type" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Input Port" -msgstr "Script hinzufügen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Output Port" -msgstr "Script hinzufügen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Override an existing built-in function." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Create a new function." -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Variables:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Create a new variable." -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Signals:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Create a new signal." -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Name is not a valid identifier:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Name already in use by another func/var/signal:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Rename Function" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Rename Variable" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Rename Signal" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Add Function" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Delete input port" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Add Variable" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Signal" -msgstr "Script hinzufügen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Remove Input Port" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Remove Output Port" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Change Expression" -msgstr "Typ ändern" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Remove VisualScript Nodes" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Duplicate VisualScript Nodes" -msgstr "Node(s) duplizieren" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Hold %s to drop a simple reference to the node." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Hold %s to drop a Variable Setter." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Hold Ctrl to drop a Variable Setter." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Preload Node" -msgstr "Node" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Node(s) From Tree" -msgstr "Node von Szene" - -#: modules/visual_script/visual_script_editor.cpp -msgid "" -"Can't drop properties because script '%s' is not used in this scene.\n" -"Drop holding 'Shift' to just copy the signature." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Add Getter Property" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Add Setter Property" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Change Base Type" -msgstr "Typ ändern" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Move Node(s)" -msgstr "Node(s) entfernen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Remove VisualScript Node" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Connect Nodes" -msgstr "Verbindung zu Node:" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Disconnect Nodes" -msgstr "Verbindung zu Node:" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Connect Node Data" -msgstr "Verbindung zu Node:" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Connect Node Sequence" -msgstr "Verbindung zu Node:" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Script already has function '%s'" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Change Input Value" -msgstr "Typ ändern" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Resize Comment" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Can't copy the function node." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Clipboard is empty!" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Paste VisualScript Nodes" -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Can't create function with a function node." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Can't create function of nodes from nodes of multiple functions." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Select at least one node with sequence port." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Try to only have one sequence input in selection." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Create Function" -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Remove Function" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Remove Variable" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Editing Variable:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Remove Signal" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Editing Signal:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Make Tool:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Members:" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Change Base Type:" -msgstr "Typ ändern" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Nodes..." -msgstr "Node" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Add Function..." -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "function_name" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Select or create a function to edit its graph." -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Delete Selected" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Find Node Type" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Copy Nodes" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Cut Nodes" -msgstr "Node erstellen" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Make Function" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -msgid "Refresh Graph" -msgstr "" - -#: modules/visual_script/visual_script_editor.cpp -#, fuzzy -msgid "Edit Member" -msgstr "Node Filter editieren" - -#: modules/visual_script/visual_script_flow_control.cpp -msgid "Input type not iterable: " -msgstr "" - -#: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid" -msgstr "" - -#: modules/visual_script/visual_script_flow_control.cpp -msgid "Iterator became invalid: " -msgstr "" - -#: modules/visual_script/visual_script_func_nodes.cpp -msgid "Invalid index property name." -msgstr "" - -#: modules/visual_script/visual_script_func_nodes.cpp -msgid "Base object is not a Node!" -msgstr "" - -#: modules/visual_script/visual_script_func_nodes.cpp -msgid "Path does not lead Node!" -msgstr "" - -#: modules/visual_script/visual_script_func_nodes.cpp -msgid "Invalid index property name '%s' in node %s." -msgstr "" - -#: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid argument of type: " -msgstr "" - -#: modules/visual_script/visual_script_nodes.cpp -msgid ": Invalid arguments: " -msgstr "" - -#: modules/visual_script/visual_script_nodes.cpp -msgid "VariableGet not found in script: " -msgstr "" - -#: modules/visual_script/visual_script_nodes.cpp -msgid "VariableSet not found in script: " -msgstr "" - -#: modules/visual_script/visual_script_nodes.cpp -msgid "Custom node has no _step() method, can't process graph." -msgstr "" - -#: modules/visual_script/visual_script_nodes.cpp -msgid "" -"Invalid return value from _step(), must be integer (seq out), or string " -"(error)." -msgstr "" - -#: modules/visual_script/visual_script_property_selector.cpp -#, fuzzy -msgid "Search VisualScript" -msgstr "Ungültige Bilder löschen" - -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Get %s" -msgstr "" - -#: modules/visual_script/visual_script_property_selector.cpp -msgid "Set %s" -msgstr "" - -#: platform/android/export/export.cpp -msgid "Package name is missing." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Package segments must be of non-zero length." -msgstr "" - -#: platform/android/export/export.cpp -msgid "The character '%s' is not allowed in Android application package names." -msgstr "" - -#: platform/android/export/export.cpp -msgid "A digit cannot be the first character in a package segment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "The character '%s' cannot be the first character in a package segment." -msgstr "" - -#: platform/android/export/export.cpp -msgid "The package must have at least one '.' separator." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Select device from the list" -msgstr "" - -#: platform/android/export/export.cpp -msgid "ADB executable not configured in the Editor Settings." -msgstr "" - -#: platform/android/export/export.cpp -msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Debug keystore not configured in the Editor Settings nor in the preset." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Custom build requires a valid Android SDK path in Editor Settings." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Invalid Android SDK path for custom build in Editor Settings." -msgstr "" - -#: platform/android/export/export.cpp -msgid "" -"Android build template not installed in the project. Install it from the " -"Project menu." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Invalid public key for APK expansion." -msgstr "" - -#: platform/android/export/export.cpp -#, fuzzy -msgid "Invalid package name:" -msgstr "Projektname:" - -#: platform/android/export/export.cpp -msgid "" -"Trying to build from a custom built template, but no version info for it " -"exists. Please reinstall from the 'Project' menu." -msgstr "" - -#: platform/android/export/export.cpp -msgid "" -"Android build version mismatch:\n" -" Template installed: %s\n" -" Godot Version: %s\n" -"Please reinstall Android build template from 'Project' menu." -msgstr "" - -#: platform/android/export/export.cpp -msgid "Building Android Project (gradle)" -msgstr "" - -#: platform/android/export/export.cpp -msgid "" -"Building of Android project failed, check output for the error.\n" -"Alternatively visit docs.godotengine.org for Android build documentation." -msgstr "" - -#: platform/android/export/export.cpp -msgid "No build apk generated at: " -msgstr "" - -#: platform/iphone/export/export.cpp -msgid "Identifier is missing." -msgstr "" - -#: platform/iphone/export/export.cpp -msgid "The character '%s' is not allowed in Identifier." -msgstr "" - -#: platform/iphone/export/export.cpp -msgid "App Store Team ID not specified - cannot configure the project." -msgstr "" - -#: platform/iphone/export/export.cpp -msgid "Invalid Identifier:" -msgstr "" - -#: platform/iphone/export/export.cpp -msgid "Required icon is not specified in the preset." -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Stop HTTP Server" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Run in Browser" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Run exported HTML in the system's default browser." -msgstr "" - -#: platform/javascript/export/export.cpp -#, fuzzy -msgid "Could not write file:" -msgstr "Neues Projekt erstellen" - -#: platform/javascript/export/export.cpp -msgid "Could not open template for export:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Invalid export template:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read custom HTML shell:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Could not read boot splash image file:" -msgstr "" - -#: platform/javascript/export/export.cpp -msgid "Using default boot splash image." -msgstr "" - -#: platform/uwp/export/export.cpp -#, fuzzy -msgid "Invalid package short name." -msgstr "Projektname:" - -#: platform/uwp/export/export.cpp -#, fuzzy -msgid "Invalid package unique name." -msgstr "Projektname:" - -#: platform/uwp/export/export.cpp -#, fuzzy -msgid "Invalid package publisher display name." -msgstr "Projektname:" - -#: platform/uwp/export/export.cpp -#, fuzzy -msgid "Invalid product GUID." -msgstr "Projektname:" - -#: platform/uwp/export/export.cpp -msgid "Invalid publisher GUID." -msgstr "" - -#: platform/uwp/export/export.cpp -#, fuzzy -msgid "Invalid background color." -msgstr "Projektname:" - -#: platform/uwp/export/export.cpp -msgid "Invalid Store Logo image dimensions (should be 50x50)." -msgstr "" - -#: platform/uwp/export/export.cpp -msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." -msgstr "" - -#: platform/uwp/export/export.cpp -msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." -msgstr "" - -#: platform/uwp/export/export.cpp -msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." -msgstr "" - -#: platform/uwp/export/export.cpp -msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." -msgstr "" - -#: platform/uwp/export/export.cpp -msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." -msgstr "" - -#: platform/uwp/export/export.cpp -msgid "Invalid splash screen image dimensions (should be 620x300)." -msgstr "" - -#: scene/2d/animated_sprite.cpp -#, fuzzy -msgid "" -"A SpriteFrames resource must be created or set in the \"Frames\" property in " -"order for AnimatedSprite to display frames." -msgstr "" -"Damit AnimatedSprite Frames anzeigen kann, muss eine SpriteFrame Resource " -"unter der 'Frames' Property erstellt oder gesetzt sein." - -#: scene/2d/canvas_modulate.cpp -msgid "" -"Only one visible CanvasModulate is allowed per scene (or set of instanced " -"scenes). The first created one will work, while the rest will be ignored." -msgstr "" -"Nur ein sichtbares CanvasModulate ist pro Szene (oder ein Satz von " -"instanzierten Szenen) erlaubt. Das erste erstellte gewinnt der Rest wird " -"ignoriert." - -#: scene/2d/collision_object_2d.cpp -msgid "" -"This node has no shape, so it can't collide or interact with other objects.\n" -"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " -"define its shape." -msgstr "" - -#: scene/2d/collision_polygon_2d.cpp -msgid "" -"CollisionPolygon2D only serves to provide a collision shape to a " -"CollisionObject2D derived node. Please only use it as a child of Area2D, " -"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." -msgstr "" - -#: scene/2d/collision_polygon_2d.cpp -msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "Ein leeres CollisionPolygon2D hat keinen Einfluss au die Kollision." - -#: scene/2d/collision_shape_2d.cpp -msgid "" -"CollisionShape2D only serves to provide a collision shape to a " -"CollisionObject2D derived node. Please only use it as a child of Area2D, " -"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." -msgstr "" - -#: scene/2d/collision_shape_2d.cpp -msgid "" -"A shape must be provided for CollisionShape2D to function. Please create a " -"shape resource for it!" -msgstr "" - -#: scene/2d/cpu_particles_2d.cpp -msgid "" -"CPUParticles2D animation requires the usage of a CanvasItemMaterial with " -"\"Particles Animation\" enabled." -msgstr "" - -#: scene/2d/light_2d.cpp -msgid "" -"A texture with the shape of the light must be supplied to the \"Texture\" " -"property." -msgstr "" - -#: scene/2d/light_occluder_2d.cpp -msgid "" -"An occluder polygon must be set (or drawn) for this occluder to take effect." -msgstr "" -"Ein Okkluder Polygon muss gesetzt oder gezeichnet werden, damit dieser " -"Okkluder funktioniert." - -#: scene/2d/light_occluder_2d.cpp -#, fuzzy -msgid "The occluder polygon for this occluder is empty. Please draw a polygon." -msgstr "" -"Das Okkluder Polygon für diesen Okkluder ist leer. Bitte zeichne ein Polygon!" - -#: scene/2d/navigation_polygon.cpp -#, fuzzy -msgid "" -"A NavigationPolygon resource must be set or created for this node to work. " -"Please set a property or draw a polygon." -msgstr "" -"Eine NavigationPolygon Ressource muss für diesen Node gesetzt oder erstellt " -"werden, damit er funktioniert. Bitte setze eine Variable oder zeichne ein " -"Polygon." - -#: scene/2d/navigation_polygon.cpp -msgid "" -"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " -"node. It only provides navigation data." -msgstr "" -"NavigationPolygonInstance muss ein Kind oder Grosskind vom Navigation2D Node " -"sein. Es liefert nur Navigationsdaten." - -#: scene/2d/parallax_layer.cpp -msgid "" -"ParallaxLayer node only works when set as child of a ParallaxBackground node." -msgstr "" - -#: scene/2d/particles_2d.cpp -msgid "" -"GPU-based particles are not supported by the GLES2 video driver.\n" -"Use the CPUParticles2D node instead. You can use the \"Convert to " -"CPUParticles\" option for this purpose." -msgstr "" - -#: scene/2d/particles_2d.cpp scene/3d/particles.cpp -msgid "" -"A material to process the particles is not assigned, so no behavior is " -"imprinted." -msgstr "" - -#: scene/2d/particles_2d.cpp -msgid "" -"Particles2D animation requires the usage of a CanvasItemMaterial with " -"\"Particles Animation\" enabled." -msgstr "" - -#: scene/2d/path_2d.cpp -msgid "PathFollow2D only works when set as a child of a Path2D node." -msgstr "" -"PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D Nodes " -"gesetzt wird." - -#: scene/2d/physics_body_2d.cpp -msgid "" -"Size changes to RigidBody2D (in character or rigid modes) will be overridden " -"by the physics engine when running.\n" -"Change the size in children collision shapes instead." -msgstr "" - -#: scene/2d/remote_transform_2d.cpp -msgid "Path property must point to a valid Node2D node to work." -msgstr "" -"Die Pfad-Variable muss auf einen gültigen Node2D Node zeigen um zu " -"funktionieren." - -#: scene/2d/skeleton_2d.cpp -msgid "This Bone2D chain should end at a Skeleton2D node." -msgstr "" - -#: scene/2d/skeleton_2d.cpp -msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." -msgstr "" - -#: scene/2d/skeleton_2d.cpp -msgid "" -"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." -msgstr "" - -#: scene/2d/tile_map.cpp -msgid "" -"TileMap with Use Parent on needs a parent CollisionObject2D to give shapes " -"to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, " -"KinematicBody2D, etc. to give them a shape." -msgstr "" - -#: scene/2d/visibility_notifier_2d.cpp -#, fuzzy -msgid "" -"VisibilityEnabler2D works best when used with the edited scene root directly " -"as parent." -msgstr "" -"VisibilityEnable2D funktioniert am besten, wenn es ein Unterobjekt erster " -"Ordnung der bearbeiteten Hauptszene ist." - -#: scene/3d/arvr_nodes.cpp -msgid "ARVRCamera must have an ARVROrigin node as its parent." -msgstr "" - -#: scene/3d/arvr_nodes.cpp -msgid "ARVRController must have an ARVROrigin node as its parent." -msgstr "" - -#: scene/3d/arvr_nodes.cpp -msgid "" -"The controller ID must not be 0 or this controller won't be bound to an " -"actual controller." -msgstr "" - -#: scene/3d/arvr_nodes.cpp -msgid "ARVRAnchor must have an ARVROrigin node as its parent." -msgstr "" - -#: scene/3d/arvr_nodes.cpp -msgid "" -"The anchor ID must not be 0 or this anchor won't be bound to an actual " -"anchor." -msgstr "" - -#: scene/3d/arvr_nodes.cpp -msgid "ARVROrigin requires an ARVRCamera child node." -msgstr "" - -#: scene/3d/baked_lightmap.cpp -msgid "%d%%" -msgstr "" - -#: scene/3d/baked_lightmap.cpp -msgid "(Time Left: %d:%02d s)" -msgstr "" - -#: scene/3d/baked_lightmap.cpp -msgid "Plotting Meshes: " -msgstr "" - -#: scene/3d/baked_lightmap.cpp -msgid "Plotting Lights:" -msgstr "" - -#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - -#: scene/3d/baked_lightmap.cpp -msgid "Lighting Meshes: " -msgstr "" - -#: scene/3d/collision_object.cpp -msgid "" -"This node has no shape, so it can't collide or interact with other objects.\n" -"Consider adding a CollisionShape or CollisionPolygon as a child to define " -"its shape." -msgstr "" - -#: scene/3d/collision_polygon.cpp -msgid "" -"CollisionPolygon only serves to provide a collision shape to a " -"CollisionObject derived node. Please only use it as a child of Area, " -"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." -msgstr "" - -#: scene/3d/collision_polygon.cpp -msgid "An empty CollisionPolygon has no effect on collision." -msgstr "" - -#: scene/3d/collision_shape.cpp -msgid "" -"CollisionShape only serves to provide a collision shape to a CollisionObject " -"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " -"KinematicBody, etc. to give them a shape." -msgstr "" - -#: scene/3d/collision_shape.cpp -msgid "" -"A shape must be provided for CollisionShape to function. Please create a " -"shape resource for it." -msgstr "" - -#: scene/3d/collision_shape.cpp -msgid "" -"Plane shapes don't work well and will be removed in future versions. Please " -"don't use them." -msgstr "" - -#: scene/3d/collision_shape.cpp -msgid "" -"ConcavePolygonShape doesn't support RigidBody in another mode than static." -msgstr "" - -#: scene/3d/cpu_particles.cpp -msgid "Nothing is visible because no mesh has been assigned." -msgstr "" - -#: scene/3d/cpu_particles.cpp -msgid "" -"CPUParticles animation requires the usage of a SpatialMaterial whose " -"Billboard Mode is set to \"Particle Billboard\"." -msgstr "" - -#: scene/3d/gi_probe.cpp -msgid "Plotting Meshes" -msgstr "" - -#: scene/3d/gi_probe.cpp -msgid "" -"GIProbes are not supported by the GLES2 video driver.\n" -"Use a BakedLightmap instead." -msgstr "" - -#: scene/3d/light.cpp -msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." -msgstr "" - -#: scene/3d/navigation_mesh.cpp -msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "" - -#: scene/3d/navigation_mesh.cpp -msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. " -"It only provides navigation data." -msgstr "" - -#: scene/3d/particles.cpp -msgid "" -"GPU-based particles are not supported by the GLES2 video driver.\n" -"Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" -"\" option for this purpose." -msgstr "" - -#: scene/3d/particles.cpp -msgid "" -"Nothing is visible because meshes have not been assigned to draw passes." -msgstr "" - -#: scene/3d/particles.cpp -msgid "" -"Particles animation requires the usage of a SpatialMaterial whose Billboard " -"Mode is set to \"Particle Billboard\"." -msgstr "" - -#: scene/3d/path.cpp -#, fuzzy -msgid "PathFollow only works when set as a child of a Path node." -msgstr "" -"PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D Nodes " -"gesetzt wird." - -#: scene/3d/path.cpp -msgid "" -"PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " -"parent Path's Curve resource." -msgstr "" - -#: scene/3d/physics_body.cpp -msgid "" -"Size changes to RigidBody (in character or rigid modes) will be overridden " -"by the physics engine when running.\n" -"Change the size in children collision shapes instead." -msgstr "" - -#: scene/3d/remote_transform.cpp -#, fuzzy -msgid "" -"The \"Remote Path\" property must point to a valid Spatial or Spatial-" -"derived node to work." -msgstr "Die Pfad-Variable muss auf einen gültigen Particles2D Node verweisen." - -#: scene/3d/soft_body.cpp -msgid "This body will be ignored until you set a mesh." -msgstr "" - -#: scene/3d/soft_body.cpp -msgid "" -"Size changes to SoftBody will be overridden by the physics engine when " -"running.\n" -"Change the size in children collision shapes instead." -msgstr "" - -#: scene/3d/sprite_3d.cpp -#, fuzzy -msgid "" -"A SpriteFrames resource must be created or set in the \"Frames\" property in " -"order for AnimatedSprite3D to display frames." -msgstr "" -"Damit AnimatedSprite Frames anzeigen kann, muss eine SpriteFrame Resource " -"unter der 'Frames' Property erstellt oder gesetzt sein." - -#: scene/3d/vehicle_body.cpp -msgid "" -"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " -"it as a child of a VehicleBody." -msgstr "" - -#: scene/3d/world_environment.cpp -msgid "" -"WorldEnvironment requires its \"Environment\" property to contain an " -"Environment to have a visible effect." -msgstr "" - -#: scene/3d/world_environment.cpp -msgid "" -"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" - -#: scene/3d/world_environment.cpp -msgid "" -"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " -"this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" - -#: scene/animation/animation_blend_tree.cpp -msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "" - -#: scene/animation/animation_blend_tree.cpp -#, fuzzy -msgid "Animation not found: '%s'" -msgstr "Animations-Node" - -#: scene/animation/animation_tree.cpp -msgid "In node '%s', invalid animation: '%s'." -msgstr "" - -#: scene/animation/animation_tree.cpp -msgid "Invalid animation: '%s'." -msgstr "" - -#: scene/animation/animation_tree.cpp -msgid "Nothing connected to input '%s' of node '%s'." -msgstr "" - -#: scene/animation/animation_tree.cpp -msgid "No root AnimationNode for the graph is set." -msgstr "" - -#: scene/animation/animation_tree.cpp -msgid "Path to an AnimationPlayer node containing animations is not set." -msgstr "" - -#: scene/animation/animation_tree.cpp -msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." -msgstr "" - -#: scene/animation/animation_tree.cpp -msgid "The AnimationPlayer root node is not a valid node." -msgstr "" - -#: scene/animation/animation_tree_player.cpp -msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "" - -#: scene/gui/color_picker.cpp -msgid "" -"Color: #%s\n" -"LMB: Set color\n" -"RMB: Remove preset" -msgstr "" - -#: scene/gui/color_picker.cpp -msgid "Pick a color from the editor window." -msgstr "" - -#: scene/gui/color_picker.cpp -msgid "HSV" -msgstr "" - -#: scene/gui/color_picker.cpp -msgid "Raw" -msgstr "" - -#: scene/gui/color_picker.cpp -msgid "Switch between hexadecimal and code values." -msgstr "" - -#: scene/gui/color_picker.cpp -msgid "Add current color as a preset." -msgstr "" - -#: scene/gui/container.cpp -msgid "" -"Container by itself serves no purpose unless a script configures its " -"children placement behavior.\n" -"If you don't intend to add a script, use a plain Control node instead." -msgstr "" - -#: scene/gui/control.cpp -msgid "" -"The Hint Tooltip won't be displayed as the control's Mouse Filter is set to " -"\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"." -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Alert!" -msgstr "Alert!" - -#: scene/gui/dialogs.cpp -msgid "Please Confirm..." -msgstr "Bitte bestätigen..." - -#: scene/gui/popup.cpp -msgid "" -"Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine, but they will hide upon " -"running." -msgstr "" - -#: scene/gui/range.cpp -msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." -msgstr "" - -#: scene/gui/scroll_container.cpp -msgid "" -"ScrollContainer is intended to work with a single child control.\n" -"Use a container as child (VBox, HBox, etc.), or a Control and set the custom " -"minimum size manually." -msgstr "" - -#: scene/gui/tree.cpp -msgid "(Other)" -msgstr "" - -#: scene/main/scene_tree.cpp -msgid "" -"Default Environment as specified in Project Settings (Rendering -> " -"Environment -> Default Environment) could not be loaded." -msgstr "" - -#: scene/main/viewport.cpp -msgid "" -"This viewport is not set as render target. If you intend for it to display " -"its contents directly to the screen, make it a child of a Control so it can " -"obtain a size. Otherwise, make it a RenderTarget and assign its internal " -"texture to some node for display." -msgstr "" - -#: scene/main/viewport.cpp -msgid "Viewport size must be greater than 0 to render anything." -msgstr "" - -#: scene/resources/visual_shader_nodes.cpp -msgid "Invalid source for preview." -msgstr "" - -#: scene/resources/visual_shader_nodes.cpp -msgid "Invalid source for shader." -msgstr "" - -#: scene/resources/visual_shader_nodes.cpp -msgid "Invalid comparison function for that type." -msgstr "" - -#: servers/visual/shader_language.cpp -msgid "Assignment to function." -msgstr "" - -#: servers/visual/shader_language.cpp -msgid "Assignment to uniform." -msgstr "" - -#: servers/visual/shader_language.cpp -msgid "Varyings can only be assigned in vertex function." -msgstr "" - -#: servers/visual/shader_language.cpp -msgid "Constants cannot be modified." -msgstr "" - -#, fuzzy -#~ msgid "Class Description" -#~ msgstr "Script hinzufügen" - -#, fuzzy -#~ msgid "Base Type:" -#~ msgstr "Typ ändern" - -#, fuzzy -#~ msgid "Available Nodes:" -#~ msgstr "TimeScale-Node" - -#, fuzzy -#~ msgid "Theme Properties:" -#~ msgstr "Node erstellen" - -#, fuzzy -#~ msgid "Class Description:" -#~ msgstr "Script hinzufügen" - -#, fuzzy -#~ msgid "Property Descriptions:" -#~ msgstr "Script hinzufügen" - -#, fuzzy -#~ msgid "Method Descriptions:" -#~ msgstr "Script hinzufügen" - -#~ msgid "Delete Node(s)?" -#~ msgstr "Node(s) löschen?" - -#~ msgid "Faces contain no area!" -#~ msgstr "Flächen enthalten keinen Bereich!" - -#~ msgid "No faces!" -#~ msgstr "Keine Flächen!" - -#, fuzzy -#~ msgid "Select Mode (Q)" -#~ msgstr "Selektiere Node(s) zum Importieren aus" - -#, fuzzy -#~ msgid "Snap Mode (%s)" -#~ msgstr "Selektiere Node(s) zum Importieren aus" - -#, fuzzy -#~ msgid "Error initializing FreeType." -#~ msgstr "Fehler bei der FreeType Inizialisierung." - -#, fuzzy -#~ msgid "Previous Folder" -#~ msgstr "Node(s) löschen" - -#, fuzzy -#~ msgid "Next Folder" -#~ msgstr "Node erstellen" - -#, fuzzy -#~ msgid "Build Project" -#~ msgstr "Projektname:" - -#, fuzzy -#~ msgid "View log" -#~ msgstr "Datei(en) öffnen" - -#~ msgid "Path to Node:" -#~ msgstr "Pfad zum Node:" - -#, fuzzy -#~ msgid "Create folder" -#~ msgstr "Node erstellen" - -#, fuzzy -#~ msgid "Custom Node" -#~ msgstr "Node erstellen" - -#, fuzzy -#~ msgid "Create Area" -#~ msgstr "Node erstellen" - -#, fuzzy -#~ msgid "Create Exterior Connector" -#~ msgstr "Neues Projekt erstellen" - -#, fuzzy -#~ msgid "Insert keys." -#~ msgstr "Bild einfügen" - -#, fuzzy -#~ msgid "OrientedPathFollow only works when set as a child of a Path node." -#~ msgstr "" -#~ "PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D " -#~ "Nodes gesetzt wird." - -#, fuzzy -#~ msgid "Add Split" -#~ msgstr "Script hinzufügen" - -#, fuzzy -#~ msgid "Remove Split" -#~ msgstr "Ungültige Bilder löschen" - -#, fuzzy -#~ msgid "Add Node.." -#~ msgstr "Node" - -#, fuzzy -#~ msgid "Show current scene file." -#~ msgstr "Node(s) löschen" - -#~ msgid "Ok" -#~ msgstr "Okay" - -#, fuzzy -#~ msgid "Convert To Lowercase" -#~ msgstr "Verbindung zu Node:" - -#~ msgid "Anim Add Key" -#~ msgstr "Anim Bild hinzufügen" - -#~ msgid "Enable editing of individual keys by clicking them." -#~ msgstr "Aktivieren des Bildeditors mit einem click auf die jenigen." - -#~ msgid "Key" -#~ msgstr "Bild" - -#~ msgid "Call Functions in Which Node?" -#~ msgstr "Im welchem Node soll die Funktion aufgerufen werden?" - -#~ msgid "Create new animation in player." -#~ msgstr "Neue Animation erstellen." - -#, fuzzy -#~ msgid "Set pivot at mouse position" -#~ msgstr "Ungültige Bilder löschen" - -#~ msgid "OK :(" -#~ msgstr "Okay :(" - -#, fuzzy -#~ msgid "Can't contain '/' or ':'" -#~ msgstr "Verbindung zu Node:" - -#, fuzzy -#~ msgid "Can't write file." -#~ msgstr "Neues Projekt erstellen" - -#, fuzzy -#~ msgid "Couldn't get project.godot in project path." -#~ msgstr "Die engine.cfg kann im Projektverzeichnis nicht erstellt werden." - -#, fuzzy -#~ msgid "Couldn't get project.godot in the project path." -#~ msgstr "Die engine.cfg kann im Projektverzeichnis nicht erstellt werden." - -#~ msgid "Move Add Key" -#~ msgstr "Bild bewegen/einfügen" - -#~ msgid "Set Emission Mask" -#~ msgstr "Emissions-Maske setzen" - -#~ msgid "Surface %d" -#~ msgstr "Oberfläche %d" - -#~ msgid "Import Textures for Atlas (2D)" -#~ msgstr "Importiere Texturen für Atlas (2D)" - -#~ msgid "Import Large Textures (2D)" -#~ msgstr "Importiere Große Texturen (2D)" - -#~ msgid "Import Textures for 2D" -#~ msgstr "Importiere Texturen für 2D" - -#, fuzzy -#~ msgid "" -#~ "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files " -#~ "to the project." -#~ msgstr "" -#~ "MERKE: Das importieren von 2D Texturen ist nicht zwingend notwendig. " -#~ "Kopiere einfach png/jpg Dateien in das Projekt." - -#, fuzzy -#~ msgid "Add to Project (project.godot)" -#~ msgstr "Zum Projekt hinzufügen (engine.cfg)" - -#~ msgid "Invalid project path, the path must exist!" -#~ msgstr "Ungültiger Projektpfad, Pfad existiert nicht!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must not exist." -#~ msgstr "Ungültiger Projektpfad, engine.cfg vorhanden!" - -#, fuzzy -#~ msgid "Invalid project path, project.godot must exist." -#~ msgstr "Ungültiger Projektpfad, engine.cfg nicht vorhanden!" - -#~ msgid "Project Path (Must Exist):" -#~ msgstr "Projektpfad (muss existieren):" - -#~ msgid "Node From Scene" -#~ msgstr "Node von Szene" - -#~ msgid "Import assets to the project." -#~ msgstr "Assets zum Projekt importieren." - -#~ msgid "Export the project to many platforms." -#~ msgstr "Exportiere das Projekt für viele Plattformen." - -#~ msgid "Path property must point to a valid Particles2D node to work." -#~ msgstr "" -#~ "Die Pfad-Variable muss auf einen gültigen Particles2D Node verweisen." - -#~ msgid "Surface" -#~ msgstr "Oberfläche" - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SamplePlayer to play sound." -#~ msgstr "" -#~ "Damit SamplePlayer einen Sound abspielen kann, muss eine SampleLibrary " -#~ "Ressource in der 'samples' Property erzeugt oder definiert werden." - -#~ msgid "" -#~ "A SampleLibrary resource must be created or set in the 'samples' property " -#~ "in order for SpatialSamplePlayer to play sound." -#~ msgstr "" -#~ "Damit SpatialSamplePlayer einen Sound abspielen kann, muss eine " -#~ "SampleLibrary Ressource in der 'samples' Eigenschaft erzeugt oder " -#~ "definiert werden." - -#~ msgid "Error writing the project PCK!" -#~ msgstr "Fehler beim Schreiben des Projekts PCK!" - -#~ msgid "Project Export Settings" -#~ msgstr "Projektexport Einstellungen" - -#~ msgid "Export all files in the project directory." -#~ msgstr "Exportiere alle Dateien in das Projektverzeichnis." diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 1302e33e47..4dca7e4c5f 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -809,7 +809,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1409,16 +1408,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2338,11 +2329,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2608,10 +2601,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3217,6 +3206,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3801,6 +3794,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6672,11 +6669,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7146,6 +7143,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10063,7 +10069,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10221,6 +10227,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10267,11 +10280,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10391,6 +10404,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10431,6 +10448,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11455,6 +11476,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11478,6 +11503,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index b01976c477..127da8ec1f 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -11,8 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-04-20 05:51+0000\n" -"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n" +"PO-Revision-Date: 2020-05-10 12:37+0000\n" +"Last-Translator: Overloaded @ Orama Interactive http://orama-interactive." +"com/ <manoschool@yahoo.gr>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/" "el/>\n" "Language: el\n" @@ -20,7 +21,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.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -845,7 +846,6 @@ msgstr "ΑδÏνατη η σÏνδεση σήματος" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1459,17 +1459,9 @@ msgstr "ΕνεÏγοποίηση" msgid "Rearrange Autoloads" msgstr "Αναδιάταξη των AutoLoad" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "ΆκυÏη διαδÏομή." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Το αÏχείο δεν υπάÏχει." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Δεν υπάÏχει στην διαδÏομή πόÏων." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2431,14 +2423,15 @@ msgstr "" "Δεν είναι δυνατό να φοÏτώσετε εκ νÎου μια σκηνή που δεν αποθηκεÏτηκε ποτÎ." #: editor/editor_node.cpp -msgid "Revert" -msgstr "ΕπαναφοÏά" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "ΑποθηκεÏσετε σκηνής" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" -"Αυτή η ενÎÏγεια δεν μποÏεί να αναιÏεθεί. ΘÎλετε να συνεχίσετε με την " -"επαναφοÏά;" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2733,10 +2726,6 @@ msgid "Redo" msgstr "ΑκÏÏωση αναίÏεσης" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "ΕπαναφοÏά σκηνής" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Λοιπά ÎÏγα ή εÏγαλεία για όλη τη σκηνή." @@ -2944,7 +2933,7 @@ msgstr "Αναζήτηση" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp msgid "Online Docs" -msgstr "ΗλεκτÏονική τεκμηÏίωση" +msgstr "ΗλεκτÏονική τεκμηÏίωση" #: editor/editor_node.cpp msgid "Q&A" @@ -3388,6 +3377,13 @@ msgstr "Αδυναμία εκτÎλεσης δÎσμης ενεÏγειών:" msgid "Did you forget the '_run' method?" msgstr "Μήπως ξεχάσατε τη μÎθοδο '_run';" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Πατήστε παÏατεταμÎνα το Ctrl για να Ï€ÏοσθÎσετε Îναν Getter. Πατήστε " +"παÏατεταμÎνα το Shift για να Ï€ÏοσθÎσετε μία γενική υπογÏαφή." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "ΕπιλÎξτε κόμβους για εισαγωγή" @@ -3989,6 +3985,10 @@ msgid "Error running post-import script:" msgstr "Σφάλμα κατά την εκτÎλεση της δÎσμης ενεÏγειών μετεισαγωγής:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Αποθήκευση..." @@ -6957,12 +6957,13 @@ msgstr "" "κόμβο «%s»." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "ΓÏαμμή" +#, fuzzy +msgid "[Ignore]" +msgstr "(ΠαÏάβλεψη)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ΠαÏάβλεψη)" +msgid "Line" +msgstr "ΓÏαμμή" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7441,6 +7442,15 @@ msgid "XForm Dialog" msgstr "Διάλογος XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "ΚοÏμπωμα Κόμβων στο Δάπεδο" @@ -10527,8 +10537,9 @@ msgid "Instance Child Scene" msgstr "ΑÏχικοποίηση σκηνής ως παιδί" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "ΕκκαθάÏιση ΔÎσμης ΕνεÏγειών" +#, fuzzy +msgid "Detach Script" +msgstr "ΣÏνδεση ΔÎσμης ΕνεÏγειών" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10699,6 +10710,13 @@ msgid "Open Documentation" msgstr "Άνοιγμα ΤεκμηÏίωσης" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Î Ïοσθήκη κόμβου ως παιδί" @@ -10747,11 +10765,13 @@ msgstr "" "υπάÏχει πηγαίος κόμβος." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "ΣÏνδεση νÎας ή υπαÏκτής δÎσμης ενεÏγειών για τον επιλεγμÎνο κόμβο." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "ΕκκαθάÏιση δÎσμης ενεÏγειών για τον επιλεγμÎνο κόμβο." #: editor/scene_tree_dock.cpp @@ -10883,6 +10903,10 @@ msgid "A directory with the same name exists." msgstr "ΥπαÏκτός ομώνυμος κατάλογος." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Το αÏχείο δεν υπάÏχει." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "ΆκυÏη επÎκταση." @@ -10923,6 +10947,10 @@ msgid "File exists, it will be reused." msgstr "ΥπαÏκτό αÏχείο, θα επαναχÏησιμοποιηθεί." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "ΆκυÏη διαδÏομή." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "ΆκυÏο όνομα κλάσης." @@ -11983,6 +12011,13 @@ msgstr "" "διαμόÏφωση." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Το «debug keystore» δεν Îχει καθοÏιστεί στις Ρυθμίσεις ΕπεξεÏγαστή ή την " +"διαμόÏφωση." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Η Ï€ÏοσαÏμοσμÎνη δόμηση απαιτεί μια ÎγκυÏη διαδÏομή για το Android SDK στις " @@ -12012,6 +12047,32 @@ msgstr "ΆκυÏο όνομα πακÎτου:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12804,6 +12865,23 @@ msgstr "Τα «varying» μποÏοÏν να ανατεθοÏν μόνο στηΠmsgid "Constants cannot be modified." msgstr "Οι σταθεÏÎÏ‚ δεν μποÏοÏν να Ï„ÏοποποιηθοÏν." +#~ msgid "Not in resource path." +#~ msgstr "Δεν υπάÏχει στην διαδÏομή πόÏων." + +#~ msgid "Revert" +#~ msgstr "ΕπαναφοÏά" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "" +#~ "Αυτή η ενÎÏγεια δεν μποÏεί να αναιÏεθεί. ΘÎλετε να συνεχίσετε με την " +#~ "επαναφοÏά;" + +#~ msgid "Revert Scene" +#~ msgstr "ΕπαναφοÏά σκηνής" + +#~ msgid "Clear Script" +#~ msgstr "ΕκκαθάÏιση ΔÎσμης ΕνεÏγειών" + #~ msgid "Issue Tracker" #~ msgstr "ΔιαχείÏιση Ï€Ïοβλημάτων" diff --git a/editor/translations/eo.po b/editor/translations/eo.po index d75cb88920..3addde45ce 100644 --- a/editor/translations/eo.po +++ b/editor/translations/eo.po @@ -8,18 +8,19 @@ # Brandon Dyer <brandondyer64@gmail.com>, 2019. # Alejandro Sánchez Medina <alejandrosanchzmedina@gmail.com>, 2019. # Sr Half <flavio05@outlook.com>, 2020. +# Cristian Yepez <cristianyepez@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2020-05-01 11:43+0000\n" -"Last-Translator: Sr Half <flavio05@outlook.com>\n" +"PO-Revision-Date: 2020-05-22 21:01+0000\n" +"Last-Translator: Cristian Yepez <cristianyepez@gmail.com>\n" "Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/" "godot/eo/>\n" "Language: eo\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -640,9 +641,8 @@ msgid "Scale Ratio:" msgstr "Skali RejÅo:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select Tracks to Copy" -msgstr "Elekti vojetojn por duplikati:" +msgstr "Elekti vojetojn por duplikati" #: editor/animation_track_editor.cpp editor/editor_log.cpp #: editor/editor_properties.cpp @@ -847,7 +847,6 @@ msgstr "Ne povas konekti signalo" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1342,12 +1341,13 @@ msgid "Open Audio Bus Layout" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy msgid "There is no '%s' file." -msgstr "" +msgstr "Neniu '%s' dosiero." #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "AranÄo" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -1360,7 +1360,7 @@ msgstr "Eraro dum Åargante tiparon." #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "" +msgstr "Aldoni Buso" #: editor/editor_audio_buses.cpp msgid "Add a new Audio Bus to this layout." @@ -1370,7 +1370,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "ÅœarÄi" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." @@ -1448,16 +1448,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Nevalida dosierindiko." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2405,12 +2397,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Ne povas reÅarÄi scenon, kiu konservis neniam." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Malfari" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Konservi scenon" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Tiun ĉi agon ne povos malfari. Certe daÅrigi?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2678,10 +2673,6 @@ msgid "Redo" msgstr "Refari" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Malfari scenon" - -#: editor/editor_node.cpp #, fuzzy msgid "Miscellaneous project or scene-wide tools." msgstr "Diversa projekto aÅ sceno-abundaj iloj." @@ -3313,6 +3304,10 @@ msgstr "Ne povis ruli skripto:" msgid "Did you forget the '_run' method?" msgstr "Ĉu vi forgesis la '_run' metodo?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp #, fuzzy msgid "Select Node(s) to Import" @@ -3905,6 +3900,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6794,11 +6793,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7269,6 +7268,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10210,8 +10218,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Krei skripton" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10370,6 +10379,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10416,11 +10432,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10540,6 +10556,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Nevalida kromprogramo." @@ -10580,6 +10600,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Nevalida dosierindiko." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11622,6 +11646,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11645,6 +11673,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12288,6 +12342,15 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Konstantoj ne povas esti modifitaj." +#~ msgid "Revert" +#~ msgstr "Malfari" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Tiun ĉi agon ne povos malfari. Certe daÅrigi?" + +#~ msgid "Revert Scene" +#~ msgstr "Malfari scenon" + #, fuzzy #~ msgid "Help improve the Godot documentation by giving feedback." #~ msgstr "Helpi plibonigi la Godotan dokumentadon per doni reagon." diff --git a/editor/translations/es.po b/editor/translations/es.po index 8446ed2415..f8c4134d07 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -12,7 +12,7 @@ # David Couto <davidcouto@gmail.com>, 2017. # Dharkael <izhe@hotmail.es>, 2017, 2019. # Diego López <diegodario21@gmail.com>, 2017. -# eon-s <emanuel.segretin@gmail.com>, 2018, 2019. +# eon-s <emanuel.segretin@gmail.com>, 2018, 2019, 2020. # Gustavo Leon <gleondiaz@gmail.com>, 2017-2018. # Javier Ocampos <xavier.ocampos@gmail.com>, 2018, 2019, 2020. # Jose Maria Martinez <josemar1992@hotmail.com>, 2018. @@ -46,12 +46,15 @@ # Victor S. <victorstancioiu@gmail.com>, 2020. # henry rujano herrera <rujhen@gmail.com>, 2020. # Megamega53 <Christopher.Morales21@myhunter.cuny.edu>, 2020. +# Serk Lintur <serk.lintur@gmail.com>, 2020. +# Pedro J. Estébanez <pedrojrulez@gmail.com>, 2020. +# paco <pacosoftfree@protonmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-04 15:11+0000\n" -"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: paco <pacosoftfree@protonmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -886,7 +889,6 @@ msgstr "No se puede conectar la señal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1500,17 +1502,9 @@ msgstr "Activar" msgid "Rearrange Autoloads" msgstr "Reordenar Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Ruta inválida." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "El archivo no existe." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "No está en la ruta de recursos." +msgid "Can't add autoload:" +msgstr "No se puede añadir un autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2028,7 +2022,7 @@ msgstr "Constantes" #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "Descripción de Propiedades" +msgstr "Descripciones de Propiedad" #: editor/editor_help.cpp msgid "(value)" @@ -2051,11 +2045,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Actualmente no hay una descripción para este método. Por favor, ¡ayúdanos " -"[color=$color][url=$url]aportando una[/url][/color]!\n" -"\n" -"Actualmente no existe descripción para este método. Por favor ¡ayúdanos " -"[color=$color][url=$url]contribuyendo una[/url][/color]!" +"Actualmente no existe descripción para este método. Por favor ¡ayúdanos con " +"[color=$color][url=$url] contribuyendo con una[ /url][/color]!" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp @@ -2477,12 +2468,17 @@ msgid "Can't reload a scene that was never saved." msgstr "No se puede volver a cargar una escena que nunca se guardó." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Revertir" +msgid "Reload Saved Scene" +msgstr "Recargar Escena Guardada" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"La escena actual tiene cambios sin guardar.\n" +"¿Quieres recargar la escena guardada igualmente? Esta acción no puede " +"deshacerse." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2777,10 +2773,6 @@ msgid "Redo" msgstr "Rehacer" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Revertir Escena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Herramientas variadas de proyecto o escena." @@ -3110,12 +3102,14 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" -"Una vez hecho ésto puedes aplicar modificaciones y generar tu propio APK " -"personalizado al exportar (agregar módulos, cambiar el AndroidManifest.xml, " -"etc.).\n" -"Ten en cuenta que para generar builds personalizados en vez de usar los APKs " -"pregenerados, la opción \"Usar Build Personalizado\" deberÃa estar activada " -"en el preset de exportación de Android." +"Esto configurará tu proyecto para las compilaciones personalizadas de " +"Android instalando la plantilla base en \"res://android/build\".\n" +"Luego podrás aplicar las modificaciones y compilar tu propio APK " +"personalizado al exportarlo (agregando módulos, cambiando el AndroidManifest." +"xml, etc.).\n" +"Ten en cuenta que para realizar compilaciones personalizadas en lugar de " +"usar APKs predefinidos, la opción \"Use Custom Build\" deberÃa estar " +"habilitada en la configuración de exportación de Android." #: editor/editor_node.cpp msgid "" @@ -3431,6 +3425,12 @@ msgstr "No se pudo ejecutar el script:" msgid "Did you forget the '_run' method?" msgstr "Te olvidaste del método '_run'?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Mantén pulsado Ctrl para redondear a enteros. Mantén pulsado Shift para " +"cambios más precisos." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selecciona nodo(s) a importar" @@ -4031,6 +4031,10 @@ msgid "Error running post-import script:" msgstr "Error ejecutando el script de posimportacion:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "¿Devolviste un objeto derivado de Node en el método `post_import()`?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Guardando..." @@ -6994,12 +6998,12 @@ msgstr "" "'%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "LÃnea" +msgid "[Ignore]" +msgstr "[Ignorar]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorar)" +msgid "Line" +msgstr "LÃnea" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7473,6 +7477,21 @@ msgid "XForm Dialog" msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Haz clic para alternar entre los estados de visibilidad.\n" +"\n" +"Ojo abierto: El gizmo es visible.\n" +"Ojo cerrado: El gizmo está oculto.\n" +"Ojo medio abierto: El gizmo también es visible a través de superficies " +"opacas (\"x-ray\")." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Ajustar Nodos al Suelo" @@ -9373,7 +9392,7 @@ msgid "" msgstr "" "Los retornos decrecen en función del producto punto de la superficie normal " "y de la dirección de visión de la cámara (pasando las entradas asociadas a " -"esta)." +"este)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -10568,8 +10587,8 @@ msgid "Instance Child Scene" msgstr "Instanciar Escena Hija" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Eliminar Script" +msgid "Detach Script" +msgstr "Sustraer Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10735,6 +10754,16 @@ msgid "Open Documentation" msgstr "Abrir Documentación" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"No se puede adjuntar el script: no hay ningún lenguaje registrado.\n" +"Esto es probablemente porque este editor fue construido con todos los " +"módulos de lenguaje desactivados." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Añadir Nodo Hijo" @@ -10783,12 +10812,12 @@ msgstr "" "existe ningún nodo raÃz." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "Añadir un script nuevo o existente al nodo seleccionado." +msgid "Attach a new or existing script to the selected node." +msgstr "Añadir un nuevo script o ya existente al nodo seleccionado." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Borrar el script del nodo seleccionado." +msgid "Detach the script from the selected node." +msgstr "Sustraer script del nodo seleccionado." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10827,7 +10856,7 @@ msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" -"El nodo tiene %s conexión(es) y %(s) grupo(s).\n" +"El nodo tiene %s conexión(es) y %s grupo(s).\n" "Clic para mostrar el panel de señales." #: editor/scene_tree_editor.cpp @@ -10920,6 +10949,10 @@ msgid "A directory with the same name exists." msgstr "Ya existe un directorio con el mismo nombre." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "El archivo no existe." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Extensión inválida." @@ -10960,6 +10993,10 @@ msgid "File exists, it will be reused." msgstr "El archivo ya existe, será reutilizado." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Ruta inválida." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nombre de clase inválido." @@ -12015,6 +12052,12 @@ msgstr "" "Debug keystore no configurada en Configuración del Editor ni en el preset." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Release keystore no está configurado correctamente en el preset de " +"exportación." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "La compilación personalizada requiere una ruta de Android SDK válida en " @@ -12044,6 +12087,39 @@ msgstr "Nombre de paquete inválido:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"El módulo \"GodotPaymentV3\" incluido en los ajustes del proyecto \"android/" +"modules\" es inválido (cambiado en Godot 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "\"Use Custom Build\" debe estar activado para usar los plugins." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"\"Degrees Of Freedom\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile " +"VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Hand Tracking\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Focus Awareness\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VR" +"\"." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12846,6 +12922,21 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." +#~ msgid "Not in resource path." +#~ msgstr "No está en la ruta de recursos." + +#~ msgid "Revert" +#~ msgstr "Revertir" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?" + +#~ msgid "Revert Scene" +#~ msgstr "Revertir Escena" + +#~ msgid "Clear Script" +#~ msgstr "Eliminar Script" + #~ msgid "Issue Tracker" #~ msgstr "Registro de problemas" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 9136ac11c3..46cb219e14 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -14,12 +14,13 @@ # roger <616steam@gmail.com>, 2019, 2020. # Francisco José Carllinni <panchopepe@protonmail.com>, 2019. # Nicolas Zirulnik <nicolaszirulnik@gmail.com>, 2020. +# Cristian Yepez <cristianyepez@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-02 01:48+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" "Language: es_AR\n" @@ -852,7 +853,6 @@ msgstr "No se puede conectar la señal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1465,17 +1465,9 @@ msgstr "Activar" msgid "Rearrange Autoloads" msgstr "Reordenar Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Ruta inválida." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "El archivo existe." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "No está en la ruta de recursos." +msgid "Can't add autoload:" +msgstr "No se puede agregar autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2438,12 +2430,17 @@ msgid "Can't reload a scene that was never saved." msgstr "No se puede volver a cargar una escena que nunca se guardó." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Revertir" +msgid "Reload Saved Scene" +msgstr "Recargar Escena Guardada" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"La escena actual tiene cambios sin guardar.\n" +"Querés recargar la escena guardada igualmente? Esta acción no se puede " +"deshacer." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2738,10 +2735,6 @@ msgid "Redo" msgstr "Rehacer" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Revertir Escena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Herramientas misceláneas a nivel proyecto o escena." @@ -2822,7 +2815,7 @@ msgid "" msgstr "" "Cuando esta opción está activa, exportar o hacer deploy producirá un " "ejecutable mÃnimo.\n" -"El sistema de archivos sera proveido desde el proyecto por el editor sobre " +"El sistema de archivos sera proveÃdo desde el proyecto por el editor sobre " "la red.\n" "En Android, deploy usará el cable USB para mejor performance. Esta opción " "acelera el testeo para juegos con footprint grande." @@ -3392,6 +3385,12 @@ msgstr "No se pudo ejecutar el script:" msgid "Did you forget the '_run' method?" msgstr "Te olvidaste del método '_run'?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Mantené pulsado Ctrl para redondear a enteros. Mantené pulsado Shift para " +"cambios más precisos." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Seleccionar Nodo(s) para Importar" @@ -3991,6 +3990,10 @@ msgid "Error running post-import script:" msgstr "Error ejecutando el script de post-importacion:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "¿Devolviste un objeto derivado de Node en el método `post_import()`?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Guardando..." @@ -5887,7 +5890,7 @@ msgstr "No se pudo crear una forma de colisión Trimesh." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" -msgstr "Crear Static Trimesh Body" +msgstr "Crear Static Trimesh Body" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" @@ -6950,12 +6953,12 @@ msgstr "" "nodo '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "LÃnea" +msgid "[Ignore]" +msgstr "[Ignorar]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorar)" +msgid "Line" +msgstr "LÃnea" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7429,6 +7432,21 @@ msgid "XForm Dialog" msgstr "Dialogo XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Hacé clic para alternar entre los estados de visibilidad.\n" +"\n" +"Ojo abierto: El gizmo es visible.\n" +"Ojo cerrado: El gizmo está oculto.\n" +"Ojo medio abierto: El gizmo también es visible a través de superficies " +"opacas (\"x-ray\")." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Ajustar Nodos al Suelo" @@ -10523,8 +10541,8 @@ msgid "Instance Child Scene" msgstr "Instanciar Escena Hija" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Quitar Script" +msgid "Detach Script" +msgstr "Desasignar Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10691,6 +10709,16 @@ msgid "Open Documentation" msgstr "Abrir Documentación" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"No se puede asignar el script: no hay ningún lenguaje registrado.\n" +"Esto es probablemente porque este editor fue compilado con todos los módulos " +"de lenguaje desactivados." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Agregar Nodo Hijo" @@ -10739,12 +10767,12 @@ msgstr "" "existe ningún nodo raÃz." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "Adjuntar un script nuevo o existente para el nodo seleccionado." +msgid "Attach a new or existing script to the selected node." +msgstr "Asignar un script nuevo o existente al nodo seleccionado." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Restablecer un script para el nodo seleccionado." +msgid "Detach the script from the selected node." +msgstr "Desasignar el script del nodo seleccionado." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10876,6 +10904,10 @@ msgid "A directory with the same name exists." msgstr "Existe un directorio con el mismo nombre." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "El archivo existe." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Extensión inválida." @@ -10916,6 +10948,10 @@ msgid "File exists, it will be reused." msgstr "El archivo existe, será reutilizado." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Ruta inválida." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nombre de clase inválido." @@ -11879,7 +11915,7 @@ msgstr "La ruta no apunta a un Nodo!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "Nombre de propiedad Ãndice '%s' inválido en nodo %s." +msgstr "Nombre de propiedad Ãndice '%s' inválido en nodo %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -11968,6 +12004,12 @@ msgstr "" "Keystore debug no configurada en Configuración del Editor ni en el preset." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Release keystore no está configurado correctamente en el preset de " +"exportación." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "La compilación personalizada requiere una ruta de Android SDK válida en " @@ -11997,6 +12039,39 @@ msgstr "Nombre de paquete inválido:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"El módulo \"GodotPaymentV3\" incluido en el ajuste de proyecto \"android/" +"modules\" es inválido (cambiado en Godot 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "\"Use Custom Build\" debe estar activado para usar los plugins." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"\"Degrees Of Freedom\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile " +"VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Hand Tracking\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Focus Awareness\" sólo es válido cuando \"Xr Mode\" es \"Oculus Mobile VR" +"\"." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12791,6 +12866,21 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." msgid "Constants cannot be modified." msgstr "Las constantes no pueden modificarse." +#~ msgid "Not in resource path." +#~ msgstr "No está en la ruta de recursos." + +#~ msgid "Revert" +#~ msgstr "Revertir" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Esta acción no se puede deshacer. ¿Revertir de todos modos?" + +#~ msgid "Revert Scene" +#~ msgstr "Revertir Escena" + +#~ msgid "Clear Script" +#~ msgstr "Quitar Script" + #~ msgid "Issue Tracker" #~ msgstr "Registro de problemas" diff --git a/editor/translations/et.po b/editor/translations/et.po index 2ed8f83317..7be6996d69 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -4,18 +4,20 @@ # This file is distributed under the same license as the Godot source code. # Jens <arrkiin@gmail.com>, 2019. # Mattias Aabmets <mattias.aabmets@gmail.com>, 2019. +# StReef <streef.gtx@gmail.com>, 2020. +# René <renepiik@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2019-07-19 13:41+0000\n" -"Last-Translator: Mattias Aabmets <mattias.aabmets@gmail.com>\n" +"PO-Revision-Date: 2020-05-31 12:39+0000\n" +"Last-Translator: René <renepiik@gmail.com>\n" "Language-Team: Estonian <https://hosted.weblate.org/projects/godot-engine/" "godot/et/>\n" "Language: et\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.8-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -25,7 +27,7 @@ msgstr "" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "Eeldati sõne pikkusega 1 (trükimärk)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -63,31 +65,31 @@ msgstr "'%' kutsudes:" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "B" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "KiB" #: core/ustring.cpp msgid "MiB" -msgstr "" +msgstr "MiB" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "GiB" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "TiB" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "PiB" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" @@ -111,23 +113,23 @@ msgstr "Väärtus:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "Sisesta Võti Siia" +msgstr "Sisesta võti siia" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "Kopeeri Valitud Võti (Võtmed)" +msgstr "Paljunda valitud võti (võtmed)" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Kustuta Valitud Võti (Võtmed)" +msgstr "Kustuta valitud võti (võtmed)" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" -msgstr "Lisa Bezieri Punkt" +msgstr "Lisa Bezieri punkt" #: editor/animation_bezier_editor.cpp msgid "Move Bezier Points" -msgstr "Liiguta Bezieri Punkte" +msgstr "Liiguta Bezieri punkte" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -179,20 +181,20 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Change Animation Length" -msgstr "Muuda Animatsiooni Pikkust" +msgstr "Muuda animatsiooni pikkust" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "Muuda Animatsiooni Silmust" +msgstr "Muuda animatsiooni silmust" #: editor/animation_track_editor.cpp msgid "Property Track" -msgstr "" +msgstr "Atribuudi rada" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "" +msgstr "3D muundus rada" #: editor/animation_track_editor.cpp msgid "Call Method Track" @@ -200,31 +202,31 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "Bezieri kurvi rada" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" -msgstr "" +msgstr "Heli taasesituse rada" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "" +msgstr "Animatsiooni taasesituse rada" #: editor/animation_track_editor.cpp msgid "Animation length (frames)" -msgstr "" +msgstr "Animatsiooni pikkus (kaadrid)" #: editor/animation_track_editor.cpp msgid "Animation length (seconds)" -msgstr "" +msgstr "Animatsiooni pikkus (sekundid)" #: editor/animation_track_editor.cpp msgid "Add Track" -msgstr "" +msgstr "Lisa rada" #: editor/animation_track_editor.cpp msgid "Animation Looping" -msgstr "" +msgstr "Animatsiooni kordus" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -237,39 +239,39 @@ msgstr "Heliklipid:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "Animatsiooni Klipid:" +msgstr "Animatsiooni klipid:" #: editor/animation_track_editor.cpp msgid "Change Track Path" -msgstr "" +msgstr "Muuda raja teed" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." -msgstr "" +msgstr "Lülita see rada sisse/välja." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "Uuendusrežiim (kuidas see omadus on seatud)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "" +msgstr "Interpolatsiooni režiim" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "Korduse mähise režiim (nterpoleeri lõpp silmuse alguses)" #: editor/animation_track_editor.cpp msgid "Remove this track." -msgstr "" +msgstr "Eemalda see rada." #: editor/animation_track_editor.cpp msgid "Time (s): " -msgstr "Aeg (Ajad): " +msgstr "Aeg (sek): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "" +msgstr "Lülita rada sisse" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -285,7 +287,7 @@ msgstr "Päästik" #: editor/animation_track_editor.cpp msgid "Capture" -msgstr "" +msgstr "Jäädvusta" #: editor/animation_track_editor.cpp msgid "Nearest" @@ -311,35 +313,35 @@ msgstr "" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "Sisesta Võti" +msgstr "Sisesta võti" #: editor/animation_track_editor.cpp msgid "Duplicate Key(s)" -msgstr "Kopeeri Võti (Võtmed)" +msgstr "Paljunda võti (võtmed)" #: editor/animation_track_editor.cpp msgid "Delete Key(s)" -msgstr "Kustuta Võti (Võtmed)" +msgstr "Kustuta võti (võtmed)" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" -msgstr "Muuda Animatsiooni Uuendamise Töörežiimi" +msgstr "Muuda animatsiooni uuendamise režiimi" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" -msgstr "Muuda Animatsiooni Interpolatsiooni Töörežiimi" +msgstr "Muuda animatsiooni interpolatsiooni režiimi" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" -msgstr "Muuda Animatsiooni Silmuse Töörežiimi" +msgstr "Muuda animatsiooni silmuse režiimi" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" -msgstr "" +msgstr "Eemalda animatsiooni rada" #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "" +msgstr "Loo uus rada %s-le ja sisesta võti?" #: editor/animation_track_editor.cpp msgid "Create %d NEW tracks and insert keys?" @@ -359,19 +361,19 @@ msgstr "Loo" #: editor/animation_track_editor.cpp msgid "Anim Insert" -msgstr "" +msgstr "Animatsiooni sisestus" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "AnimationPlayer ei saa ennast animeerida, ainult teise mänijaid." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" -msgstr "" +msgstr "Loo ja sisesta animatsioon" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" -msgstr "" +msgstr "Sisesta animatsiooni rada ja võti" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" @@ -379,15 +381,15 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Change Animation Step" -msgstr "Muuda Animatsiooni Sammu" +msgstr "Muuda animatsiooni sammu" #: editor/animation_track_editor.cpp msgid "Rearrange Tracks" -msgstr "" +msgstr "Paiguta rajad ümber" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "Radade muundamine rakendub ainult ruumilisele sõlmedele." #: editor/animation_track_editor.cpp msgid "" @@ -396,6 +398,10 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"Helirajad võivad osutada ainult järgmistele sõlmetüüpidele:\n" +"-AudioSteamPlayer\n" +"-AudioStreamPlayer2D\n" +"-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." @@ -416,7 +422,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Add Bezier Track" -msgstr "Lisa Bezieri Rada" +msgstr "Lisa Bezieri rada" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -424,15 +430,15 @@ msgstr "Raja tee on kehtetu, mistõttu ei sa lisada võtit." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "Rada pole Spatial tüüpi, ei saa sisestada võtit" #: editor/animation_track_editor.cpp msgid "Add Transform Track Key" -msgstr "" +msgstr "Lisa muunda raja võtit" #: editor/animation_track_editor.cpp msgid "Add Track Key" -msgstr "Lisa Raja Võti" +msgstr "Lisa raja võti" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -440,7 +446,7 @@ msgstr "Raja tee on kehtetu, mistõttu ei saa lisada meetodi võtit." #: editor/animation_track_editor.cpp msgid "Add Method Track Key" -msgstr "Lisa Meetodi Raja Võti" +msgstr "Lisa meetodi raja võti" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -456,7 +462,7 @@ msgstr "Lõikelaud on tühi" #: editor/animation_track_editor.cpp msgid "Paste Tracks" -msgstr "Kleebi Rajad" +msgstr "Kleebi rajad" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" @@ -817,7 +823,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1309,73 +1314,73 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Open Audio Bus Layout" -msgstr "" +msgstr "Ava heliliinide paigutus" #: editor/editor_audio_buses.cpp msgid "There is no '%s' file." -msgstr "" +msgstr "Faili '%s' ei ole eksisteeri." #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "Paigutus" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "" +msgstr "Vigane fial, ei ole heliliini paigutus." #: editor/editor_audio_buses.cpp msgid "Error saving file: %s" -msgstr "" +msgstr "Tõrge faili '%s' salvestamisel" #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "" +msgstr "Lisa siin" #: editor/editor_audio_buses.cpp msgid "Add a new Audio Bus to this layout." -msgstr "" +msgstr "Lisa uus helisiin sellele paigutusele." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "Lae" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "" +msgstr "Lae olemasolev siini paigutus." #: editor/editor_audio_buses.cpp msgid "Save As" -msgstr "" +msgstr "Salvesta kui…" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "" +msgstr "Salvesta see siini paigutus faili." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "" +msgstr "Laadi vaikimisi" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "" +msgstr "Lae vaikimise siini paigutus." #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." -msgstr "" +msgstr "Loo uus siini paigutus." #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "" +msgstr "Vigane nimi." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "" +msgstr "Kehtivad märgid:" #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing engine class name." -msgstr "" +msgstr "Ei tohi kokkupõrkuda mängumootori juba olemasoleva klassi nimega." #: editor/editor_autoload_settings.cpp msgid "Must not collide with an existing built-in type name." @@ -1387,7 +1392,7 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." -msgstr "" +msgstr "Võtmesõnu ei saa kasutada automaatsete nimedena." #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -1411,22 +1416,14 @@ msgstr "" #: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp msgid "Enable" -msgstr "" +msgstr "Luba" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -1438,17 +1435,17 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp msgid "Path:" -msgstr "" +msgstr "Tee:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Sõlme nimi:" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_profiler.cpp editor/project_manager.cpp #: editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Nimi" #: editor/editor_autoload_settings.cpp msgid "Singleton" @@ -1456,81 +1453,86 @@ msgstr "" #: editor/editor_data.cpp editor/inspector_dock.cpp msgid "Paste Params" -msgstr "" +msgstr "Kleebi parameetrid" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "Värskendan stseeni" #: editor/editor_data.cpp msgid "Storing local changes..." -msgstr "" +msgstr "Salvestan kohalikud muudatused..." #: editor/editor_data.cpp msgid "Updating scene..." -msgstr "" +msgstr "Värskendan stseeni..." #: editor/editor_data.cpp editor/editor_properties.cpp msgid "[empty]" -msgstr "" +msgstr "[tühi]" #: editor/editor_data.cpp msgid "[unsaved]" -msgstr "" +msgstr "[salvestamata]" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first." -msgstr "" +msgstr "Palun valige kõigepealt baaskataloog." #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Vali kataloog" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp editor/project_manager.cpp #: scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Loo kaust" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" -msgstr "" +msgstr "Nimi:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "" +msgstr "Ei saanud luua kausta." #: editor/editor_dir_dialog.cpp msgid "Choose" -msgstr "" +msgstr "Vali" #: editor/editor_export.cpp +#, fuzzy msgid "Storing File:" -msgstr "" +msgstr "Salvestan faili:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "" +msgstr "Eeldataval teekonnal ei leitud ühtegi ekspordimalli:" #: editor/editor_export.cpp msgid "Packing" -msgstr "" +msgstr "Pakin" #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" +"Sihtplatvorm nõuab GLES2 jaoks 'ETC' tekstuuri tihendamist. Projekti " +"seadetes lubage „Impordi ETCâ€." #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"Sihtplatvorm nõuab GLES3 jaoks 'ETC2' tekstuuri tihendamist. Projekti " +"seadetes lubage „Impordi ETC2â€." #: editor/editor_export.cpp msgid "" @@ -1539,6 +1541,9 @@ msgid "" "Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" +"Sihtplatvorm nõuab juhi varundamiseks GLES2-ga 'ETC' tekstuuri tihendamist.\n" +"Lülitage projekti sätetes sisse „Impordi ETC†või keelake „Draiveri " +"tagasilangemine lubatudâ€." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1554,7 +1559,7 @@ msgstr "" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" -msgstr "" +msgstr "Mallifaili ei leitud:" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." @@ -1562,11 +1567,11 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "3D Editor" -msgstr "" +msgstr "3D-redigeerija" #: editor/editor_feature_profile.cpp msgid "Script Editor" -msgstr "" +msgstr "Skriptiredaktor" #: editor/editor_feature_profile.cpp msgid "Asset Library" @@ -1574,7 +1579,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" -msgstr "" +msgstr "Stseenipuu redigeerimine" #: editor/editor_feature_profile.cpp msgid "Import Dock" @@ -1595,26 +1600,27 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Profile must be a valid filename and must not contain '.'" msgstr "" +"Profiil peab olema kehtiv failinimi ja see ei tohi sisaldada '.' (punkti)" #: editor/editor_feature_profile.cpp msgid "Profile with this name already exists." -msgstr "" +msgstr "Selle nimega profiil on juba olemas." #: editor/editor_feature_profile.cpp msgid "(Editor Disabled, Properties Disabled)" -msgstr "" +msgstr "(Redaktor keelatud, atribuudid keelatud)" #: editor/editor_feature_profile.cpp msgid "(Properties Disabled)" -msgstr "" +msgstr "(Atribuudid keelatud)" #: editor/editor_feature_profile.cpp msgid "(Editor Disabled)" -msgstr "" +msgstr "(Redaktor keelatud)" #: editor/editor_feature_profile.cpp msgid "Class Options:" -msgstr "" +msgstr "Klassi valikud:" #: editor/editor_feature_profile.cpp msgid "Enable Contextual Editor" @@ -1622,29 +1628,31 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Enabled Properties:" -msgstr "" +msgstr "Lubatud atribuudid:" #: editor/editor_feature_profile.cpp msgid "Enabled Features:" -msgstr "" +msgstr "Lubatud funktsioonid:" #: editor/editor_feature_profile.cpp msgid "Enabled Classes:" -msgstr "" +msgstr "Lubatud klassid:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." -msgstr "" +msgstr "Faili '% s' vorming on vale, import katkestati." #: editor/editor_feature_profile.cpp msgid "" "Profile '%s' already exists. Remove it first before importing, import " "aborted." msgstr "" +"Profiil '% s' on juba olemas. Enne importimist eemaldage see, import " +"katkestati." #: editor/editor_feature_profile.cpp msgid "Error saving profile to path: '%s'." -msgstr "" +msgstr "Viga profiili salvestamisel teele: '% s'." #: editor/editor_feature_profile.cpp msgid "Unset" @@ -1652,7 +1660,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Current Profile:" -msgstr "" +msgstr "Praegune profiil:" #: editor/editor_feature_profile.cpp msgid "Make Current" @@ -1662,82 +1670,82 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/version_control_editor_plugin.cpp msgid "New" -msgstr "" +msgstr "Uus" #: editor/editor_feature_profile.cpp editor/editor_node.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Impordi" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "Ekspordi" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" -msgstr "" +msgstr "Saadaolevad profiilid:" #: editor/editor_feature_profile.cpp msgid "Class Options" -msgstr "" +msgstr "Klassi valikud" #: editor/editor_feature_profile.cpp msgid "New profile name:" -msgstr "" +msgstr "Uus profiilinimi:" #: editor/editor_feature_profile.cpp msgid "Erase Profile" -msgstr "" +msgstr "Kustuta profiil" #: editor/editor_feature_profile.cpp msgid "Godot Feature Profile" -msgstr "" +msgstr "Godoti funktsiooniprofiil" #: editor/editor_feature_profile.cpp msgid "Import Profile(s)" -msgstr "" +msgstr "Impordi profiil(id)" #: editor/editor_feature_profile.cpp msgid "Export Profile" -msgstr "" +msgstr "Ekspordi profiil" #: editor/editor_feature_profile.cpp msgid "Manage Editor Feature Profiles" -msgstr "" +msgstr "Halda redigeerija funktsioonide profiile" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" -msgstr "" +msgstr "Valige praegune kaust" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Fail on olemas, kirjutate üle?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" -msgstr "" +msgstr "Vali see kaust" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" -msgstr "" +msgstr "Kopeeri tee" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Open in File Manager" -msgstr "" +msgstr "Ava failihalduris" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/filesystem_dock.cpp editor/project_manager.cpp msgid "Show in File Manager" -msgstr "" +msgstr "Kuva failihalduris" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "New Folder..." -msgstr "" +msgstr "Uus kaust..." #: editor/editor_file_dialog.cpp editor/find_in_files.cpp #: editor/plugins/version_control_editor_plugin.cpp msgid "Refresh" -msgstr "" +msgstr "Värskenda" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1745,50 +1753,50 @@ msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "Kõik failid (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Ava fail" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Ava fail(id)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Ava kataloog" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Ava kaust või kataloog" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/editor_properties.cpp editor/inspector_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Save" -msgstr "" +msgstr "Salvesta" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "" +msgstr "Salvesta fail" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Mine tagasi" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Mine edasi" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Mine üles" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Lülita varjatud failid sisse/välja" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" @@ -1800,15 +1808,15 @@ msgstr "" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "" +msgstr "Fookuse tee" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "Liiguta lemmikud üles" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "Liiguta lemmikud alla" #: editor/editor_file_dialog.cpp #, fuzzy @@ -1822,11 +1830,11 @@ msgstr "Mine Järgmisele Sammule" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder." -msgstr "" +msgstr "Mine vanema kausta." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh files." -msgstr "" +msgstr "Värskenda faile." #: editor/editor_file_dialog.cpp msgid "(Un)favorite current folder." @@ -1838,29 +1846,29 @@ msgstr "" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "" +msgstr "Kuva üksusi pisipiltide ruudustikuna." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." -msgstr "" +msgstr "Kuva üksused loendina." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "" +msgstr "Kataloogid ja failid:" #: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp #: editor/plugins/style_box_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Preview:" -msgstr "" +msgstr "Eelvaade:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File:" -msgstr "" +msgstr "Fail:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "Peab kasutama kehtivat laiendit." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1871,39 +1879,42 @@ msgid "" "There are multiple importers for different types pointing to file %s, import " "aborted" msgstr "" +"Erinevat tüüpi importijaid on mitu, mis osutavad failile % s, import " +"katkestati" #: editor/editor_file_system.cpp +#, fuzzy msgid "(Re)Importing Assets" -msgstr "" +msgstr "(Taas)impordin varasid" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" -msgstr "" +msgstr "Ãœlaosa" #: editor/editor_help.cpp msgid "Class:" -msgstr "" +msgstr "Klass:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp #: editor/script_create_dialog.cpp msgid "Inherits:" -msgstr "" +msgstr "Pärib:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "Päritud %s poolt" #: editor/editor_help.cpp msgid "Description" -msgstr "" +msgstr "Kirjeldus" #: editor/editor_help.cpp msgid "Online Tutorials" -msgstr "" +msgstr "Veebijuhendid" #: editor/editor_help.cpp msgid "Properties" -msgstr "" +msgstr "Atribuudid" #: editor/editor_help.cpp msgid "override:" @@ -1911,32 +1922,31 @@ msgstr "" #: editor/editor_help.cpp msgid "default:" -msgstr "" +msgstr "vaikimisi:" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Meetodid" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "" +msgstr "Teema atribuudid" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "" +msgstr "Loetelu" #: editor/editor_help.cpp msgid "Constants" -msgstr "" +msgstr "Konstandid" #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "" +msgstr "Atribuutide kirjeldused" #: editor/editor_help.cpp -#, fuzzy msgid "(value)" -msgstr "Väärtus:" +msgstr "(väärtus)" #: editor/editor_help.cpp msgid "" @@ -1946,7 +1956,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "" +msgstr "Meetodi kirjeldused" #: editor/editor_help.cpp msgid "" @@ -1957,43 +1967,43 @@ msgstr "" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Otsimise abi" #: editor/editor_help_search.cpp msgid "Case Sensitive" -msgstr "" +msgstr "Tõstutundlik" #: editor/editor_help_search.cpp msgid "Show Hierarchy" -msgstr "" +msgstr "Kuva hierarhia" #: editor/editor_help_search.cpp msgid "Display All" -msgstr "" +msgstr "Kuva kõik" #: editor/editor_help_search.cpp msgid "Classes Only" -msgstr "" +msgstr "Ainult klassid" #: editor/editor_help_search.cpp msgid "Methods Only" -msgstr "" +msgstr "Ainult meetodid" #: editor/editor_help_search.cpp msgid "Signals Only" -msgstr "" +msgstr "Ainult signaalid" #: editor/editor_help_search.cpp msgid "Constants Only" -msgstr "" +msgstr "Ainult konstandid" #: editor/editor_help_search.cpp msgid "Properties Only" -msgstr "" +msgstr "Ainult atribuudid" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "" +msgstr "Ainult teema atribuudid" #: editor/editor_help_search.cpp msgid "Member Type" @@ -2001,47 +2011,47 @@ msgstr "" #: editor/editor_help_search.cpp msgid "Class" -msgstr "" +msgstr "Klass" #: editor/editor_help_search.cpp msgid "Method" -msgstr "" +msgstr "Meetod" #: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp msgid "Signal" -msgstr "" +msgstr "Signaal" #: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constant" -msgstr "" +msgstr "Konstant" #: editor/editor_help_search.cpp msgid "Property" -msgstr "" +msgstr "Atribuut" #: editor/editor_help_search.cpp msgid "Theme Property" -msgstr "" +msgstr "Teema atribuut" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" -msgstr "" +msgstr "Atribuut:" #: editor/editor_inspector.cpp msgid "Set" -msgstr "" +msgstr "Sea" #: editor/editor_inspector.cpp msgid "Set Multiple:" -msgstr "" +msgstr "Sea mitu:" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Väljund:" #: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Copy Selection" -msgstr "" +msgstr "Kopeeri valik" #: editor/editor_log.cpp editor/editor_network_profiler.cpp #: editor/editor_profiler.cpp editor/editor_properties.cpp @@ -2051,21 +2061,23 @@ msgstr "" #: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Clear" -msgstr "" +msgstr "Puhasta" #: editor/editor_log.cpp msgid "Clear Output" -msgstr "" +msgstr "Puhasta väljund" #: editor/editor_network_profiler.cpp editor/editor_node.cpp #: editor/editor_profiler.cpp +#, fuzzy msgid "Stop" -msgstr "" +msgstr "Peatu/Stopp" #: editor/editor_network_profiler.cpp editor/editor_profiler.cpp #: editor/plugins/animation_state_machine_editor.cpp editor/rename_dialog.cpp +#, fuzzy msgid "Start" -msgstr "" +msgstr "Start/Käivita" #: editor/editor_network_profiler.cpp msgid "%s/s" @@ -2073,15 +2085,15 @@ msgstr "" #: editor/editor_network_profiler.cpp msgid "Down" -msgstr "" +msgstr "Alla" #: editor/editor_network_profiler.cpp msgid "Up" -msgstr "" +msgstr "Ãœles" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "Sõlm" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" @@ -2101,11 +2113,11 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp msgid "New Window" -msgstr "" +msgstr "Uus aken" #: editor/editor_node.cpp msgid "Imported resources can't be saved." -msgstr "" +msgstr "Imporditud ressursse ei saa salvestada." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -2114,21 +2126,23 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "" +msgstr "Viga ressursi salvestamisel!" #: editor/editor_node.cpp msgid "" "This resource can't be saved because it does not belong to the edited scene. " "Make it unique first." msgstr "" +"Seda ressurssi ei saa salvestada, kuna see ei kuulu muudetud stseeni. Esmalt " +"tehke see ainulaadseks." #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." -msgstr "" +msgstr "Salvesta ressurss kui..." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Faili ei saa kirjutamiseks avada:" #: editor/editor_node.cpp msgid "Requested file format unknown:" @@ -2136,11 +2150,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Viga salvestamisel." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "" +msgstr "'%si' ei saa avada. Faili võib olla teisaldatud või kustutatud." #: editor/editor_node.cpp msgid "Error while parsing '%s'." @@ -2148,37 +2162,39 @@ msgstr "" #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "Faili '%s' ootamatu lõpp." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "Puudub '%s' või selle sõltuvuspaketid." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "" +msgstr "Viga faili '%s' laadimisel." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Stseeni salvestamine" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Analüüsin" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Loon pisipilti" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." -msgstr "" +msgstr "Seda toimingut ei saa teha ilma puu juureta." #: editor/editor_node.cpp msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" +"Seda stseeni ei saa salvestada, kuna toimub tsükliline sisestus.\n" +"Lahenda see ja proovige siis uuesti salvestada." #: editor/editor_node.cpp msgid "" @@ -2188,27 +2204,27 @@ msgstr "" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "" +msgstr "Avatud stseeni ei saa üle kirjutada!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "MeshLibrary ei saa ühendamiseks laadida!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Viga MeshLibrary salvestamisel!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "TileSeti ei saa ühendamiseks laadida!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Viga TileSeti salvestamisel!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Viga paigutuse salvestamisel!" #: editor/editor_node.cpp msgid "Default editor layout overridden." @@ -2216,11 +2232,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Paigutuse nime ei leitud!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Taastati vaikepaigutus baasseadetesse." #: editor/editor_node.cpp msgid "" @@ -2349,11 +2365,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Stseeni salvestamine" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2620,10 +2639,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3229,6 +3244,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3814,6 +3833,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6691,11 +6714,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7166,6 +7189,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10086,7 +10118,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10246,6 +10278,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10292,11 +10331,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10416,6 +10455,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Faili ei ole olemas." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10456,6 +10499,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Kehtetu tee." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11486,6 +11533,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11509,6 +11560,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12119,23 +12196,23 @@ msgstr "" #: scene/main/viewport.cpp msgid "Viewport size must be greater than 0 to render anything." -msgstr "" +msgstr "Vaateakne suurus peab olema suurem kui 0, et kuvada." #: scene/resources/visual_shader_nodes.cpp msgid "Invalid source for preview." -msgstr "" +msgstr "Vigane eelvaate lähe." #: scene/resources/visual_shader_nodes.cpp msgid "Invalid source for shader." -msgstr "" +msgstr "Vigane varjutaja lähe." #: scene/resources/visual_shader_nodes.cpp msgid "Invalid comparison function for that type." -msgstr "" +msgstr "Vigane võrdlusfinktsioon selle tüübi jaoks." #: servers/visual/shader_language.cpp msgid "Assignment to function." -msgstr "" +msgstr "Funktsiooni määramine." #: servers/visual/shader_language.cpp msgid "Assignment to uniform." @@ -12147,4 +12224,7 @@ msgstr "" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." -msgstr "" +msgstr "Konstante ei saa muuta." + +#~ msgid "Not in resource path." +#~ msgstr "Ei ole ressursiteel." diff --git a/editor/translations/eu.po b/editor/translations/eu.po index f633f1c298..b47056d82b 100644 --- a/editor/translations/eu.po +++ b/editor/translations/eu.po @@ -3,11 +3,11 @@ # Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Julen Irazoki <rktzbkr.julen@gmail.com>, 2019. -# Osoitz <oelkoro@gmail.com>, 2019. +# Osoitz <oelkoro@gmail.com>, 2019, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2019-12-03 14:05+0000\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" "Last-Translator: Osoitz <oelkoro@gmail.com>\n" "Language-Team: Basque <https://hosted.weblate.org/projects/godot-engine/" "godot/eu/>\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -24,7 +24,7 @@ msgstr "" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "1 luzerako kate bat espero zen (karaktere bat)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -54,79 +54,79 @@ msgstr "" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "" +msgstr "'%s' eraikitzeko argumentu baliogabeak" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "" +msgstr "'%s' deitzean:" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "B" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "KiB" #: core/ustring.cpp msgid "MiB" -msgstr "" +msgstr "MiB" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "GiB" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "TiB" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "PiB" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "" +msgstr "Libre" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "" +msgstr "Orekatua" #: editor/animation_bezier_editor.cpp msgid "Mirror" -msgstr "" +msgstr "Ispilua" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp msgid "Time:" -msgstr "" +msgstr "Denbora:" #: editor/animation_bezier_editor.cpp msgid "Value:" -msgstr "" +msgstr "Balioa:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "" +msgstr "Txertatu gakoa hemen" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "" +msgstr "Bikoiztu hautatutako gakoa(k)" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "" +msgstr "Ezabatu hautatutako gakoak" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" -msgstr "" +msgstr "Gehitu Bezier puntua" #: editor/animation_bezier_editor.cpp msgid "Move Bezier Points" -msgstr "" +msgstr "Mugitu Bezier puntuak" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -178,12 +178,12 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Change Animation Length" -msgstr "" +msgstr "Aldatu animazioaren iraupena" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Aldatu animazioaren begizta" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -211,11 +211,11 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Animation length (frames)" -msgstr "" +msgstr "Animazioaren iraupena (fotogramak)" #: editor/animation_track_editor.cpp msgid "Animation length (seconds)" -msgstr "" +msgstr "Animazioaren iraupena (segundoak)" #: editor/animation_track_editor.cpp msgid "Add Track" @@ -496,7 +496,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Snap:" -msgstr "" +msgstr "Atxikitzea:" #: editor/animation_track_editor.cpp msgid "Animation step value." @@ -814,7 +814,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -950,32 +949,32 @@ msgstr "" #: editor/dependency_editor.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "" +msgstr "Mendekotasunak" #: editor/dependency_editor.cpp msgid "Resource" -msgstr "" +msgstr "Baliabidea" #: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp #: editor/project_manager.cpp editor/project_settings_editor.cpp msgid "Path" -msgstr "" +msgstr "Bidea" #: editor/dependency_editor.cpp msgid "Dependencies:" -msgstr "" +msgstr "Mendekotasunak:" #: editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "" +msgstr "Konpondu hautsitakoa" #: editor/dependency_editor.cpp msgid "Dependency Editor" -msgstr "" +msgstr "Mendekotasun-editorea" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "Bilatu ordezko baliabidea:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -985,15 +984,16 @@ msgstr "" #: modules/visual_script/visual_script_property_selector.cpp #: scene/gui/file_dialog.cpp msgid "Open" -msgstr "" +msgstr "Ireki" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "" +msgstr "Hauen jabeak:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (Can't be restored)" msgstr "" +"Kendu hautatutako fitxategiak proiektutik? (Ezin izango da berreskuratu)" #: editor/dependency_editor.cpp msgid "" @@ -1001,46 +1001,49 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" +"Kendu beharreko fitxategiak beste baliabide batzuek behar dituzte funtziona " +"dezaten.\n" +"Kendu, hala ere? (Ezin da desegin)" #: editor/dependency_editor.cpp msgid "Cannot remove:" -msgstr "" +msgstr "Ezin kendu:" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "" +msgstr "Errorea kargatzean:" #: editor/dependency_editor.cpp msgid "Load failed due to missing dependencies:" -msgstr "" +msgstr "Kargak huts egin du mendekotasunak falta direlako:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" -msgstr "" +msgstr "Ireki dena den" #: editor/dependency_editor.cpp msgid "Which action should be taken?" -msgstr "" +msgstr "Zein ekintza egin behar da?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "" +msgstr "Konpondu mendekotasunak" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "" +msgstr "Erroreak kargatzean!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "%d elementu behin betiko ezabatu nahi duzu? (Ezin da desegin!)" #: editor/dependency_editor.cpp msgid "Show Dependencies" -msgstr "" +msgstr "Erakutsi mendekotasunak" #: editor/dependency_editor.cpp msgid "Orphan Resource Explorer" -msgstr "" +msgstr "Baliabide umezurtzen arakatzailea" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp #: editor/editor_file_dialog.cpp editor/editor_node.cpp @@ -1048,27 +1051,28 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/project_export.cpp #: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp msgid "Delete" -msgstr "" +msgstr "Ezabatu" #: editor/dependency_editor.cpp msgid "Owns" -msgstr "" +msgstr "Jabea" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "" +msgstr "Jabetza esplizitu gabeko baliabideak:" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "" +msgstr "Aldatu hiztegiaren gakoa" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" -msgstr "" +msgstr "Aldatu hiztegiaren balioa" #: editor/editor_about.cpp +#, fuzzy msgid "Thanks from the Godot community!" -msgstr "" +msgstr "Eskerrik asko Godot komunitatearen partetik!" #: editor/editor_about.cpp msgid "Godot Engine contributors" @@ -1076,59 +1080,59 @@ msgstr "" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "" +msgstr "Proiektuaren sortzaileak" #: editor/editor_about.cpp msgid "Lead Developer" -msgstr "" +msgstr "Garatzaile nagusia" #: editor/editor_about.cpp msgid "Project Manager " -msgstr "" +msgstr "Proiektu-kudeatzailea " #: editor/editor_about.cpp msgid "Developers" -msgstr "" +msgstr "Garatzaileak" #: editor/editor_about.cpp msgid "Authors" -msgstr "" +msgstr "Egileak" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "" +msgstr "Platinozko babesleak" #: editor/editor_about.cpp msgid "Gold Sponsors" -msgstr "" +msgstr "Urrezko babesleak" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "" +msgstr "Mini babesleak" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "" +msgstr "Urrezko emaileak" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "" +msgstr "Zilarrezko emaileak" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "" +msgstr "Brontzezko emaileak" #: editor/editor_about.cpp msgid "Donors" -msgstr "" +msgstr "Emaileak" #: editor/editor_about.cpp msgid "License" -msgstr "" +msgstr "Lizentzia" #: editor/editor_about.cpp msgid "Third-party Licenses" -msgstr "" +msgstr "Hirugarrengoen lizentziak" #: editor/editor_about.cpp msgid "" @@ -1140,27 +1144,27 @@ msgstr "" #: editor/editor_about.cpp msgid "All Components" -msgstr "" +msgstr "Osagai guztiak" #: editor/editor_about.cpp msgid "Components" -msgstr "" +msgstr "Osagaiak" #: editor/editor_about.cpp msgid "Licenses" -msgstr "" +msgstr "Lizentziak" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in ZIP format." -msgstr "" +msgstr "Errorea pakete fitxategia irekitzean, ez dago ZIP formatuan." #: editor/editor_asset_installer.cpp msgid "%s (Already Exists)" -msgstr "" +msgstr "%s (jada existitzen da)" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "" +msgstr "Aktiboak deskonprimatzen" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "The following files failed extraction from package:" @@ -1168,28 +1172,28 @@ msgstr "" #: editor/editor_asset_installer.cpp msgid "And %s more files." -msgstr "" +msgstr "Eta beste %s fitxategi." #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package installed successfully!" -msgstr "" +msgstr "Paketea ondo instalatu da!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "" +msgstr "Arrakasta!" #: editor/editor_asset_installer.cpp msgid "Package Contents:" -msgstr "" +msgstr "Paketearen edukia:" #: editor/editor_asset_installer.cpp editor/editor_node.cpp msgid "Install" -msgstr "" +msgstr "Instalatu" #: editor/editor_asset_installer.cpp msgid "Package Installer" -msgstr "" +msgstr "Pakete instalatzailea" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1197,7 +1201,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "" +msgstr "Gehitu efektua" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" @@ -1237,7 +1241,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Drag & drop to rearrange." -msgstr "" +msgstr "Arrastatu eta jaregin berrantolatzeko." #: editor/editor_audio_buses.cpp msgid "Solo" @@ -1258,19 +1262,19 @@ msgstr "" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "" +msgstr "Bikoiztu" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "" +msgstr "Berrezarri bolumena" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "" +msgstr "Ezabatu efektua" #: editor/editor_audio_buses.cpp msgid "Audio" -msgstr "" +msgstr "Audioa" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1336,7 +1340,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "Kargatu" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." @@ -1344,7 +1348,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Save As" -msgstr "" +msgstr "Gorde honela" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." @@ -1414,16 +1418,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -1567,7 +1563,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Asset Library" -msgstr "" +msgstr "Aktiboen liburutegia" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" @@ -1668,35 +1664,35 @@ msgstr "" #: editor/editor_feature_profile.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "Esportatu" #: editor/editor_feature_profile.cpp msgid "Available Profiles:" -msgstr "" +msgstr "Eskuragarri dauden profilak:" #: editor/editor_feature_profile.cpp msgid "Class Options" -msgstr "" +msgstr "Klaseko aukerak" #: editor/editor_feature_profile.cpp msgid "New profile name:" -msgstr "" +msgstr "Profilaren izen berria:" #: editor/editor_feature_profile.cpp msgid "Erase Profile" -msgstr "" +msgstr "Ezabatu profila" #: editor/editor_feature_profile.cpp msgid "Godot Feature Profile" -msgstr "" +msgstr "Godot ezaugarri profila" #: editor/editor_feature_profile.cpp msgid "Import Profile(s)" -msgstr "" +msgstr "Inportatu profila(k)" #: editor/editor_feature_profile.cpp msgid "Export Profile" -msgstr "" +msgstr "Esportatu profila" #: editor/editor_feature_profile.cpp msgid "Manage Editor Feature Profiles" @@ -1704,32 +1700,32 @@ msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" -msgstr "" +msgstr "Hautatu uneko karpeta" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Fitxategia badago aurretik, gainidatzi?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" -msgstr "" +msgstr "Hautatu karpeta hau" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" -msgstr "" +msgstr "Kopiatu bidea" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Open in File Manager" -msgstr "" +msgstr "Ireki fitxategi-kudeatzailean" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/filesystem_dock.cpp editor/project_manager.cpp msgid "Show in File Manager" -msgstr "" +msgstr "Erakutsi fitxategi-kudeatzailean" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "New Folder..." -msgstr "" +msgstr "Karpeta berria..." #: editor/editor_file_dialog.cpp editor/find_in_files.cpp #: editor/plugins/version_control_editor_plugin.cpp @@ -1742,58 +1738,58 @@ msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "Fitxategi guztiak (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Ireki fitxategi bat" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Ireki fitxategia(k)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Ireki direktorioa" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Ireki fitxategia edo direktorioa" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/editor_properties.cpp editor/inspector_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Save" -msgstr "" +msgstr "Gorde" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "" +msgstr "Gorde fitxategia" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Joan atzera" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Joan aurrera" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Joan gora" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Txandakatu ezkutatutako fitxategiak" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "Txandakatu gogokoa" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "" +msgstr "Txandakatu modua" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1801,27 +1797,27 @@ msgstr "" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "Eraman gogokoa gora" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "Eraman gogoa behera" #: editor/editor_file_dialog.cpp msgid "Go to previous folder." -msgstr "" +msgstr "Joan aurreko karpetara." #: editor/editor_file_dialog.cpp msgid "Go to next folder." -msgstr "" +msgstr "Joan hurrengo karpetara." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder." -msgstr "" +msgstr "Joan guraso karpetara." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh files." -msgstr "" +msgstr "Eguneratu fitxategiak." #: editor/editor_file_dialog.cpp msgid "(Un)favorite current folder." @@ -1829,7 +1825,7 @@ msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Toggle the visibility of hidden files." -msgstr "" +msgstr "Txandakatu ezkutuko fitxategien ikusgaitasuna." #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." @@ -1837,25 +1833,25 @@ msgstr "" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." -msgstr "" +msgstr "Ikusi elementuak zerrenda gisa." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "" +msgstr "Direktorioak eta fitxategiak:" #: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp #: editor/plugins/style_box_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Preview:" -msgstr "" +msgstr "Aurrebista:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File:" -msgstr "" +msgstr "Fitxategia:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "Baliozko luzapena erabili behar du." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1869,7 +1865,7 @@ msgstr "" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "" +msgstr "Aktiboak (bir)inportatzen" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -1877,20 +1873,20 @@ msgstr "" #: editor/editor_help.cpp msgid "Class:" -msgstr "" +msgstr "Klasea:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp #: editor/script_create_dialog.cpp msgid "Inherits:" -msgstr "" +msgstr "Herentziak:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "Hauek heredatua:" #: editor/editor_help.cpp msgid "Description" -msgstr "" +msgstr "Deskripzioa" #: editor/editor_help.cpp msgid "Online Tutorials" @@ -1898,31 +1894,31 @@ msgstr "" #: editor/editor_help.cpp msgid "Properties" -msgstr "" +msgstr "Propietateak" #: editor/editor_help.cpp msgid "override:" -msgstr "" +msgstr "gainidatzi:" #: editor/editor_help.cpp msgid "default:" -msgstr "" +msgstr "lehenetsia:" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Metodoak" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "" +msgstr "Azalaren propietateak" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "" +msgstr "Enumerazioak" #: editor/editor_help.cpp msgid "Constants" -msgstr "" +msgstr "Konstanteak" #: editor/editor_help.cpp msgid "Property Descriptions" @@ -1930,7 +1926,7 @@ msgstr "" #: editor/editor_help.cpp msgid "(value)" -msgstr "" +msgstr "(balioa)" #: editor/editor_help.cpp msgid "" @@ -1940,7 +1936,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "" +msgstr "Metodo-deskripzioak" #: editor/editor_help.cpp msgid "" @@ -1951,63 +1947,63 @@ msgstr "" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Bilatu laguntza" #: editor/editor_help_search.cpp msgid "Case Sensitive" -msgstr "" +msgstr "Maiuskulak eta minuskulak" #: editor/editor_help_search.cpp msgid "Show Hierarchy" -msgstr "" +msgstr "Erakutsi hierarkia" #: editor/editor_help_search.cpp msgid "Display All" -msgstr "" +msgstr "Erakutsi guztiak" #: editor/editor_help_search.cpp msgid "Classes Only" -msgstr "" +msgstr "Klaseak bakarrik" #: editor/editor_help_search.cpp msgid "Methods Only" -msgstr "" +msgstr "Metodoak bakarrik" #: editor/editor_help_search.cpp msgid "Signals Only" -msgstr "" +msgstr "Seinaleak bakarrik" #: editor/editor_help_search.cpp msgid "Constants Only" -msgstr "" +msgstr "Konstanteak bakarrik" #: editor/editor_help_search.cpp msgid "Properties Only" -msgstr "" +msgstr "Propietateak bakarrik" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "" +msgstr "Azalaren propietateak bakarrik" #: editor/editor_help_search.cpp msgid "Member Type" -msgstr "" +msgstr "Kide mota" #: editor/editor_help_search.cpp msgid "Class" -msgstr "" +msgstr "Klasea" #: editor/editor_help_search.cpp msgid "Method" -msgstr "" +msgstr "Metodoa" #: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp msgid "Signal" -msgstr "" +msgstr "Seinalea" #: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constant" -msgstr "" +msgstr "Konstantea" #: editor/editor_help_search.cpp msgid "Property" @@ -2015,7 +2011,7 @@ msgstr "" #: editor/editor_help_search.cpp msgid "Theme Property" -msgstr "" +msgstr "Azalaren propietatea" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" @@ -2343,11 +2339,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Birkargatu azala" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2605,16 +2604,12 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "" +msgstr "Desegin" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Redo" -msgstr "" - -#: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" +msgstr "Berregin" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." @@ -2623,27 +2618,27 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp msgid "Project" -msgstr "" +msgstr "Proiektua" #: editor/editor_node.cpp msgid "Project Settings..." -msgstr "" +msgstr "Proiektuaren ezarpenak..." #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Version Control" -msgstr "" +msgstr "Bertsio kontrola" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Set Up Version Control" -msgstr "" +msgstr "Ezarri bertsio kontrola" #: editor/editor_node.cpp msgid "Shut Down Version Control" -msgstr "" +msgstr "Desgaitu bertsio kontrola" #: editor/editor_node.cpp msgid "Export..." -msgstr "" +msgstr "Esportatu..." #: editor/editor_node.cpp msgid "Install Android Build Template..." @@ -2651,24 +2646,24 @@ msgstr "" #: editor/editor_node.cpp msgid "Open Project Data Folder" -msgstr "" +msgstr "Ireki proiektuaren datu karpeta" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" -msgstr "" +msgstr "Tresnak" #: editor/editor_node.cpp msgid "Orphan Resource Explorer..." -msgstr "" +msgstr "Baliabide umezurtzen arakatzailea..." #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Irten proiektuen zerrendara" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp msgid "Debug" -msgstr "" +msgstr "Araztu" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" @@ -2696,7 +2691,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "" +msgstr "Talka formak ikusgai" #: editor/editor_node.cpp msgid "" @@ -2760,11 +2755,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Txandakatu pantaila osoa" #: editor/editor_node.cpp msgid "Toggle System Console" -msgstr "" +msgstr "Txandakatu sistemaren kontsola" #: editor/editor_node.cpp msgid "Open Editor Data/Settings Folder" @@ -2772,23 +2767,23 @@ msgstr "" #: editor/editor_node.cpp msgid "Open Editor Data Folder" -msgstr "" +msgstr "Ireki editorearen datu karpeta" #: editor/editor_node.cpp msgid "Open Editor Settings Folder" -msgstr "" +msgstr "Ireki editorearen ezarpenen karpeta" #: editor/editor_node.cpp msgid "Manage Editor Features..." -msgstr "" +msgstr "Kudeatu editorearen ezaugarriak..." #: editor/editor_node.cpp msgid "Manage Export Templates..." -msgstr "" +msgstr "Kudeatu esportazio txantiloiak..." #: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp msgid "Help" -msgstr "" +msgstr "Laguntza" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp @@ -2797,20 +2792,20 @@ msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp editor/project_manager.cpp #: editor/project_settings_editor.cpp editor/rename_dialog.cpp msgid "Search" -msgstr "" +msgstr "Bilatu" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Lineako dokumentuak" #: editor/editor_node.cpp msgid "Q&A" -msgstr "" +msgstr "Galdera-erantzunak" #: editor/editor_node.cpp msgid "Report a Bug" -msgstr "" +msgstr "Eman akats baten berri" #: editor/editor_node.cpp msgid "Send Docs Feedback" @@ -2818,11 +2813,11 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Komunitatea" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Honi buruz" #: editor/editor_node.cpp msgid "Play the project." @@ -2978,7 +2973,7 @@ msgstr "" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "Ireki aktiboen liburutegia" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -3204,7 +3199,7 @@ msgstr "" #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Badago editatutako eszena bat." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" @@ -3216,44 +3211,48 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Ezin izan da scripta exekutatu:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Hautatu inportatu nahi dituzun nodoak" #: editor/editor_sub_scene.cpp editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "Arakatu" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Eszenaren bidea:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Inportatu nodotik:" #: editor/export_template_manager.cpp msgid "Redownload" -msgstr "" +msgstr "Berriro jaitsi" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "Desinstalatu" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "" +msgstr "(Instalatuta)" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download" -msgstr "" +msgstr "Jaitsi" #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." @@ -3261,11 +3260,11 @@ msgstr "" #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "" +msgstr "(Falta da)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "" +msgstr "(Unekoa)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait..." @@ -3312,6 +3311,8 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Ez da bertsio hau jaisteko estekarik aurkitu. Deskarga zuzena bertsio " +"ofizialentzat besterik ez dago." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3343,7 +3344,7 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "Jaitsiera osatuta." #: editor/export_template_manager.cpp msgid "Cannot remove temporary file:" @@ -3395,11 +3396,11 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "Jaisten" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "" +msgstr "Konexio-errorea" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" @@ -3411,35 +3412,35 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Uneko bertsioa:" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "" +msgstr "Instalatutako bertsioak:" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "" +msgstr "Instalatu fitxategitik" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "" +msgstr "Kendu txantiloia" #: editor/export_template_manager.cpp msgid "Select Template File" -msgstr "" +msgstr "Hautatu txantiloi fitxategia" #: editor/export_template_manager.cpp msgid "Godot Export Templates" -msgstr "" +msgstr "Godot esportazio-txantiloiak" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "Esportazio-txantiloi kudeatzailea" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "" +msgstr "Jaitsi txantiloiak" #: editor/export_template_manager.cpp msgid "Select mirror from list: (Shift+Click: Open in Browser)" @@ -3584,7 +3585,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Next Folder/File" -msgstr "" +msgstr "Hurrengo karpeta/fitxategia" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" @@ -3596,17 +3597,19 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Search files" -msgstr "" +msgstr "Bilatu fitxategiak" #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." msgstr "" +"Fitxategiak arakatzen,\n" +"Itxaron mesedez..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Mugitu" #: editor/filesystem_dock.cpp msgid "There is already file or folder with the same name in this location." @@ -3806,12 +3809,16 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" #: editor/import_dock.cpp msgid "%d Files" -msgstr "" +msgstr "%d fitxategi" #: editor/import_dock.cpp msgid "Set as Default for '%s'" @@ -3835,7 +3842,7 @@ msgstr "" #: editor/import_dock.cpp msgid "Save Scenes, Re-Import, and Restart" -msgstr "" +msgstr "Gorde eszenak, berriro inportatu eta berrabiarazi" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." @@ -3845,6 +3852,8 @@ msgstr "" msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"ABISUA: Baliabide hau darabiltzaten aktiboak daude, kargatzeari utzi " +"liezaiokete." #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -4040,7 +4049,7 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Add Animation Point" -msgstr "" +msgstr "Gehitu animazio puntua" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Remove BlendSpace1D Point" @@ -4072,7 +4081,7 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp msgid "Enable snap and show grid." -msgstr "" +msgstr "Gaitu atxikitzea eta erakutsi sareta." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4247,7 +4256,7 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Enable Filtering" -msgstr "" +msgstr "Gaitu iragazkia" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -4255,38 +4264,38 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Animazio berriaren izena:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Animazio berria" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Aldatu animazioaren izena:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "Ezabatu animazioa?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Kendu animazioa" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Invalid animation name!" -msgstr "" +msgstr "Animazio izen baliogabea!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation name already exists!" -msgstr "" +msgstr "Animazio izena existitzen da jada!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Aldatu izena animazioari" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" @@ -4298,31 +4307,31 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "Kargatu animazioa" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Bikoiztu animazioa" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to copy!" -msgstr "" +msgstr "Ez dago animaziorik kopiatzeko!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation resource on clipboard!" -msgstr "" +msgstr "Ez dago animazio baliabiderik arbelean!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Itsatsitako animazioa" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Itsatsi animazioa" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to edit!" -msgstr "" +msgstr "Ez dago animaziorik editatzeko!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" @@ -4662,7 +4671,7 @@ msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "Blend4 nodoa" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" @@ -4674,51 +4683,51 @@ msgstr "" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Trantsizio nodoa" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Import Animations..." -msgstr "" +msgstr "Inportatu animazioak..." #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Editatu nodo-iragazkiak" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Filters..." -msgstr "" +msgstr "Iragazkiak..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "" +msgstr "Edukiak:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "Ikusi fitxategiak" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Konexio errorea, saiatu berriro." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "Ezin da ostalariarekin konektatu:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ostalariaren erantzunik ez:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Ezin duzu ostalariaren izena ebatzi:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Eskaerak huts egin du, itzulera-kodea:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed." -msgstr "" +msgstr "Eskaerak huts egin du." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Cannot save response to:" @@ -4746,7 +4755,7 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "Jaitsiera hash okerra, fitxategia aldatua izan delakoan." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" @@ -4762,15 +4771,15 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Aktiboaren jaitsiera errorea:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Downloading (%s / %s)..." -msgstr "" +msgstr "Jaisten (%s / %s)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Downloading..." -msgstr "" +msgstr "Jaisten..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." @@ -4794,11 +4803,11 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Jaitsiera errorea" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Aktibo honen jaitsiera abian da jada!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Recently Updated" @@ -4887,7 +4896,7 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "" +msgstr "Aktiboen ZIP fitxategia" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -4917,7 +4926,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "Konfiguratu atxikitzea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" @@ -5222,72 +5231,72 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." -msgstr "" +msgstr "Txandakatu atxikitze adimentsua." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Smart Snap" -msgstr "" +msgstr "Erabili atxikitze adimentsua" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle grid snapping." -msgstr "" +msgstr "Txandakatu saretara atxikitzea." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Grid Snap" -msgstr "" +msgstr "Erabili saretara atxikitzea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" -msgstr "" +msgstr "Atxikitze aukerak" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Erabili biraketa atxikitzea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Scale Snap" -msgstr "" +msgstr "Erabili eskala atxikitzea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Atxikitze erlatiboa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Erabili pixel atxikitzea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart Snapping" -msgstr "" +msgstr "Atxikitze adimentsua" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "Konfiguratu atxikitzea..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Parent" -msgstr "" +msgstr "Atxikitu gurasora" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Node Anchor" -msgstr "" +msgstr "Atxikitu nodoaren aingurara" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Node Sides" -msgstr "" +msgstr "Atxikitu nodoaren ertzetara" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Node Center" -msgstr "" +msgstr "Atxikitu nodoaren zentrora" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Other Nodes" -msgstr "" +msgstr "Atxikitu beste nodoetara" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to Guides" -msgstr "" +msgstr "Atxikitu gidalerroetara" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -6298,11 +6307,11 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Snap" -msgstr "" +msgstr "Atxikitu" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Enable Snap" -msgstr "" +msgstr "Gaitu atxikitzea" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" @@ -6416,7 +6425,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme." -msgstr "" +msgstr "Errorea azala gordetzean." #: editor/plugins/script_editor_plugin.cpp msgid "Error Saving" @@ -6424,7 +6433,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme." -msgstr "" +msgstr "Errorea azala inportatzean." #: editor/plugins/script_editor_plugin.cpp msgid "Error Importing" @@ -6461,11 +6470,11 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "Inportatu azala" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Errorea azala gordetzean" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" @@ -6473,7 +6482,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As..." -msgstr "" +msgstr "Gorde azala honela..." #: editor/plugins/script_editor_plugin.cpp msgid "%s Class Reference" @@ -6560,19 +6569,19 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Theme" -msgstr "" +msgstr "Azala" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme..." -msgstr "" +msgstr "Inportatu azala..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "" +msgstr "Birkargatu azala" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "" +msgstr "Gorde azala" #: editor/plugins/script_editor_plugin.cpp msgid "Close All" @@ -6677,11 +6686,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7151,12 +7160,21 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Snap Nodes To Floor" +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Nodes To Floor" +msgstr "Atxikitu nodoak lurrera" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Couldn't find a solid floor to snap the selection to." -msgstr "" +msgstr "Ez da hautapena atxikitzeko lur trinkorik aurkitu." #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -7171,7 +7189,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Erabili atxikitzea" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" @@ -7224,7 +7242,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Object to Floor" -msgstr "" +msgstr "Atxikitu objektua lurrera" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." @@ -7273,19 +7291,19 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "" +msgstr "Atxikitze ezarpenak" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "" +msgstr "Translazio atzikitzea:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "" +msgstr "Biratze atxikitzea (graduak):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "" +msgstr "Eskala atxikitzea (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" @@ -7553,7 +7571,7 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "Atxikitze modua:" #: editor/plugins/texture_region_editor_plugin.cpp #: scene/resources/visual_shader.cpp @@ -7562,11 +7580,11 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Pixel atxikitzea" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "Sareta atxikitzea" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" @@ -7598,19 +7616,19 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "" +msgstr "Kendu elementu guztiak" #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp msgid "Remove All" -msgstr "" +msgstr "Kendu guztiak" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit Theme" -msgstr "" +msgstr "Editatu azala" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Azalaren edizio menua." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" @@ -7630,7 +7648,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Sortu editorearen uneko azaletik" #: editor/plugins/theme_editor_plugin.cpp msgid "Toggle Button" @@ -7739,7 +7757,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme File" -msgstr "" +msgstr "Azal fitxategia" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" @@ -7963,6 +7981,7 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Enable snap and show grid (configurable via the Inspector)." msgstr "" +"Gaitu atxikitzea eta erakutsi sareta (Inspektorearen bidez konfiguragarria)." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Display Tile Names (Hold Alt Key)" @@ -9149,7 +9168,7 @@ msgstr "" #: editor/project_export.cpp msgid "Features" -msgstr "" +msgstr "Ezaugarriak" #: editor/project_export.cpp msgid "Custom (comma-separated):" @@ -9157,11 +9176,11 @@ msgstr "" #: editor/project_export.cpp msgid "Feature List:" -msgstr "" +msgstr "Ezaugarri zerrenda:" #: editor/project_export.cpp msgid "Script" -msgstr "" +msgstr "Scripta" #: editor/project_export.cpp msgid "Script Export Mode:" @@ -9169,11 +9188,11 @@ msgstr "" #: editor/project_export.cpp msgid "Text" -msgstr "" +msgstr "Testua" #: editor/project_export.cpp msgid "Compiled" -msgstr "" +msgstr "Konpilatuta" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" @@ -9229,7 +9248,7 @@ msgstr "" #: editor/project_manager.cpp msgid "Error opening package file (it's not in ZIP format)." -msgstr "" +msgstr "Errorea pakete fitxategia irekitzean (ez dago ZIP formatuan)." #: editor/project_manager.cpp msgid "" @@ -9242,7 +9261,7 @@ msgstr "" #: editor/project_manager.cpp msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" +msgstr "Aukeratu \"project.godot\" edo \".zip\" fitxategia." #: editor/project_manager.cpp msgid "This directory already contains a Godot project." @@ -9425,6 +9444,8 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"Ezin da proiektua exekutatu: Aktiboak inportatu behar dira.\n" +"Editatu proiektua hasierako inportazioa abiatzeko." #: editor/project_manager.cpp msgid "Are you sure to run %d projects at once?" @@ -9505,6 +9526,8 @@ msgid "" "You currently don't have any projects.\n" "Would you like to explore official example projects in the Asset Library?" msgstr "" +"Orain ez duzu proiekturik.\n" +"Adibide ofizialak arakatu nahi dituzu aktiboen liburutegian?" #: editor/project_manager.cpp msgid "" @@ -9899,7 +9922,7 @@ msgstr "" #: editor/rename_dialog.cpp msgid "Use Regular Expressions" -msgstr "" +msgstr "Erabili adierazpen erregularrak" #: editor/rename_dialog.cpp msgid "Advanced Options" @@ -9975,7 +9998,7 @@ msgstr "" #: editor/rename_dialog.cpp msgid "PascalCase to snake_case" -msgstr "" +msgstr "PascalCase snake_case-ra" #: editor/rename_dialog.cpp msgid "snake_case to PascalCase" @@ -9999,7 +10022,7 @@ msgstr "" #: editor/rename_dialog.cpp msgid "Regular Expression Error" -msgstr "" +msgstr "Adierazpen erregularraren errorea" #: editor/rename_dialog.cpp msgid "At character %s" @@ -10068,8 +10091,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Scripta" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10226,6 +10250,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10272,11 +10303,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10396,6 +10427,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10436,6 +10471,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -10445,7 +10484,7 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "Script path/name is valid." -msgstr "" +msgstr "Scriptaren bidea/izena baliozkoa da." #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9, _ and ." @@ -10472,6 +10511,8 @@ msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." msgstr "" +"Oharra: Inkorporatutako gidoiek muga batzuk dituzte eta ezin dira editatu " +"kanpoko editore batekin." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -10595,7 +10636,7 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Export list to a CSV file" -msgstr "" +msgstr "Esportatu zerrenda CSV fitxategi batera" #: editor/script_editor_debugger.cpp msgid "Resource Path" @@ -10871,7 +10912,7 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" -msgstr "" +msgstr "Atxikitu ikuspegia" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Disabled" @@ -11460,6 +11501,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11483,6 +11528,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 2754720d3b..3f94d1112b 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -871,7 +871,6 @@ msgstr "اتصال سیگنال:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1503,18 +1502,9 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "مسیر نامعتبر." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "پرونده موجود نیست." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "در مسیر٠منبع نیست." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2493,11 +2483,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "باز کردن صØنه" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2773,10 +2766,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3413,6 +3402,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "انتخاب گره (ها) برای وارد شدن" @@ -4045,6 +4038,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -7088,15 +7085,15 @@ msgid "" msgstr "'s%' را از 's%' جدا Ú©Ù†" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "خط:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "اÙزودن وظیÙÙ‡" @@ -7593,6 +7590,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10691,8 +10697,8 @@ msgstr "ارث‌بری صØنهٔ Ùرزند" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Clear Script" -msgstr "صØنه جدید" +msgid "Detach Script" +msgstr "پیوست کردن اسکریپت" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10861,6 +10867,13 @@ msgid "Open Documentation" msgstr "شمارش ها" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "اÙزودن گره Ùرزند" @@ -10910,11 +10923,13 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "پیوست کردن یک اسکریپت جدید یا از پیش موجود برای گره انتخابی." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Øذ٠یک اسکریپت برای گره انتخابی." #: editor/scene_tree_dock.cpp @@ -11043,6 +11058,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "پرونده موجود نیست." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "باید از یک پسوند معتبر استÙاده شود." @@ -11091,6 +11110,11 @@ msgstr "Ùایل وجود دارد، آیا بازنویسی شود؟" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "مسیر نامعتبر." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "نام نامعتبر." @@ -12200,6 +12224,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12224,6 +12252,32 @@ msgstr "نام نامعتبر." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12952,6 +13006,13 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "در مسیر٠منبع نیست." + +#, fuzzy +#~ msgid "Clear Script" +#~ msgstr "صØنه جدید" + #~ msgid "Replaced %d occurrence(s)." #~ msgstr "تعداد d% رخداد جایگزین شد." diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 6695783866..a95c65be41 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-05-01 11:42+0000\n" +"PO-Revision-Date: 2020-06-15 01:48+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.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -839,7 +839,6 @@ msgstr "Ei voida yhdistää signaalia" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1453,17 +1452,9 @@ msgstr "Ota käyttöön" msgid "Rearrange Autoloads" msgstr "Järjestele uudelleen automaattiset lataukset" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Virheellinen polku." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Tiedostoa ei ole olemassa." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ei löytynyt resurssipolusta." +msgid "Can't add autoload:" +msgstr "Ei voida lisätä automaattisesti ladattavaa:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1579,8 +1570,8 @@ msgid "" "Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" -"GLES2 vara-ajuri tarvitsee kohdealustalla 'ETC' tekstuuripakkausta. Kytke " -"'Import Etc' päälle projektin asetuksista tai poista 'Driver Fallback " +"GLES2 vara-ajuri tarvitsee kohdealustalla 'ETC' tekstuuripakkausta.\n" +"Kytke 'Import Etc' päälle projektin asetuksista tai poista 'Driver Fallback " "Enabled' asetus." #: editor/editor_export.cpp platform/android/export/export.cpp @@ -1970,7 +1961,7 @@ msgstr "Teeman ominaisuudet" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "Enumeraatiot" +msgstr "Luetteloinnit" #: editor/editor_help.cpp msgid "Constants" @@ -2421,12 +2412,17 @@ msgid "Can't reload a scene that was never saved." msgstr "Ei voida ladata uudelleen skeneä, jota ei ole koskaan tallennettu." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Palauta" +msgid "Reload Saved Scene" +msgstr "Avaa uudelleen tallennettu skene" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Tätä toimintoa ei voida peruttaa. Palauta joka tapauksessa?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"Nykyisessä skenessä on tallentamattomia muutoksia.\n" +"Avataanko tallennettu skene uudelleen siitä huolimatta? Tätä toimintoa ei " +"voi perua." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2708,10 +2704,6 @@ msgid "Redo" msgstr "Tee uudelleen" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Palauta skene" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Sekalaiset projekti- tai skenetyökalut." @@ -3357,6 +3349,12 @@ msgstr "Skriptiä ei voitu suorittaa:" msgid "Did you forget the '_run' method?" msgstr "Unohditko '_run' metodin?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Pidä Ctrl pohjassa pyöristääksesi kokonaislukuun. Pidä Shift pohjassa " +"tarkempia muutoksia varten." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Valitse tuotavat solmut" @@ -3953,6 +3951,11 @@ msgid "Error running post-import script:" msgstr "Virhe ajettaessa tuonnin jälkeistä skriptiä:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" +"Palautitko Node-solmusta periytyvän objektin `post_import()` metodissa?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Tallennetaan..." @@ -6905,12 +6908,12 @@ msgstr "" "Yhdistetty metodi '%s' signaalille '%s' puuttuu solmusta '%s' solmuun '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Rivi" +msgid "[Ignore]" +msgstr "[Sivuuta]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(sivuuta)" +msgid "Line" +msgstr "Rivi" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7384,6 +7387,21 @@ msgid "XForm Dialog" msgstr "XForm-ikkuna" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Napsauta vaihtaaksesi näkyvyystilojen välillä.\n" +"\n" +"Avoin silmä: muokkain on näkyvissä.\n" +"Suljettu silmä: muokkain on piilotettu.\n" +"Puoliavoin silmä: muokkain on näkyvissä myös läpikuultamattomien pintojen " +"läpi (\"röntgen\")." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Tarraa solmut lattiaan" @@ -8795,7 +8813,7 @@ msgstr "E-vakio (2.718282). Kuvastaa luonnollisen logaritmin kantalukua." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Epsilon constant (0.00001). Smallest possible scalar number." -msgstr "Epsilon-vakio (0.00001). Pienin mahdollinen skaalariluku." +msgstr "Epsilon-vakio (0.00001). Pienin mahdollinen skaalariluku." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Phi constant (1.618034). Golden ratio." @@ -9277,7 +9295,7 @@ msgid "" "direction of camera (pass associated inputs to it)." msgstr "" "Palauttaa valovähentymän perustuen pinnan normaalivektorin ja kameran " -"suuntavektorin pistetuloon (välitä nämä syötteinä)." +"suuntavektorin pistetuloon (välitä sille liittyvät syötteet)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -10468,8 +10486,8 @@ msgid "Instance Child Scene" msgstr "Luo aliskenen ilmentymä" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Poista skripti" +msgid "Detach Script" +msgstr "Irrota skripti" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10637,6 +10655,16 @@ msgid "Open Documentation" msgstr "Avaa dokumentaatio" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"Ei voida liittää skriptiä: yhtään kieltä ei ole rekisteröity.\n" +"Tämä johtuu luultavasti siitä, että editori on käännetty ilman yhtäkään " +"kielimoduulia." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Lisää alisolmu" @@ -10685,12 +10713,12 @@ msgstr "" "juurisolmua ei ole olemassa." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "Liitä uusi tai olemassa oleva skripti valitulle solmulle." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Poista skripti valitulta solmulta." +msgid "Detach the script from the selected node." +msgstr "Irrota skripti valitusta solmusta." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10821,6 +10849,10 @@ msgid "A directory with the same name exists." msgstr "Samanniminen hakemisto on jo olemassa." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Tiedostoa ei ole olemassa." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Virheellinen tiedostopääte." @@ -10861,6 +10893,10 @@ msgid "File exists, it will be reused." msgstr "Tiedosto on jo olemassa, se käytetään uudelleen." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Virheellinen polku." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Virheellinen luokan nimi." @@ -11910,6 +11946,10 @@ msgstr "" "Debug keystore ei ole määritettynä editorin asetuksissa eikä esiasetuksissa." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "Release keystore on konfiguroitu väärin viennin esiasetuksissa." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Mukautettu käännös edellyttää kelvollista Android SDK -polkua editorin " @@ -11939,6 +11979,42 @@ msgstr "Virheellinen paketin nimi:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"\"android/modules\" projektiasetukseen on liitetty virheellinen " +"\"GodotPaymentV3\" moduuli (muuttunut Godotin versiossa 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" +"\"Use Custom Build\" asetuksen täytyy olla päällä, jotta liittännäisiä voi " +"käyttää." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"\"Degrees Of Freedom\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetus " +"on \"Oculus Mobile VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Hand Tracking\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetus on " +"\"Oculus Mobile VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Focus Awareness\" on käyttökelpoinen ainoastaan kun \"Xr Mode\" asetus on " +"\"Oculus Mobile VR\"." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12669,8 +12745,8 @@ msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" -"Projektin asetuksissa määriteltyä oletusympäristöä (Rendering -> " -"Environment -> Default Environment) ei voitu ladata." +"Projektin asetuksissa määriteltyä oletusympäristöä (Rendering -> Environment " +"-> Default Environment) ei voitu ladata." #: scene/main/viewport.cpp msgid "" @@ -12717,6 +12793,21 @@ msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa." msgid "Constants cannot be modified." msgstr "Vakioita ei voi muokata." +#~ msgid "Not in resource path." +#~ msgstr "Ei löytynyt resurssipolusta." + +#~ msgid "Revert" +#~ msgstr "Palauta" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Tätä toimintoa ei voida peruttaa. Palauta joka tapauksessa?" + +#~ msgid "Revert Scene" +#~ msgstr "Palauta skene" + +#~ msgid "Clear Script" +#~ msgstr "Poista skripti" + #~ msgid "Issue Tracker" #~ msgstr "Ilmoita viasta" diff --git a/editor/translations/fil.po b/editor/translations/fil.po index 32405930ea..920b91a30c 100644 --- a/editor/translations/fil.po +++ b/editor/translations/fil.po @@ -822,7 +822,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1422,16 +1421,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2352,11 +2343,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2622,10 +2615,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3233,6 +3222,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3817,6 +3810,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6693,11 +6690,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7167,6 +7164,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10087,7 +10093,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10245,6 +10251,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10291,11 +10304,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10415,6 +10428,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10455,6 +10472,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11484,6 +11505,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11507,6 +11532,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index bb371b7674..fac3b9b84b 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -42,7 +42,7 @@ # Xananax <xananax@yelostudio.com>, 2017-2018. # Perrier Mathis <mathis.perrier73@gmail.com>, 2018. # Ewan Lehnebach <ewan.lehnebach@gmail.com>, 2018. -# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2018, 2019. +# Hugo Locurcio <hugo.locurcio@hugo.pro>, 2018, 2019, 2020. # Grigore Antoniuc <grisa181@gmail.com>, 2018. # x2f <x.defoy@gmail.com>, 2018. # LittleWhite <lw.demoscene@googlemail.com>, 2018. @@ -72,12 +72,15 @@ # Pierre Caye <pierrecaye@laposte.net>, 2020. # Kevin Bouancheau <kevin.bouancheau@gmail.com>, 2020. # LaurentOngaro <laurent@gameamea.com>, 2020. +# Julien Humbert <julroy67@gmail.com>, 2020. +# Nathan <bonnemainsnathan@gmail.com>, 2020. +# Léo Vincent <l009.vincent@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-05 14:01+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -101,7 +104,7 @@ msgstr "Une chaîne de caractères de longueur 1 est attendue (un caractère)." #: 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 "Pas assez d'octets pour le décodage, ou format non valide." +msgstr "Pas assez d’octets pour le décodage, ou format non valide." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -109,7 +112,7 @@ msgstr "Entrée non valide %i (non transmise) dans l’expression" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "self ne peut être utilisé car l'instance est nulle (non passée)" +msgstr "self ne peut être utilisé car l’instance est nulle (non transmise)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -129,7 +132,7 @@ msgstr "Arguments invalides pour construire '%s'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "Lors de l'appel à '%s' :" +msgstr "Lors de l’appel à '%s' :" #: core/ustring.cpp msgid "B" @@ -201,60 +204,60 @@ msgstr "Déplacer des points de Bézier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Dupliquer les clés d'animation" +msgstr "Dupliquer les clés d’animation" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "Supprimer les clés d'animation" +msgstr "Supprimer les clés d’animation" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "Modifier le temps de l'image-clé" +msgstr "Modifier le temps de l’image-clé" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "Changer la transition de l'animation" +msgstr "Changer la transition de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "Changer la transformation de l'animation" +msgstr "Changer la transformation de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "Changer la valeur de l'image-clé de l'animation" +msgstr "Changer la valeur de l’image-clé de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "Changer l'appel de l'animation" +msgstr "Changer l’appel de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" -msgstr "Modification du temps de l'image-clé" +msgstr "Modification du temps de l’image-clé" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transition" -msgstr "Changer la transition de l'animation" +msgstr "Changer la transition de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transform" -msgstr "Changer le Transform de l'animation" +msgstr "Changer le Transform de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Value" -msgstr "Changer la valeur de l'image-clé de l'animation" +msgstr "Changer la valeur de l’image-clé de l’animation" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Call" -msgstr "Changer l'appel de l'animation" +msgstr "Changer l’appel de l’animation" #: editor/animation_track_editor.cpp msgid "Change Animation Length" -msgstr "Modifier la durée de l'animation" +msgstr "Modifier la durée de l’animation" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "Changer la boucle d'animation" +msgstr "Changer la boucle d’animation" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -266,7 +269,7 @@ msgstr "Piste de transformation 3D" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "Piste d'appel de méthode" +msgstr "Piste d’appel de méthode" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" @@ -278,15 +281,15 @@ msgstr "Piste de lecture audio" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "Piste de lecture d'animation" +msgstr "Piste de lecture d’animation" #: editor/animation_track_editor.cpp msgid "Animation length (frames)" -msgstr "Durée de l'animation (en images)" +msgstr "Durée de l’animation (en images)" #: editor/animation_track_editor.cpp msgid "Animation length (seconds)" -msgstr "Durée de l'animation (en secondes)" +msgstr "Durée de l’animation (en secondes)" #: editor/animation_track_editor.cpp msgid "Add Track" @@ -294,7 +297,7 @@ msgstr "Ajouter une piste" #: editor/animation_track_editor.cpp msgid "Animation Looping" -msgstr "Bouclage de l'animation" +msgstr "Bouclage de l’animation" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -307,7 +310,7 @@ msgstr "Clips audio :" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "Clips d'animation :" +msgstr "Clips d’animation :" #: editor/animation_track_editor.cpp msgid "Change Track Path" @@ -323,7 +326,7 @@ msgstr "Mode de mise à jour (comment cette propriété est définie)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "Mode d'interpolation" +msgstr "Mode d’interpolation" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" @@ -335,7 +338,7 @@ msgstr "Supprime cette piste." #: editor/animation_track_editor.cpp msgid "Time (s): " -msgstr "Temps (s): " +msgstr "Temps (s) : " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" @@ -372,11 +375,11 @@ msgstr "Cubique" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "Limiter l'interpolation de la boucle" +msgstr "Limiter l’interpolation de la boucle" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "Envelopper l'interp. de la boucle" +msgstr "Envelopper l’interp. de la boucle" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -393,19 +396,19 @@ msgstr "Supprimer clé(s)" #: editor/animation_track_editor.cpp msgid "Change Animation Update Mode" -msgstr "Modifier le mode de mise à jour de l'animation" +msgstr "Modifier le mode de mise à jour de l’animation" #: editor/animation_track_editor.cpp msgid "Change Animation Interpolation Mode" -msgstr "Modifier le mode d'interpolation de l'animation" +msgstr "Modifier le mode d’interpolation de l’animation" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" -msgstr "Modifier le mode de boucle d'animation" +msgstr "Modifier le mode de boucle d’animation" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" -msgstr "Supprimer la piste d'animation" +msgstr "Supprimer la piste d’animation" #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" @@ -434,7 +437,7 @@ msgstr "Insérer une animation" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" -"Un AnimationPlayer ne peut s'animer lui-même, seulement les autres lecteurs." +"Un AnimationPlayer ne peut s’animer lui-même, seulement les autres lecteurs." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -442,15 +445,15 @@ msgstr "Créer et insérer une animation" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Insérer une piste et clé d'animation" +msgstr "Insérer une piste et clé d’animation" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" -msgstr "Insérer une clé d'animation" +msgstr "Insérer une clé d’animation" #: editor/animation_track_editor.cpp msgid "Change Animation Step" -msgstr "Modifier l'étape d'animation" +msgstr "Modifier l’étape d’animation" #: editor/animation_track_editor.cpp msgid "Rearrange Tracks" @@ -459,7 +462,7 @@ msgstr "Réorganiser les pistes" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." msgstr "" -"Les pistes de transformation ne s'appliquent qu'aux nÅ“uds basés sur Spatial." +"Les pistes de transformation ne s’appliquent qu’aux nÅ“uds basés sur Spatial." #: editor/animation_track_editor.cpp msgid "" @@ -476,17 +479,17 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." msgstr "" -"Les pistes d'animation ne peuvent pointer que sur des nÅ“uds AnimationPlayer." +"Les pistes d’animation ne peuvent pointer que sur des nÅ“uds AnimationPlayer." #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." msgstr "" -"Un lecteur d'animation ne peut s'animer lui-même, seulement les autres " +"Un lecteur d’animation ne peut s’animer lui-même, seulement les autres " "lecteurs." #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "Impossible d'ajouter une nouvelle piste sans racine" +msgstr "Impossible d’ajouter une nouvelle piste sans racine" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" @@ -498,11 +501,11 @@ msgstr "Ajouter une piste de Bézier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "Le chemin de la piste est invalide, impossible d'ajouter une clé." +msgstr "Le chemin de la piste est invalide, impossible d’ajouter une clé." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "La piste n'est pas de type Spatial, impossible d'insérer une clé" +msgstr "La piste n’est pas de type Spatial, impossible d’insérer une clé" #: editor/animation_track_editor.cpp msgid "Add Transform Track Key" @@ -515,7 +518,7 @@ msgstr "Ajoutez une clé de piste" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." msgstr "" -"Le chemin de la piste est invalide, impossible d'ajouter une clé d'appel de " +"Le chemin de la piste est invalide, impossible d’ajouter une clé d’appel de " "méthode." #: editor/animation_track_editor.cpp @@ -524,11 +527,11 @@ msgstr "Ajouter une clé de méthode" #: editor/animation_track_editor.cpp msgid "Method not found in object: " -msgstr "Méthode introuvable dans l'objet : " +msgstr "Méthode introuvable dans l’objet : " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" -msgstr "Déplacer les clés d'animation" +msgstr "Déplacer les clés d’animation" #: editor/animation_track_editor.cpp msgid "Clipboard is empty" @@ -540,14 +543,14 @@ msgstr "Coller pistes" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" -msgstr "Mettre à l'échelle les clés d'animation" +msgstr "Mettre à l’échelle les clés d’animation" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." msgstr "" -"Cette option ne fonctionne pas pour l'édition de courbes de Bézier car il ne " -"s'agit que d'une seule piste." +"Cette option ne fonctionne pas pour l’édition de courbes de Bézier car il ne " +"s’agit que d’une seule piste." #: editor/animation_track_editor.cpp msgid "" @@ -564,16 +567,16 @@ msgstr "" "Cette animation appartient à une scène importée, donc les changements " "apportés aux pistes importées ne seront pas sauvegardés.\n" "\n" -"Pour activer la possibilité d'ajouter des pistes personnalisées, naviguez " -"dans les paramètres d'importation de la scène et définissez\n" +"Pour activer la possibilité d’ajouter des pistes personnalisées, naviguez " +"dans les paramètres d’importation de la scène et définissez\n" "\"Animation > Stockage\" à \"Fichiers\", activez \"Animation > Garder Pistes " "Courantes\" puis ré-importez.\n" -"Alternativement, utilise un préréglage d'import qui importe les animations " +"Alternativement, utilise un préréglage d’import qui importe les animations " "dans des fichiers différents." #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" -msgstr "Avertissement : Édition d'une animation importée" +msgstr "Avertissement : Édition d’une animation importée" #: editor/animation_track_editor.cpp msgid "Select an AnimationPlayer node to create and edit animations." @@ -584,7 +587,7 @@ msgstr "" msgid "Only show tracks from nodes selected in tree." msgstr "" "Afficher seulement les pistes provenant des nÅ“uds sélectionnés dans " -"l'arborescence." +"l’arborescence." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." @@ -914,7 +917,6 @@ msgstr "Impossible de connecter le signal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1528,17 +1530,9 @@ msgstr "Activer" msgid "Rearrange Autoloads" msgstr "Ré-organiser les AutoLoads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Chemin invalide." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Le fichier n'existe pas." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Pas dans le chemin de la ressource." +msgid "Can't add autoload:" +msgstr "Impossible d'ajouter le chargement automatique :" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1766,7 +1760,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Error saving profile to path: '%s'." -msgstr "Erreur lors de l'enregistrement du profil au chemin: '%s'." +msgstr "Erreur lors de l'enregistrement du profil au chemin : « %s »." #: editor/editor_feature_profile.cpp msgid "Unset" @@ -1898,7 +1892,7 @@ msgstr "Enregistrer un fichier" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "Retour" +msgstr "Retourner" #: editor/editor_file_dialog.cpp msgid "Go Forward" @@ -1950,7 +1944,7 @@ msgstr "Rafraîchir les fichiers." #: editor/editor_file_dialog.cpp msgid "(Un)favorite current folder." -msgstr "Ajouter ou supprimer des favoris le dossier courant." +msgstr "Ajouter ou supprimer aux favoris le dossier courant." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Toggle the visibility of hidden files." @@ -2126,7 +2120,7 @@ msgstr "Type de membre" #: editor/editor_help_search.cpp msgid "Class" -msgstr "Classe :" +msgstr "Classe" #: editor/editor_help_search.cpp msgid "Method" @@ -2502,12 +2496,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Impossible de recharger une scène qui n'a jamais été sauvegardée." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Réinitialiser" +msgid "Reload Saved Scene" +msgstr "Recharger la scène sauvegardée" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Cette action ne peut être annulée. Réinitialiser quand même ?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"La scène actuelle contient des changements non sauvegardés.\n" +"Recharger la scène quand même ? Cette action ne peut pas être annulée." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2806,10 +2804,6 @@ msgid "Redo" msgstr "Refaire" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Réinitialiser la scène" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Outils divers liés au projet ou à la scène." @@ -3461,6 +3455,12 @@ msgstr "Impossible d'exécuter le script :" msgid "Did you forget the '_run' method?" msgstr "Avez-vous oublié la méthode « _run » ?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Maintenir Ctrl pour arrondir à l'entier. Maintenir Maj pour des changements " +"plus précis." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Sélectionner les nÅ“uds à importer" @@ -4063,6 +4063,11 @@ msgid "Error running post-import script:" msgstr "Erreur d'exécution du script de post-importation :" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" +"Avez-vous renvoyé un objet dérivé de Node dans la méthode `post_import()` ?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Enregistrement…" @@ -4092,7 +4097,7 @@ msgstr "Réimporter" #: editor/import_dock.cpp msgid "Save Scenes, Re-Import, and Restart" -msgstr "Sauvegarder les scènes, Réimporter, et Redémarrer" +msgstr "Enregistrer les scènes, réimporter, puis redémarrer" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." @@ -5039,7 +5044,7 @@ msgstr "Attendu :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "A:" +msgstr "A :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" @@ -6078,7 +6083,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Single Convex Collision Sibling" -msgstr "Créer une unique collision convexe sÅ“ur" +msgstr "Créer une seule collision convexe sÅ“ur" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6091,7 +6096,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Collision Siblings" -msgstr "Créer une collision convexe multiple sÅ“ur(s)" +msgstr "Créer plusieurs collisions convexes sÅ“urs" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6114,7 +6119,7 @@ msgid "" msgstr "" "Crée un maillage de contour statique. Le maillage de contour verra ses " "normales inversées automatiquement.\n" -"Cela peut être utilisé à la place de la propriété SpatialMaterial Grow " +"Cela peut être utilisé à la place de la propriété Grow de SpatialMaterial " "lorsque l'utilisation de cette propriété n'est pas possible." #: editor/plugins/mesh_instance_editor_plugin.cpp @@ -6341,7 +6346,7 @@ msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "Source d'Émission: " +msgstr "Source d'émission : " #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." @@ -7037,12 +7042,12 @@ msgstr "" "nÅ“ud '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Ligne" +msgid "[Ignore]" +msgstr "[Ignorer]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorer)" +msgid "Line" +msgstr "Ligne" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7412,7 +7417,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Auto Orthogonal Enabled" -msgstr "Auto Orthogonal Activé" +msgstr "Vue orthogonale automatique" #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" @@ -7520,6 +7525,21 @@ msgid "XForm Dialog" msgstr "Dialogue XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Cliquez pour modifier l'état de visibilité.\n" +"\n" +"Å’il ouvert : Gizmo est visible.\n" +"Å’il fermé : Gizmo est masqué.\n" +"Å’il entrouvert : Gizmo est également visible à travers les surfaces opaques " +"(« rayon x »)." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Aligner les nÅ“uds avec le sol" @@ -7759,7 +7779,7 @@ msgstr "Convertir en Mesh2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't create polygon." -msgstr "Géométrie invalide, impossible de créer le polygone." +msgstr "Géométrie invalide, impossible de créer le polygone." #: editor/plugins/sprite_editor_plugin.cpp msgid "Convert to Polygon2D" @@ -9640,7 +9660,7 @@ msgstr "Fonctionnalités" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "Personnalisé (séparé par des virgules) :" +msgstr "Personnalisé (séparé par des virgules) :" #: editor/project_export.cpp msgid "Feature List:" @@ -9998,7 +10018,7 @@ msgid "" msgstr "" "Êtes vous certain de vouloir scanner %s dossiers à la recherche de projets " "Godot existants ?\n" -"Cela pourrait prendre prendre un moment." +"Cela pourrait prendre un moment." #: editor/project_manager.cpp msgid "Project Manager" @@ -10056,7 +10076,7 @@ msgid "" msgstr "" "La barre de recherche filtre les projets par leur nom et la dernière partie " "de leur chemin d'accès.\n" -"Pour filter les projects par leur nom et le chemin d'accès complet, la " +"Pour filtrer les projets par leur nom et le chemin d'accès complet, la " "recherche doit inclure au moins un caractère `/`." #: editor/project_settings_editor.cpp @@ -10553,11 +10573,11 @@ msgstr "Réinitialiser" #: editor/rename_dialog.cpp msgid "Regular Expression Error" -msgstr "Erreur d'expression régulière" +msgstr "Erreur dans l'expression régulière" #: editor/rename_dialog.cpp msgid "At character %s" -msgstr "À caractère %s" +msgstr "Au caractère %s" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" @@ -10624,8 +10644,8 @@ msgid "Instance Child Scene" msgstr "Instancier une scène enfant" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Supprimer le script" +msgid "Detach Script" +msgstr "Détacher le script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10791,6 +10811,16 @@ msgid "Open Documentation" msgstr "Ouvrir la documentation" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"Impossible de joindre un script : aucune langue n'est enregistrée.\n" +"C'est probablement parce que cet éditeur a été construit avec tous les " +"modules de langue désactivés." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Ajouter un nÅ“ud enfant" @@ -10839,12 +10869,12 @@ msgstr "" "nÅ“ud racine n'existe." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "Attacher un script (nouveau ou existant) pour le nÅ“ud sélectionné." +msgid "Attach a new or existing script to the selected node." +msgstr "Attacher un nouveau script ou un script existant au nÅ“ud sélectionné." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Effacer un script pour le nÅ“ud sélectionné." +msgid "Detach the script from the selected node." +msgstr "Détacher le script du nÅ“ud sélectionné." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10975,6 +11005,10 @@ msgid "A directory with the same name exists." msgstr "Un dossier du même nom existe déjà ." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Le fichier n'existe pas." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Extension invalide." @@ -11015,6 +11049,10 @@ msgid "File exists, it will be reused." msgstr "Le fichier existe, il sera réutilisé." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Chemin invalide." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nom de classe invalide." @@ -11124,7 +11162,7 @@ msgstr "Copier l'erreur" #: editor/script_editor_debugger.cpp msgid "Video RAM" -msgstr "Vidéo RAM" +msgstr "Mémoire vidéo" #: editor/script_editor_debugger.cpp msgid "Skip Breakpoints" @@ -11177,7 +11215,7 @@ msgstr "Total :" #: editor/script_editor_debugger.cpp msgid "Export list to a CSV file" -msgstr "Exporter la liste en fichier CSV" +msgstr "Exporter la liste vers un fichier CSV" #: editor/script_editor_debugger.cpp msgid "Resource Path" @@ -11365,7 +11403,7 @@ msgstr "Bibliothèque" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "Bibliothèques: " +msgstr "Bibliothèques : " #: modules/gdnative/register_types.cpp msgid "GDNative" @@ -11525,7 +11563,7 @@ msgstr "Remplir la sélection" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "Paramètres GridMap" +msgstr "Paramètres GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" @@ -11634,7 +11672,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "Le nÅ“ud a retourné une séquence de sortie invalide: " +msgstr "Le nÅ“ud a retourné une séquence de sortie invalide : " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" @@ -11644,7 +11682,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp msgid "Stack overflow with stack depth: " -msgstr "Débordement de pile avec profondeur de pile: " +msgstr "Débordement de pile avec profondeur de pile : " #: modules/visual_script/visual_script_editor.cpp msgid "Change Signal Arguments" @@ -11959,7 +11997,7 @@ msgstr "Modifier le membre" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " -msgstr "Type d'entrée non itérable: " +msgstr "Type d'entrée non itérable : " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" @@ -11967,7 +12005,7 @@ msgstr "L'itérateur est devenu invalide" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "L'itérateur est devenu invalide: " +msgstr "L'itérateur est devenu invalide : " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." @@ -11987,19 +12025,19 @@ msgstr "Nom de propriété invalide « %s » dans le nÅ“ud %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr ": Argument invalide de type: " +msgstr ": Argument invalide de type : " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " -msgstr ": Arguments invalides: " +msgstr ": Arguments invalides : " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " -msgstr "VariableGet introuvable dans le script: " +msgstr "VariableGet introuvable dans le script : " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableSet not found in script: " -msgstr "VariableSet introuvable dans le script: " +msgstr "VariableSet introuvable dans le script : " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." @@ -12076,6 +12114,12 @@ msgstr "" "dans le préréglage." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"La clé de version n'est pas configurée correctement dans le préréglage " +"d'exportation." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "La création d'une version personnalisée nécessite un chemin d'accès Android " @@ -12105,6 +12149,40 @@ msgstr "Nom de paquet invalide :" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"Module \"GodotPaymentV3\" invalide inclus dans le paramétrage du projet " +"\"android/modules\" (modifié dans Godot 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "« Use Custom Build » doit être activé pour utiliser les plugins." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"« Degrés de liberté » est valide uniquement lorsque le « Mode Xr » est « " +"Oculus Mobile VR »." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"« Suivi de la main » est valide uniquement lorsque le « Mode Xr » est « " +"Oculus Mobile VR »." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"« Sensibilité de la mise au point » est valide uniquement lorsque le « Mode " +"Xr » est « Oculus Mobile VR »." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12414,9 +12492,9 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" -"Les changements de taille pour RigidBody2D (en mode caractère ou rigide) " -"seront remplacés par le moteur physique lors de l'exécution. Modifiez la " -"taille des formes de collision enfants à la place." +"Les modifications de taille pour RigidBody2D (en mode caractère ou rigide) " +"seront remplacées par le moteur physique lors de l'exécution. \n" +"Modifiez la taille des formes de collision enfant à la place." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -12497,7 +12575,7 @@ msgstr "%d%%" #: scene/3d/baked_lightmap.cpp msgid "(Time Left: %d:%02d s)" -msgstr "(Temps restant: %d:%02d s)" +msgstr "(Temps restant : %d:%02d s)" #: scene/3d/baked_lightmap.cpp msgid "Plotting Meshes: " @@ -12661,9 +12739,9 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" -"Les changements de taille pour RigidBody (dans les modes caractère ou " -"rigide) seront remplacés par le moteur physique lors de l'exécution. " -"Modifiez la taille dans les formes de collision enfants à la place." +"Les modifications de taille pour RigidBody (dans les modes caractère ou " +"rigide) seront remplacées par le moteur physique lors de l'exécution.\n" +"Modifiez la taille dans les formes de collision enfant à la place." #: scene/3d/remote_transform.cpp msgid "" @@ -12912,6 +12990,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 "Not in resource path." +#~ msgstr "Pas dans le chemin de la ressource." + +#~ msgid "Revert" +#~ msgstr "Réinitialiser" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Cette action ne peut être annulée. Réinitialiser quand même ?" + +#~ msgid "Revert Scene" +#~ msgstr "Réinitialiser la scène" + +#~ msgid "Clear Script" +#~ msgstr "Supprimer le script" + #~ msgid "Issue Tracker" #~ msgstr "Traqueur de problèmes" diff --git a/editor/translations/ga.po b/editor/translations/ga.po index 7b271f6a77..b9e6ba69c6 100644 --- a/editor/translations/ga.po +++ b/editor/translations/ga.po @@ -2,11 +2,11 @@ # 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. -# Rónán Quill <ronan085@gmail.com>, 2019. +# Rónán Quill <ronan085@gmail.com>, 2019, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2019-08-04 14:22+0000\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" "Last-Translator: Rónán Quill <ronan085@gmail.com>\n" "Language-Team: Irish <https://hosted.weblate.org/projects/godot-engine/godot/" "ga/>\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :" "(n>6 && n<11) ? 3 : 4;\n" -"X-Generator: Weblate 3.8-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -91,7 +91,7 @@ msgstr "" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "" +msgstr "Saor" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -815,7 +815,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1416,16 +1415,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2346,11 +2337,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Cruthaigh" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2616,10 +2610,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3225,6 +3215,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3811,6 +3805,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6686,11 +6684,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7160,6 +7158,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10082,7 +10089,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10240,6 +10247,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10286,11 +10300,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10410,6 +10424,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10450,6 +10468,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11481,6 +11503,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11504,6 +11530,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/he.po b/editor/translations/he.po index 69d8bcc3b5..56126249dc 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -12,12 +12,14 @@ # MordechaiHadad <Mordechai.hadad01@gmail.com>, 2019. # Daniel <danielharush5252@gmail.com>, 2020. # test test <ugbdvwpeikvyzwaadt@awdrt.org>, 2020. +# Anonymous <noreply@weblate.org>, 2020. +# Daniel Kariv <danielkariv98@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-05 14:01+0000\n" -"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n" +"PO-Revision-Date: 2020-05-07 21:28+0000\n" +"Last-Translator: Anonymous <noreply@weblate.org>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -49,7 +51,7 @@ msgstr "קלט שגוי %I (×œ× ×”×•×¢×‘×¨) בתוך הביטוי" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ להשתמש ב־self כיוון שהמופע ×”×•× ×פס (null - ×œ× ×”×•×¢×‘×¨)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -60,51 +62,48 @@ msgid "Invalid index of type %s for base type %s" msgstr "×©× ×ž×פיין ×”××™× ×“×§×¡ מסוג %s עבור בסיס %s שגוי" #: core/math/expression.cpp -#, fuzzy msgid "Invalid named index '%s' for base type %s" msgstr "×©× ××™× ×“×§×¡ ×œ× ×ª×§×™×Ÿ '%s' לסוג בסיס '%s'" #: core/math/expression.cpp -#, fuzzy msgid "Invalid arguments to construct '%s'" -msgstr ": ××¨×’×•×ž× ×˜ שגוי מסוג: " +msgstr "×¤×¨×ž×˜×¨×™× ×©×’×•×™×™× ×œ×‘× ×™×™×ª 's%'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "" +msgstr "בקרי××” ל־‚%s’:" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "ב׳" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "KiB" #: core/ustring.cpp msgid "MiB" -msgstr "" +msgstr "MiB" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "GiB" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "TiB" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "PiB" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "EiB" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Free" -msgstr "×—×™× ×" +msgstr "חופשי" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -143,62 +142,52 @@ msgid "Move Bezier Points" msgstr "הזזת × ×§×•×“×•×ª בזייה" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Duplicate Keys" msgstr "שכפול מפתחות ×”× ×¤×©×”" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Delete Keys" msgstr "מחיקת מפתחות ×”× ×¤×©×”" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Change Keyframe Time" msgstr "×©×™× ×•×™ זמן פריי×-מפתח ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Change Transition" -msgstr "×©×™× ×•×™ ×ž×™×§×•× ×× ×™×ž×¦×™×”" +msgstr "החלפת ×”× ×¤×©×ª ×פקט החלפה" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "×©×™× ×•×™ ×ž×™×§×•× ×× ×™×ž×¦×™×”" +msgstr "החלפת ×”× ×¤×©×ª ×פקט ×©×™× ×•×™ צורה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Change Keyframe Value" -msgstr "×©×™× ×•×™ ערך ×§×™×¤×¨×™×™× ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ ערך פריי×-מפתח ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "" +msgstr "×©×™× ×•×™ קרי×ת ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Time" -msgstr "×©×™× ×•×™ זמן פריי×-מפתח ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ זמן פריי×-מפתח ×× ×™×ž×¦×™×” רבי×" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transition" -msgstr "×©×™× ×•×™ ×ž×™×§×•× ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ מיקומי ×× ×™×ž×¦×™×” רבי×" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transform" -msgstr "×©×™× ×•×™ ×ž×™×§×•× ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ מיקומי ×× ×™×ž×¦×™×” רבי×" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Value" -msgstr "×©×™× ×•×™ ערך ×§×™×¤×¨×™×™× ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ ערכי פריי×-מפתח ×× ×™×ž×¦×™×” רבי×" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Call" -msgstr "×©×™× ×•×™ ×ž×™×§×•× ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ ×ž×™×§×•×ž×™× ×× ×™×ž×¦×™×” רבי×" #: editor/animation_track_editor.cpp msgid "Change Animation Length" @@ -206,16 +195,14 @@ msgstr "×©× ×” ×ורך ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Change Animation Loop" -msgstr "×©×™× ×•×™ לופ ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ לול×ת ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp msgid "Property Track" msgstr "רצועת מ×פיין" #: editor/animation_track_editor.cpp -#, fuzzy msgid "3D Transform Track" msgstr "רצועת ×©×™× ×•×™ 3D" @@ -229,12 +216,10 @@ msgid "Bezier Curve Track" msgstr "רצועת ×¢×§×•× ×‘×–×™×™×”" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Playback Track" msgstr "רצועת שמע" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Playback Track" msgstr "רצועת ×”× ×¤×©×”" @@ -243,7 +228,6 @@ msgid "Animation length (frames)" msgstr "משך ×”×”× ×¤×©×” (פריימי×)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (seconds)" msgstr "משך ×”×”× ×¤×©×” (×©× ×™×•×ª)" @@ -252,7 +236,6 @@ msgid "Add Track" msgstr "הוספת רצועה" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Looping" msgstr "לול×ת ×”× ×¤×©×”" @@ -262,19 +245,16 @@ msgid "Functions:" msgstr "×¤×•× ×§×¦×™×•×ª:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Clips:" -msgstr "מ×זין לשמע" +msgstr "רצועות שמע:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Clips:" msgstr "קטעי ×”× ×¤×©×”:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "החלפת ערך רצועה" +msgstr "החלפת × ×ª×™×‘ רצועה" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -286,7 +266,7 @@ msgstr "עדכן מצב (×יך המ×פיין ×”×–×” × ×§×‘×¢)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "" +msgstr "מצב ××™× ×ª×¨×¤×•×œ×¦×™×”" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" @@ -310,11 +290,11 @@ msgstr "מתמשך" #: editor/animation_track_editor.cpp msgid "Discrete" -msgstr "" +msgstr "בדיד" #: editor/animation_track_editor.cpp msgid "Trigger" -msgstr "" +msgstr "הדק/מפעיל" #: editor/animation_track_editor.cpp msgid "Capture" @@ -435,14 +415,18 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"רצועת ×ודיו יכולה להצביע על חוליות מסוג:\n" +"- AudioStreamPlayer\n" +"- AudioStreamPlayer2D\n" +"- AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "" +msgstr "רצועות ×”× ×¤×©×” יכולות להצביע רק על ×יברי AnimationPlayer." #: 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" @@ -758,7 +742,7 @@ msgstr "בחירה בלבד" #: editor/code_editor.cpp editor/plugins/script_text_editor.cpp #: editor/plugins/text_editor.cpp msgid "Standard" -msgstr "" +msgstr "רגיל" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" @@ -877,7 +861,6 @@ msgstr "שגי×ת חיבור" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1497,18 +1480,9 @@ msgstr "הפעלה" msgid "Rearrange Autoloads" msgstr "סידור ×˜×¢×™× ×•×ª ×וטומטית מחדש" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "× ×ª×™×‘ שגוי." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "הקובץ ×œ× ×§×™×™×." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "×œ× ×‘× ×ª×™×‘ המש×ב." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2493,12 +2467,15 @@ msgid "Can't reload a scene that was never saved." msgstr "×œ× × ×™×ª×Ÿ ×œ×¨×¢× ×Ÿ ×¡×¦× ×” ×©×ž×¢×•×œ× ×œ× × ×©×ž×¨×”." #: editor/editor_node.cpp -msgid "Revert" -msgstr "שחזור" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "שמירת ×¡×¦× ×”" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "×œ× × ×™×ª×Ÿ לבטל פעולה זו. לשחזר בכל ×–×ת?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2773,10 +2750,6 @@ msgid "Redo" msgstr "ביצוע חוזר" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "שחזור ×¡×¦× ×”" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "×›×œ×™× ×©×•× ×™× ×œ×ž×™×–× ×ו למגוון ×¡×¦× ×•×ª." @@ -3413,6 +3386,10 @@ msgstr "×œ× × ×™×ª×Ÿ להריץ ×ת הסקריפט:" msgid "Did you forget the '_run' method?" msgstr "שכחת ×ת השיטה ‚‎_run’?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "× × ×œ×‘×—×•×¨ ×ž×¤×¨×§×™× ×œ×™×™×¦×•×" @@ -4040,6 +4017,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "שמירה…" @@ -7071,15 +7052,15 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "שורה:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "מעבר ×œ×¤×•× ×§×¦×™×”â€¦" @@ -7573,6 +7554,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10651,8 +10641,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "יצירת סקריפט" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10819,6 +10810,13 @@ msgid "Open Documentation" msgstr "פתיחת התיעוד המקוון של Godot" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10869,11 +10867,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -11003,6 +11001,10 @@ msgid "A directory with the same name exists." msgstr "כבר ×§×™×™×ž×™× ×§×•×‘×¥ ×ו תיקייה ×‘×©× ×”×–×”." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "הקובץ ×œ× ×§×™×™×." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "יש להשתמש בסיומת ×ª×§× ×™×ª." @@ -11047,6 +11049,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "× ×ª×™×‘ שגוי." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "×©× ×©×’×•×™." @@ -12118,6 +12125,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12142,6 +12153,32 @@ msgstr "×©× ×©×’×•×™." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12801,6 +12838,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "×œ× ×‘× ×ª×™×‘ המש×ב." + +#~ msgid "Revert" +#~ msgstr "שחזור" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "×œ× × ×™×ª×Ÿ לבטל פעולה זו. לשחזר בכל ×–×ת?" + +#~ msgid "Revert Scene" +#~ msgstr "שחזור ×¡×¦× ×”" + #~ msgid "Issue Tracker" #~ msgstr "עוקב תקלות" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index 12cf8fd242..4782afecb0 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -837,7 +837,6 @@ msgstr "इशारा कनेकà¥à¤Ÿ नहीं कर सकते" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1446,17 +1445,9 @@ msgstr "सकà¥à¤°à¤¿à¤¯ करे" msgid "Rearrange Autoloads" msgstr "औटोलोड पà¥à¤¨à¤°à¥à¤µà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ करें" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "अमानà¥à¤¯ रासà¥à¤¤à¤¾à¥¤" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "फ़ाइल नहीं मौजूद." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "रेसोरà¥à¤¸ पाथ में नहीं." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2403,12 +2394,15 @@ msgid "Can't reload a scene that was never saved." msgstr "à¤à¤• दृशà¥à¤¯ है कि कà¤à¥€ नहीं बचाया गया था फिर से लोड नहीं कर सकते ।" #: editor/editor_node.cpp -msgid "Revert" -msgstr "वापस लौटना" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "दृशà¥à¤¯ बचाओ" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "इस कारà¥à¤°à¤µà¤¾à¤ˆ को पूरà¥à¤µà¤µà¤¤ नहीं किया जा सकता । वैसे à¤à¥€ वापस?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2687,10 +2681,6 @@ msgid "Redo" msgstr "दोहराà¤à¤" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "वापस दृशà¥à¤¯" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "विविध परियोजना या दृशà¥à¤¯-वà¥à¤¯à¤¾à¤ªà¥€ उपकरण।" @@ -3329,6 +3319,10 @@ msgstr "सà¥à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿ नहीं चला सका:" msgid "Did you forget the '_run' method?" msgstr "कà¥à¤¯à¤¾ आप '_run' विधि को à¤à¥‚ल गà¤?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "आयात करने के लिठनोड (à¤à¤¸) का चयन करें" @@ -3918,6 +3912,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6811,15 +6809,15 @@ msgid "" msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "रेखा:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "कारà¥à¤¯à¥‹à¤‚:" @@ -7290,6 +7288,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10279,8 +10286,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "नई सà¥à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿ" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10442,6 +10450,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10490,11 +10505,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10617,6 +10632,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "फ़ाइल नहीं मौजूद." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "गलत फॉणà¥à¤Ÿ का आकार |" @@ -10658,6 +10677,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "अमानà¥à¤¯ रासà¥à¤¤à¤¾à¥¤" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid class name." msgstr "गलत फॉणà¥à¤Ÿ का आकार |" @@ -11710,6 +11733,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11734,6 +11761,32 @@ msgstr "गलत फॉणà¥à¤Ÿ का आकार |" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12385,6 +12438,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "रेसोरà¥à¤¸ पाथ में नहीं." + +#~ msgid "Revert" +#~ msgstr "वापस लौटना" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "इस कारà¥à¤°à¤µà¤¾à¤ˆ को पूरà¥à¤µà¤µà¤¤ नहीं किया जा सकता । वैसे à¤à¥€ वापस?" + +#~ msgid "Revert Scene" +#~ msgstr "वापस दृशà¥à¤¯" + #~ msgid "Issue Tracker" #~ msgstr "मà¥à¤¦à¥à¤¦à¤¾ पर नज़र रखने वाला" diff --git a/editor/translations/hr.po b/editor/translations/hr.po index 8627e7f239..ad095145b2 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -823,7 +823,6 @@ msgstr "Ne mogu spojiti signal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1431,16 +1430,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2363,11 +2354,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Stvori" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2633,10 +2627,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3245,6 +3235,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3830,6 +3824,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6719,11 +6717,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7193,6 +7191,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10129,8 +10136,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Spoji sa skriptom:" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10289,6 +10297,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10335,11 +10350,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10461,6 +10476,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10501,6 +10520,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11540,6 +11563,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11563,6 +11590,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 620a2d4d5b..ef15f85977 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -878,7 +878,6 @@ msgstr "Csatlakoztató Jelzés:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1514,18 +1513,9 @@ msgstr "Engedélyezés" msgid "Rearrange Autoloads" msgstr "AutoLoad-ok Ãtrendezése" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Érvénytelen Elérési Út." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "A fájl nem létezik." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nincs az erÅ‘forrás elérési útban." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2537,12 +2527,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Nem lehet újratölteni egy olyan jelenetet, amit soha nem mentett el." #: editor/editor_node.cpp -msgid "Revert" -msgstr "VisszaállÃtás" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Scene mentés" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Ez a művelet nem vonható vissza. VisszaállÃtja mindenképp?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2845,10 +2838,6 @@ msgid "Redo" msgstr "Mégis" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Scene visszaállÃtás" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Egyéb projekt- vagy Scene-szintű eszközök." @@ -3507,6 +3496,10 @@ msgstr "Nem sikerült a szkript futtatása:" msgid "Did you forget the '_run' method?" msgstr "Nem felejtette el a '_run' metódust?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Válassza ki az importálandó Node-okat" @@ -4141,6 +4134,10 @@ msgid "Error running post-import script:" msgstr "Hiba történt az importálás utána szkript futtatásakor:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Mentés..." @@ -7249,15 +7246,15 @@ msgid "" msgstr "'%s' Lecsatlakoztatása '%s'-ról" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Sor:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Ugrás Funkcióra..." @@ -7749,6 +7746,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "Rácshoz illesztés" @@ -10844,8 +10850,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Szkript Létrehozása" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -11012,6 +11019,13 @@ msgid "Open Documentation" msgstr "Godot online dokumentáció megnyitása" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -11062,12 +11076,13 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" +#, fuzzy +msgid "Detach the script from the selected node." +msgstr "Kiválasztott Scene(k) példányosÃtása a kiválasztott Node gyermekeként." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -11196,6 +11211,10 @@ msgid "A directory with the same name exists." msgstr "Egy fájl vagy mappa már létezik a megadott névvel." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "A fájl nem létezik." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Használjon érvényes kiterjesztést." @@ -11240,6 +11259,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Érvénytelen Elérési Út." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Érvénytelen név." @@ -12322,6 +12346,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12346,6 +12374,32 @@ msgstr "Érvénytelen név." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -13007,6 +13061,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Nincs az erÅ‘forrás elérési útban." + +#~ msgid "Revert" +#~ msgstr "VisszaállÃtás" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Ez a művelet nem vonható vissza. VisszaállÃtja mindenképp?" + +#~ msgid "Revert Scene" +#~ msgstr "Scene visszaállÃtás" + #~ msgid "Issue Tracker" #~ msgstr "ProblémakövetÅ‘" @@ -13210,10 +13276,6 @@ msgstr "" #~ msgid "Insert keys." #~ msgstr "Kulcsok Beszúrása" -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Kiválasztott Scene(k) példányosÃtása a kiválasztott Node gyermekeként." - #, fuzzy #~ msgid "Font Size:" #~ msgstr "Körvonal Mérete:" diff --git a/editor/translations/id.po b/editor/translations/id.po index 54222d1aeb..f7a86197b6 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -30,8 +30,8 @@ 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: Richard Urban <redasuio1@gmail.com>\n" +"PO-Revision-Date: 2020-06-03 20:09+0000\n" +"Last-Translator: Sofyan Sugianto <sofyanartem@gmail.com>\n" "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/" "godot/id/>\n" "Language: id\n" @@ -39,7 +39,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.0.1-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -860,7 +860,6 @@ msgstr "Tidak dapat menghubungkan sinyal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -893,7 +892,7 @@ msgstr "Memutuskan semua dari sinyal '%s'" #: editor/connections_dialog.cpp msgid "Connect..." -msgstr "Sambungkan..." +msgstr "Hubungkan..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -914,7 +913,7 @@ msgstr "Anda yakin ingin menghapus semua hubungan dari sinyal '%s'?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" -msgstr "Sinyal-sinyal" +msgstr "Sinyal" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" @@ -1471,17 +1470,9 @@ msgstr "Aktifkan" msgid "Rearrange Autoloads" msgstr "Mengatur kembali Autoload-autoload" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Path tidak valid." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "File tidak ada." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Tidak dalam lokasi resource." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1967,7 +1958,7 @@ msgstr "Tutorial Daring" #: editor/editor_help.cpp msgid "Properties" -msgstr "Properti Objek" +msgstr "Properti" #: editor/editor_help.cpp msgid "override:" @@ -1979,11 +1970,11 @@ msgstr "baku:" #: editor/editor_help.cpp msgid "Methods" -msgstr "Fungsi" +msgstr "Method" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "Properti-properti Tema" +msgstr "Properti Tema" #: editor/editor_help.cpp msgid "Enumerations" @@ -2011,7 +2002,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "Deskripsi Metode" +msgstr "Deskripsi Method" #: editor/editor_help.cpp msgid "" @@ -2440,12 +2431,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Tidak bisa memuat ulang skena yang belum pernah disimpan." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Pulihkan" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Simpan Skena" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Tindakan ini tidak dapat dibatalkan. Pulihkan saja?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2733,10 +2727,6 @@ msgid "Redo" msgstr "Ulangi" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Kembalikan Skena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Perkakas macam-macam proyek atau lingkup skena." @@ -2948,13 +2938,12 @@ msgid "Q&A" msgstr "Tanya Jawab" #: editor/editor_node.cpp -#, fuzzy msgid "Report a Bug" -msgstr "Impor ulang" +msgstr "Laporkan Kutu" #: editor/editor_node.cpp msgid "Send Docs Feedback" -msgstr "" +msgstr "Kirim Tanggapan Dokumentasi" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" @@ -3384,6 +3373,13 @@ msgstr "Tidak bisa menjalankan script:" msgid "Did you forget the '_run' method?" msgstr "Apakah anda lupa dengan fungsi '_run' ?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Tahan Ctrl untuk meletakkan Getter. Tahan Shift untuk meletakkan generic " +"signature." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Pilih node untuk diimpor" @@ -3978,6 +3974,10 @@ msgid "Error running post-import script:" msgstr "Kesalahan saat menjalankan skrip post-import:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Menyimpan..." @@ -4006,9 +4006,8 @@ msgid "Reimport" msgstr "Impor ulang" #: editor/import_dock.cpp -#, fuzzy msgid "Save Scenes, Re-Import, and Restart" -msgstr "Simpan skena, impor ulang, dan mulai ulang" +msgstr "Simpan Skena, Impor Ulang, dan Mulai Ulang" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." @@ -6924,12 +6923,13 @@ msgstr "" "'%s' ke node '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Baris" +#, fuzzy +msgid "[Ignore]" +msgstr "(abaikan)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(abaikan)" +msgid "Line" +msgstr "Baris" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7297,9 +7297,8 @@ msgid "This operation requires a single selected node." msgstr "Operasi ini membutuhkan satu node yang dipilih." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Auto Orthogonal Enabled" -msgstr "Ortogonal" +msgstr "Ortogonal Otomatis Difungsikan" #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" @@ -7406,6 +7405,15 @@ msgid "XForm Dialog" msgstr "Dialog XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Kancingkan Node ke Lantai" @@ -9931,6 +9939,10 @@ msgid "" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"Kotak filter pencarian proyek berdasarkan nama dan lokasi komponen " +"terakhir.\n" +"Untuk memfilter proyek berdasarkan nama dan lokasi penuhnya, kueri harus " +"mengandung paling tidak satu karakter `/`." #: editor/project_settings_editor.cpp msgid "Key " @@ -10497,8 +10509,9 @@ msgid "Instance Child Scene" msgstr "Instansi Skena Anak" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Bersihkan Skrip" +#, fuzzy +msgid "Detach Script" +msgstr "Lampirkan Skrip" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10666,6 +10679,13 @@ msgid "Open Documentation" msgstr "Buka Dokumentasi" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Tambah Node Anak" @@ -10714,11 +10734,13 @@ msgstr "" "akar." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Lampirkan skrip baru atau yang sudah ada untuk node yang dipilih." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Bersihkan skrip untuk node yang dipilih." #: editor/scene_tree_dock.cpp @@ -10850,6 +10872,10 @@ msgid "A directory with the same name exists." msgstr "Sudah ada nama direktori seperti itu." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "File tidak ada." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Ekstensi tidak valid." @@ -10890,6 +10916,10 @@ msgid "File exists, it will be reused." msgstr "Berkas sudah ada, itu akan digunakan kembali." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Path tidak valid." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nama kelas tidak valid." @@ -10926,6 +10956,8 @@ msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." msgstr "" +"Catatan: Skrip bawaan memiliki banyak keterbatasan dan tidak dapat disunting " +"menggunakan editor eksternal." #: editor/script_create_dialog.cpp msgid "Class Name:" @@ -11048,9 +11080,8 @@ msgid "Total:" msgstr "Total:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Export list to a CSV file" -msgstr "Ekspor Profil" +msgstr "Ekspor daftar ke berkas CSV" #: editor/script_editor_debugger.cpp msgid "Resource Path" @@ -11936,6 +11967,13 @@ msgstr "" "prasetel proyek." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Berkas debug keystore belum dikonfigurasi dalam Pengaturan Editor maupun di " +"prasetel proyek." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Membangun kustom APK memerlukan lokasi Android SDK yang valid dalam " @@ -11965,6 +12003,32 @@ msgstr "Nama paket tidak valid:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12352,7 +12416,7 @@ msgstr "Plotting Lights:" #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp msgid "Finishing Plot" -msgstr "" +msgstr "Menyelesaikan Pemetaan" #: scene/3d/baked_lightmap.cpp msgid "Lighting Meshes: " @@ -12422,13 +12486,15 @@ msgstr "" #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" -msgstr "" +msgstr "Memetakan Mesh" #: scene/3d/gi_probe.cpp msgid "" "GIProbes are not supported by the GLES2 video driver.\n" "Use a BakedLightmap instead." msgstr "" +"GIProbes tidak didukung oleh driver video GLES2.\n" +"Gunakan BakedLightmap sebagai gantinya." #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." @@ -12541,6 +12607,8 @@ msgid "" "This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " "this environment's Background Mode to Canvas (for 2D scenes)." msgstr "" +"WorldEnvironment ini diabaikan. Tambahkan Camera (untuk skena 3D) atau setel " +"Mode Latar Belakang lingkungannya menjadi Canvas (untuk skena 2D)." #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" @@ -12591,6 +12659,9 @@ msgid "" "LMB: Set color\n" "RMB: Remove preset" msgstr "" +"Warna:#%s\n" +"LMB: Atur warna\n" +"RMB: Cabut preset" #: scene/gui/color_picker.cpp msgid "Pick a color from the editor window." @@ -12694,7 +12765,7 @@ msgstr "" #: scene/main/viewport.cpp msgid "Viewport size must be greater than 0 to render anything." -msgstr "" +msgstr "Ukuran viewport harus lebih besar dari 0 untuk me-render apa pun." #: scene/resources/visual_shader_nodes.cpp msgid "Invalid source for preview." @@ -12724,6 +12795,21 @@ msgstr "Variasi hanya bisa ditetapkan dalam fungsi vertex." msgid "Constants cannot be modified." msgstr "Konstanta tidak dapat dimodifikasi." +#~ msgid "Not in resource path." +#~ msgstr "Tidak dalam lokasi resource." + +#~ msgid "Revert" +#~ msgstr "Pulihkan" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Tindakan ini tidak dapat dibatalkan. Pulihkan saja?" + +#~ msgid "Revert Scene" +#~ msgstr "Kembalikan Skena" + +#~ msgid "Clear Script" +#~ msgstr "Bersihkan Skrip" + #~ msgid "Issue Tracker" #~ msgstr "Pelacak Isu" diff --git a/editor/translations/is.po b/editor/translations/is.po index e2943eb9cf..5a1ac9b73c 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -849,7 +849,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1451,16 +1450,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2384,11 +2375,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2656,10 +2649,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3269,6 +3258,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3856,6 +3849,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6756,11 +6753,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7231,6 +7228,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10193,7 +10199,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10354,6 +10360,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10400,11 +10413,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10525,6 +10538,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10565,6 +10582,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11603,6 +11624,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11626,6 +11651,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/it.po b/editor/translations/it.po index 8e9432baac..eeec1e05eb 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -13,7 +13,7 @@ # Myself <whatamidoing.wt@gmail.com>, 2017-2018. # RealAquilus <JamesHeller@live.it>, 2017. # Samuele Zolfanelli <samdazel@gmail.com>, 2018, 2019. -# Sean Bone <seanbone@zumguy.com>, 2017. +# Sean Bone <seanbone@zumguy.com>, 2017, 2020. # Red Pill <redpill902@gmail.com>, 2018. # iRadEntertainment <devitadario@gmail.com>, 2018, 2019. # ondsinet _ (nik man) <nikman00@gmail.com>, 2018. @@ -30,7 +30,7 @@ # RHC <rhc.throwaway@gmail.com>, 2019. # Antonio Giungato <antonio.giungato@gmail.com>, 2019. # Marco Galli <mrcgll98@gmail.com>, 2019. -# MassiminoilTrace <omino.gis@gmail.com>, 2019. +# MassiminoilTrace <omino.gis@gmail.com>, 2019, 2020. # MARCO BANFI <mbanfi@gmail.com>, 2019. # Marco <rodomar705@gmail.com>, 2019. # Davide Giuliano <davidegiuliano00@gmail.com>, 2019. @@ -48,12 +48,14 @@ # Giuseppe Lucido <giuseppe.lucido@gmail.com>, 2020. # Mirko Proto <mirko7@protonmail.com>, 2020. # J. Lavoie <j.lavoie@net-c.ca>, 2020. +# Andrea Terenziani <andrea.terenziani.at@gmail.com>, 2020. +# Anonymous <noreply@weblate.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-04 15:12+0000\n" -"Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" +"PO-Revision-Date: 2020-05-07 21:28+0000\n" +"Last-Translator: Sean Bone <seanbone@zumguy.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -77,8 +79,8 @@ msgstr "Prevista una stringa di lunghezza 1 (singolo carattere)." #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" -"Non vi sono abbastanza byte per i byte di decodifica, oppure il formato non " -"è valido." +"Non vi sono abbastanza byte per riuscire a decodificarli, oppure il formato " +"non è valido." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -679,7 +681,7 @@ msgstr "Pulisci" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" -msgstr "Fattore di scalatura:" +msgstr "Fattore di scala:" #: editor/animation_track_editor.cpp msgid "Select Tracks to Copy" @@ -752,7 +754,7 @@ msgstr "Parole intere" #: editor/code_editor.cpp editor/rename_dialog.cpp msgid "Replace" -msgstr "Rimpiazza" +msgstr "Sostituisci" #: editor/code_editor.cpp msgid "Replace All" @@ -769,7 +771,7 @@ msgstr "Standard" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "Attiva Pannello Scripts" +msgstr "Commuta pannello degli script" #: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -785,7 +787,7 @@ msgstr "Rimpicciolisci" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "Azzera ingrandimento" +msgstr "Resetta ingrandimento" #: editor/code_editor.cpp msgid "Warnings" @@ -883,7 +885,6 @@ msgstr "Impossibile connettere il segnale" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1496,17 +1497,9 @@ msgstr "Abilita" msgid "Rearrange Autoloads" msgstr "Riordina gli Autoload" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Percorso non valido." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "File inesistente." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Non è nel percorso risorse." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1654,7 +1647,7 @@ msgstr "Editor 3D" #: editor/editor_feature_profile.cpp msgid "Script Editor" -msgstr "Editor degli script" +msgstr "Editor script" #: editor/editor_feature_profile.cpp msgid "Asset Library" @@ -1878,7 +1871,7 @@ msgstr "Va' su" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Attiva/disattiva file nascosti" +msgstr "Mostra/nascondi file nascosti" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" @@ -1886,11 +1879,11 @@ msgstr "Attiva/disattiva preferito" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "Modalità Attivazione/Disattivazione" +msgstr "Modalità di Attivazione/Disattivazione" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "Percorso di Focus" +msgstr "Metti a fuoco il percorso" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -2009,7 +2002,7 @@ msgstr "Metodi" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "Proprietà del tema" +msgstr "Proprietà Tema" #: editor/editor_help.cpp msgid "Enumerations" @@ -2021,7 +2014,7 @@ msgstr "Costanti" #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "Descrizioni delle proprietà " +msgstr "Descrizioni Proprietà " #: editor/editor_help.cpp msgid "(value)" @@ -2037,7 +2030,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "Descrizioni dei metodi" +msgstr "Descrizioni Metodo" #: editor/editor_help.cpp msgid "" @@ -2470,12 +2463,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Impossibile ricaricare una scena che non è mai stata salvata." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Ripristina" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Salva Scena" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Questa azione non può essere annullata. Ripristinare comunque?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2525,7 +2521,7 @@ msgstr "Chiudi scena" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "Riapri Scena Chiusa" +msgstr "Riapri la scena chiusa" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2622,11 +2618,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "Salva layout" +msgstr "Salva disposizione" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "Elimina Layout" +msgstr "Elimina disposizione" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp @@ -2740,7 +2736,7 @@ msgstr "Apri recente" #: editor/editor_node.cpp msgid "Save Scene" -msgstr "Salva scena" +msgstr "Salva Scena" #: editor/editor_node.cpp msgid "Save All Scenes" @@ -2769,10 +2765,6 @@ msgid "Redo" msgstr "Rifai" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Ripristina scena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Strumenti di progetto o scena vari." @@ -2783,7 +2775,7 @@ msgstr "Progetto" #: editor/editor_node.cpp msgid "Project Settings..." -msgstr "Impostazioni Progetto…" +msgstr "Impostazioni progetto…" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Version Control" @@ -2925,11 +2917,11 @@ msgstr "Impostazioni editor…" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "Layout dell'editor" +msgstr "Disposizione dell'editor" #: editor/editor_node.cpp msgid "Take Screenshot" -msgstr "Acquisisci screenshot" +msgstr "Acquisisci una schermata" #: editor/editor_node.cpp msgid "Screenshots are stored in the Editor Data/Settings Folder." @@ -3000,7 +2992,7 @@ msgstr "Comunità " #: editor/editor_node.cpp msgid "About" -msgstr "Riguardo a" +msgstr "Informazioni su Godot" #: editor/editor_node.cpp msgid "Play the project." @@ -3016,7 +3008,7 @@ msgstr "Metti in pausa l'esecuzione della scena per eseguire il debug." #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "Pausa Scena" +msgstr "Pausa scena" #: editor/editor_node.cpp msgid "Stop the scene." @@ -3158,15 +3150,15 @@ msgstr "Seleziona" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "Apri editor 2D" +msgstr "Apri Editor 2D" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "Apri Editor 3D" +msgstr "Apri editor 3D" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "Apri Editor Script" +msgstr "Apri editor degli script" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" @@ -3425,6 +3417,13 @@ msgstr "Impossibile eseguire lo script:" msgid "Did you forget the '_run' method?" msgstr "Hai dimenticato il metodo '_run'?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Mantieni premuto Control per rilasciare un Getter. Mantieni premuto Shift " +"per rilasciare una firma generica." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Scegli Nodo(i) da Importare" @@ -3841,7 +3840,7 @@ msgstr "Crea Script" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp msgid "Find in Files" -msgstr "Trova nei File" +msgstr "Trova nei file" #: editor/find_in_files.cpp msgid "Find:" @@ -4023,6 +4022,10 @@ msgid "Error running post-import script:" msgstr "Errore di esecuzione dello script di post-import:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Salvataggio..." @@ -4623,7 +4626,7 @@ msgstr "Opzioni dell'onion skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" -msgstr "Direzioni" +msgstr "Indicazioni" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" @@ -4643,11 +4646,11 @@ msgstr "1 passo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "2 passaggi" +msgstr "2 passi" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "3 passaggi" +msgstr "3 passi" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" @@ -5175,7 +5178,7 @@ msgstr "Offset Griglia:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" -msgstr "Step Griglia:" +msgstr "Passo della griglia:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Primary Line Every:" @@ -5183,7 +5186,7 @@ msgstr "Line Primaria Ogni:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "steps" -msgstr "passaggi" +msgstr "passi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" @@ -5191,11 +5194,11 @@ msgstr "Offset Rotazione:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "Step Rotazione:" +msgstr "Passo di rotazione:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale Step:" -msgstr "Intervallo:" +msgstr "Passo di scala:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Vertical Guide" @@ -5393,7 +5396,7 @@ msgstr "Incolla Posa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Guides" -msgstr "Rimuvi Guide" +msgstr "Rimuovi guide" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create Custom Bone(s) from Node(s)" @@ -5423,12 +5426,12 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom Reset" -msgstr "Ripristino Zoom" +msgstr "Ripristina ingrandimento" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode" -msgstr "Modalità di Selezione" +msgstr "Modalità di selezione" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" @@ -5451,17 +5454,17 @@ msgstr "Alt+RMB: Selezione Lista Profondità " #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode" -msgstr "Modalità Movimento" +msgstr "Modalità spostamento" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode" -msgstr "Modalità Rotazione" +msgstr "Modalità rotazione" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode" -msgstr "Modalità Scala" +msgstr "Modalità scala" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5482,7 +5485,7 @@ msgstr "Modalità di Pan" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Ruler Mode" -msgstr "Modalità Righello" +msgstr "Modalità righello" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." @@ -5490,7 +5493,7 @@ msgstr "Abilita snapping intelligente." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Smart Snap" -msgstr "Usa lo Snap Intelligente" +msgstr "Usa lo Snap intelligente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle grid snapping." @@ -5498,7 +5501,7 @@ msgstr "Abilita/Disabilita snapping magnetico." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Grid Snap" -msgstr "Usa snap magnetico" +msgstr "Usa Griglia Magnetica" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" @@ -5600,7 +5603,7 @@ msgstr "Mostra Sempre Griglia" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" -msgstr "Mostra Guide" +msgstr "Mostra guide" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" @@ -5608,7 +5611,7 @@ msgstr "Mostra Righelli" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "Mostra guide" +msgstr "Mostra Guide" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Origin" @@ -5624,15 +5627,15 @@ msgstr "Mostra Gruppo e Blocca Icone" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "Centra Selezione" +msgstr "Centra selezione" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "Selezione Frame" +msgstr "Selezione frame" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" -msgstr "Anteprima dimensione canvas" +msgstr "Anteprima Dimensione Canvas" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." @@ -5673,7 +5676,7 @@ msgstr "Chiavi d'Animazione e Opzioni Posa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "Inserisci Key (Tracce Esistenti)" +msgstr "Inserisci chiave (tracce esistenti)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" @@ -5681,7 +5684,7 @@ msgstr "Copia Posa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "Pulisci Posa" +msgstr "Azzera posa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -5693,7 +5696,7 @@ msgstr "Dividi per 2 il passo della griglia" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan View" -msgstr "Vista panoramica" +msgstr "Trasla Visuale" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6633,11 +6636,11 @@ msgstr "Offset Y Griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step X:" -msgstr "Step X Griglia:" +msgstr "Passo X della griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step Y:" -msgstr "Step Y Griglia:" +msgstr "Passo Y della griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones to Polygon" @@ -6791,12 +6794,12 @@ msgstr "%s Riferimento di Classe" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "Trova Successivo" +msgstr "Trova successivo" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "Trova Precedente" +msgstr "Trova precedente" #: editor/plugins/script_editor_plugin.cpp msgid "Filter scripts" @@ -6818,13 +6821,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 Su" +msgstr "Sposta in 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 giù" +msgstr "Sposta in giù" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" @@ -6844,15 +6847,15 @@ msgstr "Apri..." #: editor/plugins/script_editor_plugin.cpp msgid "Reopen Closed Script" -msgstr "Riapri Script Chiuso" +msgstr "Riapri lo script chiuso" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" -msgstr "Salva Tutto" +msgstr "Salva tutto" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "Ricarica Script Soft" +msgstr "Ricarica Soft Script" #: editor/plugins/script_editor_plugin.cpp msgid "Copy Script Path" @@ -6897,11 +6900,11 @@ msgstr "Esegui" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "Passo Precedente" +msgstr "Passo dentro all'istruzione" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "Passo Successivo" +msgstr "Passo successivo" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" @@ -6989,16 +6992,17 @@ msgstr "" "Manca il metodo '%s' connesso per il segnale '%s' dal nodo '%s' al nodo '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Linea" +#, fuzzy +msgid "[Ignore]" +msgstr "(ignora)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignora)" +msgid "Line" +msgstr "Linea" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" -msgstr "Vai a Funzione" +msgstr "Va' alla funzione" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." @@ -7032,7 +7036,7 @@ msgstr "Minuscolo" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Capitalize" -msgstr "Aggiungi maiuscola iniziale" +msgstr "Rendi prima lettera maiuscola" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" @@ -7050,7 +7054,7 @@ msgstr "Segnalibri" #: editor/plugins/script_text_editor.cpp msgid "Breakpoints" -msgstr "Punti di rottura" +msgstr "Breakpoint" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -7060,11 +7064,11 @@ msgstr "Taglia" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "Seleziona tutti" +msgstr "Seleziona tutto" #: editor/plugins/script_text_editor.cpp msgid "Delete Line" -msgstr "Elimina Linea" +msgstr "Elimina linea" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" @@ -7076,11 +7080,11 @@ msgstr "Indenta Destra" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "Cambia a Commento" +msgstr "Commuta commento" #: editor/plugins/script_text_editor.cpp msgid "Fold/Unfold Line" -msgstr "Piega/Dispiega Linea" +msgstr "Espandi/comprimi linea" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" @@ -7092,31 +7096,31 @@ msgstr "Dispiegare Tutte le Linee" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "Clona Sotto" +msgstr "Clona sotto" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "Completa Simbolo" +msgstr "Completa simbolo" #: editor/plugins/script_text_editor.cpp msgid "Evaluate Selection" -msgstr "Valuta Selezione" +msgstr "Valuta selezione" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "Taglia Spazi in Coda" +msgstr "Taglia spazi in coda" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent to Spaces" -msgstr "Converti Indentazione in Spazi" +msgstr "Converti l'indentazione in spazi" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent to Tabs" -msgstr "Converti Indentazione in Tabulazioni" +msgstr "Converti l'indentazione in tabulazioni" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" -msgstr "Auto Indenta" +msgstr "Indenta automaticamente" #: editor/plugins/script_text_editor.cpp msgid "Find in Files..." @@ -7124,19 +7128,19 @@ msgstr "Cerca nei File..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" -msgstr "Aiuto Contestuale" +msgstr "Aiuto contestuale" #: editor/plugins/script_text_editor.cpp msgid "Toggle Bookmark" -msgstr "Abilita/Disabilita Segnalibri" +msgstr "Abilita/Disabilita segnalibri" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Bookmark" -msgstr "Vai al Segnalibri Successivo" +msgstr "Va' al segnalibro successivo" #: editor/plugins/script_text_editor.cpp msgid "Go to Previous Bookmark" -msgstr "Vai al Segnalibri Precedente" +msgstr "Va' al segnalibro precedente" #: editor/plugins/script_text_editor.cpp msgid "Remove All Bookmarks" @@ -7153,19 +7157,19 @@ msgstr "Vai a Linea..." #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "Abilita Breakpoint" +msgstr "Commuta breakpoint" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "Rimuovi Tutti i Breakpoints" +msgstr "Rimuovi tutti i breakpoint" #: editor/plugins/script_text_editor.cpp msgid "Go to Next Breakpoint" -msgstr "Vai a Breakpoint Successivo" +msgstr "Vai al breakpoint successivo" #: editor/plugins/script_text_editor.cpp msgid "Go to Previous Breakpoint" -msgstr "Vai a Breakpoint Precedente" +msgstr "Vai al breakpoint precedente" #: editor/plugins/shader_editor_plugin.cpp msgid "" @@ -7345,11 +7349,11 @@ msgstr "Retro" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Transform with View" -msgstr "Allinea Trasformazione con la Vista" +msgstr "Allinea trasformazione con la vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Rotation with View" -msgstr "Allinea Rotazione con la Vista" +msgstr "Allinea rotazione con la vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -7469,6 +7473,15 @@ msgid "XForm Dialog" msgstr "Finestra di XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Sposta i Nodi sul Pavimento" @@ -7488,51 +7501,51 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Local Space" -msgstr "Usa lo Spazio Locale" +msgstr "Usa Spazio Locale" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "Usa lo Snap" +msgstr "Usa Snap" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "Vista dal Basso" +msgstr "Vista dal basso" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "Vista dall'Alto" +msgstr "Vista dall'alto" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "Vista dal Retro" +msgstr "Vista dal retro" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "Vista Frontale" +msgstr "Vista frontale" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "Vista Sinistra" +msgstr "Vista laterale sinistra" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "Vista Destra" +msgstr "Vista laterale destra" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal View" -msgstr "Cambia tra Vista Prospettiva/Ortogonale" +msgstr "Cambia tra vista prospettica/ortogonale" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "Inserisci Key Animazione" +msgstr "Inserisci chiave animazione" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "Focalizza su Origine" +msgstr "Centra Origine" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "Centra a Selezione" +msgstr "Centra la Selezione" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" @@ -7901,7 +7914,7 @@ msgstr "Offset:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "Step:" +msgstr "Passo:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" @@ -8066,7 +8079,7 @@ msgstr "File Tema" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "Cancella Selezione" +msgstr "Cancella selezione" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Fix Invalid Tiles" @@ -8075,7 +8088,7 @@ msgstr "Correggi le Tile non Valide" #: editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cut Selection" -msgstr "Taglia Selezione" +msgstr "Taglia selezione" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" @@ -8099,7 +8112,7 @@ msgstr "Cancella TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find Tile" -msgstr "Trova Tile" +msgstr "Trova tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" @@ -8124,7 +8137,7 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "Disegna Tile" +msgstr "Disegna tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" @@ -8136,7 +8149,7 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "Preleva Tile" +msgstr "Preleva tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate Left" @@ -8156,7 +8169,7 @@ msgstr "Ribalta verticalmente" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Clear Transform" -msgstr "Cancella la trasformazione" +msgstr "Azzera la trasformazione" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Texture(s) to TileSet." @@ -8188,7 +8201,7 @@ msgstr "Nuova Atlas" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Next Coordinate" -msgstr "Prossima Coordinata" +msgstr "Coordinata successiva" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." @@ -8196,7 +8209,7 @@ msgstr "Seleziona la prossima forma, sottotile, o Tile." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Previous Coordinate" -msgstr "Coordinata Precedente" +msgstr "Coordinata precedente" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." @@ -8232,27 +8245,27 @@ msgstr "Indice Z" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Region Mode" -msgstr "Modalità regione" +msgstr "Modalità Regione" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Collision Mode" -msgstr "Modalità di Collisione" +msgstr "Modalità di collisione" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Occlusion Mode" -msgstr "Modalità di occlusione" +msgstr "Modalità Occlusione" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Navigation Mode" -msgstr "Modalità di navigazione" +msgstr "Modalità Navigazione" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Bitmask Mode" -msgstr "Modalità Maschera di Bit" +msgstr "Modalità Bitmask" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Priority Mode" -msgstr "Modalità prioritaria" +msgstr "Modalità Prioritaria" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Icon Mode" @@ -8260,7 +8273,7 @@ msgstr "Modalità Icona" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Z Index Mode" -msgstr "Modalità indice Z" +msgstr "Modalità Indice Z" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." @@ -8661,7 +8674,7 @@ msgstr "Duplica Nodi" #: editor/plugins/visual_shader_editor_plugin.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Paste Nodes" -msgstr "Incolla Nodi" +msgstr "Incolla nodi" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Delete Nodes" @@ -9996,6 +10009,10 @@ msgid "" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"La casella di ricerca filtra i progetti per nome e l'ultimo componente del " +"percorso.\n" +"Per filtrare i progetti per nome e percorso completo, la query deve " +"contenere almeno un carattere `/`." #: editor/project_settings_editor.cpp msgid "Key " @@ -10375,7 +10392,7 @@ msgstr "Seleziona Metodo" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp msgid "Batch Rename" -msgstr "Rinomina in Blocco" +msgstr "Rinomina in blocco" #: editor/rename_dialog.cpp msgid "Prefix" @@ -10562,8 +10579,9 @@ msgid "Instance Child Scene" msgstr "Istanzia Scena Figlia" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Svuota Script" +#, fuzzy +msgid "Detach Script" +msgstr "Allega Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10729,8 +10747,15 @@ msgid "Open Documentation" msgstr "Apri la documentazione" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" -msgstr "Aggiungi Nodo Figlio" +msgstr "Aggiungi un nodo figlio" #: editor/scene_tree_dock.cpp msgid "Expand/Collapse All" @@ -10758,7 +10783,7 @@ msgstr "Salva Ramo come Scena" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp msgid "Copy Node Path" -msgstr "Copia Percorso Nodo" +msgstr "Copia percorso del nodo" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" @@ -10777,11 +10802,13 @@ msgstr "" "root esiste." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Allega un nuovo script o uno esistente al nodo selezionato." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Svuota uno script per il nodo selezionato." #: editor/scene_tree_dock.cpp @@ -10913,6 +10940,10 @@ msgid "A directory with the same name exists." msgstr "Esiste già una directory con lo stesso nome." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "File inesistente." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Estensione non valida." @@ -10953,6 +10984,10 @@ msgid "File exists, it will be reused." msgstr "Il file è già esistente, quindi, verrà riutilizzato." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Percorso non valido." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nome classe non valido." @@ -11058,7 +11093,7 @@ msgstr "Processo Figlio Connesso." #: editor/script_editor_debugger.cpp msgid "Copy Error" -msgstr "Errore di Copia" +msgstr "Copia messaggio di errore" #: editor/script_editor_debugger.cpp msgid "Video RAM" @@ -11066,7 +11101,7 @@ msgstr "RAM Video" #: editor/script_editor_debugger.cpp msgid "Skip Breakpoints" -msgstr "Salta Punti di rottura" +msgstr "Salta i breakpoint" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" @@ -11860,31 +11895,31 @@ msgstr "Seleziona o crea una funzione per modificarne il grafico." #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "Elimina selezionati" +msgstr "Elimina Selezionati" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "Trova Tipo Nodo" +msgstr "Trova tipo del nodo" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "Copia Nodi" +msgstr "Copia nodi" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" -msgstr "Taglia Nodi" +msgstr "Taglia nodi" #: modules/visual_script/visual_script_editor.cpp msgid "Make Function" -msgstr "Crea Funzione" +msgstr "Crea funzione" #: modules/visual_script/visual_script_editor.cpp msgid "Refresh Graph" -msgstr "Aggiorna Grafico" +msgstr "Aggiorna grafico" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Member" -msgstr "Modifica Membro" +msgstr "Modifica membro" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " @@ -11933,16 +11968,16 @@ msgstr "VariableSet non trovato nello script: " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." msgstr "" -"Il nodo personalizato non ha un metodo _step(), impossibile processare il " -"grafico." +"Il nodo personalizzato non ha alcun metodo _step(), impossibile processare " +"il grafico." #: modules/visual_script/visual_script_nodes.cpp msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" -"Valore di return invalido da _step(), deve esere intero (seq out), oppure " -"stringa (errore)." +"Valore di ritorno di _step() non valido, deve essere un intero (seq out), " +"oppure una stringa (errore)." #: modules/visual_script/visual_script_property_selector.cpp msgid "Search VisualScript" @@ -12003,6 +12038,12 @@ msgstr "" "Debug keystore non configurato nelle Impostazioni dell'Editor né nel preset." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Debug keystore non configurato nelle Impostazioni dell'Editor né nel preset." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Le build personalizzate richiedono un percorso per un Android SDK valido " @@ -12032,6 +12073,32 @@ msgstr "Nome del pacchetto non valido:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12831,6 +12898,21 @@ msgstr "Varyings può essere assegnato soltanto nella funzione del vertice." msgid "Constants cannot be modified." msgstr "Le constanti non possono essere modificate." +#~ msgid "Not in resource path." +#~ msgstr "Non è nel percorso risorse." + +#~ msgid "Revert" +#~ msgstr "Ripristina" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Questa azione non può essere annullata. Ripristinare comunque?" + +#~ msgid "Revert Scene" +#~ msgstr "Ripristina scena" + +#~ msgid "Clear Script" +#~ msgstr "Svuota Script" + #~ msgid "Issue Tracker" #~ msgstr "Tracciatore segnalazioni" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 8aef04db94..7d4aed4b29 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -31,12 +31,13 @@ # Akihiro Ogoshi <technical@palsystem-game.com>, 2019, 2020. # Wataru Onuki <bettawat@yahoo.co.jp>, 2020. # sporeball <sporeballdev@gmail.com>, 2020. +# BinotaLIU <me@binota.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-04 15:12+0000\n" -"Last-Translator: Wataru Onuki <bettawat@yahoo.co.jp>\n" +"PO-Revision-Date: 2020-06-03 20:09+0000\n" +"Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" @@ -866,7 +867,6 @@ msgstr "シグナルã«æŽ¥ç¶šã§ãã¾ã›ã‚“" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1476,17 +1476,9 @@ msgstr "有効" msgid "Rearrange Autoloads" msgstr "自動èªè¾¼ã¿ã®ä¸¦ã¹æ›¿ãˆ" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "パスãŒç„¡åŠ¹ã§ã™ã€‚" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "ファイルãŒå˜åœ¨ã—ã¾ã›ã‚“。" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "リソースパスã«ã‚ã‚Šã¾ã›ã‚“。" +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2444,12 +2436,15 @@ msgid "Can't reload a scene that was never saved." msgstr "ä¿å˜ã•ã‚Œã¦ã„ãªã„シーンをèªã¿è¾¼ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“。" #: editor/editor_node.cpp -msgid "Revert" -msgstr "å…ƒã«æˆ»ã™" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "シーンをä¿å˜" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "ã“ã®æ“作ã¯å–り消ã›ã¾ã›ã‚“。ãã‚Œã§ã‚‚å…ƒã«æˆ»ã—ã¾ã™ã‹?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2737,10 +2732,6 @@ msgid "Redo" msgstr "ã‚„ã‚Šç›´ã™" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "シーンを元ã«æˆ»ã™" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "ãã®ä»–ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã¾ãŸã¯ã‚·ãƒ¼ãƒ³å…¨ä½“ã®ãƒ„ール。" @@ -3386,6 +3377,13 @@ msgstr "スクリプトを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:" msgid "Did you forget the '_run' method?" msgstr "'_run' メソッドを忘れã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Ctrlを押ã—ãŸã¾ã¾Getterã‚’(ドラッグ&)ドãƒãƒƒãƒ—ã™ã‚‹ã€‚Shiftを押ã—ãŸã¾ã¾æ±Žç”¨ã‚·ã‚°ãƒ" +"ãƒãƒ£ã‚’(ドラッグ&)ドãƒãƒƒãƒ—ã™ã‚‹." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠž" @@ -3979,6 +3977,10 @@ msgid "Error running post-import script:" msgstr "インãƒãƒ¼ãƒˆæ¸ˆã‚¹ã‚¯ãƒªãƒ—トã®å®Ÿè¡Œä¸ã«ã‚¨ãƒ©ãƒ¼:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "ä¿å˜ä¸..." @@ -4051,9 +4053,8 @@ msgid "Copy Resource" msgstr "リソースをコピー" #: editor/inspector_dock.cpp -#, fuzzy msgid "Make Built-In" -msgstr "ビルトインを作æˆ" +msgstr "組ã¿è¾¼ã¿ã«ã™ã‚‹" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" @@ -5692,7 +5693,7 @@ msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’è¨å®šã™ã‚‹" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" -msgstr "放射マスクをèªã¿è¾¼ã‚€" +msgstr "放出マスクをèªã¿è¾¼ã‚€" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/cpu_particles_editor_plugin.cpp @@ -5704,7 +5705,7 @@ msgstr "å†èµ·å‹•" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Clear Emission Mask" -msgstr "発光(Emission)マスクをクリア" +msgstr "放出マスクをクリア" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5720,7 +5721,7 @@ msgstr "生æˆã—ãŸãƒã‚¤ãƒ³ãƒˆã®æ•°:" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "\\ Emission Mask" +msgstr "放出マスク" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5745,7 +5746,7 @@ msgstr "ピクセルã‹ã‚‰ã‚ャプãƒãƒ£" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" -msgstr "発光(Emission)色" +msgstr "放出色" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" @@ -6210,7 +6211,7 @@ msgstr "\"%s\" ã¯ãƒ•ã‚§ã‚¤ã‚¹ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“。" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "放出器を作æˆ" +msgstr "放出æºã‚’作æˆ" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" @@ -6923,12 +6924,13 @@ msgstr "" "ド'%s'ã¸ã®ã‚·ã‚°ãƒŠãƒ«ç”¨ã§ã™ã€‚" #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "ライン" +#, fuzzy +msgid "[Ignore]" +msgstr "(無視)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(無視)" +msgid "Line" +msgstr "ライン" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7403,6 +7405,15 @@ msgid "XForm Dialog" msgstr "XFormダイアãƒã‚°" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "ノードをフãƒã‚¢ã«ã‚¹ãƒŠãƒƒãƒ—" @@ -8815,27 +8826,27 @@ msgstr "ãƒã‚¤ãƒ”ア数(2.718282)。自然対数ã®ãƒ™ãƒ¼ã‚¹ã‚’表ã—ã¾ã™ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Epsilon constant (0.00001). Smallest possible scalar number." -msgstr "Î¥(イプシãƒãƒ³)定数(0.00001)。使用å¯èƒ½ãªæœ€å°ã®ã‚¹ã‚«ãƒ©ãƒ¼æ•°ã€‚" +msgstr "ε(イプシãƒãƒ³)定数(0.00001)。使用å¯èƒ½ãªæœ€å°ã®ã‚¹ã‚«ãƒ©ãƒ¼æ•°ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Phi constant (1.618034). Golden ratio." -msgstr "Φ(ファイ)定数 (1.618034)。黄金比。" +msgstr "φ(ファイ)定数 (1.618034)。黄金比。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Pi/4 constant (0.785398) or 45 degrees." -msgstr "Î (パイ)/4定数 (0.785398) ã¾ãŸã¯45度。" +msgstr "Ï€(パイ)/4定数 (0.785398) ã¾ãŸã¯45度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Pi/2 constant (1.570796) or 90 degrees." -msgstr "Î (パイ)/2 定数(1.570796)ã¾ãŸã¯90度。" +msgstr "Ï€(パイ)/2 定数(1.570796)ã¾ãŸã¯90度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Pi constant (3.141593) or 180 degrees." -msgstr "Î (パイ)定数(3.141593)ã¾ãŸã¯180度。" +msgstr "Ï€(パイ)定数(3.141593)ã¾ãŸã¯180度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Tau constant (6.283185) or 360 degrees." -msgstr "Τ(タウ)定数(6.283185)ã¾ãŸã¯360度。" +msgstr "Ï„(タウ)定数(6.283185)ã¾ãŸã¯360度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Sqrt2 constant (1.414214). Square root of 2." @@ -9286,7 +9297,6 @@ msgstr "" "ãŸã‚ã«ãれを使用ã—ãªã„ã§ãã ã•ã„。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." @@ -9885,7 +9895,7 @@ msgstr "æ–°è¦ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆ" #: editor/project_manager.cpp msgid "Remove Missing" -msgstr "å˜åœ¨ã—ãªã„ã‚‚ã®ã‚’削除" +msgstr "å˜åœ¨ã—ãªã„ã‚‚ã®ã‚’除去" #: editor/project_manager.cpp msgid "Templates" @@ -9939,8 +9949,8 @@ msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" -"アクションåãŒç„¡åŠ¹ã§ã™ã€‚空ã«ã—ãŸã‚Šã€'/'ã€':'ã€'='ã€'\\'ç‰ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾" -"ã›ã‚“" +"アクションåãŒç„¡åŠ¹ã§ã™ã€‚空ã«ã—ãŸã‚Šã€'/'ã€':'ã€'='ã€'\\'ã€'\"'ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§" +"ãã¾ã›ã‚“" #: editor/project_settings_editor.cpp msgid "An action with the name '%s' already exists." @@ -10083,8 +10093,8 @@ msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." msgstr "" -"無効ãªã‚¢ã‚¯ã‚·ãƒ§ãƒ³åã§ã™ã€‚空もã—ãã¯'/'ã€':'ã€'='ã€'\\' ã€'\"'ç‰ã‚’å«ã‚ã‚‹ã“ã¨ã¯" -"ã§ãã¾ã›ã‚“。" +"無効ãªã‚¢ã‚¯ã‚·ãƒ§ãƒ³åã§ã™ã€‚空もã—ãã¯'/'ã€':'ã€'='ã€'\\' ã€'\"'ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§" +"ãã¾ã›ã‚“。" #: editor/project_settings_editor.cpp msgid "Add Input Action" @@ -10483,8 +10493,9 @@ msgid "Instance Child Scene" msgstr "åシーンをインスタンス化" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "スクリプトをクリア" +#, fuzzy +msgid "Detach Script" +msgstr "スクリプトをアタッãƒ" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10648,6 +10659,13 @@ msgid "Open Documentation" msgstr "ドã‚ュメントを開ã" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "åãƒŽãƒ¼ãƒ‰ã‚’è¿½åŠ " @@ -10696,11 +10714,13 @@ msgstr "" "åˆã¯ã€ç¶™æ‰¿ã•ã‚ŒãŸã‚·ãƒ¼ãƒ³ã‚’作æˆã—ã¾ã™ã€‚" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã«æ–°è¦ã¾ãŸã¯æ—¢å˜ã®ã‚¹ã‚¯ãƒªãƒ—トをアタッãƒã™ã‚‹ã€‚" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã®ã‚¹ã‚¯ãƒªãƒ—トをクリアã™ã‚‹ã€‚" #: editor/scene_tree_dock.cpp @@ -10832,6 +10852,10 @@ msgid "A directory with the same name exists." msgstr "åŒåã®ãƒ•ã‚©ãƒ«ãƒ€ãŒå˜åœ¨ã—ã¾ã™ã€‚" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "ファイルãŒå˜åœ¨ã—ã¾ã›ã‚“。" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "無効ãªæ‹¡å¼µåã§ã™ã€‚" @@ -10872,6 +10896,10 @@ msgid "File exists, it will be reused." msgstr "ファイルãŒæ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚ãã¡ã‚‰ã‚’å†åˆ©ç”¨ã—ã¾ã™ã€‚" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "パスãŒç„¡åŠ¹ã§ã™ã€‚" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "無効ãªã‚¯ãƒ©ã‚¹å。" @@ -10973,7 +11001,7 @@ msgstr "エラー" #: editor/script_editor_debugger.cpp msgid "Child process connected." -msgstr "åプãƒã‚»ã‚¹ãŒæŽ¥ç¶šã•ã‚ŒãŸã€‚" +msgstr "åプãƒã‚»ã‚¹ãŒæŽ¥ç¶šã•ã‚Œã¾ã—ãŸã€‚" #: editor/script_editor_debugger.cpp msgid "Copy Error" @@ -11919,6 +11947,11 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "デãƒãƒƒã‚°ã‚ーストアãŒã‚¨ãƒ‡ã‚£ã‚¿è¨å®šã«ã‚‚プリセットã«ã‚‚è¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。" #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "デãƒãƒƒã‚°ã‚ーストアãŒã‚¨ãƒ‡ã‚£ã‚¿è¨å®šã«ã‚‚プリセットã«ã‚‚è¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "カスタムビルドã«ã¯ã‚¨ãƒ‡ã‚£ã‚¿è¨å®šã§æœ‰åŠ¹ãªAndroid SDKパスãŒå¿…è¦ã§ã™ã€‚" @@ -11944,6 +11977,32 @@ msgstr "無効ãªãƒ‘ッケージå:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12724,6 +12783,21 @@ msgstr "Varying変数ã¯é ‚点関数ã«ã®ã¿å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã msgid "Constants cannot be modified." msgstr "定数ã¯å¤‰æ›´ã§ãã¾ã›ã‚“。" +#~ msgid "Not in resource path." +#~ msgstr "リソースパスã«ã‚ã‚Šã¾ã›ã‚“。" + +#~ msgid "Revert" +#~ msgstr "å…ƒã«æˆ»ã™" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "ã“ã®æ“作ã¯å–り消ã›ã¾ã›ã‚“。ãã‚Œã§ã‚‚å…ƒã«æˆ»ã—ã¾ã™ã‹?" + +#~ msgid "Revert Scene" +#~ msgstr "シーンを元ã«æˆ»ã™" + +#~ msgid "Clear Script" +#~ msgstr "スクリプトをクリア" + #~ msgid "Issue Tracker" #~ msgstr "課題管ç†ã‚·ã‚¹ãƒ†ãƒ " diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 07eeeb5377..2435a50898 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -876,7 +876,6 @@ msgstr "დáƒáƒ›áƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებელი სიგნáƒáƒšáƒ˜:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1503,17 +1502,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2459,11 +2449,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "გáƒáƒ®áƒ¡áƒœáƒ˜áƒšáƒ˜" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2734,10 +2727,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3350,6 +3339,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3954,6 +3947,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6906,15 +6903,15 @@ msgid "" msgstr "'%s' დრ'%s' შáƒáƒ ის კáƒáƒ•áƒ¨áƒ˜áƒ ის გáƒáƒ¬áƒ§áƒ•áƒ”ტáƒ" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "ხáƒáƒ–ი:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "ფუნქციის შექმნáƒ" @@ -7391,6 +7388,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10392,8 +10398,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "დáƒáƒ›áƒáƒ™áƒ˜áƒ“ებულებების შემსწáƒáƒ ებელი" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10554,6 +10561,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10603,11 +10617,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10732,6 +10746,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ." @@ -10774,6 +10792,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ." @@ -11827,6 +11850,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11851,6 +11878,32 @@ msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ ი ფáƒáƒœáƒ¢áƒ˜áƒ¡ ზáƒáƒ›áƒ." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index f25550709a..c568dc19b8 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -17,12 +17,13 @@ # Ervin <zetsmart@gmail.com>, 2019. # Tilto_ <tilto0822@develable.xyz>, 2020. # Myeongjin Lee <aranet100@gmail.com>, 2020. +# Doyun Kwon <caen4516@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-01 11:42+0000\n" -"Last-Translator: Ch. <ccwpc@hanmail.net>\n" +"PO-Revision-Date: 2020-05-22 21:01+0000\n" +"Last-Translator: Doyun Kwon <caen4516@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" "Language: ko\n" @@ -30,7 +31,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -850,7 +851,6 @@ msgstr "시그ë„ì„ ì—°ê²°í• ìˆ˜ ì—†ìŒ" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1459,17 +1459,9 @@ msgstr "켜기" msgid "Rearrange Autoloads" msgstr "ì˜¤í† ë¡œë“œ 다시 ì •ë ¬" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "올바르지 ì•Šì€ ê²½ë¡œìž…ë‹ˆë‹¤." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "파ì¼ì´ 존재하지 않습니다." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "리소스 ê²½ë¡œì— ì—†ìŠµë‹ˆë‹¤." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1586,8 +1578,9 @@ msgid "" "Enabled'." msgstr "" "ëŒ€ìƒ í”Œëž«í¼ì—ì„œ ë“œë¼ì´ë²„ê°€ GLES2ë¡œ í´ë°±í•˜ê¸° 위해 'ETC' í…스처 ì••ì¶•ì´ í•„ìš”í•©ë‹ˆ" -"다. 프로ì 트 ì„¤ì •ì—ì„œ 'Import Etc' ì„¤ì •ì„ ì¼œê±°ë‚˜, 'Driver Fallback Enabled' " -"ì„¤ì •ì„ ë„세요." +"다.\n" +"프로ì 트 ì„¤ì •ì—ì„œ 'Import Etc' ì„¤ì •ì„ í™œì„±í™” 하거나, 'Driver Fallback " +"Enabled' ì„¤ì •ì„ ë¹„í™œì„±í™” 하세요." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1968,7 +1961,7 @@ msgstr "메서드" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "테마 ì†ì„±" +msgstr "테마 ì†ì„±ë“¤" #: editor/editor_help.cpp msgid "Enumerations" @@ -2420,12 +2413,15 @@ msgid "Can't reload a scene that was never saved." msgstr "ì €ìž¥í•˜ì§€ ì•Šì€ ì”¬ì€ ìƒˆë¡œê³ ì¹¨í• ìˆ˜ 없습니다." #: editor/editor_node.cpp -msgid "Revert" -msgstr "ë˜ëŒë¦¬ê¸°" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "씬 ì €ìž¥" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "ì´ í–‰ë™ì€ ì·¨ì†Œí• ìˆ˜ 없습니다. ë¬´ì‹œí•˜ê³ ë˜ëŒë¦´ê¹Œìš”?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2710,10 +2706,6 @@ msgid "Redo" msgstr "다시 실행" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "씬 ë˜ëŒë¦¬ê¸°" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "프로ì 트 ë˜ëŠ” 씬 ê´€ë ¨ 여러가지 ë„구들." @@ -3354,6 +3346,13 @@ msgstr "스í¬ë¦½íŠ¸ë¥¼ ì‹¤í–‰í• ìˆ˜ ì—†ìŒ:" msgid "Did you forget the '_run' method?" msgstr "'_run' 메서드를 잊었나요?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Ctrlì„ ëˆ„ë¥´ê³ ìžˆìœ¼ë©´ Getter를 ë“œë¡í•©ë‹ˆë‹¤. Shift를 ëˆ„ë¥´ê³ ìžˆìœ¼ë©´ ì¼ë°˜ì ì¸ ì‹œê·¸" +"니처를 ë“œë¡í•©ë‹ˆë‹¤." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "ê°€ì ¸ì˜¬ 노드 ì„ íƒ" @@ -3948,6 +3947,10 @@ msgid "Error running post-import script:" msgstr "후 ê°€ì ¸ì˜¤ê¸° 스í¬ë¦½íŠ¸ 실행 중 오류:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "ì €ìž¥ 중..." @@ -6878,12 +6881,13 @@ msgstr "" "다." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "í–‰" +#, fuzzy +msgid "[Ignore]" +msgstr "(무시함)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(무시함)" +msgid "Line" +msgstr "í–‰" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7357,6 +7361,15 @@ msgid "XForm Dialog" msgstr "XForm 대화 ìƒìž" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "노드를 ë°”ë‹¥ì— ìŠ¤ëƒ…" @@ -9233,8 +9246,8 @@ msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." msgstr "" -"ì¹´ë©”ë¼ì˜ 화면 방향과 표면 ë…¸ë©€ì˜ ìŠ¤ì¹¼ë¼ê³±ì„ 기반으로 하는 í´ì˜¤í”„를 반환합니" -"다 (í´ì˜¤í”„와 ê´€ë ¨ëœ ìž…ë ¥ì„ ì „ë‹¬í•¨)." +"í‘œë©´ì˜ ë²•ì„ ë²¡í„°ì™€ ì¹´ë©”ë¼ê°€ ë°”ë¼ë³´ëŠ” ë°©í–¥ ë²¡í„°ì˜ ë‚´ì ì„ ê¸°ë°˜ìœ¼ë¡œ í•œ í´ì˜¤í”„를 " +"반환합니다. (í´ì˜¤í”„와 ê´€ë ¨ëœ ìž…ë ¥ì„ ì „ë‹¬í•¨)." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9407,15 +9420,16 @@ msgid "" "Filters to export non-resource files/folders\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" -"리소스가 ì•„ë‹Œ 파ì¼/í´ë” 내보내기 í•„í„° (쉼표로 구분, 예: *.json, *.txt, docs/" -"*)" +"리소스가 ì•„ë‹Œ 파ì¼/í´ë” 내보내기 í•„í„°\n" +"(쉼표로 구분, 예: *.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "" "Filters to exclude files/folders from project\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" -"프로ì 트ì—ì„œ ì œì™¸í• íŒŒì¼/í´ë” í•„í„° (쉼표로 구분, 예: *.json, *.txt, docs/*)" +"프로ì 트ì—ì„œ ì œì™¸í• íŒŒì¼/í´ë” í•„í„°\n" +"(쉼표로 구분, 예: *.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "Patches" @@ -10405,8 +10419,9 @@ msgid "Instance Child Scene" msgstr "ìžì‹ 씬 ì¸ìŠ¤í„´ìŠ¤í™”" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "스í¬ë¦½íŠ¸ ì‚ì œ" +#, fuzzy +msgid "Detach Script" +msgstr "스í¬ë¦½íŠ¸ 붙ì´ê¸°" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10569,6 +10584,13 @@ msgid "Open Documentation" msgstr "문서 열기" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "ìžì‹ 노드 추가" @@ -10616,11 +10638,13 @@ msgstr "" "씬 파ì¼ì„ 노드로 ì¸ìŠ¤í„´ìŠ¤í•©ë‹ˆë‹¤. 루트 노드가 없으면 ìƒì†ëœ ì”¬ì„ ë§Œë“니다." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "ì„ íƒí•œ ë…¸ë“œì— ìƒˆë¡œìš´ í˜¹ì€ ì¡´ìž¬í•˜ëŠ” 스í¬ë¦½íŠ¸ë¥¼ 붙입니다." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "ì„ íƒí•œ ë…¸ë“œì˜ ìŠ¤í¬ë¦½íŠ¸ë¥¼ ì‚ì œí•©ë‹ˆë‹¤." #: editor/scene_tree_dock.cpp @@ -10752,6 +10776,10 @@ msgid "A directory with the same name exists." msgstr "ê°™ì€ ì´ë¦„ì˜ ë””ë ‰í† ë¦¬ê°€ 있습니다." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "파ì¼ì´ 존재하지 않습니다." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "ìž˜ëª»ëœ í™•ìž¥ìž." @@ -10792,6 +10820,10 @@ msgid "File exists, it will be reused." msgstr "파ì¼ì´ 있습니다. 다시 ì‚¬ìš©í• ê²ƒìž…ë‹ˆë‹¤." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "올바르지 ì•Šì€ ê²½ë¡œìž…ë‹ˆë‹¤." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "ìž˜ëª»ëœ í´ëž˜ìŠ¤ ì´ë¦„." @@ -11834,6 +11866,11 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "Debug keystore를 편집기 ì„¤ì •ê³¼ í”„ë¦¬ì…‹ì— ì„¤ì •í•˜ì§€ 않았습니다." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "Debug keystore를 편집기 ì„¤ì •ê³¼ í”„ë¦¬ì…‹ì— ì„¤ì •í•˜ì§€ 않았습니다." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "맞춤 빌드ì—는 편집기 ì„¤ì •ì—ì„œ 올바른 안드로ì´ë“œ SDK 경로가 필요합니다." @@ -11859,6 +11896,32 @@ msgstr "ìž˜ëª»ëœ íŒ¨í‚¤ì§€ ì´ë¦„:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12616,6 +12679,21 @@ msgstr "Varyingì€ ê¼ì§“ì 함수ì—만 ì§€ì •í• ìˆ˜ 있습니다." msgid "Constants cannot be modified." msgstr "ìƒìˆ˜ëŠ” ìˆ˜ì •í• ìˆ˜ 없습니다." +#~ msgid "Not in resource path." +#~ msgstr "리소스 ê²½ë¡œì— ì—†ìŠµë‹ˆë‹¤." + +#~ msgid "Revert" +#~ msgstr "ë˜ëŒë¦¬ê¸°" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "ì´ í–‰ë™ì€ ì·¨ì†Œí• ìˆ˜ 없습니다. ë¬´ì‹œí•˜ê³ ë˜ëŒë¦´ê¹Œìš”?" + +#~ msgid "Revert Scene" +#~ msgstr "씬 ë˜ëŒë¦¬ê¸°" + +#~ msgid "Clear Script" +#~ msgstr "스í¬ë¦½íŠ¸ ì‚ì œ" + #~ msgid "Issue Tracker" #~ msgstr "ì´ìŠˆ 트래커" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index 57c377b571..bbbe630d4a 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -858,7 +858,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1465,17 +1464,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Netinkamas Å¡rifto dydis." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2424,11 +2414,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Atidaryti Skriptų Editorių" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2699,10 +2692,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3320,6 +3309,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "GalbÅ«t jÅ«s pamirÅ¡ote '_run' metodÄ…?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Pasirinkite Nodus, kuriuos norite importuoti" @@ -3927,6 +3920,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6888,15 +6885,15 @@ msgid "" msgstr "Prijungti '%s' prie '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Linija:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Go to Function" msgstr "" @@ -7367,6 +7364,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10378,8 +10384,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Atidaryti Skriptų Editorių" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10540,6 +10547,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10588,11 +10602,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10715,6 +10729,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Netinkamas Å¡rifto dydis." @@ -10759,6 +10777,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Netinkamas Å¡rifto dydis." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Netinkamas Å¡rifto dydis." @@ -11812,6 +11835,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11836,6 +11863,32 @@ msgstr "Netinkamas Å¡rifto dydis." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 642050468b..b69ecf7eef 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -3,14 +3,16 @@ # Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). # This file is distributed under the same license as the Godot source code. # Gustavs Porietis (pg829-) <porietisgustavs@gmail.com>, 2018. -# Martch Zagorski <martchzagorski@gmail.com>, 2018. +# Martch Zagorski <martchzagorski@gmail.com>, 2018, 2020. # JÄnis Ondzuls <janisond@inbox.lv>, 2020. +# Anonymous <noreply@weblate.org>, 2020. +# StiLins <aigars.skilins@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-03-11 12:20+0000\n" -"Last-Translator: JÄnis Ondzuls <janisond@inbox.lv>\n" +"PO-Revision-Date: 2020-06-04 18:34+0000\n" +"Last-Translator: StiLins <aigars.skilins@gmail.com>\n" "Language-Team: Latvian <https://hosted.weblate.org/projects/godot-engine/" "godot/lv/>\n" "Language: lv\n" @@ -19,16 +21,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= " "19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" -"X-Generator: Weblate 4.0-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" +"Nepareizs argumenta tips convert() izsaukÅ¡anai, lietojiet TYPE_* konstantes." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "JÄlieto teksta rinda ar garumu 1 (simbols)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -42,7 +45,7 @@ msgstr "NederÄ«ga ievade %i (nav padota) izteikumÄ" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "" +msgstr "'self' nevar izmantot, jo instance ir 'null' (nav padota)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -58,11 +61,11 @@ msgstr "NederÄ«gs nosaukts indekss '%s' bÄzes tipam %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "NderÄ«gs arguments, lai izveidotu '%s'" +msgstr "NederÄ«gs arguments, lai izveidotu '%s'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "" +msgstr "'%s' izsaukumÄ:" #: core/ustring.cpp msgid "B" @@ -98,7 +101,7 @@ msgstr "Bezmaksas" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "BalancÄ“ts" +msgstr "BalansÄ“ts" #: editor/animation_bezier_editor.cpp msgid "Mirror" @@ -114,97 +117,96 @@ msgstr "VÄ“rtÄ«ba:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "Ievadiet vÄ“rtÄ«bu Å¡eit" +msgstr "Ievadiet AtslÄ“gu Å eit" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "DublikÄta VÄ“rtÄ«bas" +msgstr "Izveidot DublikÄtu IzvÄ“lÄ“tajai(Äm) AtslÄ“gai(Äm)" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "IzdzÄ“st izvÄ“lÄ“to(Äs) vÄ“rtÄ«bu(as)?" +msgstr "IzdzÄ“st IzvÄ“lÄ“to(Äs) AtslÄ“gu(as)" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" -msgstr "" +msgstr "Pievienot BezjÄ“ Punktu" #: editor/animation_bezier_editor.cpp msgid "Move Bezier Points" -msgstr "" +msgstr "PÄrvietot BezjÄ“ Punktus" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "" +msgstr "Anim Izveidot AtslÄ“gu DublikÄtu" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "" +msgstr "Anim IzdzÄ“st AtslÄ“gas" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "" +msgstr "Anim IzmainÄ«t AtslÄ“gkadra Laiku" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "" +msgstr "Anim IzmainÄ«t PÄreju" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "" +msgstr "Anim IzmainÄ«t TransformÄciju" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "" +msgstr "Anim IzmainÄ«t AtslÄ“gkadra VÄ“rtÄ«bu" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "" +msgstr "Anim IzmainÄ«t Izsaukumu" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" -msgstr "" +msgstr "Anim VairÄkkÄrt IzmainÄ«t AtslÄ“gkadra Laiku" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transition" -msgstr "" +msgstr "Anim VairÄkkÄrt IzmainÄ«t PÄreju" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transform" -msgstr "" +msgstr "Anim VairÄkkÄrt IzmainÄ«t TransformÄciju" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Value" -msgstr "" +msgstr "Anim VairÄkkÄrt IzmainÄ«t AtslÄ“gkadra VÄ“rtÄ«bu" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Call" -msgstr "" +msgstr "Anim VairÄkkÄrt IzmainÄ«t Izsaukumu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "AnimÄciju Cilpa" +msgstr "IzmainÄ«t AnimÄcijas Garumu" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "IzmainÄ«t AnimÄcijas AtkÄrtoÅ¡anos" #: editor/animation_track_editor.cpp msgid "Property Track" -msgstr "" +msgstr "MainÄ«go Celiņš" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "" +msgstr "3D TransformÄcijas Celiņš" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "Izsaukt Metožu Celiņu" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "BezjÄ“ LÄ«kņu Celiņš" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" @@ -215,14 +217,12 @@ msgid "Animation Playback Track" msgstr "AnimÄcijas atskaņoÅ¡anas celiņs" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (frames)" -msgstr "AnimÄcijas Garums (sekundes)" +msgstr "AnimÄcijas garums (kadri)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (seconds)" -msgstr "AnimÄcijas Garums (sekundes)" +msgstr "AnimÄcijas garums (sekundes)" #: editor/animation_track_editor.cpp msgid "Add Track" @@ -247,15 +247,15 @@ msgstr "AnimÄcijas klipi:" #: editor/animation_track_editor.cpp msgid "Change Track Path" -msgstr "" +msgstr "IzmainÄ«t Ceļu uz Celiņa" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." -msgstr "" +msgstr "PÄrslÄ“gt Å¡o celiņu ieslÄ“gts/izslÄ“gts." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "AtjaunoÅ¡anas Režīms (KÄ Å¡is mainÄ«gais tiek iestatÄ«ts)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" @@ -263,7 +263,7 @@ msgstr "InterpolÄcijas režīms" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "AtkÄrtoÅ¡anÄs AptÄ«Å¡anas Režīms (InterpolÄ“ beigas ar cilpas sÄkumu)" #: editor/animation_track_editor.cpp msgid "Remove this track." @@ -275,7 +275,7 @@ msgstr "Laiks (s): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "" +msgstr "PÄrslÄ“gt Celiņu uz IespÄ“jotu" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -308,16 +308,16 @@ msgstr "Kubisks" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "" +msgstr "Apgriezt Cilpas InterpolÄciju" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "" +msgstr "AptÄ«t Cilpas InterpolÄciju" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "Ievietot atslÄ“gievietni" +msgstr "Ievietot AtslÄ“gu" #: editor/animation_track_editor.cpp msgid "Duplicate Key(s)" @@ -328,23 +328,20 @@ msgid "Delete Key(s)" msgstr "IzdzÄ“st atslÄ“gvietnes" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "AnimÄcijas tÄlummaiņa." +msgstr "IzmainÄ«t AnimÄcijas AtjaunoÅ¡anas Režīmu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "InterpolÄcijas režīms" +msgstr "IzmainÄ«t AnimÄcijas InterpolÄcijas Režīmu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "AnimÄcijas tÄlummaiņa." +msgstr "IzmainÄ«t AnimÄcijas AtkÄrtoÅ¡anÄs Režīmu" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" -msgstr "Noņemt animÄcijas celiņu" +msgstr "Noņemt Anim. Celiņu" #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" @@ -372,33 +369,31 @@ msgstr "Anim ievietot" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "AnimationPlayer nevar animÄ“t pats sevi, tikai citi spÄ“lÄ“tÄji." +msgstr "AnimationPlayer nevar animÄ“t pats sevi, tikai citus spÄ“lÄ“tÄjus." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" -msgstr "Anim izveidot un ievietot" +msgstr "Anim Izveidot un Ievietot" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim ievietot celiņu un atslÄ“gvietni" +msgstr "Anim Ievietot Celiņu un AtslÄ“gu" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" -msgstr "Anim ievietot atslÄ“gievietni" +msgstr "Anim Ievietot AtslÄ“gu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "AnimÄcijas tÄlummaiņa." +msgstr "IzmainÄ«t AnimÄcijas Soli" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "IelÄ«mÄ“t celiņus" +msgstr "PÄrkÄrtot Celiņus" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "TransformÄcijas celiņi tiek tikai pievienoti TelpiskajÄm mezgliem." #: editor/animation_track_editor.cpp msgid "" @@ -407,7 +402,7 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" -"Audio celiņu var tikai rÄdÄ«t uz Å¡Äda tipa mezgliem:\n" +"Audio celiņu var tikai norÄdÄ«t uz Å¡Äda tipa mezgliem:\n" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" @@ -426,47 +421,43 @@ msgstr "Nevar izveidot jaunu celiņu bez saknes" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "" +msgstr "NeatbilstoÅ¡s celiņš priekÅ¡ BezjÄ“ (nav piemÄ“rotu apakÅ¡-mainÄ«go)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Pievienot celiņu" +msgstr "Pievienot BezjÄ“ Celiņu" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "Ceļš uz Celiņu nav derÄ«gs, tÄpÄ“c nevar pievienot atslÄ“gu." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "Celiņš nepieder Telpiskajam tipam, nevar ievietot atslÄ“gu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Anim ievietot celiņu un atslÄ“gvietni" +msgstr "Pievienot AtslÄ“gu TransformÄcijas Celiņam" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Pievienot celiņu" +msgstr "Pievienot Celiņa AtslÄ“gu" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "" +msgstr "Ceļš uz Celiņu nav derÄ«gs, tÄpÄ“c nevar pievienot metodes atslÄ“gu." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Anim ievietot celiņu un atslÄ“gvietni" +msgstr "Pievienot Celiņa Metodes AtslÄ“gu" #: editor/animation_track_editor.cpp msgid "Method not found in object: " -msgstr "Metode netika atrasta objektÄ: " +msgstr "Metode objektÄ netika atrasta: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" -msgstr "Anim pÄrvietot atslÄ“gievietnes" +msgstr "Anim PÄrvietot AtslÄ“gas" #: editor/animation_track_editor.cpp msgid "Clipboard is empty" @@ -478,12 +469,12 @@ msgstr "IelÄ«mÄ“t celiņus" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" -msgstr "Anim pÄrvietot atslÄ“gievietnes" +msgstr "Anim MainÄ«t AtslÄ“gas IzmÄ“ru" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." -msgstr "" +msgstr "Å Ä« iespÄ“ja nestrÄdÄ ar BazjÄ“ rediģēšanu, jo tai ir tikai viens celiņš." #: editor/animation_track_editor.cpp msgid "" @@ -497,14 +488,24 @@ msgid "" "Alternatively, use an import preset that imports animations to separate " "files." msgstr "" +"Å Ä« animÄcija pieder importÄ“tajai ainai, tÄpÄ“c importÄ“tÄ celiņa izmaiņas " +"netiks saglabÄtas.\n" +"\n" +"Lai iespÄ“jotu pielÄgotu celiņu pievienoÅ¡anu, atrodiet ainu importÄ“Å¡anas " +"iespÄ“jas un iestÄdiet\n" +"\"Animation > Storage\" uz \"Files\", iespÄ“jojiet \"Animation > Keep Custom " +"Tracks\", tad nospiediet 're-import'.\n" +"AlternatÄ«vi, izmantojiet 'import preset', kas importÄ“ animÄcijas uz " +"atseviÅ¡Ä·iem failiem." #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" -msgstr "" +msgstr "BrÄ«dinÄjums: Rediģējat importÄ“to animÄciju" #: editor/animation_track_editor.cpp msgid "Select an AnimationPlayer node to create and edit animations." msgstr "" +"IzvÄ“lieties 'AnimationPlayer' mezglu, lai izveidotu un rediģētu animÄcijas." #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." @@ -516,9 +517,8 @@ msgstr "" "SagrupÄ“t celiņus atkarÄ«bÄ no mezgliem vai rÄdÄ«t tos vienkÄrÅ¡Ä sarakstÄ." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Snap:" -msgstr "Solis (s): " +msgstr "Pievilkt:" #: editor/animation_track_editor.cpp msgid "Animation step value." @@ -526,11 +526,11 @@ msgstr "AnimÄcijas soļa vÄ“rtÄ«ba." #: editor/animation_track_editor.cpp msgid "Seconds" -msgstr "" +msgstr "Sekundes" #: editor/animation_track_editor.cpp msgid "FPS" -msgstr "" +msgstr "FPS" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -560,7 +560,7 @@ msgstr "Skala No Kursora" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "DublikÄta IzvÄ“le" +msgstr "Izveidot DublikÄtu IzvÄ“lÄ“tajam" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" @@ -571,14 +571,12 @@ msgid "Delete Selection" msgstr "DzÄ“st izvÄ“lÄ“tos" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Next Step" -msgstr "Doties uz nÄkamo soli" +msgstr "Doties uz NÄkamo Soli" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Previous Step" -msgstr "Doties uz iepriekÅ¡Ä“jo soli" +msgstr "Doties uz IepriekÅ¡Ä“jo Soli" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -586,7 +584,7 @@ msgstr "OptimizÄ“t animÄciju" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation" -msgstr "" +msgstr "IztÄ«rÄ«Å¡anas AnimÄcija" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" @@ -594,7 +592,7 @@ msgstr "IzvÄ“lies mezglu, kurÄ tiks animÄ“ta:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "" +msgstr "Izmanto BezjÄ“ LÄ«knes" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -602,15 +600,15 @@ msgstr "Anim. OptimizÄ“tÄjs" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" -msgstr "" +msgstr "Maks. LineÄrÄ Kļūda:" #: editor/animation_track_editor.cpp msgid "Max. Angular Error:" -msgstr "" +msgstr "Maks. RotÄcijas Kļūda:" #: editor/animation_track_editor.cpp msgid "Max Optimizable Angle:" -msgstr "" +msgstr "Max. OptimizÄ“jamais Leņķis:" #: editor/animation_track_editor.cpp msgid "Optimize" @@ -618,23 +616,23 @@ msgstr "OptimizÄ“t" #: editor/animation_track_editor.cpp msgid "Remove invalid keys" -msgstr "" +msgstr "Noņemt nederÄ«gÄs atslÄ“gas" #: editor/animation_track_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "" +msgstr "Noņemt neatrisinÄtos un nedefinÄ“tos celiņus" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" -msgstr "" +msgstr "IztÄ«rÄ«t visas animÄcijas" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "IztÄ«rÄ«t AnimÄciju(as) (NEATGRIEZENISKI!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" -msgstr "" +msgstr "IztÄ«rit" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" @@ -642,7 +640,7 @@ msgstr "MÄ“roga AttiecÄ«ba:" #: editor/animation_track_editor.cpp msgid "Select Tracks to Copy" -msgstr "" +msgstr "IzvÄ“lÄ“ties Celiņus ko KopÄ“t" #: editor/animation_track_editor.cpp editor/editor_log.cpp #: editor/editor_properties.cpp @@ -651,33 +649,31 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "KopÄ“t" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select All/None" -msgstr "DzÄ“st izvÄ“lÄ“tos" +msgstr "IzvÄ“lÄ“ties Visus/Nevienu" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Audio klipi:" +msgstr "Pievienot Audio Celiņa Klipu" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "MainÄ«t Audio Celiņa ApgrieÅ¡anas SÄkuma KompensÄciju" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "MainÄ«t Audio Celiņa ApgrieÅ¡anas Beigu KompensÄciju" #: editor/array_property_edit.cpp msgid "Resize Array" -msgstr "" +msgstr "MainÄ«t MasÄ«va Lielumu" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "" +msgstr "MainÄ«t MasÄ«va VÄ“rtÄ«bas Tipu" #: editor/array_property_edit.cpp msgid "Change Array Value" @@ -705,11 +701,11 @@ msgstr "%d sakritÄ«bas." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "" +msgstr "Atrast GadÄ«jumu" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" -msgstr "" +msgstr "Visu VÄrdu" #: editor/code_editor.cpp editor/rename_dialog.cpp msgid "Replace" @@ -730,13 +726,13 @@ msgstr "Standarts" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "" +msgstr "PÄrslÄ“gt Skriptu Paneli" #: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom In" -msgstr "PietuvinÄt" +msgstr "PalielinÄt" #: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -746,44 +742,43 @@ msgstr "AttÄlinÄt" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "AtiestatÄ«t tÄlummaiņu" +msgstr "AtiestatÄ«t TÄlummaiņu" #: editor/code_editor.cpp msgid "Warnings" -msgstr "" +msgstr "BrÄ«dinÄjumi" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "Rindu un kolonnu numuri." #: editor/connections_dialog.cpp msgid "Method in target node must be specified." -msgstr "" +msgstr "Metodi mÄ“rÄ·a mezglÄ nepiecieÅ¡ams specificÄ“t." #: editor/connections_dialog.cpp msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." msgstr "" +"MÄ“rÄ·a metode netika atrasta. SpecificÄ“jiet derÄ«gu metodi vai pievienojiet " +"skriptu mÄ“rÄ·a mezglam." #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect to Node:" -msgstr "Savienot" +msgstr "Savienot ar Mezglu:" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect to Script:" -msgstr "Savieno SignÄlu:" +msgstr "Savieno ar Skriptu:" #: editor/connections_dialog.cpp -#, fuzzy msgid "From Signal:" -msgstr "Savieno SignÄlu:" +msgstr "No SignÄla:" #: editor/connections_dialog.cpp msgid "Scene does not contain any script." -msgstr "" +msgstr "Aina nesatur skriptu." #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -804,48 +799,45 @@ msgstr "Noņemt" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "" +msgstr "Pievienot Ekstra Izsaukuma Argumentu:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "" +msgstr "Ekstra Izsaukuma Argumenti:" #: editor/connections_dialog.cpp msgid "Receiver Method:" -msgstr "" +msgstr "SaņemÅ¡anas Metode:" #: editor/connections_dialog.cpp -#, fuzzy msgid "Advanced" -msgstr "BalancÄ“ts" +msgstr "Papildus" #: editor/connections_dialog.cpp msgid "Deferred" -msgstr "" +msgstr "Atlikts" #: editor/connections_dialog.cpp msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "" +msgstr "Atliek signÄlu, glabÄjot to rindÄ, un to izstaro tikai dÄ«kstÄvÄ“." #: editor/connections_dialog.cpp msgid "Oneshot" -msgstr "" +msgstr "Vienreiz" #: editor/connections_dialog.cpp msgid "Disconnects the signal after its first emission." -msgstr "" +msgstr "Atvieno signÄlu pÄ“c tÄ pirmÄs izstaroÅ¡anas." #: editor/connections_dialog.cpp -#, fuzzy msgid "Cannot connect signal" -msgstr "Savieno SignÄlu:" +msgstr "Nevar savienot signÄlu" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -861,9 +853,8 @@ msgid "Connect" msgstr "Savienot" #: editor/connections_dialog.cpp -#, fuzzy msgid "Signal:" -msgstr "SignÄli" +msgstr "SignÄls:" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" @@ -874,32 +865,30 @@ msgid "Disconnect '%s' from '%s'" msgstr "Atvienot '%s' no '%s'" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect all from signal: '%s'" -msgstr "Atvienot '%s' no '%s'" +msgstr "Atvienot visus no signÄla: '%s'" #: editor/connections_dialog.cpp msgid "Connect..." -msgstr "" +msgstr "Savieno..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Disconnect" -msgstr "" +msgstr "Atvieno" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect a Signal to a Method" -msgstr "Savieno SignÄlu:" +msgstr "Savienot SignÄlu ar Metodi" #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit Connection:" -msgstr "Savieno SignÄlu:" +msgstr "IzmainÄ«t Savienojumu:" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" msgstr "" +"Vai esat droÅ¡s(Å¡a), ka vÄ“laties noņemt visus savienojumus no \"%s\" signÄla?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" @@ -908,18 +897,19 @@ msgstr "SignÄli" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" msgstr "" +"Vai esat droÅ¡s(Å¡a), ka vÄ“laties noņemt visus savienojumus no Å¡Ä« signÄla?" #: editor/connections_dialog.cpp msgid "Disconnect All" -msgstr "" +msgstr "Atvienot Visu" #: editor/connections_dialog.cpp msgid "Edit..." -msgstr "" +msgstr "Rediģēt..." #: editor/connections_dialog.cpp msgid "Go To Method" -msgstr "" +msgstr "Doties Uz Metodi" #: editor/create_dialog.cpp msgid "Change %s Type" @@ -952,7 +942,7 @@ msgstr "MeklÄ“t:" #: editor/property_selector.cpp editor/quick_open.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Matches:" -msgstr "" +msgstr "SakritÄ«bas:" #: editor/create_dialog.cpp editor/editor_plugin_settings.cpp #: editor/plugin_config_dialog.cpp @@ -964,28 +954,32 @@ msgstr "Apraksts:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "" +msgstr "MeklÄ“t AizstÄjÄ“ju PriekÅ¡:" #: editor/dependency_editor.cpp msgid "Dependencies For:" -msgstr "" +msgstr "AtkarÄ«bas PriekÅ¡:" #: editor/dependency_editor.cpp msgid "" "Scene '%s' is currently being edited.\n" "Changes will only take effect when reloaded." msgstr "" +"Aina '%s' paÅ¡laik tiek rediģēta.\n" +"Izmaiņas stÄsies spÄ“kÄ, kad tÄ tiks pÄrlÄdÄ“ta." #: editor/dependency_editor.cpp msgid "" "Resource '%s' is in use.\n" "Changes will only take effect when reloaded." msgstr "" +"Resurss '%s' tiek izmantots.\n" +"Izmaiņas stÄsies spÄ“kÄ, kad tas tiks pÄrlÄdÄ“ts." #: editor/dependency_editor.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "" +msgstr "AtkarÄ«bas" #: editor/dependency_editor.cpp msgid "Resource" @@ -994,23 +988,23 @@ msgstr "Resurs" #: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp #: editor/project_manager.cpp editor/project_settings_editor.cpp msgid "Path" -msgstr "" +msgstr "Ceļš" #: editor/dependency_editor.cpp msgid "Dependencies:" -msgstr "" +msgstr "AtkarÄ«bas:" #: editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "" +msgstr "Labot Salauzto" #: editor/dependency_editor.cpp msgid "Dependency Editor" -msgstr "" +msgstr "AtkarÄ«bu Redaktors" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "MeklÄ“t AizstÄjÄ“ja Resursu:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -1028,7 +1022,7 @@ msgstr "ĪpaÅ¡nieki:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (Can't be restored)" -msgstr "" +msgstr "Vai noņemt izvÄ“lÄ“tos failus no projekta? (Netiks atjaunoti)" #: editor/dependency_editor.cpp msgid "" @@ -1049,9 +1043,8 @@ msgid "Error loading:" msgstr "Kļūme lÄdÄ“jot:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" -msgstr "Ainu nevarÄ“ja ielÄdÄ“t dēļ neatrastiem dependencÄ«em:" +msgstr "IelÄdÄ“Å¡ana apturÄ“ta, jo trÅ«kst ceļu uz pamata failiem:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -1062,9 +1055,8 @@ msgid "Which action should be taken?" msgstr "Kuru darbÄ«bu izdarÄ«t?" #: editor/dependency_editor.cpp -#, fuzzy msgid "Fix Dependencies" -msgstr "Salabot dependecÄ«ju" +msgstr "Salabot AtkarÄ«bas" #: editor/dependency_editor.cpp msgid "Errors loading!" @@ -1072,16 +1064,15 @@ msgstr "Kļūmes lÄdÄ“jot!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "Vai neatgriezeniski izdzÄ“st %d priekÅ¡metu(us)? (NEATGRIEZENISKI!)" #: editor/dependency_editor.cpp -#, fuzzy msgid "Show Dependencies" -msgstr "Salabot dependecÄ«ju" +msgstr "RÄdÄ«t Ceļus uz Pamata Failiem" #: editor/dependency_editor.cpp msgid "Orphan Resource Explorer" -msgstr "" +msgstr "BÄreņu Resursu PÄrlÅ«ks" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp #: editor/editor_file_dialog.cpp editor/editor_node.cpp @@ -1097,15 +1088,15 @@ msgstr "Pieder" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "" +msgstr "Resursi Bez Skaidra ĪpaÅ¡nieka:" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "" +msgstr "MainÄ«t VÄrdnÄ«cas AtslÄ“gu" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" -msgstr "" +msgstr "MainÄ«t VÄrdnÄ«cas VÄ“rtÄ«bu" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -1168,22 +1159,20 @@ msgid "License" msgstr "Licence" #: editor/editor_about.cpp -#, fuzzy msgid "Third-party Licenses" -msgstr "TreÅ¡Äs partijas Licence" +msgstr "TreÅ¡Äs partijas Licences" #: editor/editor_about.cpp -#, fuzzy msgid "" "Godot Engine relies on a number of third-party free and open source " "libraries, all compatible with the terms of its MIT license. The following " "is an exhaustive list of all such third-party components with their " "respective copyright statements and license terms." msgstr "" -"Godot DzinÄ“js paļaujas uz citiem treÅ¡Äs partijas brÄ«vajÄm un atvÄ“rtÄ avota " -"bibliotÄ“kÄm, kuri visi sader ar to MIT licences nosacÄ«jumiem. SekojoÅ¡ais ir " -"saraksts ar Å¡Ä«m treÅ¡Äs partijas komponentÄ“m ar to autortiesÄ«bu apgalvojumiem " -"un licences nosacÄ«jumiem." +"Godot Konstruktors paļaujas uz citiem treÅ¡Äs partijas brÄ«vajÄm un atvÄ“rtÄ " +"avota bibliotÄ“kÄm, kuras ir saderÄ«gas ar to MIT licences nosacÄ«jumiem. " +"SekojoÅ¡ais ir saraksts ar Å¡Ä«m treÅ¡Äs partijas komponentÄ“m ar to autortiesÄ«bu " +"apgalvojumiem un licences nosacÄ«jumiem." #: editor/editor_about.cpp msgid "All Components" @@ -1198,38 +1187,37 @@ msgid "Licenses" msgstr "Licences" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Error opening package file, not in ZIP format." -msgstr "Kļūme atverot arhÄ«vu failu, nav ZIP formÄtÄ." +msgstr "Kļūda atverot failu arhÄ«vu, nav ZIP formÄtÄ." #: editor/editor_asset_installer.cpp msgid "%s (Already Exists)" -msgstr "" +msgstr "%s (Jau EksistÄ“)" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "" +msgstr "NekompresÄ“ti LÄ«dzekļi" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "" +msgstr "SekojoÅ¡ie faili netika izvilkti no paketes:" #: editor/editor_asset_installer.cpp msgid "And %s more files." -msgstr "" +msgstr "Un %s vÄ“l faili." #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package installed successfully!" -msgstr "" +msgstr "Pakete instalÄ“ta sekmÄ«gi!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "IzdevÄs!" +msgstr "MÄ“rÄ·is sasniegts!" #: editor/editor_asset_installer.cpp msgid "Package Contents:" -msgstr "" +msgstr "Paketes Saturs:" #: editor/editor_asset_installer.cpp editor/editor_node.cpp msgid "Install" @@ -1237,7 +1225,7 @@ msgstr "IeinstalÄ“t" #: editor/editor_asset_installer.cpp msgid "Package Installer" -msgstr "" +msgstr "Paketes InstalÄ“tÄjs" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1257,47 +1245,47 @@ msgstr "NomainÄ«t Audio Kopnes Skaļumu" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "" +msgstr "PÄrslÄ“gt Audio Busa Solo" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "" +msgstr "PÄrslÄ“gt Audio Busa ApklusinÄÅ¡anu" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "" +msgstr "PÄrslÄ“gt Audio Busa Å untÄ“Å¡anas Efektu" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "" +msgstr "IzvÄ“lÄ“ties Audio Busa SÅ«tÄ«Å¡anu" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" -msgstr "" +msgstr "Pievienot Audio Busa Efektu" #: editor/editor_audio_buses.cpp msgid "Move Bus Effect" -msgstr "" +msgstr "PÄrvietot Busa Efektu" #: editor/editor_audio_buses.cpp msgid "Delete Bus Effect" -msgstr "" +msgstr "IzdzÄ“st Busa Efektu" #: editor/editor_audio_buses.cpp msgid "Drag & drop to rearrange." -msgstr "" +msgstr "Velc un atlaid, lai pÄrkÄrtotu." #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "Solo" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "" +msgstr "ApklusinÄt" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "Å unts" #: editor/editor_audio_buses.cpp msgid "Bus options" @@ -1306,7 +1294,7 @@ msgstr "Kopnes iestatÄ«jumi" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "" +msgstr "Izveidot DublikÄtu" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -1369,9 +1357,8 @@ msgid "Invalid file, not an audio bus layout." msgstr "" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Error saving file: %s" -msgstr "Kļūmes lÄdÄ“jot!" +msgstr "Kļūda saglabÄjot failu: %s" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1420,25 +1407,18 @@ msgid "Valid characters:" msgstr "DerÄ«gie simboli:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing engine class name." msgstr "" -"NederÄ«gs nosaukums. NedrÄ«kst sadurties ar eksistÄ“joÅ¡u dzinÄ“ja klases " -"nosaukumu." +"Nosaukums nedrÄ«kst bÅ«t vienÄds ar eksistÄ“joÅ¡u konstruktora klases nosaukumu." #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing built-in type name." -msgstr "" -"NederÄ«gs nosaukums. NedrÄ«kst sadurties ar eksistÄ“joÅ¡u iebÅ«vÄ“to tipa " -"nosaukumu." +msgstr "Nosaukums nedrÄ«kst bÅ«t vienÄds ar eksistÄ“joÅ¡u iebÅ«vÄ“ta tipa nosaukumu." #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing global constant name." msgstr "" -"NederÄ«gs nosaukums. NedrÄ«kst sadurties ar eksistÄ“joÅ¡u dzinÄ“ja klases " -"nosaukumu." +"Nosaukums nedrÄ«kst bÅ«t vienÄds ar eksistÄ“joÅ¡u globÄlo konstantes nosaukumu." #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." @@ -1472,17 +1452,8 @@ msgstr "IespÄ“jot" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "NederÄ«gs nosaukums." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -1617,9 +1588,8 @@ msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "3D Editor" -msgstr "Rediģēt" +msgstr "3D Redaktors" #: editor/editor_feature_profile.cpp msgid "Script Editor" @@ -1666,23 +1636,20 @@ msgid "(Properties Disabled)" msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(Editor Disabled)" -msgstr "AtspÄ“jots" +msgstr "(Redaktors IzslÄ“gts)" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Options:" -msgstr "Apraksts:" +msgstr "Klases IespÄ“jas:" #: editor/editor_feature_profile.cpp msgid "Enable Contextual Editor" msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Enabled Properties:" -msgstr "AnimÄcijas Ä«paÅ¡Ä«bas." +msgstr "IeslÄ“gtie MainÄ«gie:" #: editor/editor_feature_profile.cpp msgid "Enabled Features:" @@ -1703,9 +1670,8 @@ msgid "" msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Error saving profile to path: '%s'." -msgstr "Kļūmes lÄdÄ“jot!" +msgstr "Kļūda saglabÄjot profilu uz ceļu: '%s'." #: editor/editor_feature_profile.cpp msgid "Unset" @@ -1716,9 +1682,8 @@ msgid "Current Profile:" msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Make Current" -msgstr "Izveidot Funkciju" +msgstr "AktualizÄ“t" #: editor/editor_feature_profile.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1736,14 +1701,12 @@ msgid "Export" msgstr "" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Available Profiles:" -msgstr "AnimÄcijas Ä«paÅ¡Ä«bas." +msgstr "Pieejamie Profili:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Options" -msgstr "Apraksts:" +msgstr "Klases IespÄ“jas" #: editor/editor_feature_profile.cpp msgid "New profile name:" @@ -1778,18 +1741,16 @@ msgid "File Exists, Overwrite?" msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select This Folder" -msgstr "IzvÄ“lÄ“ties Å¡o Mapi" +msgstr "IzvÄ“lÄ“ties Å o Mapi" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" msgstr "" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -#, fuzzy msgid "Open in File Manager" -msgstr "AtvÄ“rt" +msgstr "AtvÄ“rt Failu PÄrlÅ«kÄ" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/filesystem_dock.cpp editor/project_manager.cpp @@ -1877,23 +1838,20 @@ msgid "Move Favorite Down" msgstr "" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Go to previous folder." -msgstr "Doties uz iepriekÅ¡Ä“jo soli" +msgstr "Doties uz iepriekÅ¡Ä“jo mapi." #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Go to next folder." -msgstr "Doties uz nÄkamo soli" +msgstr "Doties uz nÄkamo mapi." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder." msgstr "" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Refresh files." -msgstr "MeklÄ“t:" +msgstr "Atjaunot failus." #: editor/editor_file_dialog.cpp msgid "(Un)favorite current folder." @@ -1961,9 +1919,8 @@ msgid "Inherited by:" msgstr "" #: editor/editor_help.cpp -#, fuzzy msgid "Description" -msgstr "Apraksts:" +msgstr "Apraksts" #: editor/editor_help.cpp msgid "Online Tutorials" @@ -1978,9 +1935,8 @@ msgid "override:" msgstr "" #: editor/editor_help.cpp -#, fuzzy msgid "default:" -msgstr "IelÄdÄ“t NoklusÄ“jumu" +msgstr "pÄ“c noklusÄ“juma:" #: editor/editor_help.cpp msgid "Methods" @@ -1999,9 +1955,8 @@ msgid "Constants" msgstr "" #: editor/editor_help.cpp -#, fuzzy msgid "Property Descriptions" -msgstr "Apraksts:" +msgstr "MainÄ«go Apraksts" #: editor/editor_help.cpp msgid "(value)" @@ -2014,9 +1969,8 @@ msgid "" msgstr "" #: editor/editor_help.cpp -#, fuzzy msgid "Method Descriptions" -msgstr "Apraksts:" +msgstr "Metožu Apraksts" #: editor/editor_help.cpp msgid "" @@ -2050,9 +2004,8 @@ msgid "Methods Only" msgstr "" #: editor/editor_help_search.cpp -#, fuzzy msgid "Signals Only" -msgstr "SignÄli" +msgstr "Tikai SignÄli" #: editor/editor_help_search.cpp msgid "Constants Only" @@ -2079,9 +2032,8 @@ msgid "Method" msgstr "" #: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Signal" -msgstr "SignÄli" +msgstr "SignÄls" #: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constant" @@ -2112,9 +2064,8 @@ msgid "Output:" msgstr "" #: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Copy Selection" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "KopÄ“t IzvÄ“lÄ“to" #: editor/editor_log.cpp editor/editor_network_profiler.cpp #: editor/editor_profiler.cpp editor/editor_properties.cpp @@ -2350,9 +2301,8 @@ msgid "Open Base Scene" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Quick Open..." -msgstr "AtvÄ“rt" +msgstr "Ä€tri AtvÄ“rt..." #: editor/editor_node.cpp msgid "Quick Open Scene..." @@ -2423,11 +2373,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "AtvÄ“rt AizvÄ“rto Ainu" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2473,9 +2426,8 @@ msgid "Close Scene" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Reopen Closed Scene" -msgstr "Atjaunina Ainu" +msgstr "AtvÄ“rt AizvÄ“rto Ainu" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2568,14 +2520,12 @@ msgid "Play This Scene" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Close Tab" -msgstr "AizvÄ“rt" +msgstr "AizvÄ“rt Cilni" #: editor/editor_node.cpp -#, fuzzy msgid "Undo Close Tab" -msgstr "AizvÄ“rt" +msgstr "Atcelt Cilnes AizvÄ“rÅ¡anu" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" @@ -2586,9 +2536,8 @@ msgid "Close Tabs to the Right" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Close All Tabs" -msgstr "AizvÄ“rt" +msgstr "AizvÄ“rt Visas Cilnes" #: editor/editor_node.cpp msgid "Switch Scene Tab" @@ -2631,9 +2580,8 @@ msgid "Go to previously opened scene." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Copy Text" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "KopÄ“t Tekstu" #: editor/editor_node.cpp msgid "Next tab" @@ -2672,9 +2620,8 @@ msgid "Save Scene" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Save All Scenes" -msgstr "SaglabÄt KÄ" +msgstr "SaglabÄt Visas Ainas" #: editor/editor_node.cpp msgid "Convert To..." @@ -2699,10 +2646,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -2736,9 +2679,8 @@ msgid "Install Android Build Template..." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Open Project Data Folder" -msgstr "Projekta DibinÄtÄji" +msgstr "AtvÄ“rt Projekta Datu Mapi" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" @@ -2905,11 +2847,11 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "SabiedrÄ«ba" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Par" #: editor/editor_node.cpp msgid "Play the project." @@ -2961,9 +2903,8 @@ msgid "Spins when the editor window redraws." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" -msgstr "NepÄrtraukti" +msgstr "NepÄrtraukti Atjaunot" #: editor/editor_node.cpp msgid "Update When Changed" @@ -3093,9 +3034,8 @@ msgid "Thumbnail..." msgstr "" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Main Script:" -msgstr "Savieno SignÄlu:" +msgstr "Galvenais Skripts:" #: editor/editor_plugin_settings.cpp msgid "Edit Plugin" @@ -3167,9 +3107,8 @@ msgid "Calls" msgstr "" #: editor/editor_properties.cpp -#, fuzzy msgid "Edit Text:" -msgstr "Savieno SignÄlu:" +msgstr "Rediģēt Tekstu:" #: editor/editor_properties.cpp editor/script_create_dialog.cpp msgid "On" @@ -3192,9 +3131,8 @@ msgid "Assign..." msgstr "" #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr "NederÄ«gs nosaukums." +msgstr "NederÄ«gs RID" #: editor/editor_properties.cpp msgid "" @@ -3313,6 +3251,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3437,9 +3379,8 @@ msgid "Download Complete." msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cannot remove temporary file:" -msgstr "Nevar noņemt:" +msgstr "Nevar noņemt pagaidu failu:" #: editor/export_template_manager.cpp msgid "" @@ -3448,9 +3389,8 @@ msgid "" msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting URL:" -msgstr "Kļūme lÄdÄ“jot:" +msgstr "Kļūda pieprasot URL:" #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." @@ -3519,9 +3459,8 @@ msgid "Remove Template" msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select Template File" -msgstr "IzvÄ“lÄ“ties Å¡o Mapi" +msgstr "IzvÄ“lÄ“ties Å ablona Failu" #: editor/export_template_manager.cpp msgid "Godot Export Templates" @@ -3540,9 +3479,8 @@ msgid "Select mirror from list: (Shift+Click: Open in Browser)" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Favorites" -msgstr "FavorÄ«ti:" +msgstr "FavorÄ«ti" #: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." @@ -3605,28 +3543,24 @@ msgid "New Inherited Scene" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Set As Main Scene" -msgstr "SaglabÄt KÄ" +msgstr "IestatÄ«t KÄ Galveno Ainu" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Open Scenes" -msgstr "Atjaunina Ainu" +msgstr "AtvÄ“rt Ainas" #: editor/filesystem_dock.cpp msgid "Instance" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Add to Favorites" -msgstr "FavorÄ«ti:" +msgstr "Pievienot FavorÄ«tiem" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Remove from Favorites" -msgstr "FavorÄ«ti:" +msgstr "Noņemt no FavorÄ«tiem" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." @@ -3649,18 +3583,16 @@ msgid "Move To..." msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Scene..." -msgstr "Resurs" +msgstr "Jauna Aina..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "New Script..." msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Resource..." -msgstr "Resurs" +msgstr "Jauns Resurss..." #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp @@ -3680,14 +3612,12 @@ msgid "Rename" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Previous Folder/File" -msgstr "IzvÄ“lÄ“ties Å¡o Mapi" +msgstr "IepriekÅ¡Ä“jÄ Mape/Fails" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Next Folder/File" -msgstr "IzvÄ“lÄ“ties Å¡o Mapi" +msgstr "NÄkamÄ Mape/Fails" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" @@ -3698,9 +3628,8 @@ msgid "Toggle Split Mode" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Search files" -msgstr "MeklÄ“t:" +msgstr "MeklÄ“t failus" #: editor/filesystem_dock.cpp msgid "" @@ -3721,18 +3650,16 @@ msgid "Overwrite" msgstr "" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Create Scene" -msgstr "Izveidot" +msgstr "Izveidot Ainu" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" msgstr "" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Find in Files" -msgstr "NederÄ«gs nosaukums." +msgstr "Atrast Failos" #: editor/find_in_files.cpp msgid "Find:" @@ -3770,18 +3697,16 @@ msgid "Find: " msgstr "" #: editor/find_in_files.cpp -#, fuzzy msgid "Replace: " -msgstr "Aizvietot" +msgstr "Aizvietot: " #: editor/find_in_files.cpp msgid "Replace all (no undo)" msgstr "" #: editor/find_in_files.cpp -#, fuzzy msgid "Searching..." -msgstr "MeklÄ“t:" +msgstr "MeklÄ“..." #: editor/find_in_files.cpp msgid "Search complete" @@ -3800,19 +3725,16 @@ msgid "Group name already exists." msgstr "" #: editor/groups_editor.cpp -#, fuzzy msgid "Invalid group name." -msgstr "NederÄ«gs nosaukums." +msgstr "NederÄ«gs grupas nosaukums." #: editor/groups_editor.cpp -#, fuzzy msgid "Rename Group" -msgstr "PÄrsaukt Audio Kopni" +msgstr "PÄrsaukt Grupu" #: editor/groups_editor.cpp -#, fuzzy msgid "Delete Group" -msgstr "IzdzÄ“st" +msgstr "IzdzÄ“st Grupu" #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" @@ -3836,9 +3758,8 @@ msgid "Empty groups will be automatically removed." msgstr "" #: editor/groups_editor.cpp -#, fuzzy msgid "Group Editor" -msgstr "Rediģēt" +msgstr "Grupas Redaktors" #: editor/groups_editor.cpp msgid "Manage Groups" @@ -3918,13 +3839,16 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" #: editor/import_dock.cpp -#, fuzzy msgid "%d Files" -msgstr "NederÄ«gs nosaukums." +msgstr "%d FailÄ" #: editor/import_dock.cpp msgid "Set as Default for '%s'" @@ -3939,9 +3863,8 @@ msgid "Import As:" msgstr "" #: editor/import_dock.cpp -#, fuzzy msgid "Preset" -msgstr "AtiestatÄ«t tÄlummaiņu" +msgstr "Sagatave" #: editor/import_dock.cpp msgid "Reimport" @@ -4075,16 +3998,14 @@ msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Polygon" -msgstr "Izveidot" +msgstr "Izveidot DaudzstÅ«ri" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Create points." -msgstr "Izveidot" +msgstr "Izveidot punktus." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -4099,9 +4020,8 @@ msgid "Erase points." msgstr "" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon" -msgstr "Izveidot" +msgstr "Rediģēt DaudzstÅ«ri" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" @@ -4127,9 +4047,8 @@ msgstr "" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Load..." -msgstr "IelÄdÄ“t" +msgstr "IelÄdÄ“..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4152,15 +4071,13 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "FavorÄ«ti:" +msgstr "Pievienot Mezgla Punktu" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "AnimÄciju Cilpa" +msgstr "Pievienot AnimÄcijas Punktu" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Remove BlendSpace1D Point" @@ -4209,18 +4126,16 @@ msgstr "" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Open Animation Node" -msgstr "AnimÄcijas tÄlummaiņa." +msgstr "AtvÄ“rt AnimÄcijas Mezglu" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Triangle already exists." msgstr "" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Pievienot celiņu" +msgstr "Pievienot TrijstÅ«ri" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Limits" @@ -4295,9 +4210,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Savienot" +msgstr "Mezgli Savienoti" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -4305,15 +4219,13 @@ msgid "Nodes Disconnected" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "OptimizÄ“t animÄciju" +msgstr "IestatÄ«t AnimÄciju" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "IzdzÄ“st" +msgstr "IzdzÄ“st Mezglu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/scene_tree_dock.cpp @@ -4325,9 +4237,8 @@ msgid "Toggle Filter On/Off" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "NomainÄ«t" +msgstr "NomainÄ«t Filtru" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -4345,19 +4256,16 @@ msgid "" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Anim Clips" -msgstr "AnimÄcijas klipi:" +msgstr "Anim. Klipi" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Audio Clips" -msgstr "Audio klipi:" +msgstr "Audio Klipi" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Functions" -msgstr "Funkcijas:" +msgstr "Funkcijas" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp @@ -4375,9 +4283,8 @@ msgid "Edit Filtered Tracks:" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Enable Filtering" -msgstr "NomainÄ«t" +msgstr "IeslÄ“gt FiltrÄ“Å¡anu" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -4406,9 +4313,8 @@ msgid "Remove Animation" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Invalid animation name!" -msgstr "NederÄ«gs nosaukums." +msgstr "NederÄ«gs animÄcijas nosaukums!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation name already exists!" @@ -4436,9 +4342,8 @@ msgid "Duplicate Animation" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation to copy!" -msgstr "AnimÄcijas tÄlummaiņa." +msgstr "Nav animÄcijas ko kopÄ“t!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation resource on clipboard!" @@ -4592,14 +4497,12 @@ msgid "Move Node" msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition exists!" -msgstr "Pievienot celiņu" +msgstr "PÄreja eksistÄ“!" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Pievienot celiņu" +msgstr "Pievienot PÄreju" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4635,9 +4538,8 @@ msgid "No playback resource set at path: %s." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Noņemt" +msgstr "Mezgls Noņemts" #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition Removed" @@ -4655,19 +4557,16 @@ msgid "" msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Create new nodes." -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot jaunus mezglus." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Connect nodes." -msgstr "Savienot" +msgstr "Savienot mezglus." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Remove selected node or transition." -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "Noņemt izvÄ“lÄ“to mezglu vai pÄreju." #: editor/plugins/animation_state_machine_editor.cpp msgid "Toggle autoplay this animation on start, restart or seek to zero." @@ -4682,9 +4581,8 @@ msgid "Transition: " msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Play Mode:" -msgstr "MÄ“roga AttiecÄ«ba:" +msgstr "AtskaņoÅ¡anas Režīms:" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4860,9 +4758,8 @@ msgid "Request failed." msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Cannot save response to:" -msgstr "Nevar noņemt:" +msgstr "Nevar saglabÄt atbildi uz:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Write error." @@ -4925,9 +4822,8 @@ msgid "Idle" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Install..." -msgstr "IeinstalÄ“t" +msgstr "InstalÄ“t..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" @@ -4958,14 +4854,12 @@ msgid "Name (Z-A)" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (A-Z)" -msgstr "Licence" +msgstr "Licence (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (Z-A)" -msgstr "Licence" +msgstr "Licence (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" @@ -5025,9 +4919,8 @@ msgid "Testing" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Loading..." -msgstr "IelÄdÄ“t" +msgstr "IelÄdÄ“t..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -5088,37 +4981,32 @@ msgid "Rotation Step:" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale Step:" -msgstr "MÄ“roga AttiecÄ«ba:" +msgstr "MainÄ«t Soļa MÄ“rogu:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Vertical Guide" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Vertical Guide" -msgstr "Izveidot" +msgstr "Izveidot VertikÄlu Vadotni" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Vertical Guide" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "Noņemt VertikÄlo Vadotni" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Horizontal Guide" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Horizontal Guide" -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot HorizontÄlu Vadotni" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Horizontal Guide" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "Noņemt HorizontÄlo Vadotni" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create Horizontal and Vertical Guides" @@ -5201,18 +5089,16 @@ msgid "Center" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Left Wide" -msgstr "LineÄrs" +msgstr "Pa Kreisi, PlaÅ¡s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Top Wide" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Right Wide" -msgstr "LineÄrs" +msgstr "Pa labi, PlaÅ¡s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Bottom Wide" @@ -5231,9 +5117,8 @@ msgid "Full Rect" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Keep Ratio" -msgstr "MÄ“roga AttiecÄ«ba:" +msgstr "IevÄ“rot AttiecÄ«bu" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5273,24 +5158,21 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Group Selected" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "Grupa IzvÄ“lÄ“ta" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Ungroup Selected" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "PÄrtraukt IzvÄ“lÄ“tÄ GrupÄ“Å¡anu" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Guides" -msgstr "Izveidot" +msgstr "NotÄ«rÄ«t Vadotnes" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create Custom Bone(s) from Node(s)" @@ -5317,9 +5199,8 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp -#, fuzzy msgid "Zoom Reset" -msgstr "AttÄlinÄt" +msgstr "AtiestatÄ«t TuvinÄjumu" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5354,9 +5235,8 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale Mode" -msgstr "MÄ“roga AttiecÄ«ba:" +msgstr "MÄ“roga Režīms" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5374,9 +5254,8 @@ msgid "Pan Mode" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Ruler Mode" -msgstr "MÄ“roga AttiecÄ«ba:" +msgstr "LineÄla Režīms" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." @@ -5553,14 +5432,12 @@ msgid "" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Auto Insert Key" -msgstr "Anim ievietot atslÄ“gievietni" +msgstr "AutomÄtiski Ievietot AtslÄ“gu" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation Key and Pose Options" -msgstr "AnimÄcijas Garums (sekundes)" +msgstr "AnimÄcijas AtslÄ“ga un Pozas IestatÄ«jumi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5609,9 +5486,8 @@ msgid "Error instancing scene from %s" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Change Default Type" -msgstr "NomainÄ«t %s Tipu" +msgstr "NomainÄ«t NoklusÄ“juma Tipu" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -5620,9 +5496,8 @@ msgid "" msgstr "" #: editor/plugins/collision_polygon_editor_plugin.cpp -#, fuzzy msgid "Create Polygon3D" -msgstr "Izveidot" +msgstr "Izveidot DaudzstÅ«ris3D" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly" @@ -5741,29 +5616,24 @@ msgid "Load Curve Preset" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add Point" -msgstr "FavorÄ«ti:" +msgstr "Pievienot Punktu" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Point" -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "Noņemt Punktu" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Left Linear" -msgstr "LineÄrs" +msgstr "Pa Kreisi, LineÄrs" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right Linear" -msgstr "LineÄrs" +msgstr "Pa Labi, LineÄrs" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load Preset" -msgstr "IelÄdÄ“t NoklusÄ“jumu" +msgstr "IelÄdÄ“t Sagatavi" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove Curve Point" @@ -5834,9 +5704,8 @@ msgid "Couldn't create a single convex collision shape." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Single Convex Shape" -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot Vienu Izliektu Formu" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Can't create multiple convex collision shapes for the scene root." @@ -5847,9 +5716,8 @@ msgid "Couldn't create any collision shapes." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Multiple Convex Shapes" -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot VairÄkas Izliektas Formas" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" @@ -5917,9 +5785,8 @@ msgid "" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Single Convex Collision Sibling" -msgstr "Izveidot" +msgstr "Izveidot Vienu Izliektu Sadursmes Uzmavu" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -5928,9 +5795,8 @@ msgid "" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Multiple Convex Collision Siblings" -msgstr "Izveidot" +msgstr "Izveidot VairÄkas Izliektas Sadursmes Uzmavas" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6591,14 +6457,12 @@ msgid "Error saving file!" msgstr "Kļūmes lÄdÄ“jot!" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error while saving theme." -msgstr "Kļūmes lÄdÄ“jot!" +msgstr "Kļūda saglabÄjot motÄ«vu." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Saving" -msgstr "Kļūme lÄdÄ“jot:" +msgstr "Kļūda SaglabÄjot" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -6606,9 +6470,8 @@ msgid "Error importing theme." msgstr "Kļūda lÄdÄ“jot fontu." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Importing" -msgstr "Kļūme lÄdÄ“jot:" +msgstr "Kļūda ImportÄ“jot" #: editor/plugins/script_editor_plugin.cpp msgid "New Text File..." @@ -6620,9 +6483,8 @@ msgid "Open File" msgstr "AtvÄ“rt" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save File As..." -msgstr "SaglabÄt KÄ" +msgstr "SaglabÄt Failu KÄ..." #: editor/plugins/script_editor_plugin.cpp msgid "Can't obtain the script for running." @@ -6712,9 +6574,8 @@ msgid "File" msgstr "" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Open..." -msgstr "AtvÄ“rt" +msgstr "AtvÄ“rt..." #: editor/plugins/script_editor_plugin.cpp msgid "Reopen Closed Script" @@ -6835,9 +6696,8 @@ msgid "Debugger" msgstr "" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Search Results" -msgstr "MeklÄ“t:" +msgstr "MeklÄ“Å¡anas RezultÄti" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Scripts" @@ -6857,19 +6717,18 @@ msgid "Target" msgstr "" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." -msgstr "Atvienot '%s' no '%s'" +msgstr "" +"TrÅ«kst savienoÅ¡anas metode '%s' signÄlam '%s' no mezgla '%s' uz mezglu '%s'." #: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Line" -msgstr "Rinda:" +msgid "[Ignore]" +msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" +msgid "Line" +msgstr "Rinda" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -7022,14 +6881,12 @@ msgid "Remove All Bookmarks" msgstr "" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function..." -msgstr "Izveidot Funkciju" +msgstr "Doties uz Funkciju..." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Line..." -msgstr "Doties uz Rindu" +msgstr "Doties uz Rindu..." #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -7348,6 +7205,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -7700,9 +7566,8 @@ msgid "Loop" msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "AnimÄcijas Ä«paÅ¡Ä«bas." +msgstr "AnimÄcijas Kadri:" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy @@ -7960,9 +7825,8 @@ msgid "Erase Selection" msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Fix Invalid Tiles" -msgstr "NederÄ«gs nosaukums." +msgstr "Salabot NederÄ«gÄs FlÄ«zes" #: editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -8053,9 +7917,8 @@ msgid "Add Texture(s) to TileSet." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected Texture from TileSet." -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "Noņemt izvÄ“lÄ“tÄs TekstÅ«ras no Flīžu Komplekta." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -8154,9 +8017,8 @@ msgid "Priority Mode" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Icon Mode" -msgstr "MÄ“roga AttiecÄ«ba:" +msgstr "Ikonu Režīms" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Z Index Mode" @@ -8167,23 +8029,20 @@ msgid "Copy bitmask." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste bitmask." -msgstr "IelÄ«mÄ“t celiņus" +msgstr "IelÄ«mÄ“t bitu masku." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Erase bitmask." msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot jaunu taisnstÅ«ri." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new polygon." -msgstr "Izveidot" +msgstr "Izveidot jaunu daudzstÅ«ri." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." @@ -8203,9 +8062,9 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "Noņemt IzvÄ“lÄ“to" +msgstr "" +"Noņemt IzvÄ“lÄ“to tekstÅ«ru? Å Ä« darbÄ«ba noņems visas flÄ«zes, kas to izmanto." #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." @@ -8235,9 +8094,8 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete selected Rect." -msgstr "IzdzÄ“st izvÄ“lÄ“tos failus?" +msgstr "IzdzÄ“st izvÄ“lÄ“to TaisnstÅ«ri." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -8246,9 +8104,8 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete polygon." -msgstr "Izveidot" +msgstr "IzdzÄ“st daudzstÅ«ri." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -8485,9 +8342,8 @@ msgid "(GLES3 only)" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Output" -msgstr "FavorÄ«ti:" +msgstr "Pievienot Izeju" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Scalar" @@ -8506,9 +8362,8 @@ msgid "Sampler" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add input port" -msgstr "FavorÄ«ti:" +msgstr "Pievienot ieejas pieslÄ“gvietu" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add output port" @@ -8593,9 +8448,8 @@ msgid "Light" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Show resulted shader code." -msgstr "Izveidot Jaunu %s" +msgstr "AttÄ“lot rezultÄ“joÅ¡o Ä“notÄja kodu." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -8603,18 +8457,16 @@ msgid "Create Shader Node" msgstr "Izveidot Jaunu %s" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Color function." -msgstr "Izveidot Funkciju" +msgstr "KrÄsas funkcija." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Color operator." msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Grayscale function." -msgstr "Izveidot Funkciju" +msgstr "PelÄ“ktoņu funkcija." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts HSV vector to RGB equivalent." @@ -8625,9 +8477,8 @@ msgid "Converts RGB vector to HSV equivalent." msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Sepia function." -msgstr "Izveidot Funkciju" +msgstr "SÄ“pija funkcija." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Burn operator." @@ -8780,9 +8631,8 @@ msgid "'%s' input parameter for vertex and fragment shader mode." msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar function." -msgstr "MÄ“roga IzvÄ“le" +msgstr "SkalÄra funkcija." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Scalar operator." @@ -9039,9 +8889,8 @@ msgid "2D texture uniform lookup with triplanar." msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform function." -msgstr "Izveidot" +msgstr "TransformÄ“Å¡anas funkcija." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9083,19 +8932,16 @@ msgid "Multiplies vector by transform." msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform constant." -msgstr "Izveidot" +msgstr "TransformÄ“t konstanti." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform uniform." -msgstr "Izveidot" +msgstr "TransformÄ“t vienmÄ“rÄ«go." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Vector function." -msgstr "Izveidot Funkciju" +msgstr "Vektora funkcija." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector operator." @@ -9305,9 +9151,8 @@ msgid "Runnable" msgstr "" #: editor/project_export.cpp -#, fuzzy msgid "Add initial export..." -msgstr "FavorÄ«ti:" +msgstr "Pievienot sÄkuma eksportu..." #: editor/project_export.cpp msgid "Add previous patches..." @@ -10011,7 +9856,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "VispÄrÄ“ji" #: editor/project_settings_editor.cpp msgid "Override For..." @@ -10221,9 +10066,8 @@ msgid "Initial value for the counter" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy msgid "Step" -msgstr "Solis (ļi):" +msgstr "Solis" #: editor/rename_dialog.cpp msgid "Amount by which counter is incremented for each node" @@ -10277,9 +10121,8 @@ msgid "Regular Expression Error" msgstr "" #: editor/rename_dialog.cpp -#, fuzzy msgid "At character %s" -msgstr "DerÄ«gie simboli:" +msgstr "Pie rakstzÄ«mes %s" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" @@ -10344,8 +10187,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Galvenais Skripts:" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10380,9 +10224,8 @@ msgid "Make node as Root" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes?" -msgstr "IzdzÄ“st" +msgstr "IzdzÄ“st %d mezglus?" #: editor/scene_tree_dock.cpp msgid "Delete the root node \"%s\"?" @@ -10393,9 +10236,8 @@ msgid "Delete node \"%s\" and its children?" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete node \"%s\"?" -msgstr "IzdzÄ“st" +msgstr "IzdzÄ“st mezglu \"%s\"?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." @@ -10430,9 +10272,8 @@ msgid "New Scene Root" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Create Root Node:" -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot Cilmes Mezglu:" #: editor/scene_tree_dock.cpp msgid "2D Scene" @@ -10506,6 +10347,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10543,9 +10391,8 @@ msgid "Delete (No Confirm)" msgstr "" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Add/Create a New Node." -msgstr "Izveidot Jaunu %s" +msgstr "Pievienot/Izveidot Jaunu Mezglu." #: editor/scene_tree_dock.cpp msgid "" @@ -10554,11 +10401,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10586,9 +10433,8 @@ msgid "Button Group" msgstr "" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "(Connecting From)" -msgstr "Savieno SignÄlu:" +msgstr "(Savienojas No)" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" @@ -10659,14 +10505,12 @@ msgid "Select a Node" msgstr "" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Path is empty." -msgstr "Starpliktuve ir tukÅ¡a" +msgstr "Ceļš nav definÄ“ts." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Filename is empty." -msgstr "Starpliktuve ir tukÅ¡a" +msgstr "Faila Nosaukums nav definÄ“ts." #: editor/script_create_dialog.cpp msgid "Path is not local." @@ -10682,6 +10526,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "NederÄ«gs fonta izmÄ“rs." @@ -10723,6 +10571,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "NederÄ«gs ceļš." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid class name." msgstr "NederÄ«gs nosaukums." @@ -10744,9 +10596,8 @@ msgid "Built-in script (into scene file)." msgstr "" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Will create a new script file." -msgstr "Izveidot Jaunu %s" +msgstr "Izveidos jaunu skripta failu." #: editor/script_create_dialog.cpp #, fuzzy @@ -10811,14 +10662,12 @@ msgid "C++ Source" msgstr "Resurs" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Source:" -msgstr "Resurs" +msgstr "Avots:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Source:" -msgstr "Resurs" +msgstr "C++ Avots:" #: editor/script_editor_debugger.cpp msgid "Stack Trace" @@ -10829,9 +10678,8 @@ msgid "Errors" msgstr "" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Child process connected." -msgstr "Savienot" +msgstr "BÄ“rna process savienots." #: editor/script_editor_debugger.cpp msgid "Copy Error" @@ -11373,14 +11221,12 @@ msgid "Set Variable Type" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Input Port" -msgstr "FavorÄ«ti:" +msgstr "Pievienot Ieejas PieslÄ“gvietu" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Output Port" -msgstr "FavorÄ«ti:" +msgstr "Pievienot Izejas PieslÄ“gvietu" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -11390,27 +11236,24 @@ msgstr "" "nosaukumu." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create a new function." -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot jaunu funkciju." #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create a new variable." -msgstr "Izveidot Jaunu %s" +msgstr "Izveidot jaunu mainÄ«go." #: modules/visual_script/visual_script_editor.cpp msgid "Signals:" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create a new signal." -msgstr "Izveidot" +msgstr "Izveidot jaunu signÄlu." #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" @@ -11620,24 +11463,20 @@ msgid "Members:" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type:" -msgstr "NomainÄ«t %s Tipu" +msgstr "NomainÄ«t BÄzes Tipu:" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Nodes..." -msgstr "FavorÄ«ti:" +msgstr "Pievienot Mezglus..." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Function..." -msgstr "Izveidot Funkciju" +msgstr "Pievienot Funkciju..." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "function_name" -msgstr "Funkcijas:" +msgstr "funkcijas_nosaukums" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit its graph." @@ -11660,9 +11499,8 @@ msgid "Cut Nodes" msgstr "" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Make Function" -msgstr "Funkcijas:" +msgstr "Izveidot Funkciju" #: modules/visual_script/visual_script_editor.cpp msgid "Refresh Graph" @@ -11779,6 +11617,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11797,9 +11639,34 @@ msgid "Invalid public key for APK expansion." msgstr "" #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" -msgstr "NederÄ«gs nosaukums." +msgstr "NederÄ«gs paketes nosaukums:" + +#: platform/android/export/export.cpp +msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" #: platform/android/export/export.cpp msgid "" @@ -11842,9 +11709,8 @@ msgid "App Store Team ID not specified - cannot configure the project." msgstr "" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "NederÄ«gs fonta izmÄ“rs." +msgstr "NederÄ«gs Identifikators:" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." @@ -12299,9 +12165,8 @@ msgid "On BlendTree node '%s', animation not found: '%s'" msgstr "" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Animation not found: '%s'" -msgstr "AnimÄcijas garums (sekundÄ“s)." +msgstr "AnimÄcija netika atrasta: '%s'" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." @@ -12313,9 +12178,8 @@ msgid "Invalid animation: '%s'." msgstr "NederÄ«gs fonta izmÄ“rs." #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Nothing connected to input '%s' of node '%s'." -msgstr "Atvienot '%s' no '%s'" +msgstr "Nekas nav savienots ar ieeju '%s' mezglam '%s'." #: scene/animation/animation_tree.cpp msgid "No root AnimationNode for the graph is set." @@ -12361,9 +12225,8 @@ msgid "Switch between hexadecimal and code values." msgstr "" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "Pievienot paÅ¡reizÄ“jo krÄsu kÄ iepriekÅ¡noteiktu krÄsu" +msgstr "Pievienot paÅ¡reizÄ“jo krÄsu kÄ iepriekÅ¡noteiktu krÄsu." #: scene/gui/container.cpp msgid "" diff --git a/editor/translations/mi.po b/editor/translations/mi.po index 5c33f2e72e..fbf4bce3d6 100644 --- a/editor/translations/mi.po +++ b/editor/translations/mi.po @@ -807,7 +807,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1407,16 +1406,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2336,11 +2327,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2606,10 +2599,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3215,6 +3204,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3799,6 +3792,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6670,11 +6667,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7144,6 +7141,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10061,7 +10067,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10219,6 +10225,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10265,11 +10278,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10389,6 +10402,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10429,6 +10446,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11453,6 +11474,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11476,6 +11501,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index e46fd5a10d..77ac327f71 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -817,7 +817,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1417,16 +1416,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2348,11 +2339,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2618,10 +2611,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3227,6 +3216,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3811,6 +3804,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6686,11 +6683,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7160,6 +7157,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10077,7 +10083,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10235,6 +10241,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10281,11 +10294,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10405,6 +10418,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10445,6 +10462,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11470,6 +11491,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11493,6 +11518,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/mr.po b/editor/translations/mr.po index 902c243d16..38e3ee7185 100644 --- a/editor/translations/mr.po +++ b/editor/translations/mr.po @@ -814,7 +814,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1414,16 +1413,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2343,11 +2334,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2613,10 +2606,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3222,6 +3211,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3806,6 +3799,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6677,11 +6674,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7151,6 +7148,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10068,7 +10074,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10226,6 +10232,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10272,11 +10285,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10396,6 +10409,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10436,6 +10453,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11460,6 +11481,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11483,6 +11508,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 09e2bcc096..233b5cb428 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -837,7 +837,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1437,16 +1436,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2368,11 +2359,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2639,10 +2632,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3249,6 +3238,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3834,6 +3827,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6724,11 +6721,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7199,6 +7196,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10135,7 +10141,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10296,6 +10302,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10342,11 +10355,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10466,6 +10479,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10506,6 +10523,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11540,6 +11561,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11563,6 +11588,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index 34d6e9dc76..5c80321d03 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -19,8 +19,8 @@ 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: Petter Reinholdtsen <pere-weblate@hungry.com>\n" +"PO-Revision-Date: 2020-06-03 20:09+0000\n" +"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Language-Team: Norwegian BokmÃ¥l <https://hosted.weblate.org/projects/godot-" "engine/godot/nb_NO/>\n" "Language: nb\n" @@ -28,7 +28,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.0.1-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -883,7 +883,6 @@ msgstr "Kobler Til Signal:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1527,18 +1526,9 @@ msgstr "Aktiver" msgid "Rearrange Autoloads" msgstr "Omorganiser Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Ugyldig Filsti." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Fil eksisterer ikke." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ikke i resource path." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2556,12 +2546,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Kan ikke laste en scene som aldri ble lagret." #: editor/editor_node.cpp -msgid "Revert" -msgstr "GÃ¥ tilbake" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Lagre Scene" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Denne handlingen kan ikke angres. GÃ¥ tilbake likevel?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2856,10 +2849,6 @@ msgid "Redo" msgstr "Gjenta" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Tilbakestille Scene" - -#: editor/editor_node.cpp #, fuzzy msgid "Miscellaneous project or scene-wide tools." msgstr "Diverse prosjekt- eller scene-relaterte verktøy" @@ -3401,9 +3390,8 @@ msgid "Assign..." msgstr "Tilordne..." #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr ": Ugyldige argumenter: " +msgstr "Ugyldig RID" #: editor/editor_properties.cpp #, fuzzy @@ -3533,6 +3521,10 @@ msgstr "Kunne ikke kjøre skript:" msgid "Did you forget the '_run' method?" msgstr "Glemte du '_run'-metoden?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Velg Node(r) for Importering" @@ -3678,9 +3670,8 @@ msgid "" msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting URL:" -msgstr "Error ved forespørsel av url: " +msgstr "Feil ved nettadresse-forespørsel:" #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." @@ -3772,9 +3763,8 @@ msgid "Download Templates" msgstr "Last ned Mal" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "Velg fillager fra liste: " +msgstr "Velg speil fra liste: (Shift+Klikk: Ã…pne i nettleser)" #: editor/filesystem_dock.cpp #, fuzzy @@ -4027,14 +4017,12 @@ msgid "Cancel" msgstr "Avbryt" #: editor/find_in_files.cpp -#, fuzzy msgid "Find: " -msgstr "Finn" +msgstr "Finn: " #: editor/find_in_files.cpp -#, fuzzy msgid "Replace: " -msgstr "Erstatt" +msgstr "Erstatt: " #: editor/find_in_files.cpp #, fuzzy @@ -4188,6 +4176,10 @@ msgid "Error running post-import script:" msgstr "Error ved kjøring av post-import script:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Lagrer..." @@ -5002,9 +4994,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition: " -msgstr "Overgang" +msgstr "Overgang: " #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -7313,15 +7304,15 @@ msgid "" msgstr "Koble '%s' fra '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Linje:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Fjern Funksjon" @@ -7816,6 +7807,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "Snap til rutenett" @@ -10937,8 +10937,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Nytt Skript" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -11105,6 +11106,13 @@ msgid "Open Documentation" msgstr "Ã…pne Godots nettbaserte dokumentasjon" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -11158,12 +11166,13 @@ msgstr "" "finnes en rot-node." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" +#, fuzzy +msgid "Detach the script from the selected node." +msgstr "Instanser den valgte scene(r) som barn av den valgte noden." #: editor/scene_tree_dock.cpp #, fuzzy @@ -11293,6 +11302,10 @@ msgid "A directory with the same name exists." msgstr "En fil eller mappe med dette navnet eksisterer allerede." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Fil eksisterer ikke." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "MÃ¥ ha en gyldig filutvidelse." @@ -11338,6 +11351,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Ugyldig Filsti." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Ugyldig navn." @@ -11403,7 +11421,7 @@ msgstr "" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Remote " -msgstr "Fjern Funksjon" +msgstr "Fjern-funksjon " #: editor/script_editor_debugger.cpp msgid "Bytes:" @@ -12440,6 +12458,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12464,6 +12486,32 @@ msgstr "Ugyldig navn." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12575,7 +12623,7 @@ msgstr "Prosjektnavn:" #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid publisher GUID." -msgstr ": Ugyldige argumenter: " +msgstr "Ugyldig forlags-GUID." #: platform/uwp/export/export.cpp #, fuzzy @@ -13123,6 +13171,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Konstanter kan ikke endres." +#~ msgid "Not in resource path." +#~ msgstr "Ikke i resource path." + +#~ msgid "Revert" +#~ msgstr "GÃ¥ tilbake" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Denne handlingen kan ikke angres. GÃ¥ tilbake likevel?" + +#~ msgid "Revert Scene" +#~ msgstr "Tilbakestille Scene" + #~ msgid "Issue Tracker" #~ msgstr "Problemtracker" @@ -13369,10 +13429,6 @@ msgstr "Konstanter kan ikke endres." #~ msgstr "Sett inn Nøkler" #, fuzzy -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "Instanser den valgte scene(r) som barn av den valgte noden." - -#, fuzzy #~ msgid "Font Size:" #~ msgstr "Frontvisning" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 93219f8bfc..8e6c4bcfa4 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -44,7 +44,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-04 15:12+0000\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" "Last-Translator: Stijn Hinlopen <f.a.hinlopen@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" @@ -873,7 +873,6 @@ msgstr "Kan signaal niet verbinden" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1488,17 +1487,9 @@ msgstr "Inschakelen" msgid "Rearrange Autoloads" msgstr "Autoloads opnieuw ordenen" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Ongeldig pad." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Bestand bestaat niet." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Niet in bronpad." +msgid "Can't add autoload:" +msgstr "Autoload kon niet toevoegd worden:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2458,13 +2449,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Een scène die nooit opgeslagen is kan niet opnieuw laden worden." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Herstellen" +msgid "Reload Saved Scene" +msgstr "Opgeslagen scène herladen" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" -"Deze actie kan niet ongedaan gemaakt worden. WIlt u desondanks terugzetten?" +"De huidige scène bevat niet opgeslagen veranderingen.\n" +"Scène desondanks herladen? Dit kan niet ongedaan gemaakt worden." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2751,10 +2745,6 @@ msgid "Redo" msgstr "Opnieuw" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Scène terugzetten" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Overig project of scène-brede hulpmiddelen." @@ -3404,6 +3394,12 @@ msgstr "Script kon niet uitgevoerd worden:" msgid "Did you forget the '_run' method?" msgstr "Ben je de '_run' methode vergeten?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Houdt Ctrl ingedrukt om op gehele getallen af te ronden. Houdt Shift " +"ingedrukt voor preciezere veranderingen." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selecteer een of meer knopen om te importeren" @@ -4001,6 +3997,11 @@ msgid "Error running post-import script:" msgstr "Fout bij uitvoeren post-import script:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" +"Gaf je een van Node afstammend object terug in de `post_import()`-methode?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Opslaan..." @@ -6955,12 +6956,12 @@ msgid "" msgstr "Ontbrekende verbonden methode '%s' voor signaal '%s' naar knoop '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Regel" +msgid "[Ignore]" +msgstr "[Negeren]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(negeren)" +msgid "Line" +msgstr "Regel" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7435,6 +7436,20 @@ msgid "XForm Dialog" msgstr "XForm Dialoog" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Klik om te wisselen tussen zichtbaarheidsweergaven.\n" +"\n" +"Open oog: handvat is zichtbaar.\n" +"Gesloten oog: handvat is verborgen.\n" +"Half open oog: handvat is ook zichtbaar door ondoorzichtige oppervlaktes." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Knopen aan vloer kleven" @@ -10538,8 +10553,8 @@ msgid "Instance Child Scene" msgstr "Scène instantiëren" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Script wissen" +msgid "Detach Script" +msgstr "Script losmaken" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10705,6 +10720,15 @@ msgid "Open Documentation" msgstr "Open Godot online documentatie" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"Script kon niet aangebracht worden: er zijn geen talen ingesteld.\n" +"Dit is waarschijnlijk omdat deze editor zonder taalmodules was gecompileerd." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Knoop hieronder toevoegen" @@ -10753,12 +10777,12 @@ msgstr "" "wortelknoop bestaat." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "Verbind een nieuw of bestaand script aan de geselecteerde knoop." +msgid "Attach a new or existing script to the selected node." +msgstr "Een nieuw of bestaand script verbinden aan de geselecteerde knoop." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Script van geselecteerde knopen wissen." +msgid "Detach the script from the selected node." +msgstr "Script van geselecteerde knoop losmaken." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10889,6 +10913,10 @@ msgid "A directory with the same name exists." msgstr "Een map met dezelfde naam bestaat al." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Bestand bestaat niet." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Ongeldige extentie." @@ -10929,6 +10957,10 @@ msgid "File exists, it will be reused." msgstr "Bestand Bestaat, zal hergebruikt worden." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Ongeldig pad." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Ongeldige klassenaam." @@ -11978,6 +12010,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "Debug Keystore is niet ingesteld of aanwezig in de Editor Settings." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "Release-Keystore is verkeerd ingesteld in de exportinstelingen." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Eigen build vereist een geldige Android SDK pad in de Editorinstellingen." @@ -12004,6 +12040,40 @@ msgstr "Ongeldige pakketnaam:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"Ongeldige \"GodotPaymentV3\" module ingesloten in de projectinstelling " +"\"android/modules\" (veranderd in Godot 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "\"Use Custom Build\" moet geactiveerd zijn om plugins te gebruiken." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"\"Degrees Of Freedom\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR" +"\" staat." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Hand Tracking\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR\" " +"staat." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Focus Awareness\" is alleen geldig als \"Xr Mode\" op \"Oculus Mobile VR\" " +"staat." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12787,6 +12857,23 @@ msgstr "Varyings kunnen alleen worden toegewezenin vertex functies." msgid "Constants cannot be modified." msgstr "Constanten kunnen niet worden aangepast." +#~ msgid "Not in resource path." +#~ msgstr "Niet in bronpad." + +#~ msgid "Revert" +#~ msgstr "Herstellen" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "" +#~ "Deze actie kan niet ongedaan gemaakt worden. WIlt u desondanks " +#~ "terugzetten?" + +#~ msgid "Revert Scene" +#~ msgstr "Scène terugzetten" + +#~ msgid "Clear Script" +#~ msgstr "Script wissen" + #~ msgid "Issue Tracker" #~ msgstr "Issue Tracker" diff --git a/editor/translations/or.po b/editor/translations/or.po index 2ce05efe5d..afff834dee 100644 --- a/editor/translations/or.po +++ b/editor/translations/or.po @@ -813,7 +813,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1413,16 +1412,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2342,11 +2333,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2612,10 +2605,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3221,6 +3210,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3805,6 +3798,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6676,11 +6673,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7150,6 +7147,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10067,7 +10073,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10225,6 +10231,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10271,11 +10284,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10395,6 +10408,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10435,6 +10452,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11459,6 +11480,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11482,6 +11507,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index a7b57f31ba..414e66685a 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -19,7 +19,7 @@ # NeverK <neverkoxu@gmail.com>, 2018, 2019. # Rafal Brozio <rafal.brozio@gmail.com>, 2016, 2019. # RafaÅ‚ Ziemniak <synaptykq@gmail.com>, 2017. -# RM <synaptykq@gmail.com>, 2018. +# RM <synaptykq@gmail.com>, 2018, 2020. # Sebastian Krzyszkowiak <dos@dosowisko.net>, 2017. # Sebastian Pasich <sebastian.pasich@gmail.com>, 2017, 2019. # siatek papieros <sbigneu@gmail.com>, 2016. @@ -38,11 +38,12 @@ # Myver <igormakarowicz@gmail.com>, 2019. # Maciej Chamera <chameramaciej@gmail.com>, 2019. # Cezary Stasiak <cezary.p.stasiak@gmail.com>, 2019. +# Jan LigudziÅ„ski <jan.ligudzinski@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-01 11:42+0000\n" +"PO-Revision-Date: 2020-06-06 10:15+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -52,7 +53,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.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -177,11 +178,11 @@ msgstr "UsuÅ„ klucze animacji" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "Zmiana czasu klatki kluczowej" +msgstr "ZmieÅ„ wartość czasu klatki kluczowej" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "Zmiana przejÅ›cia" +msgstr "PrzejÅ›cie zmiany animacji" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" @@ -872,7 +873,6 @@ msgstr "Nie można poÅ‚Ä…czyć sygnaÅ‚u" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1482,17 +1482,9 @@ msgstr "WÅ‚Ä…cz" msgid "Rearrange Autoloads" msgstr "Przestaw Autoloady" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Niepoprawna Å›cieżka." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Plik nie istnieje." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nie znaleziono w Å›cieżce zasobów." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2448,12 +2440,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Nie można przeÅ‚adować sceny która nie zostaÅ‚a zapisana." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Przywróć" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Zapisz scenÄ™" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Tego nie można cofnąć. Przywrócić mimo to?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2740,10 +2735,6 @@ msgid "Redo" msgstr "Ponów" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Przywróć scenÄ™" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Różne narzÄ™dzia dla scen lub projektu." @@ -3111,7 +3102,7 @@ msgstr "Nowa dziedziczÄ…ca scena" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "Wczytaj bÅ‚Ä™dy" +msgstr "BÅ‚Ä™dy wczytywania" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" @@ -3386,6 +3377,13 @@ msgstr "Nie można uruchomić skryptu:" msgid "Did you forget the '_run' method?" msgstr "Zapomniano metody \"_run\"?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Przytrzymaj Ctrl, by upuÅ›cić pobieracz (Getter). Przytrzymaj Shift, by " +"upuÅ›cić generycznÄ… sygnaturÄ™." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Wybierz wÄ™zÅ‚y do importu" @@ -3627,7 +3625,7 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "Nie można przenieść/zmienić nazwy źródÅ‚owego zasobu." +msgstr "Nie można przenieść/zmienić nazwy korzenia zasobów." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself." @@ -3984,6 +3982,10 @@ msgid "Error running post-import script:" msgstr "BÅ‚Ä…d podczas uruchamiania skryptu po imporcie:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Zapisywanie..." @@ -5701,7 +5703,7 @@ msgstr "Edytuj wielokÄ…t (usuÅ„ punkty)" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "Ustaw Uchwyt" +msgstr "Ustaw uchwyt" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -6936,12 +6938,13 @@ msgstr "" "\"%s\"." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Linia" +#, fuzzy +msgid "[Ignore]" +msgstr "(ignoruj)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignoruj)" +msgid "Line" +msgstr "Linia" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7415,6 +7418,15 @@ msgid "XForm Dialog" msgstr "Okno dialogowe XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "PrzyciÄ…gnij wÄ™zÅ‚y do podÅ‚ogi" @@ -10503,8 +10515,9 @@ msgid "Instance Child Scene" msgstr "Dodaj instancjÄ™ sceny" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "UsuÅ„ skrypt" +#, fuzzy +msgid "Detach Script" +msgstr "Dodaj skrypt" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10669,6 +10682,13 @@ msgid "Open Documentation" msgstr "Otwórz dokumentacjÄ™" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Dodaj wÄ™zeÅ‚" @@ -10717,11 +10737,13 @@ msgstr "" "główny nie istnieje." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "DoÅ‚Ä…cz nowy lub istniejÄ…cy skrypt do zaznaczonego wÄ™zÅ‚a." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Wyczyść skrypt dla zaznaczonego wÄ™zÅ‚a." #: editor/scene_tree_dock.cpp @@ -10853,6 +10875,10 @@ msgid "A directory with the same name exists." msgstr "Katalog o tej nazwie już istnieje." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Plik nie istnieje." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Niepoprawne rozszerzenie." @@ -10893,6 +10919,10 @@ msgid "File exists, it will be reused." msgstr "Plik istnieje, zostanie użyty ponownie." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Niepoprawna Å›cieżka." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Niepoprawna nazwa klasy." @@ -11939,6 +11969,13 @@ msgstr "" "eksportu." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Debugowy keystore nieskonfigurowany w Ustawieniach Edytora ani w profilu " +"eksportu." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "WÅ‚asny build wymaga poprawnej Å›cieżki do SDK Androida w Ustawieniach Edytora." @@ -11967,6 +12004,32 @@ msgstr "Niepoprawna nazwa paczki:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12752,6 +12815,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 "Not in resource path." +#~ msgstr "Nie znaleziono w Å›cieżce zasobów." + +#~ msgid "Revert" +#~ msgstr "Przywróć" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Tego nie można cofnąć. Przywrócić mimo to?" + +#~ msgid "Revert Scene" +#~ msgstr "Przywróć scenÄ™" + +#~ msgid "Clear Script" +#~ msgstr "UsuÅ„ skrypt" + #~ msgid "Issue Tracker" #~ msgstr "Lista problemów" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 646d14c2cf..9d46edcbae 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -851,7 +851,6 @@ msgstr "Slit th' Node" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1461,17 +1460,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr ": Evil arguments: " - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2421,11 +2411,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Yar, Blow th' Selected Down!" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2696,10 +2689,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3319,6 +3308,13 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Smash yer Ctrl key t' sink yer Getter. Smash yer Shift t' sink a generic " +"signature." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3931,6 +3927,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6890,11 +6890,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7380,6 +7380,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10400,8 +10409,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Discharge ye' Variable" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10562,6 +10572,13 @@ msgid "Open Documentation" msgstr "Yer functions:" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10611,11 +10628,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10742,6 +10759,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Yer Calligraphy be wrongly sized." @@ -10785,6 +10806,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr ": Evil arguments: " + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Yer unique name be evil." @@ -11879,6 +11905,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11903,6 +11933,32 @@ msgstr "Yer unique name be evil." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index d38c4186c7..199d828897 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -88,12 +88,17 @@ # Lucas Araujo <lucassants2808@gmail.com>, 2020. # Sr Half <flavio05@outlook.com>, 2020. # Matheus Pesegoginski <pese.ek.tk@outlook.com>, 2020. +# DeeJayLSP <djlsplays@gmail.com>, 2020. +# Anonymous <noreply@weblate.org>, 2020. +# André Sousa <andrelvsousa@gmail.com>, 2020. +# Kleyton Luiz de Sousa Vieira <kleytonluizdesouzavieira@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2020-05-04 15:12+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: Kleyton Luiz de Sousa Vieira " +"<kleytonluizdesouzavieira@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -106,11 +111,11 @@ msgstr "" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Tipo de argumento inválido para converter(), use TYPE_* constantes." +msgstr "Tipo de argumento inválido para convert(), use constantes TYPE_*." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "Esperado uma corda de comprimento 1 (um caractere)." +msgstr "Esperado uma string de comprimento 1 (um caractere)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -920,7 +925,6 @@ msgstr "Não foi possÃvel conectar o sinal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1531,17 +1535,9 @@ msgstr "Habilitar" msgid "Rearrange Autoloads" msgstr "Reordenar Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Caminho inválido." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "O arquivo não existe." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Não está no caminho de recursos." +msgid "Can't add autoload:" +msgstr "Não pode adicionar autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2497,12 +2493,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Não foi possÃvel recarregar a cena pois nunca foi salva." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Reverter" +msgid "Reload Saved Scene" +msgstr "Recarregar Cena Salva" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Esta ação não pode ser desfeita. Reverter mesmo assim?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"A cena atual possui alterações não salvas.\n" +"Recarregar a cena salva mesmo assim? Essa ação não poderá ser desfeita." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2733,11 +2733,11 @@ msgstr "Copiar Texto" #: editor/editor_node.cpp msgid "Next tab" -msgstr "Próxima guia" +msgstr "Próxima aba" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "Guia anterior" +msgstr "Aba anterior" #: editor/editor_node.cpp msgid "Filter Files..." @@ -2794,10 +2794,6 @@ msgid "Redo" msgstr "Refazer" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Reverter Cena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Ferramentas diversas atuantes no projeto ou cena." @@ -2849,7 +2845,7 @@ msgstr "Sair para a Lista de Projetos" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp msgid "Debug" -msgstr "Depurar" +msgstr "Depuração" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" @@ -2960,7 +2956,7 @@ msgstr "Capturas de Telas ficam salvas na Pasta Editor Data/Settings." #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "Alternar Tela-Cheia" +msgstr "Alternar Tela Cheia" #: editor/editor_node.cpp msgid "Toggle System Console" @@ -3030,7 +3026,7 @@ msgstr "Roda o projeto." #: editor/editor_node.cpp msgid "Play" -msgstr "Tocar" +msgstr "Rodar" #: editor/editor_node.cpp msgid "Pause the scene execution for debugging." @@ -3038,7 +3034,7 @@ msgstr "Pausar a execução da cena para depuração." #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "Pausa a cena" +msgstr "Pausar Cena" #: editor/editor_node.cpp msgid "Stop the scene." @@ -3186,7 +3182,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" @@ -3446,6 +3442,12 @@ msgstr "Não foi possÃvel rodar o script:" msgid "Did you forget the '_run' method?" msgstr "Você esqueceu o método '_run'?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Segure Ctrl para arredondar para números inteiros. Segure Shift para aplicar " +"mudanças mais precisas." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selecione Nó(s) para Importar" @@ -4044,6 +4046,10 @@ msgid "Error running post-import script:" msgstr "Erro ao rodar script pós-importação:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Salvando..." @@ -5376,7 +5382,7 @@ msgid "" "Game Camera Override\n" "Overrides game camera with editor viewport camera." msgstr "" -"Sobrepor câmera de Jogo\n" +"Sobrepor Câmera de Jogo\n" "Sobrepõe a câmera de jogo com a janela de exibição da câmera." #: editor/plugins/canvas_item_editor_plugin.cpp @@ -5385,8 +5391,8 @@ msgid "" "Game Camera Override\n" "No game instance running." msgstr "" -"Sobrepor câmera de Jogo\n" -"Sem instancia de jogo rodando." +"Sobrepor Câmera de Jogo\n" +"Sem instância de jogo em execução." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5472,17 +5478,17 @@ msgstr "Alt + botão direito do mouse: Lista de seleção de profundidade" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode" -msgstr "Modo Mover" +msgstr "Modo de Movimentação" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode" -msgstr "Modo Rotacionar" +msgstr "Modo de Rotação" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode" -msgstr "Modo Escala" +msgstr "Modo de Escalonamento" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5503,7 +5509,7 @@ msgstr "Modo Panorâmico" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Ruler Mode" -msgstr "Modo Régua" +msgstr "Modo de Régua" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle smart snapping." @@ -5617,7 +5623,7 @@ msgstr "Visualizar" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Always Show Grid" -msgstr "Sempre Mostrar a Grade" +msgstr "Sempre Mostrar Grade" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" @@ -5645,11 +5651,11 @@ msgstr "Exibir grupo e travar Ãcones" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "Centralizar Seleção" +msgstr "Seleção Central" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "Seleção de Quadros" +msgstr "Seleção de Frame" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" @@ -5657,7 +5663,7 @@ msgstr "Visualizar Canvas Scale" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." -msgstr "Máscara de tradução para inserção de chaves" +msgstr "Máscara de tradução para inserção de chaves." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation mask for inserting keys." @@ -5714,7 +5720,7 @@ msgstr "Dividir o passo da grade por 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan View" -msgstr "Vista Panorâmica" +msgstr "Deslocar Visão" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -6999,12 +7005,13 @@ msgid "" msgstr "Falta método conectado '%s' para sinal '%s' do nó '%s' para nó '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Linha" +#, fuzzy +msgid "[Ignore]" +msgstr "(ignore)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignore)" +msgid "Line" +msgstr "Linha" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7478,6 +7485,15 @@ msgid "XForm Dialog" msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Encaixar Nó(s) no Chão" @@ -7533,7 +7549,7 @@ msgstr "Alternar Visão Perspectiva/Ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "Inserir Chanve de Animação" +msgstr "Inserir Chave de Animação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" @@ -8508,7 +8524,7 @@ msgstr "Confirmação" #: editor/plugins/version_control_editor_plugin.cpp msgid "VCS Addon is not initialized" -msgstr "Extensão VCS não inicializado" +msgstr "Extensão VCS não está inicializada" #: editor/plugins/version_control_editor_plugin.cpp msgid "Version Control System" @@ -8983,7 +8999,7 @@ msgstr "Encontra o inteiro mais próximo que é menor ou igual ao parâmetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Computes the fractional part of the argument." -msgstr "Calcula a parte decimal do argumento." +msgstr "Calcula a parte fracional do argumento." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse of the square root of the parameter." @@ -9036,7 +9052,7 @@ msgstr "Encontra o inteiro mais próximo do parâmetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the nearest even integer to the parameter." -msgstr "Encontra o inteiro par mais próximo do parâmetro." +msgstr "Encontra o número inteiro par mais próximo do parâmetro." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Clamps the value between 0.0 and 1.0." @@ -9194,11 +9210,11 @@ msgstr "Multiplica vetor por transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform constant." -msgstr "Constante da transformada." +msgstr "Constante de transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform uniform." -msgstr "Transformada uniforme." +msgstr "Uniforme de transformação." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector function." @@ -10296,11 +10312,11 @@ msgstr "Filtro de Idiomas" #: editor/project_settings_editor.cpp msgid "Show All Locales" -msgstr "Mostrar todos os idiomas" +msgstr "Mostrar todos os Locales" #: editor/project_settings_editor.cpp msgid "Show Selected Locales Only" -msgstr "Mostrar apenas os idiomas selecionados" +msgstr "Mostrar apenas os Locales selecionados" #: editor/project_settings_editor.cpp msgid "Filter mode:" @@ -10563,8 +10579,9 @@ msgid "Instance Child Scene" msgstr "Instânciar Cena Filha" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Remover Script" +#, fuzzy +msgid "Detach Script" +msgstr "Adicionar Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10729,12 +10746,19 @@ msgid "Open Documentation" msgstr "Abrir Documentação" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Adicionar Nó Filho" #: editor/scene_tree_dock.cpp msgid "Expand/Collapse All" -msgstr "Expandir/Colapsar Tudo" +msgstr "Expandir/Recolher Tudo" #: editor/scene_tree_dock.cpp msgid "Change Type" @@ -10777,11 +10801,13 @@ msgstr "" "existir um nó raiz." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Adicionar um script novo ou existente para o nó selecionado." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Remove um script do nó selecionado." #: editor/scene_tree_dock.cpp @@ -10913,6 +10939,10 @@ msgid "A directory with the same name exists." msgstr "Existe um diretório com o mesmo nome." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "O arquivo não existe." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Extensão inválida." @@ -10953,6 +10983,10 @@ msgid "File exists, it will be reused." msgstr "O arquivo existe, será reaproveitado." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Caminho inválido." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nome da classe inválido." @@ -10989,7 +11023,7 @@ msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." msgstr "" -"Nota: Os scripts internos têm algumas limitações e não podem ser editados " +"Nota: Scripts embutidos possuem algumas limitações e não podem ser editados " "usando um editor externo." #: editor/script_create_dialog.cpp @@ -11858,7 +11892,7 @@ msgstr "function_name" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit its graph." -msgstr "Selecione ou crie uma função para editar o grafo." +msgstr "Selecione ou crie uma função para editar seu gráfico." #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" @@ -12004,9 +12038,16 @@ msgstr "" "na predefinição." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Porta-chaves de depuração não configurado nas Configurações do Editor e nem " +"na predefinição." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" -"Compilação personalizada requer um caminho do Android SDK válido para as " +"A compilação personalizada requer um caminho SDK do Android válido nas " "Configurações do Editor." #: platform/android/export/export.cpp @@ -12033,6 +12074,32 @@ msgstr "Nome de pacote inválido:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12811,6 +12878,21 @@ msgstr "Variáveis só podem ser atribuÃdas na função de vértice." msgid "Constants cannot be modified." msgstr "Constantes não podem serem modificadas." +#~ msgid "Not in resource path." +#~ msgstr "Não está no caminho de recursos." + +#~ msgid "Revert" +#~ msgstr "Reverter" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Esta ação não pode ser desfeita. Reverter mesmo assim?" + +#~ msgid "Revert Scene" +#~ msgstr "Reverter Cena" + +#~ msgid "Clear Script" +#~ msgstr "Remover Script" + #~ msgid "Issue Tracker" #~ msgstr "Rastreador de Problemas" diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 6314d31908..40a83eaa87 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-01 11:42+0000\n" +"PO-Revision-Date: 2020-06-15 12:01+0000\n" "Last-Translator: João Lopes <linux-man@hotmail.com>\n" "Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_PT/>\n" @@ -29,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.0.2\n" +"X-Generator: Weblate 4.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -851,7 +851,6 @@ msgstr "Não consigo conectar sinal" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -893,7 +892,7 @@ msgstr "Desligar" #: editor/connections_dialog.cpp msgid "Connect a Signal to a Method" -msgstr "Conectar Sinal a Método" +msgstr "Conectar Sinal a Método" #: editor/connections_dialog.cpp msgid "Edit Connection:" @@ -1212,7 +1211,7 @@ msgstr "A Descomprimir Ativos" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "Falhou a extração dos seguintes Ficheiros do pacote:" +msgstr "Falhou a extração dos seguintes Ficheiros do pacote:" #: editor/editor_asset_installer.cpp msgid "And %s more files." @@ -1253,7 +1252,7 @@ msgstr "Renomear o barramento de áudio" #: editor/editor_audio_buses.cpp msgid "Change Audio Bus Volume" -msgstr "Alterar Volume do barramento de áudio" +msgstr "Alterar Volume do Barramento de Ãudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" @@ -1463,17 +1462,9 @@ msgstr "Ativar" msgid "Rearrange Autoloads" msgstr "Reorganizar Carregamentos Automáticos" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Caminho inválido." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "O Ficheiro não existe." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Não está no caminho do recurso." +msgid "Can't add autoload:" +msgstr "Não consigo adicionar carregamento automático:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2431,12 +2422,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Não consigo recarregar uma cena que nunca foi guardada." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Reverter" +msgid "Reload Saved Scene" +msgstr "Recarregar Cena Guardada" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Esta acção não pode ser desfeita. Reverter na mesma?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"A cena atual tem alterações não guardadas.\n" +"Recarregar a cena guardada? Esta ação não pode ser revertida." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2725,10 +2720,6 @@ msgid "Redo" msgstr "Refazer" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Reverter Cena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Ferramentas diversas de projeto ou cena." @@ -3374,6 +3365,12 @@ msgstr "Não consegui executar o script:" msgid "Did you forget the '_run' method?" msgstr "Esqueceu-se do médodo '_run'?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Pressione Ctrl para arredondar para inteiro. Pressione Shift para mudanças " +"mais precisas." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selecionar Nó(s) para Importar" @@ -3971,6 +3968,10 @@ msgid "Error running post-import script:" msgstr "Erro na execução do Script de pós-importação:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "Devolveu um objeto derivado de Nó no método `post_import()`?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "A guardar..." @@ -4023,7 +4024,7 @@ msgstr "Expandir Todas as Propriedades" #: editor/inspector_dock.cpp msgid "Collapse All Properties" -msgstr "Colapsar Todas as Propriedades" +msgstr "Colapsar Todas as Propriedades" #: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp @@ -4602,7 +4603,7 @@ msgstr "Forçar modulação branca" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "Incluir ferramentas (3D)" +msgstr "Incluir Bugigangas (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pin AnimationPlayer" @@ -5193,7 +5194,7 @@ msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"As âncoras e margens de filhos de um contentores são sobrescritas pelo seu " +"As âncoras e margens de filhos de um contentores são sobrescritas pelo seu " "pai." #: editor/plugins/canvas_item_editor_plugin.cpp @@ -6912,12 +6913,12 @@ msgid "" msgstr "Falta método conectado '%s' para sinal '%s' do nó '%s' para nó '%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Linha" +msgid "[Ignore]" +msgstr "[Ignorar]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ignorar)" +msgid "Line" +msgstr "Linha" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7311,7 +7312,7 @@ msgstr "Ver ambiente" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "Ver ferramentas" +msgstr "Ver Bugigangas" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" @@ -7390,6 +7391,21 @@ msgid "XForm Dialog" msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Clique para alternar entre estados de visibilidade.\n" +"\n" +"Olho aberto: Bugiganga é visÃvel.\n" +"Olho fechado: Bugiganga está escondida.\n" +"Olho meio-aberto: Bugiganga também é visÃvel através de superfÃcies opacas " +"(\"raios X\")." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Ajustar Nós ao Fundo" @@ -10472,8 +10488,8 @@ msgid "Instance Child Scene" msgstr "Instanciar Cena Filha" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Limpar Script" +msgid "Detach Script" +msgstr "Separar Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10637,6 +10653,16 @@ msgid "Open Documentation" msgstr "Abrir documentação" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"Não consigo anexar um script: não há linguagens registadas.\n" +"Isto provavelmente acontece porque o editor foi compilado com todos os " +"módulos de linguagem desativados." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Adicionar Nó Filho" @@ -10685,12 +10711,12 @@ msgstr "" "existir nó raiz." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "Anexar script novo ou existente ao nó selecionado." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Limpar script do nó selecionado." +msgid "Detach the script from the selected node." +msgstr "Separar o script do nó selecionado." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10821,6 +10847,10 @@ msgid "A directory with the same name exists." msgstr "Já existe diretoria com o mesmo nome." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "O Ficheiro não existe." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Extensão inválida." @@ -10861,6 +10891,10 @@ msgid "File exists, it will be reused." msgstr "O Ficheiro já existe, será reutilizado." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Caminho inválido." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Nome de classe inválido." @@ -10874,7 +10908,7 @@ msgstr "Caminho/nome de script é válido." #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "Permitido: a-z, A-Z, 0-9, _ e ." +msgstr "Permitido: a-z, A-Z, 0-9, _ e ." #: editor/script_create_dialog.cpp msgid "Built-in script (into scene file)." @@ -11906,10 +11940,15 @@ msgstr "O jarsigner do OpenJDK não está configurado nas Definições do Editor #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" -"Depuração de keystore não configurado nas Configurações do Editor e nem na " +"Depuração de keystore não configurada nas Configurações do Editor e nem na " "predefinição." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Lançamento de keystore configurado incorretamente na predefinição exportada." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Compilação personalizada necessita de um caminho válido para Android SDK no " @@ -11939,6 +11978,40 @@ msgstr "Nome de pacote inválido:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"Módulo inválido \"GodotPaymentV3\" incluÃdo na configuração do projeto " +"\"android/modules\" (alterado em Godot 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" +"\"Usar Compilação Personalizada\" têm de estar ativa para usar os plugins." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"\"Graus de Liberdade\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Rastreamento de Mão\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" +"\"." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"\"Consciência do Foco\" só é válido quando \"Modo Xr\" é \"Oculus Mobile VR" +"\"." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12504,7 +12577,7 @@ msgid "" "order for AnimatedSprite3D to display frames." msgstr "" "Um recurso SpriteFrames tem de ser criado ou definido na Propriedade \"Frames" -"\" de forma a que AnimatedSprite3D mostre frames." +"\" de forma a que AnimatedSprite3D mostre frames." #: scene/3d/vehicle_body.cpp msgid "" @@ -12535,7 +12608,7 @@ msgid "" "this environment's Background Mode to Canvas (for 2D scenes)." msgstr "" "Este WorldEnvironment Ä— ignorado. Pode adicionar uma Camera (para cenas 3D) " -"ou definir o Modo Background deste ambiente como Canvas (para cenas 2D)." +"ou definir o Modo Background deste ambiente como Canvas (para cenas 2D)." #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" @@ -12716,6 +12789,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 "Not in resource path." +#~ msgstr "Não está no caminho do recurso." + +#~ msgid "Revert" +#~ msgstr "Reverter" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Esta acção não pode ser desfeita. Reverter na mesma?" + +#~ msgid "Revert Scene" +#~ msgstr "Reverter Cena" + +#~ msgid "Clear Script" +#~ msgstr "Limpar Script" + #~ msgid "Issue Tracker" #~ msgstr "Rastreador de Problemas" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 624ae005f2..5e362de330 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -830,7 +830,6 @@ msgstr "Nu se poate conecta semnalul" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1445,17 +1444,9 @@ msgstr "ActivaÈ›i" msgid "Rearrange Autoloads" msgstr "RearanjaÈ›i Autoload-urile" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Cale nevalidă." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "FiÈ™ierul nu există." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nu în calea de resurse." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2404,12 +2395,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Nu se poate reîncărca o scenă care nu a fost salvată niciodată." #: editor/editor_node.cpp -msgid "Revert" -msgstr "ÃŽntoarcere" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Salvează Scena" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Această acÈ›iune nu poate fi recuperată. Te reîntorci oricum?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2707,10 +2701,6 @@ msgid "Redo" msgstr "Reîntoarcere" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "RestabileÈ™te Scena" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Proiect Divers sau unelte pentru scenă." @@ -3368,6 +3358,10 @@ msgstr "Nu a putut fi executat scriptul:" msgid "Did you forget the '_run' method?" msgstr "Ai uitat cumva metoda '_run' ?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Selectează Nodul(rile) pentru Importare" @@ -4001,6 +3995,10 @@ msgid "Error running post-import script:" msgstr "Eroare la executarea scripyului post-importare:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Se Salvează..." @@ -7101,15 +7099,15 @@ msgid "" msgstr "DeconectaÈ›i '%s' de la '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Linie:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "FaceÈ›i FuncÈ›ia" @@ -7596,6 +7594,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "Snap pe grilă" @@ -10682,7 +10689,8 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +#, fuzzy +msgid "Detach Script" msgstr "Curăță Scriptul" #: editor/scene_tree_dock.cpp @@ -10851,6 +10859,13 @@ msgid "Open Documentation" msgstr "Deschide Recente" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10901,11 +10916,13 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "" +#, fuzzy +msgid "Attach a new or existing script to the selected node." +msgstr "Curăță un script pentru nodul selectat." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Curăță un script pentru nodul selectat." #: editor/scene_tree_dock.cpp @@ -11034,6 +11051,10 @@ msgid "A directory with the same name exists." msgstr "Un fiÈ™ier sau un director cu acest nume există deja." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "FiÈ™ierul nu există." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Trebuie să utilizaÅ£i o extensie valida." @@ -11077,6 +11098,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Cale nevalidă." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid class name." msgstr "Nume nevalid." @@ -12154,6 +12179,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12178,6 +12207,32 @@ msgstr "Nume nevalid." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12830,6 +12885,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Nu în calea de resurse." + +#~ msgid "Revert" +#~ msgstr "ÃŽntoarcere" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Această acÈ›iune nu poate fi recuperată. Te reîntorci oricum?" + +#~ msgid "Revert Scene" +#~ msgstr "RestabileÈ™te Scena" + #~ msgid "Issue Tracker" #~ msgstr "Agent de Monitorizare al Problemelor" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index d8c55d825e..8bae9207d0 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -71,12 +71,17 @@ # Super Pracion <superpracion2@gmail.com>, 2020. # PizzArt <7o7goo7o7@gmail.com>, 2020. # TheGracekale <mrsmailbot.lg@gmail.com>, 2020. +# Климентий Титов <titoffklim@cclc.tech>, 2020. +# Richard Urban <redasuio1@gmail.com>, 2020. +# Nikita <Kulacnikita@ya.ru>, 2020. +# Alexander <ramzi7208@gmail.com>, 2020. +# Alex Tern <ternvein@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-05 14:01+0000\n" -"Last-Translator: Super Pracion <superpracion2@gmail.com>\n" +"PO-Revision-Date: 2020-06-15 12:01+0000\n" +"Last-Translator: Alex Tern <ternvein@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -85,12 +90,12 @@ 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.1-dev\n" +"X-Generator: Weblate 4.1\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)." @@ -129,7 +134,7 @@ msgstr "ÐедопуÑтимые аргументы Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "Ðа вызове '%s':" +msgstr "Ðа вызове '%s':" #: core/ustring.cpp msgid "B" @@ -340,7 +345,7 @@ msgstr "Ð’Ñ€ÐµÐ¼Ñ (Ñек.): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "Переключатель дорожки включен" +msgstr "Включить/выключить дорожку" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -906,7 +911,6 @@ msgstr "Ðе удаетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ Ñигнал" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1516,17 +1520,9 @@ msgstr "Включить" msgid "Rearrange Autoloads" msgstr "ПереÑтановка автозагрузок" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "ÐедопуÑтимый путь." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Файл не ÑущеÑтвует." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ðе в пути реÑурÑов." +msgid "Can't add autoload:" +msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð²Ð°Ð¸Ñ‚ÑŒ автозагрузку:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2041,7 +2037,7 @@ msgstr "КонÑтанты" #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "ОпиÑание ÑвойÑтв" +msgstr "ОпиÑÐ°Ð½Ð¸Ñ ÑвойÑтв" #: editor/editor_help.cpp msgid "(value)" @@ -2057,7 +2053,7 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "ОпиÑание методов" +msgstr "ОпиÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð¾Ð²" #: editor/editor_help.cpp msgid "" @@ -2485,12 +2481,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Ðе возможно загрузить Ñцену, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ была Ñохранена." #: editor/editor_node.cpp -msgid "Revert" -msgstr "ВоÑÑтановить" +msgid "Reload Saved Scene" +msgstr "Перезагрузить Ñохранённую Ñцену" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Ðто дейÑтвие Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ. ВоÑÑтановить в любом Ñлучае?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñцена имеет неÑохраненные изменениÑ. \n" +"Ð’ÑÑ‘ равно перезагрузить Ñцену? Ðто дейÑтвие Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2539,7 +2539,7 @@ msgstr "Закрыть Ñцену" #: editor/editor_node.cpp msgid "Reopen Closed Scene" -msgstr "Открыть ранее закрытую Ñцену" +msgstr "Открыть закрытую Ñцену" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -2776,10 +2776,6 @@ msgid "Redo" msgstr "Повторить" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "ВоÑÑтановить Ñцену" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Прочие инÑтрументы." @@ -2861,8 +2857,8 @@ msgstr "" "Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, ÑкÑпорт или развёртывание будет Ñоздавать " "минимальный иÑполнÑемый файл.\n" "Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑтема проекта будет предоÑтавлÑÑ‚ÑŒÑÑ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð¾Ð¼ через Ñеть.\n" -"Ðа Android развёртывание будет быÑтрее при подключении через USB.\n" -"Ðта Ð¾Ð¿Ñ†Ð¸Ñ ÑƒÑкорÑет теÑтирование больших проектов." +"Ðа Android развёртывание будет быÑтрее при подключении через USB. Ðта Ð¾Ð¿Ñ†Ð¸Ñ " +"уÑкорÑет теÑтирование игр Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ объемом памÑти." #: editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -3161,11 +3157,11 @@ msgstr "Выделение" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "Открыть 2D редактор" +msgstr "Открыть 2D-редактор" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "Открыть 3D редактор" +msgstr "Открыть 3D-редактор" #: editor/editor_node.cpp msgid "Open Script Editor" @@ -3427,6 +3423,12 @@ msgstr "Ðевозможно запуÑтить Ñкрипт:" msgid "Did you forget the '_run' method?" msgstr "Быть может вы забыли метод _run()?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Зажмите Ctrl, чтобы округлить до целых. Зажмите Shift Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ точных " +"изменений." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Выберите узлы Ð´Ð»Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð°" @@ -4022,6 +4024,10 @@ msgid "Error running post-import script:" msgstr "Ошибка запуÑка поÑÑ‚-импорт Ñкрипта:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Сохранение..." @@ -6044,17 +6050,16 @@ msgid "Create Outline Mesh..." msgstr "Создать полиÑетку обводки..." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "" "Creates a static outline mesh. The outline mesh will have its normals " "flipped automatically.\n" "This can be used instead of the SpatialMaterial Grow property when using " "that property isn't possible." msgstr "" -"Создаёт Ñтатичную контурную полиÑетку. Её нормали будут перевёрнуты " +"Создаёт Ñтатичную обводочную полиÑетку. Её нормали переворачиваютÑÑ " "автоматичеÑки.\n" -"Она может быть заменой ÑвойÑтву Grow реÑурÑа SpatialMaterial, когда Ñто " -"ÑвойÑтво невозможно иÑпользовать." +"Она может быть иÑпользована в Ñлучае, еÑли иÑпользовать ÑвойÑтво Grow " +"материала SpatialMaterial не предÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ‹Ð¼." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "View UV1" @@ -6678,7 +6683,7 @@ msgstr "AnimationTree - не задан путь к AnimationPlayer" #: editor/plugins/root_motion_editor_plugin.cpp msgid "Path to AnimationPlayer is invalid" -msgstr "Путь к AnimationPlayer недейÑтвительный" +msgstr "Путь к AnimationPlayer недейÑтвительный" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" @@ -6969,12 +6974,13 @@ msgstr "" "'%s'." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Строка" +#, fuzzy +msgid "[Ignore]" +msgstr "(игнорировать)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(игнорировать)" +msgid "Line" +msgstr "Строка" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7340,7 +7346,6 @@ msgid "This operation requires a single selected node." msgstr "Ðта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ одного выбранного узла." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Auto Orthogonal Enabled" msgstr "Ортогональный" @@ -7450,6 +7455,15 @@ msgid "XForm Dialog" msgstr "XForm диалоговое окно" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "ПривÑзать узлы к полу" @@ -9113,9 +9127,8 @@ msgid "2D texture uniform lookup." msgstr "Равномерный поиÑк 2D-текÑтур." #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "2D texture uniform lookup with triplanar." -msgstr "Форменный поиÑк 2d текÑтуры Ñ Ñ‚Ñ€Ð¸Ð¿Ð»Ð°Ð½Ð°Ñ€Ð¾Ð¼." +msgstr "Равномерный поиÑк 2d текÑтуры Ñ Ñ‚Ñ€Ð¸Ð¿Ð»Ð°Ð½Ð°Ñ€Ð¾Ð¼." #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Transform function." @@ -10152,7 +10165,6 @@ msgid "Settings saved OK." msgstr "ÐаÑтройки Ñохранены нормально." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Moved Input Action Event" msgstr "Событие ввода дейÑÑ‚Ð²Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¾" @@ -10471,7 +10483,6 @@ msgid "Regular Expression Error" msgstr "Ошибка в регулÑрном выражении" #: editor/rename_dialog.cpp -#, fuzzy msgid "At character %s" msgstr "Ðа Ñимволе %s" @@ -10540,8 +10551,9 @@ msgid "Instance Child Scene" msgstr "Добавить дочернюю Ñцену" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Убрать Ñкрипт" +#, fuzzy +msgid "Detach Script" +msgstr "Прикрепить Ñкрипт" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10707,6 +10719,13 @@ msgid "Open Documentation" msgstr "Открыть документацию" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Добавить дочерний узел" @@ -10755,11 +10774,13 @@ msgstr "" "не ÑущеÑтвует." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Прикрепить новый или ÑущеÑтвующий Ñкрипт к выбранному узлу." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Убрать Ñкрипт у выбранного узла." #: editor/scene_tree_dock.cpp @@ -10891,6 +10912,10 @@ msgid "A directory with the same name exists." msgstr "Каталог Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же именем ÑущеÑтвует." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Файл не ÑущеÑтвует." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "ÐедопуÑтимое раÑширение." @@ -10931,6 +10956,10 @@ msgid "File exists, it will be reused." msgstr "Файл ÑущеÑтвует, будет иÑпользован повторно." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "ÐедопуÑтимый путь." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа." @@ -11979,6 +12008,13 @@ msgstr "" "предуÑтановках." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"ÐžÑ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ð° не наÑтроена ни в наÑтройках редактора, ни в " +"предуÑтановках." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "ПользовательÑÐºÐ°Ñ Ñборка требует Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð³Ð¾ пути к Android SDK в " @@ -12007,6 +12043,32 @@ msgstr "ÐедопуÑтимое Ð¸Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð°:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12039,7 +12101,6 @@ msgstr "" "Android." #: platform/android/export/export.cpp -#, fuzzy msgid "No build apk generated at: " msgstr "Ðет Ñборки apk в: " @@ -12235,10 +12296,9 @@ msgstr "" "чтобы работать." #: scene/2d/light_occluder_2d.cpp -#, fuzzy msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" -"ЗаÑлонÑющий полигон Ð´Ð»Ñ Ñтого окклюдера пуÑÑ‚. ПожалуйÑта, нариÑуйте полигон!" +"ЗаÑлонÑющий полигон Ð´Ð»Ñ Ñтого окклюдера пуÑÑ‚. ПожалуйÑта, нариÑуйте полигон." #: scene/2d/navigation_polygon.cpp msgid "" @@ -12725,8 +12785,7 @@ msgid "" msgstr "" "ScrollContainer предназначен Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð¾Ð´Ð½Ð¸Ð¼ дочерним Ñлементом " "управлениÑ.\n" -"ИÑпользуйте дочерний контейнер (VBox, HBox и Ñ‚.д.), или Control и " -"уÑтановите\n" +"ИÑпользуйте дочерний контейнер (VBox, HBox и Ñ‚.д.), или Control и уÑтановите " "минимальный размер вручную." #: scene/gui/tree.cpp @@ -12786,6 +12845,21 @@ msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть назначены только Ð msgid "Constants cannot be modified." msgstr "КонÑтанты не могут быть изменены." +#~ msgid "Not in resource path." +#~ msgstr "Ðе в пути реÑурÑов." + +#~ msgid "Revert" +#~ msgstr "ВоÑÑтановить" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Ðто дейÑтвие Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ. ВоÑÑтановить в любом Ñлучае?" + +#~ msgid "Revert Scene" +#~ msgstr "ВоÑÑтановить Ñцену" + +#~ msgid "Clear Script" +#~ msgstr "Убрать Ñкрипт" + #~ msgid "Issue Tracker" #~ msgstr "СиÑтема отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº" diff --git a/editor/translations/si.po b/editor/translations/si.po index 2eb9cad3f8..4d252a53d6 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -836,7 +836,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1436,16 +1435,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2366,11 +2357,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "à·ƒà·à¶¯à¶±à·Šà¶±" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2636,10 +2630,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3246,6 +3236,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3832,6 +3826,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6727,11 +6725,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7202,6 +7200,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10143,7 +10150,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10304,6 +10311,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10350,11 +10364,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10474,6 +10488,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10514,6 +10532,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11551,6 +11573,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11574,6 +11600,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 295b7ac429..a341552d1c 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -9,11 +9,12 @@ # Michal <alladinsiffon@gmail.com>, 2019. # Richard <rgarlik@gmail.com>, 2019. # Richard Urban <redasuio1@gmail.com>, 2020. +# Anonymous <noreply@weblate.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-01 11:42+0000\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" "Last-Translator: Richard Urban <redasuio1@gmail.com>\n" "Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/" "godot/sk/>\n" @@ -22,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -31,17 +32,17 @@ msgstr "Chybný argument convert(), použite TYPE_* konÅ¡tanty." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "OÄakávaná dĺžka stringu 1 (pÃsmeno)." +msgstr "dĺžka oÄakávaného stringu 1 (pÃsmeno)" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "Nedostatok bajtov na dekódovanie, možný chybný formát." +msgstr "Nedostatok bajtov na dekódovanie, alebo chybný formát." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "Nesprávny vstup %i (chýba) vo výraze" +msgstr "Neplatný vstup %i (nepreÅ¡lo) vo výraze" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" @@ -97,7 +98,7 @@ msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "Voľné" +msgstr "zadarmo" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -117,7 +118,7 @@ msgstr "Hodnota:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "VložiÅ¥ tu kľúÄ" +msgstr "Sem Vložte KľúÄ" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" @@ -125,7 +126,7 @@ msgstr "DuplikovaÅ¥ kľúÄ(e)" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "ZmazaÅ¥ kľúÄ(e)" +msgstr "ZmazaÅ¥ oznaÄené kľúÄ(e)" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" @@ -133,64 +134,64 @@ msgstr "PridaÅ¥ Bezierov bod" #: editor/animation_bezier_editor.cpp msgid "Move Bezier Points" -msgstr "Presunúť Vybraté Body" +msgstr "Presunúť Bazier Points" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Animácia DuplikovaÅ¥ KľúÄe" +msgstr "Anim DuplikovaÅ¥ KľúÄe" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "Animácia VymazaÅ¥ KľúÄe" +msgstr "Anim ZmazaÅ¥ KľúÄe" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "Animácia ZmeniÅ¥ Keyframe ÄŒas" +msgstr "Anim ZmeniÅ¥ Keyframe ÄŒas" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "Animácia zmeniÅ¥ prechod" +msgstr "Anim zmeniÅ¥ prechod" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "ZmeniÅ¥ VeľkosÅ¥ Animácie" +msgstr "Anim ZmeniÅ¥ VeľkosÅ¥" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "Animácia ZmeniÅ¥ Keyframe Hodnotu" +msgstr "Anim ZmeniÅ¥ Hodnotu Keyframe" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "Animácia zmenila Hovor" +msgstr "Anim Change Call" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Time" -msgstr "Animácia ZmeniÅ¥ Äas Keyframe-u" +msgstr "Anim ZmeniÅ¥ Äas Keyframe-u" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transition" -msgstr "ZmeniÅ¥ Transition Animácie" +msgstr "Animácia zmeniÅ¥ prechod(Anim Multi Change Transition)" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Transform" -msgstr "Animácia zmeniÅ¥ Transform" +msgstr "Anim zmeniÅ¥ Transform" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Keyframe Value" -msgstr "Animácia ZmeniÅ¥ hodnotu Keyframe-u" +msgstr "Animácia ZmeniÅ¥ Keyframe Hodnotu (Anim Multi Change Keyframe Value)" #: editor/animation_track_editor.cpp msgid "Anim Multi Change Call" -msgstr "Animácia Zmenila Hovor" +msgstr "Animácia ZmeniÅ¥ Hovor (Anim Multi Change Call)" #: editor/animation_track_editor.cpp msgid "Change Animation Length" -msgstr "ZmeniÅ¥ Dĺžku Animácie" +msgstr "ZmeniÅ¥ Dĺžku Animácie (Change Animation Length)" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "ZmeniÅ¥ Dĺžku Animácie" +msgstr "ZmeniÅ¥ opakovanie Animácie (Change Animation Loop)" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -206,7 +207,7 @@ msgstr "Call Method Track" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "Krivka Bezier Track" +msgstr "Bezier Curve Track" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" @@ -214,7 +215,7 @@ msgstr "Audio Playback Track" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "Playback Track Animácie" +msgstr "Animation Playback Track" #: editor/animation_track_editor.cpp msgid "Animation length (frames)" @@ -836,7 +837,6 @@ msgstr "Nedá sa pripojiÅ¥ signál" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1446,17 +1446,9 @@ msgstr "PovoliÅ¥" msgid "Rearrange Autoloads" msgstr "RearandžovaÅ¥ AutoLoad-y" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Neplatná cesta." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Súbor neexistuje." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Nieje v resource path." +msgid "Can't add autoload:" +msgstr "Nepodarilo sa pridaÅ¥ autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2414,12 +2406,16 @@ msgid "Can't reload a scene that was never saved." msgstr "Nemožno naÄÃtaÅ¥ scénu, ktorá nikdy nebola uložená." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Revert" +msgid "Reload Saved Scene" +msgstr "ReloadnuÅ¥ Uloženú Scénu" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Túto akciu nie je možné vrátiÅ¥ späť. Chcete RevertovatÅ¥ aj tak?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"Táto scéna má neuložené zmeny.\n" +"Aj tak chcete scény reloadnuÅ¥? Táto akcia nomôže byÅ¥ nedokonÄená." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2705,10 +2701,6 @@ msgid "Redo" msgstr "PrerobiÅ¥" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "VrátiÅ¥ Scénu" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "ZmieÅ¡anosti projektových alebo scénových wide tool-ov." @@ -3075,176 +3067,172 @@ msgid "Open & Run a Script" msgstr "OtvoriÅ¥ & SpustiÅ¥ Script" #: editor/editor_node.cpp -#, fuzzy msgid "New Inherited" -msgstr "Popis:" +msgstr "Novo Zdedené" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "NaÄÃtaÅ¥ Chyby" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "ZvoliÅ¥" #: editor/editor_node.cpp -#, fuzzy msgid "Open 2D Editor" -msgstr "Otvorit prieÄinok" +msgstr "OtvoriÅ¥ 2D Editor" #: editor/editor_node.cpp -#, fuzzy msgid "Open 3D Editor" -msgstr "Otvorit prieÄinok" +msgstr "OtvoriÅ¥ 3D Editor" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "" +msgstr "OtvoriÅ¥ Editor Skriptov" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "OtvoriÅ¥ Knižnicu \"Assetov\"" #: editor/editor_node.cpp msgid "Open the next Editor" -msgstr "" +msgstr "OtvoriÅ¥ následujúci Editor" #: editor/editor_node.cpp msgid "Open the previous Editor" -msgstr "" +msgstr "OtvoriÅ¥ predchádzajúci Editor" #: editor/editor_node.h msgid "Warning!" -msgstr "" +msgstr "Varovanie!" #: editor/editor_path.cpp msgid "No sub-resources found." -msgstr "" +msgstr "NenaÅ¡li sa žiadne \"sub-resources\"." #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "Vytváranie Zobrazenia \"Mesh-u\"" #: editor/editor_plugin.cpp msgid "Thumbnail..." -msgstr "" +msgstr "\"Thumbnail\"..." #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Main Script:" -msgstr "Popis:" +msgstr "Hlavný Script:" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Edit Plugin" -msgstr "Signály:" +msgstr "EditovaÅ¥ Plugin" #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "NainÅ¡talované Plugins:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Update" -msgstr "" +msgstr "Update" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "Verzia:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Author:" -msgstr "" +msgstr "Autor:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "Status:" #: editor/editor_plugin_settings.cpp msgid "Edit:" -msgstr "" +msgstr "Edit:" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Opatrenia:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "ÄŒas SnÃmky (v sek.)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Priemerný ÄŒas (v sek.)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "" +msgstr "SnÃmka %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "Fyzická SnÃmka %" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "InkluzÃvne" #: editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "Vlastné" #: editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "SnÃmka #:" #: editor/editor_profiler.cpp msgid "Time" -msgstr "" +msgstr "ÄŒas" #: editor/editor_profiler.cpp msgid "Calls" -msgstr "" +msgstr "Volania" #: editor/editor_properties.cpp -#, fuzzy msgid "Edit Text:" -msgstr "Súbor:" +msgstr "EditovaÅ¥ Text:" #: editor/editor_properties.cpp editor/script_create_dialog.cpp msgid "On" -msgstr "" +msgstr "Zapnúť" #: editor/editor_properties.cpp msgid "Layer" -msgstr "" +msgstr "Vrstva" #: editor/editor_properties.cpp msgid "Bit %d, value %d" -msgstr "" +msgstr "Bit %d, hodnota %d" #: editor/editor_properties.cpp msgid "[Empty]" -msgstr "" +msgstr "[Prázdne]" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp msgid "Assign..." -msgstr "" +msgstr "PriradiÅ¥..." #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr "Nesprávna veľkosÅ¥ pÃsma." +msgstr "Nesprávny \"RID\"" #: editor/editor_properties.cpp msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." msgstr "" +"Vybraný prostriedok (%s) sa nezhoduje žiadnemu typu pre túto vlastnosÅ¥ (%s)." #: editor/editor_properties.cpp msgid "" "Can't create a ViewportTexture on resources saved as a file.\n" "Resource needs to belong to a scene." msgstr "" +"Nepodarilo sa vytvoriÅ¥ ViewportTextúru na zdroj uložený ako súbor.\n" +"Zdroj musà patriÅ¥ scéne." #: editor/editor_properties.cpp msgid "" @@ -3253,28 +3241,30 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"Nepodarilo sa vytvoriÅ¥ ViewportTextúru na tomto zdroji lebo nenà nastavený " +"ako lokálna scéna.\n" +"ProsÃm zmeňte ho vo vlastnosti 'local to scene' (a vÅ¡etky zdroje ktoré ho " +"obsahujú hore v node-e)." #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "" +msgstr "VybraÅ¥ Viewport" #: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy msgid "New Script" -msgstr "Popis:" +msgstr "Nový Script" #: editor/editor_properties.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Extend Script" -msgstr "Popis:" +msgstr "\"Extendovaný\" Script" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" -msgstr "" +msgstr "Nový %s" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Make Unique" -msgstr "" +msgstr "SpraviÅ¥ JedineÄným" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -3292,845 +3282,837 @@ msgstr "VložiÅ¥" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Convert To %s" -msgstr "" +msgstr "KonvertovaÅ¥ Do %s" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "" +msgstr "Vybraný node nenà Viewport!" #: editor/editor_properties_array_dict.cpp msgid "Size: " -msgstr "" +msgstr "VeľkosÅ¥: " #: editor/editor_properties_array_dict.cpp msgid "Page: " -msgstr "" +msgstr "Strana: " #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "VymazaÅ¥ Predmet" #: editor/editor_properties_array_dict.cpp msgid "New Key:" -msgstr "" +msgstr "Nový KľúÄ:" #: editor/editor_properties_array_dict.cpp msgid "New Value:" -msgstr "" +msgstr "Nová Hodnota:" #: editor/editor_properties_array_dict.cpp msgid "Add Key/Value Pair" -msgstr "" +msgstr "PridaÅ¥ KľúÄ/Hodnota \"Pair\"" #: editor/editor_run_native.cpp msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"Pre túto platformu sa nenaÅ¡iel žiadny spustiteľný \"export preset\" .\n" +"ProsÃm pridajte spustiteľný \"preset\" v export menu." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "NapÃÅ¡te svoju logiku v metóde _run()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Už tu je editovaná scéna." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Nepodarilo sa inÅ¡tancovaÅ¥ script:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "Zabudli ste skratku pre 'tool'?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Nepodarilo sa spustiÅ¥ script:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" +msgstr "Nezabudli ste na metódu '_run'?" + +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." msgstr "" +"Podržte Ctrl na zaokrúhlenie na celé ÄÃsla. Podržte Shift pre viac precÃzne " +"zmeny." #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Vyberte Node(y) pre Importovanie" #: editor/editor_sub_scene.cpp editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "VyhladaÅ¥" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Cesta Scény:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "ImportovaÅ¥ Z Node-u:" #: editor/export_template_manager.cpp msgid "Redownload" -msgstr "" +msgstr "PreinÅ¡talovaÅ¥" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "OdinÅ¡talovaÅ¥" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "" +msgstr "(NainÅ¡talované)" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download" -msgstr "" +msgstr "Stiahnuté" #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." -msgstr "" +msgstr "Oficiálne export Å¡ablóny niesu dostupné pre \"development builds\"." #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "" +msgstr "(Chýba)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "" +msgstr "(Aktuálny)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait..." -msgstr "" +msgstr "NaÄÃtavanie zrkadiel, prosÃm Äakajte..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "" +msgstr "VymazaÅ¥ verziu Å¡ablóny '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Nedá sa otvoriÅ¥ export templates zip." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates: %s." -msgstr "" +msgstr "Neplatný version.txt formát vo vnútri Å¡ablón: %s." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "NenaÅ¡la sa žiadny version.txt vo vnútri Å¡ablón." #: editor/export_template_manager.cpp msgid "Error creating path for templates:" -msgstr "" +msgstr "Chyba pri vytváranà cesty pre Å¡ablóny:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "Extrahovanie exportných Å¡ablón" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "Importovanie:" #: editor/export_template_manager.cpp msgid "Error getting the list of mirrors." -msgstr "" +msgstr "Chyba pri zÃskavanà listu zrkadiel." #: editor/export_template_manager.cpp msgid "Error parsing JSON of mirror list. Please report this issue!" -msgstr "" +msgstr "Chyba pri rozbore JSON listu zrkadiel. ProsÃm nahláste túto chybu!" #: editor/export_template_manager.cpp msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"NenaÅ¡li sa žiadne download linky pre túto verziu. Priame stiahnutie je " +"dostupný iba pre \"official releases\"." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "" +msgstr "Nerozpoznané." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "" +msgstr "Nedá sa pripojiÅ¥." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response." -msgstr "" +msgstr "Žiadna odozva." #: editor/export_template_manager.cpp msgid "Request Failed." -msgstr "" +msgstr "ŽiadosÅ¥ Zlihala." #: editor/export_template_manager.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Presmerovanie \"Loop-u\"." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Zlihalo:" #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "InÅ¡talácia je DokonÄená." #: editor/export_template_manager.cpp -#, fuzzy msgid "Cannot remove temporary file:" -msgstr "Nemôžete odstrániÅ¥:" +msgstr "Nepodarilo sa vymazaÅ¥ doÄasné súbory:" #: editor/export_template_manager.cpp msgid "" "Templates installation failed.\n" "The problematic templates archives can be found at '%s'." msgstr "" +"InÅ¡talácia Å¡ablón zlihala.\n" +"ArchÃvy problémových Å¡ablón nájdete v '%s'." #: editor/export_template_manager.cpp msgid "Error requesting URL:" -msgstr "" +msgstr "Chyba pri zadávanà URL:" #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." -msgstr "" +msgstr "Prebieha Pripájanie do Zrkadla..." #: editor/export_template_manager.cpp msgid "Disconnected" -msgstr "" +msgstr "Odpojené" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "" +msgstr "RieÅ¡enie" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Nepodarilo sa VyrieÅ¡iÅ¥" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting..." -msgstr "" +msgstr "Pripájanie..." #: editor/export_template_manager.cpp msgid "Can't Connect" -msgstr "" +msgstr "Nepodarilo sa pripojiÅ¥" #: editor/export_template_manager.cpp msgid "Connected" -msgstr "" +msgstr "Pripojené" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting..." -msgstr "" +msgstr "Requestuje sa..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "InÅ¡talovanie" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "" +msgstr "Chyba pri PripájanÃ" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "Chyba SSL Handshake" #: editor/export_template_manager.cpp msgid "Uncompressing Android Build Sources" -msgstr "" +msgstr "Nekompresované \"Android Build Sources\"" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Aktuálna Verzia:" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "" +msgstr "InÅ¡talované Verzie:" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "" +msgstr "InÅ¡talovaÅ¥ Zo Súboru" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove Template" -msgstr "VÅ¡etky vybrané" +msgstr "VymazaÅ¥ Å ablónu" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select Template File" -msgstr "VytvoriÅ¥ adresár" +msgstr "VybraÅ¥ Súbor Å ablóny" #: editor/export_template_manager.cpp -#, fuzzy msgid "Godot Export Templates" -msgstr "VÅ¡etky vybrané" +msgstr "Godot Exportovanie Å ablón" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "ExportovaÅ¥ Manažera Å ablón" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "VÅ¡etky vybrané" +msgstr "StiahnuÅ¥ Å ablónu" #: editor/export_template_manager.cpp msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "" +msgstr "VybraÅ¥ zrkadlo z listu: (Shift+Click: Open in Browser)" #: editor/filesystem_dock.cpp msgid "Favorites" -msgstr "" +msgstr "Obľúbené" #: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"Status:Import súboru zlihal. ProsÃm opravte súbor a manuálne reimportujte." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Nedá sa presunúť/premenovaÅ¥ \"resources root\"." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself." -msgstr "" +msgstr "Nadá sa presunúť priÄinok do toho istého prieÄinku." #: editor/filesystem_dock.cpp msgid "Error moving:" -msgstr "" +msgstr "Chyba pri presúvanÃ:" #: editor/filesystem_dock.cpp msgid "Error duplicating:" -msgstr "" +msgstr "Chyba pri duplikovanÃ:" #: editor/filesystem_dock.cpp msgid "Unable to update dependencies:" -msgstr "" +msgstr "Nepodarilo sa update-nuÅ¥ závislosti:" #: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp msgid "No name provided." -msgstr "" +msgstr "Nieje uvedené žiadne meno." #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters." -msgstr "" +msgstr "Toto meno obsahuje nepodporované pÃsmená." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "Súbor alebo prieÄinok s tÃmto menom už existuje." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Meno obsahuje neplatné pÃsmená." #: editor/filesystem_dock.cpp msgid "Renaming file:" -msgstr "" +msgstr "Zostávajúce súbory:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "Zostávajúce prieÄinky:" #: editor/filesystem_dock.cpp msgid "Duplicating file:" -msgstr "" +msgstr "Duplikovanie súborov:" #: editor/filesystem_dock.cpp msgid "Duplicating folder:" -msgstr "" +msgstr "Duplikovanie prieÄinka:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Inherited Scene" -msgstr "Popis:" +msgstr "Nová Zdedená Scéna" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Set As Main Scene" -msgstr "UložiÅ¥ súbor" +msgstr "NastaviÅ¥ ako Hlavnú Scénu" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Open Scenes" -msgstr "OtvoriÅ¥ súbor(y)" +msgstr "OtvoriÅ¥ Scény" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "InÅ¡tancie" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Add to Favorites" -msgstr "Obľúbené:" +msgstr "PridaÅ¥ do Obľúbených" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Remove from Favorites" -msgstr "VÅ¡etky vybrané" +msgstr "OdstrániÅ¥ z Obľúbených" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." -msgstr "" +msgstr "EditovaÅ¥ Závislosti..." #: editor/filesystem_dock.cpp msgid "View Owners..." -msgstr "" +msgstr "ZobraziÅ¥ Majiteľov..." #: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Rename..." -msgstr "" +msgstr "PremenovaÅ¥..." #: editor/filesystem_dock.cpp msgid "Duplicate..." -msgstr "" +msgstr "DuplikovaÅ¥..." #: editor/filesystem_dock.cpp msgid "Move To..." -msgstr "" +msgstr "Presunúť Do..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Scene..." -msgstr "Popis:" +msgstr "Nová Scéna..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "New Script..." -msgstr "Popis:" +msgstr "Nový Script..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Resource..." -msgstr "VytvoriÅ¥ adresár" +msgstr "Nový Prostriedok..." #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp msgid "Expand All" -msgstr "" +msgstr "ExpandovaÅ¥ VÅ¡etky" #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp msgid "Collapse All" -msgstr "" +msgstr "Collapse All" #: editor/filesystem_dock.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/project_manager.cpp editor/rename_dialog.cpp #: editor/scene_tree_dock.cpp msgid "Rename" -msgstr "" +msgstr "PremenovaÅ¥" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Previous Folder/File" -msgstr "VytvoriÅ¥ adresár" +msgstr "Minulý PrieÄinok/Súbor" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Next Folder/File" -msgstr "VytvoriÅ¥ adresár" +msgstr "ÄŽalÅ¡Ã PrieÄinok/Súbor" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "PreskenovaÅ¥ Filesystem" #: editor/filesystem_dock.cpp msgid "Toggle Split Mode" -msgstr "" +msgstr "Prepnúť Split Mode" #: editor/filesystem_dock.cpp msgid "Search files" -msgstr "" +msgstr "VyhľadaÅ¥ súbory" #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." msgstr "" +"Skenujem Súbory,\n" +"PoÄkajte ProsÃm..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Presunúť" #: editor/filesystem_dock.cpp msgid "There is already file or folder with the same name in this location." -msgstr "" +msgstr "Už tu je súbor alebo prieÄinok pomenovaný rovnako." #: editor/filesystem_dock.cpp msgid "Overwrite" -msgstr "" +msgstr "PrepÃsaÅ¥" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Create Scene" -msgstr "VytvoriÅ¥ adresár" +msgstr "VytvoriÅ¥ Scénu" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "" +msgstr "VytvoriÅ¥ Script" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Find in Files" -msgstr "Súbor:" +msgstr "NájsÅ¥ v Súboroch" #: editor/find_in_files.cpp msgid "Find:" -msgstr "" +msgstr "NájsÅ¥:" #: editor/find_in_files.cpp -#, fuzzy msgid "Folder:" -msgstr "VytvoriÅ¥ adresár" +msgstr "PrieÄinok:" #: editor/find_in_files.cpp -#, fuzzy msgid "Filters:" -msgstr "Filter:" +msgstr "Filtre:" #: editor/find_in_files.cpp msgid "" "Include the files with the following extensions. Add or remove them in " "ProjectSettings." msgstr "" +"Obsahuje súbory s následujúcimi extensiami. Pridajte ich alebo Odstránte v " +"NastaveniachProjektu." #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find..." -msgstr "" +msgstr "NájsÅ¥..." #: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp msgid "Replace..." -msgstr "" +msgstr "NahradiÅ¥..." #: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp msgid "Cancel" -msgstr "" +msgstr "ZruÅ¡iÅ¥" #: editor/find_in_files.cpp msgid "Find: " -msgstr "" +msgstr "NájsÅ¥: " #: editor/find_in_files.cpp msgid "Replace: " -msgstr "" +msgstr "NahradiÅ¥: " #: editor/find_in_files.cpp msgid "Replace all (no undo)" -msgstr "" +msgstr "NahradiÅ¥ vÅ¡etky (nedá sa vrátiÅ¥ späť)" #: editor/find_in_files.cpp msgid "Searching..." -msgstr "" +msgstr "Vyhľadávam..." #: editor/find_in_files.cpp msgid "Search complete" -msgstr "" +msgstr "Vyhľadávanie bolo dokonÄené" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "PridaÅ¥ do Skupiny" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "VymazaÅ¥ zo Skupiny" #: editor/groups_editor.cpp msgid "Group name already exists." -msgstr "" +msgstr "Meno skupiny už existuje." #: editor/groups_editor.cpp -#, fuzzy msgid "Invalid group name." -msgstr "Nesprávna veľkosÅ¥ pÃsma." +msgstr "Neplatné meno skupiny." #: editor/groups_editor.cpp -#, fuzzy msgid "Rename Group" -msgstr "VÅ¡etky vybrané" +msgstr "PremenovaÅ¥ Skupinu" #: editor/groups_editor.cpp -#, fuzzy msgid "Delete Group" -msgstr "VÅ¡etky vybrané" +msgstr "ZmazaÅ¥ Skupinu" #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Skupiny" #: editor/groups_editor.cpp msgid "Nodes Not in Group" -msgstr "" +msgstr "Node-y Nie sú v Skupine" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Filter nodes" -msgstr "Filter:" +msgstr "Filter Node-y" #: editor/groups_editor.cpp msgid "Nodes in Group" -msgstr "" +msgstr "Node-y v Skupine" #: editor/groups_editor.cpp msgid "Empty groups will be automatically removed." -msgstr "" +msgstr "Prázdne Skupiny budú automaticky zmazané." #: editor/groups_editor.cpp -#, fuzzy msgid "Group Editor" -msgstr "Otvorit prieÄinok" +msgstr "Editor SkupÃn" #: editor/groups_editor.cpp msgid "Manage Groups" -msgstr "" +msgstr "SpravovaÅ¥ Skupiny" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "ImportovaÅ¥ ako Samostatnú Scénu" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Animáciami" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Materiálmi" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Objektami" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Objektami+Materiálmi" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Objektami+Animáciami" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Materiálmi+Animáciami" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "ImportovaÅ¥ z Oddelenými Objektami+Materiálmi+Animáciami" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "ImportovaÅ¥ ako Dvojité Scény" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "ImportovaÅ¥ ako Dvojité Scény+Materiály" #: editor/import/resource_importer_scene.cpp #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "ImportovaÅ¥ Scénu" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene..." -msgstr "" +msgstr "Importujem Scénu..." #: editor/import/resource_importer_scene.cpp msgid "Generating Lightmaps" -msgstr "" +msgstr "Generovanie Lightmaps" #: editor/import/resource_importer_scene.cpp msgid "Generating for Mesh: " -msgstr "" +msgstr "Generovanie pre Mesh: " #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." -msgstr "" +msgstr "SpustiÅ¥ Vlastný Script..." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Nepodarilo sa naÄÃtaÅ¥ post-import script:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Neplatný/rozbitý script pre post-import (prezrite konzolu):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Chyba pri spustenà post-import scriptu:" + +#: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "Vrátili ste Node-derived objekt v `post_import()` metóde?" #: editor/import/resource_importer_scene.cpp msgid "Saving..." -msgstr "" +msgstr "Ukladám..." #: editor/import_dock.cpp -#, fuzzy msgid "%d Files" -msgstr "Súbor:" +msgstr "%d Súbory" #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "NastaviÅ¥ ako Å tandardné pre '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "VyÄistiÅ¥ Å tandardné pre '%s'" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "ImportovaÅ¥ Ako:" #: editor/import_dock.cpp -#, fuzzy msgid "Preset" -msgstr "NaÄÃtaÅ¥ predvolené" +msgstr "Preset" #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "ReimportovaÅ¥" #: editor/import_dock.cpp msgid "Save Scenes, Re-Import, and Restart" -msgstr "" +msgstr "UložiÅ¥ Scény, Re-ImportovaÅ¥, a ReÅ¡tartovaÅ¥" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." -msgstr "" +msgstr "Menà sa typ impotovaného súboru, treba reÅ¡tartovaÅ¥ editor." #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"VAROVANIE: Položky ktoré existujú v tomto prostriedku, Sa nemusia naÄitaÅ¥ " +"správne." #: editor/inspector_dock.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Nepodarilo sa naÄÃtaÅ¥ prostriedok." #: editor/inspector_dock.cpp msgid "Expand All Properties" -msgstr "" +msgstr "ExpandovaÅ¥ VÅ¡etky Vlastnosti" #: editor/inspector_dock.cpp -#, fuzzy msgid "Collapse All Properties" -msgstr "Filter:" +msgstr "CollapsovaÅ¥ VÅ¡etky Vlastnosti" #: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Save As..." -msgstr "" +msgstr "UložiÅ¥ Ako..." #: editor/inspector_dock.cpp msgid "Copy Params" -msgstr "" +msgstr "SkopÃrovaÅ¥ Parametre" #: editor/inspector_dock.cpp msgid "Edit Resource Clipboard" -msgstr "" +msgstr "EditovaÅ¥ Clipboard Prostriedku" #: editor/inspector_dock.cpp msgid "Copy Resource" -msgstr "" +msgstr "SkopÃrovaÅ¥ Prostriedok" #: editor/inspector_dock.cpp msgid "Make Built-In" -msgstr "" +msgstr "SpraviÅ¥ Built-In" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "SpraviÅ¥ Sub-Prostriedky Unikátne" #: editor/inspector_dock.cpp msgid "Open in Help" -msgstr "" +msgstr "OtvoriÅ¥ v Pomoci" #: editor/inspector_dock.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "VytvoriÅ¥ nový prostriedok v pamäti a upraviÅ¥ ho." #: editor/inspector_dock.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "NaÄÃtaÅ¥ existujúci prostriedok z disku a upraviÅ¥ ho." #: editor/inspector_dock.cpp msgid "Save the currently edited resource." -msgstr "" +msgstr "UložiÅ¥ aktuálne upravený prostriedok." #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "ÃsÅ¥ do histórie predchádzajúceho upravovaného objekta." #: editor/inspector_dock.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "ÃsÅ¥ do ÄalÅ¡ej histórie upraveného objekta." #: editor/inspector_dock.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "História upravených objektov." #: editor/inspector_dock.cpp msgid "Object properties." -msgstr "" +msgstr "Vlastnosti Objekta." #: editor/inspector_dock.cpp -#, fuzzy msgid "Filter properties" -msgstr "Filter:" +msgstr "Vlastnosti Filtra" #: editor/inspector_dock.cpp msgid "Changes may be lost!" -msgstr "" +msgstr "Zmeny môžu byÅ¥ stratené!" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "MultiNode Set" #: editor/node_dock.cpp msgid "Select a single node to edit its signals and groups." -msgstr "" +msgstr "Vyberte jeden node aby ste mohli upraviÅ¥ jeho signály a skupiny." #: editor/plugin_config_dialog.cpp msgid "Edit a Plugin" -msgstr "" +msgstr "UpraviÅ¥ Plugin" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Create a Plugin" -msgstr "VytvoriÅ¥ adresár" +msgstr "VytvoriÅ¥ Plugin" #: editor/plugin_config_dialog.cpp msgid "Plugin Name:" -msgstr "" +msgstr "Meno Pluginu:" #: editor/plugin_config_dialog.cpp msgid "Subfolder:" -msgstr "" +msgstr "Subfolder:" #: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp msgid "Language:" -msgstr "" +msgstr "Jazyk:" #: editor/plugin_config_dialog.cpp msgid "Script Name:" -msgstr "" +msgstr "Meno Skriptu:" #: editor/plugin_config_dialog.cpp msgid "Activate now?" -msgstr "" +msgstr "AktivovaÅ¥ teraz?" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Polygon" -msgstr "VytvoriÅ¥ adresár" +msgstr "VytvoriÅ¥ Polygon" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Create points." -msgstr "VÅ¡etky vybrané" +msgstr "VytvoriÅ¥ body." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -4138,30 +4120,30 @@ msgid "" "LMB: Move Point\n" "RMB: Erase Point" msgstr "" +"UpraviÅ¥ body.\n" +"LMB: Presunúť Bod\n" +"RMB: ZmazaÅ¥ Bod" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Erase points." -msgstr "VÅ¡etky vybrané" +msgstr "ZmazaÅ¥ body." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon" -msgstr "Signály:" +msgstr "UpraviÅ¥ Polygon" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "VložiÅ¥ Bod" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Edit Polygon (Remove Point)" -msgstr "" +msgstr "UpraviÅ¥ Polygon (ZmazaÅ¥ Bod)" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Remove Polygon And Point" -msgstr "VÅ¡etky vybrané" +msgstr "ZmazaÅ¥ Polygon A Bod" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4169,55 +4151,51 @@ msgstr "VÅ¡etky vybrané" #: editor/plugins/animation_state_machine_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "PridaÅ¥ Animáciu" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp msgid "Load..." -msgstr "" +msgstr "NaÄÃtaÅ¥..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "VÅ¡etky vybrané" +msgstr "Presunúť Bod Node-u" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Limits" -msgstr "" +msgstr "ZmeniÅ¥ BlendSpace1D Limity" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Labels" -msgstr "" +msgstr "ZmeniÅ¥ BlendSpace1D OznaÄenia" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_state_machine_editor.cpp msgid "This type of node can't be used. Only root nodes are allowed." -msgstr "" +msgstr "Tento typ node-u nemôže byÅ¥ použitý. Iba ak povolÃte root node-y." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Signály:" +msgstr "PridaÅ¥ Bod Node-u" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Popis:" +msgstr "PridaÅ¥ Bod Animácie" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "VÅ¡etky vybrané" +msgstr "ZmazaÅ¥ BlendSpace1D Bod" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Presunúť BlendSpace1D Node Bod" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4227,49 +4205,50 @@ msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" +"StromAnimácie je neaktÃvny.\n" +"Aktivujte aby ste povolili playback, zaÅ¡krtnite node warnings ak aktÃvacia " +"nepôjde." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Set the blending position within the space" -msgstr "" +msgstr "NastaviÅ¥ pozÃciu blending v priestore" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Select and move points, create points with RMB." -msgstr "" +msgstr "Vyberte a premiestnite body, vytvorte body z RMB." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp msgid "Enable snap and show grid." -msgstr "" +msgstr "PovoliÅ¥ snap a show grid." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Point" -msgstr "" +msgstr "Bod" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Open Editor" -msgstr "Otvorit prieÄinok" +msgstr "Otvorit Editor" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp msgid "Open Animation Node" -msgstr "" +msgstr "OtvoriÅ¥ Node Animácie" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Triangle already exists." -msgstr "" +msgstr "TrojuholnÃk už existuje." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Signály:" +msgstr "PridaÅ¥ TrojuholnÃk" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Limits" @@ -6942,11 +6921,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7429,6 +7408,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10463,7 +10451,7 @@ msgstr "" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Clear Script" +msgid "Detach Script" msgstr "Popis:" #: editor/scene_tree_dock.cpp @@ -10627,6 +10615,13 @@ msgid "Open Documentation" msgstr "Popis:" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10675,11 +10670,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10805,6 +10800,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Súbor neexistuje." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Nesprávna veľkosÅ¥ pÃsma." @@ -10847,6 +10846,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Neplatná cesta." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid class name." msgstr "Neplatný Názov." @@ -11920,6 +11923,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11944,6 +11951,32 @@ msgstr "Nesprávna veľkosÅ¥ pÃsma." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12610,6 +12643,22 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Nieje v resource path." + +#~ msgid "Revert" +#~ msgstr "Revert" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Túto akciu nie je možné vrátiÅ¥ späť. Chcete RevertovatÅ¥ aj tak?" + +#~ msgid "Revert Scene" +#~ msgstr "VrátiÅ¥ Scénu" + +#, fuzzy +#~ msgid "Clear Script" +#~ msgstr "Popis:" + #, fuzzy #~ msgid "Brief Description" #~ msgstr "Popis:" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index a4a668f76b..faec304f67 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -886,7 +886,6 @@ msgstr "Povezovanje Signala:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1523,18 +1522,9 @@ msgstr "OmogoÄi" msgid "Rearrange Autoloads" msgstr "Preuredi SamodejnoNalaganje" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Neveljavna Pot." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Datoteka ne obstaja." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ni na poti virov." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2538,12 +2528,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Ni mogoÄe osvežiti scene, ki ni bila shranjena." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Povrni" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Shrani Prizor" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Tega dejanja ni mogoÄe razveljaviti. Vseeno povrni?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2840,10 +2833,6 @@ msgid "Redo" msgstr "Ponovi" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Povrni Prizor" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "RazliÄna projektna ali prizorska orodja." @@ -3498,6 +3487,10 @@ msgstr "Ni mogoÄe zagnati skripte:" msgid "Did you forget the '_run' method?" msgstr "Ali si pozabil metodo '_run' ?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Izberi Gradnik(e) za Uvoz" @@ -4130,6 +4123,10 @@ msgid "Error running post-import script:" msgstr "Napaka pri zagonu skripte po uvozu:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Shranjevanje..." @@ -7211,15 +7208,15 @@ msgid "" msgstr "Odklopite '%s' iz '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Vrstica:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Dodaj Funkcijo" @@ -7704,6 +7701,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "Pripni na mrežo" @@ -10790,8 +10796,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Odstrani Gradnik VizualnaSkripta" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10957,6 +10964,13 @@ msgid "Open Documentation" msgstr "Odpri Nedavne" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -11007,12 +11021,14 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "" +"Naredi primer iz izbranih prizorov, ki bo naslednik izbranega gradnika." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -11141,6 +11157,10 @@ msgid "A directory with the same name exists." msgstr "Datoteka ali mapa s tem imenom že obstaja." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Datoteka ne obstaja." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Uporabiti moraÅ¡ valjavno razÅ¡iritev." @@ -11185,6 +11205,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Neveljavna Pot." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Neveljavno ime." @@ -12273,6 +12298,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12297,6 +12326,32 @@ msgstr "Neveljavno ime." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12979,6 +13034,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Konstante ni možno spreminjati." +#~ msgid "Not in resource path." +#~ msgstr "Ni na poti virov." + +#~ msgid "Revert" +#~ msgstr "Povrni" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Tega dejanja ni mogoÄe razveljaviti. Vseeno povrni?" + +#~ msgid "Revert Scene" +#~ msgstr "Povrni Prizor" + #~ msgid "Issue Tracker" #~ msgstr "Sledilnik Napak" @@ -13179,10 +13246,6 @@ msgstr "Konstante ni možno spreminjati." #~ msgid "Edit Variable:" #~ msgstr "Uredi Spremenljivko:" -#~ msgid "Instance the selected scene(s) as child of the selected node." -#~ msgstr "" -#~ "Naredi primer iz izbranih prizorov, ki bo naslednik izbranega gradnika." - #~ msgid "Line:" #~ msgstr "Vrstica:" diff --git a/editor/translations/sq.po b/editor/translations/sq.po index f24645059a..5bcf15eb82 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -829,7 +829,6 @@ msgstr "Lidh Sinjalin: " #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1460,18 +1459,9 @@ msgstr "Lejo" msgid "Rearrange Autoloads" msgstr "Riorganizo Autoload-et" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Rruga e pasaktë." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Skedari nuk egziston." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Jo në rrugën e resurseve." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2468,12 +2458,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Nuk mund të ringarkojë një skenë që nuk është ruajtur më parë." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Rikthe" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Ruaj Skenën" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Ky veprim nuk mund të çbëhet. Rikthe gjithsesi?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2768,10 +2761,6 @@ msgid "Redo" msgstr "Ribëj" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Rikthe Skenën" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Vegla të ndryshme për projektin ose skenën." @@ -3424,6 +3413,10 @@ msgstr "Nuk mund të ekzekutonte shkrimin:" msgid "Did you forget the '_run' method?" msgstr "A mos harrove metodën '_run'?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Zgjidh Nyjet Për ti Importuar" @@ -4041,6 +4034,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Duke Ruajtur..." @@ -6967,11 +6964,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7448,6 +7445,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10425,8 +10431,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Shkrim i Ri" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10587,6 +10594,13 @@ msgid "Open Documentation" msgstr "Hap të Fundit" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10636,11 +10650,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10767,6 +10781,10 @@ msgid "A directory with the same name exists." msgstr "Një skedar ose folder me këtë emër ekziston që më parë." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Skedari nuk egziston." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Duhet të perdorësh një shtesë të lejuar." @@ -10810,6 +10828,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Rruga e pasaktë." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Emër i palejuar." @@ -11868,6 +11891,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11891,6 +11918,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12533,6 +12586,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Jo në rrugën e resurseve." + +#~ msgid "Revert" +#~ msgstr "Rikthe" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Ky veprim nuk mund të çbëhet. Rikthe gjithsesi?" + +#~ msgid "Revert Scene" +#~ msgstr "Rikthe Skenën" + #~ msgid "Issue Tracker" #~ msgstr "Gjurmuesi i Problemeve" diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 52639bbeeb..4e7064f00c 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -4,12 +4,13 @@ # This file is distributed under the same license as the Godot source code. # # ÐлекÑандар Урошевић <nicecubedude@gmail.com>, 2017. -# +# Младен Габић <cupakabra@protonmail.com>, 2020. +# Anonymous <noreply@weblate.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-12-14 23:08+0000\n" -"Last-Translator: ÐлекÑандар Урошевић <alek.sandar0@yandex.com>\n" +"PO-Revision-Date: 2020-05-22 21:01+0000\n" +"Last-Translator: Младен Габић <cupakabra@protonmail.com>\n" "Language-Team: Serbian (cyrillic) <https://hosted.weblate.org/projects/godot-" "engine/godot/sr_Cyrl/>\n" "Language: sr_Cyrl\n" @@ -17,79 +18,78 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" +msgstr "Погрешан тип аргумента за функију convert(), кориÑти TYPE_* конÑтанте." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "Очекиван Ñтринг дужине 1 (карактер)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "" +msgstr "Ðедовољно бајтова за дешифровање бајтова, или неважећи формат." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "" +msgstr "Ðеважећи ÑƒÐ½Ð¾Ñ %i (није прошао) у изразу" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "" +msgstr "self не може бити примењен јер је инÑтанца нула(није прошао)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "" +msgstr "Ðеважећи поÑтупци оператора %s, %s и %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "" +msgstr "Ðеважећи Ð¸Ð½Ð´ÐµÐºÑ Ð²Ñ€Ñте %s за оÑновну врÑту %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "" +msgstr "Ðеважећи именовани Ð¸Ð½Ð´ÐµÐºÑ '%s' за оÑновну врÑту %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "" +msgstr "Ðеважећи аргументи ка конÑтрукту '%s'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "" +msgstr "Ðа позиву за '%s':" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "Б" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "КиБ" #: core/ustring.cpp -#, fuzzy msgid "MiB" -msgstr "МикÑ" +msgstr "МиБ" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "ГиБ" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "ТиБ" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "ПиБ" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "ЕиБ" #: editor/animation_bezier_editor.cpp msgid "Free" @@ -97,12 +97,12 @@ msgstr "Слободно" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "" +msgstr "БаланÑирано" #: editor/animation_bezier_editor.cpp #, fuzzy msgid "Mirror" -msgstr "Огледало X оÑе" +msgstr "Огледало" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp msgid "Time:" @@ -111,32 +111,30 @@ msgstr "Време:" #: editor/animation_bezier_editor.cpp #, fuzzy msgid "Value:" -msgstr "Ðово име:" +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 "Дуплирај одабрани Кључ/еве" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Delete Selected Key(s)" -msgstr "Обриши одабране датотеке?" +msgstr "Обриши одабрани Кључ/еве" #: editor/animation_bezier_editor.cpp #, fuzzy msgid "Add Bezier Point" -msgstr "Додај тачку" +msgstr "Додај Безиер Тачку" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Помери тачку" +msgstr "Помери Безиер Тачку" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -149,7 +147,7 @@ msgstr "Уколни кључеве" #: editor/animation_track_editor.cpp #, fuzzy msgid "Anim Change Keyframe Time" -msgstr "Промени вредноÑÑ‚" +msgstr "Промени време КључОквира" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" @@ -204,25 +202,29 @@ 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 "3Д Трака ТранÑформа" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Call Method Track" -msgstr "" +msgstr "Метод Позива Трака" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Bezier Curve Track" -msgstr "" +msgstr "Безиер Крива Трака" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Audio Playback Track" -msgstr "" +msgstr "Ðудио Репродукција Трака" #: editor/animation_track_editor.cpp #, fuzzy @@ -251,8 +253,9 @@ msgstr "Скала анимације." #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Functions:" -msgstr "" +msgstr "Функције:" #: editor/animation_track_editor.cpp #, fuzzy @@ -261,7 +264,7 @@ msgstr "Звучни Ñлушалац" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "" +msgstr "Ðним Клипови:" #: editor/animation_track_editor.cpp #, fuzzy @@ -274,8 +277,9 @@ msgid "Toggle this track on/off." msgstr "Укљ./ИÑкљ. режим без Ñметње." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "Режим ажурирања (Како је поÑтављена ова оÑобина)" #: editor/animation_track_editor.cpp #, fuzzy @@ -283,8 +287,9 @@ msgid "Interpolation Mode" msgstr "Ðнимациони чвор" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "Круг Увијени Режим( Интерполирај крај Ñа почетком на кругу)" #: editor/animation_track_editor.cpp #, fuzzy @@ -319,8 +324,9 @@ msgid "Capture" msgstr "КарактериÑтике" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Nearest" -msgstr "" +msgstr "Ðајближи" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -328,16 +334,19 @@ msgid "Linear" msgstr "Линеаран" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Cubic" -msgstr "" +msgstr "Кубни" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Clamp Loop Interp" -msgstr "" +msgstr "Притегнут Круг Интерп" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Wrap Loop Interp" -msgstr "" +msgstr "Увијен Круг Интерп" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -398,8 +407,9 @@ msgid "Anim Insert" msgstr "Ðалепи" #: editor/animation_track_editor.cpp +#, fuzzy msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "AnimationPlayer не може Ñам Ñебе да анимира, Ñамо друге плејере." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -425,31 +435,40 @@ msgstr "Преуреди аутоматÑка учитавања" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "ТранÑформа траке Ñамо важи за ПроÑторно-базиране нодове." #: editor/animation_track_editor.cpp +#, fuzzy msgid "" "Audio tracks can only point to nodes of type:\n" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"Ðудио траке могу Ñамо уÑмеравати ка нодовима врÑте:\n" +"-AudioStreamPlayer\n" +"-AudioStreamPlayer2D\n" +"-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "" +msgstr "Ðнимационе траке могу Ñамо уÑмеравати ка AnimationPlayer нодовима" #: editor/animation_track_editor.cpp +#, fuzzy msgid "An animation player can't animate itself, only other players." -msgstr "" +msgstr "Ðнимациони плејер не може анимирати Ñамог Ñебе, Ñамо друге плејере." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Not possible to add a new track without a root" -msgstr "" +msgstr "Ðије могуже додати нову траку без корена" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "" +msgstr "Ðеважећа трака за Безиер ( нема прикладних под-оÑобина)" #: editor/animation_track_editor.cpp #, fuzzy @@ -457,12 +476,14 @@ msgid "Add Bezier Track" msgstr "Додај нову траку" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "Путања траке је неважећа, па је кључ немогуће додати." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "Трака није врÑте ПроÑторна, немогуће убацити кључ." #: editor/animation_track_editor.cpp #, fuzzy @@ -475,8 +496,9 @@ msgid "Add Track Key" msgstr "Додај нову траку" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Track path is invalid, so can't add a method key." -msgstr "" +msgstr "Трака путање је неважећа, немогуће додати кључ методе." #: editor/animation_track_editor.cpp #, fuzzy @@ -484,8 +506,9 @@ msgid "Add Method Track Key" msgstr "Уметни траку и кључ" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Method not found in object: " -msgstr "" +msgstr "Метода није нађена у објекту:" #: editor/animation_track_editor.cpp msgid "Anim Move Keys" @@ -506,11 +529,13 @@ msgid "Anim Scale Keys" msgstr "Увећај кључеве" #: editor/animation_track_editor.cpp +#, fuzzy msgid "" "This option does not work for Bezier editing, as it's only a single track." -msgstr "" +msgstr "Ова операција не ради за Безиер уређивање, пошто је Ñамо једна трака." #: editor/animation_track_editor.cpp +#, fuzzy msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -522,10 +547,20 @@ msgid "" "Alternatively, use an import preset that imports animations to separate " "files." msgstr "" +"Ова анимација припада увезеној Ñцени, па промене на увезеној траци неће бити " +"Ñачуване.\n" +"\n" +"Да омогућиш ÑпоÑобноÑÑ‚ додавања прилагођених трака, упути Ñе ка увозним " +"подешавањима Ñцене и поÑтави\n" +"\"Ðнимација > Складиште\" у \"Фајлови\", омогући \"Ðнимација > Сачувај " +"прилагођене траке\", онда поново увези.\n" +"Ðлтернативно, кориÑти увозна подешавања која увозе анимације у заÑебне " +"фајлове." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Warning: Editing imported animation" -msgstr "" +msgstr "Упозорење: Уређивање увезене анимације" #: editor/animation_track_editor.cpp #, fuzzy @@ -533,12 +568,14 @@ msgid "Select an AnimationPlayer node to create and edit animations." msgstr "Одабери AnimationPlayer из дрвета Ñцене за уређивање анимација." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Only show tracks from nodes selected in tree." -msgstr "" +msgstr "Прикажи Ñамо траке из нодова одабраних у Ñтаблу" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Group tracks by node or display them as plain list." -msgstr "" +msgstr "Групиши траке по нодовима или их прикажи као чиÑÑ‚ текÑÑ‚." #: editor/animation_track_editor.cpp #, fuzzy @@ -551,8 +588,9 @@ msgid "Animation step value." msgstr "Ðнимационо дрво је важеће." #: editor/animation_track_editor.cpp +#, fuzzy msgid "Seconds" -msgstr "" +msgstr "Секунди" #: editor/animation_track_editor.cpp msgid "FPS" @@ -618,12 +656,14 @@ msgid "Clean-Up Animation" msgstr "ОчиÑтите анимацију" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Pick the node that will be animated:" -msgstr "" +msgstr "Одабери нод који ће бити анимиран:" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Use Bezier Curves" -msgstr "" +msgstr "КориÑти Безиер Криве" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -694,12 +734,14 @@ msgid "Add Audio Track Clip" msgstr "Звучни Ñлушалац" #: editor/animation_track_editor_plugins.cpp +#, fuzzy msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Промени Размак Ðудио Траке од Почетка" #: editor/animation_track_editor_plugins.cpp +#, fuzzy msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Промени Размак Ðудио Траке од Краја" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -727,13 +769,14 @@ msgid "%d replaced." msgstr "Замени..." #: editor/code_editor.cpp editor/editor_help.cpp +#, fuzzy msgid "%d match." -msgstr "" +msgstr "%d подударања." #: editor/code_editor.cpp editor/editor_help.cpp #, fuzzy msgid "%d matches." -msgstr "Ðема подудара" +msgstr "Ðема подударања." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" @@ -757,8 +800,9 @@ msgstr "Само одабрано" #: editor/code_editor.cpp editor/plugins/script_text_editor.cpp #: editor/plugins/text_editor.cpp +#, fuzzy msgid "Standard" -msgstr "" +msgstr "Стандард" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" @@ -781,12 +825,14 @@ msgid "Reset Zoom" msgstr "РеÑетуј увеличање" #: editor/code_editor.cpp +#, fuzzy msgid "Warnings" -msgstr "" +msgstr "Упозорење" #: editor/code_editor.cpp +#, fuzzy msgid "Line and column numbers." -msgstr "" +msgstr "Линија и колона бројева." #: editor/connections_dialog.cpp #, fuzzy @@ -862,17 +908,19 @@ msgid "Deferred" msgstr "Одложен" #: editor/connections_dialog.cpp +#, fuzzy msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "" +msgstr "Одлаже Ñигнал, памти га у ред и пали га Ñамо за време чекања." #: editor/connections_dialog.cpp msgid "Oneshot" msgstr "Једном" #: editor/connections_dialog.cpp +#, fuzzy msgid "Disconnects the signal after its first emission." -msgstr "" +msgstr "Одкачиње Ñигнал поÑле првог емитовања." #: editor/connections_dialog.cpp #, fuzzy @@ -883,7 +931,6 @@ msgstr "Везујући Ñигнал:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -937,16 +984,18 @@ msgid "Edit Connection:" msgstr "Повезивање не уÑпешно" #: editor/connections_dialog.cpp +#, fuzzy msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "" +msgstr "Сигурно желиш да уклониш Ñве везе Ñа \"%s\" Ñигналом?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" msgstr "Сигнали" #: editor/connections_dialog.cpp +#, fuzzy msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "Сугурно желиш да уклониш Ñве везе Ñа овог Ñигнала?" #: editor/connections_dialog.cpp #, fuzzy @@ -969,8 +1018,9 @@ msgid "Change %s Type" msgstr "Измени уобичајен тип" #: editor/create_dialog.cpp editor/project_settings_editor.cpp +#, fuzzy msgid "Change" -msgstr "" +msgstr "Промени" #: editor/create_dialog.cpp #, fuzzy @@ -1263,8 +1313,9 @@ msgid "Uncompressing Assets" msgstr "ДекомпреÑија ÑредÑтва" #: editor/editor_asset_installer.cpp editor/project_manager.cpp +#, fuzzy msgid "The following files failed extraction from package:" -msgstr "" +msgstr "ÐеуÑпело извлачење Ñледећих фалова из паковања:" #: editor/editor_asset_installer.cpp #, fuzzy @@ -1374,8 +1425,9 @@ msgid "Delete Effect" msgstr "Обриши ефекат" #: editor/editor_audio_buses.cpp +#, fuzzy msgid "Audio" -msgstr "" +msgstr "Ðудио" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1414,8 +1466,9 @@ msgid "Open Audio Bus Layout" msgstr "Отвори раÑпоред звучног баÑа" #: editor/editor_audio_buses.cpp +#, fuzzy msgid "There is no '%s' file." -msgstr "" +msgstr "Ðема '%s' фајла." #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" @@ -1493,8 +1546,9 @@ msgid "Must not collide with an existing global constant name." msgstr "Ðеважеће име. Име је резервиÑано за поÑтојећу глобалну конÑтанту." #: editor/editor_autoload_settings.cpp +#, fuzzy msgid "Keyword cannot be used as an autoload name." -msgstr "" +msgstr "Кључна реч не може бити употребљена као ауто-учитавајуће име" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -1524,18 +1578,9 @@ msgstr "Укључи" msgid "Rearrange Autoloads" msgstr "Преуреди аутоматÑка учитавања" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Ðеважећи пут." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Датотека не поÑтоји." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ðије на пут реÑурÑа." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1584,8 +1629,9 @@ msgid "[empty]" msgstr "(празно)" #: editor/editor_data.cpp +#, fuzzy msgid "[unsaved]" -msgstr "" +msgstr "[неÑачувано]" #: editor/editor_dir_dialog.cpp #, fuzzy @@ -1623,32 +1669,44 @@ msgid "Storing File:" msgstr "Складиштење датотеке:" #: editor/editor_export.cpp +#, fuzzy msgid "No export template found at the expected path:" -msgstr "" +msgstr "Извозни образац није нађен на очекиваној путањи:" #: editor/editor_export.cpp msgid "Packing" msgstr "Паковање" #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" +"Циљана платформа захтева 'ETC' компреÑију текÑтуре за GLES2. Омогући 'Увоз " +"Etc' у подешавањима пројекта." #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" +"Циљана платформа захтева 'ETC2 компреÑију текÑтуре за GLES3. Омогући 'Увоз " +"Etc 2' у подешавањима пројекта." #: editor/editor_export.cpp +#, fuzzy msgid "" "Target platform requires 'ETC' texture compression for the driver fallback " "to GLES2.\n" "Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" +"Циљана платформа захтева 'ETC' компреÑију текÑтуре за повратак управљача " +"GLES2.\n" +"Омогући 'Увоз Etc' у подешавањима пројекта, или онемогући 'Поваратак " +"Управљача Омогућен'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1660,8 +1718,9 @@ msgstr "ШаблонÑка датотека није пронађена:\n" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp +#, fuzzy msgid "Custom release template not found." -msgstr "" +msgstr "Прилагођени образци објаве ниÑу пронађени." #: editor/editor_export.cpp platform/javascript/export/export.cpp #, fuzzy @@ -1669,8 +1728,9 @@ msgid "Template file not found:" msgstr "ШаблонÑка датотека није пронађена:\n" #: editor/editor_export.cpp +#, fuzzy msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." -msgstr "" +msgstr "Ðа 32-битним извозима уграђени PCK не може бити већи од 4 GiB." #: editor/editor_feature_profile.cpp #, fuzzy @@ -1688,8 +1748,9 @@ msgid "Asset Library" msgstr "Отвори библиотеку ÑредÑтва" #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Scene Tree Editing" -msgstr "" +msgstr "Едитовање Стабла Сцене" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1712,8 +1773,9 @@ msgid "Erase profile '%s'? (no undo)" msgstr "Замени Ñве" #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Profile must be a valid filename and must not contain '.'" -msgstr "" +msgstr "Профил мора имати важеће име фајла и не Ñме Ñадржати '.'" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1721,8 +1783,9 @@ msgid "Profile with this name already exists." msgstr "Датотека или директоријум Ñа овим именом већ поÑтоји." #: editor/editor_feature_profile.cpp +#, fuzzy msgid "(Editor Disabled, Properties Disabled)" -msgstr "" +msgstr "(Уређивач Онемогућен, СвојÑтва Омогућена)" #: editor/editor_feature_profile.cpp #, fuzzy @@ -1760,14 +1823,16 @@ msgid "Enabled Classes:" msgstr "Потражи клаÑе" #: editor/editor_feature_profile.cpp +#, fuzzy msgid "File '%s' format is invalid, import aborted." -msgstr "" +msgstr "Фајл '%s' формат је неважећи, увоз отказан." #: editor/editor_feature_profile.cpp +#, fuzzy msgid "" "Profile '%s' already exists. Remove it first before importing, import " "aborted." -msgstr "" +msgstr "Профил '%s' већ поÑтоји. Уклони га пре увоза, увоз отказан." #: editor/editor_feature_profile.cpp #, fuzzy @@ -1775,8 +1840,9 @@ msgid "Error saving profile to path: '%s'." msgstr "Грешка при чувању TileSet!" #: editor/editor_feature_profile.cpp +#, fuzzy msgid "Unset" -msgstr "" +msgstr "Поништи" #: editor/editor_feature_profile.cpp #, fuzzy @@ -2014,10 +2080,13 @@ msgid "ScanSources" msgstr "Скенирање извора" #: editor/editor_file_system.cpp +#, fuzzy msgid "" "There are multiple importers for different types pointing to file %s, import " "aborted" msgstr "" +"ПоÑтоји више увозника за различите врÑте који показују на фајл %s, увоз " +"отказан" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" @@ -2055,8 +2124,9 @@ msgid "Properties" msgstr "ОÑобине" #: editor/editor_help.cpp +#, fuzzy msgid "override:" -msgstr "" +msgstr "препиши" #: editor/editor_help.cpp #, fuzzy @@ -2195,16 +2265,19 @@ msgid "Theme Property" msgstr "ОÑобине" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp +#, fuzzy msgid "Property:" -msgstr "" +msgstr "ОÑобина:" #: editor/editor_inspector.cpp +#, fuzzy msgid "Set" -msgstr "" +msgstr "ПоÑтави" #: editor/editor_inspector.cpp +#, fuzzy msgid "Set Multiple:" -msgstr "" +msgstr "ПоÑтави Више:" #: editor/editor_log.cpp msgid "Output:" @@ -2242,8 +2315,9 @@ msgid "Start" msgstr "Започни!" #: editor/editor_network_profiler.cpp +#, fuzzy msgid "%s/s" -msgstr "" +msgstr "%s/s" #: editor/editor_network_profiler.cpp #, fuzzy @@ -2251,51 +2325,62 @@ msgid "Down" msgstr "Преучми" #: editor/editor_network_profiler.cpp +#, fuzzy msgid "Up" -msgstr "" +msgstr "Горе" #: editor/editor_network_profiler.cpp editor/editor_node.cpp msgid "Node" msgstr "Чвор" #: editor/editor_network_profiler.cpp +#, fuzzy msgid "Incoming RPC" -msgstr "" +msgstr "Долазећи RPC" #: editor/editor_network_profiler.cpp +#, fuzzy msgid "Incoming RSET" -msgstr "" +msgstr "Долазећи RSET" #: editor/editor_network_profiler.cpp +#, fuzzy msgid "Outgoing RPC" -msgstr "" +msgstr "Одлазећи RPC" #: editor/editor_network_profiler.cpp +#, fuzzy msgid "Outgoing RSET" -msgstr "" +msgstr "Одлазећи RSET" #: editor/editor_node.cpp editor/project_manager.cpp +#, fuzzy msgid "New Window" -msgstr "" +msgstr "Ðов Прозор" #: editor/editor_node.cpp +#, fuzzy msgid "Imported resources can't be saved." -msgstr "" +msgstr "Увезени реÑурÑи не могу бити упамћени." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp +#, fuzzy msgid "OK" -msgstr "" +msgstr "ОК" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" msgstr "Грешка при чувању реÑурÑа!" #: editor/editor_node.cpp +#, fuzzy msgid "" "This resource can't be saved because it does not belong to the edited scene. " "Make it unique first." msgstr "" +"Овај реÑÑƒÑ€Ñ Ð½Ðµ може бити упамћен пошто не припада едитованој Ñцени. Прво га " +"учини јединÑтвеним." #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." @@ -2314,8 +2399,9 @@ msgid "Error while saving." msgstr "Грешка при чувању." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "" +msgstr "ÐеуÑпело отварање '%s'. Фајл је можда померен или обриÑан." #: editor/editor_node.cpp msgid "Error while parsing '%s'." @@ -2350,10 +2436,13 @@ msgid "This operation can't be done without a tree root." msgstr "Ова операција Ñе не може обавити без корена дрвета." #: editor/editor_node.cpp +#, fuzzy msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" +"Ова Ñцена не може бити упамћена зато што има укључење кружног инÑтанцирања\n" +"Прво га отклони и онда поново пробај да упамтиш." #: editor/editor_node.cpp #, fuzzy @@ -2363,8 +2452,9 @@ msgid "" msgstr "Ðе могу Ñачувати Ñцену. Вероватно завиÑноÑти ниÑу задовољене." #: editor/editor_node.cpp editor/scene_tree_dock.cpp +#, fuzzy msgid "Can't overwrite scene that is still open!" -msgstr "" +msgstr "Ðемогуће препиÑивање Ñцене која је и даље отворена!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -2496,8 +2586,9 @@ msgid "Saved %s modified resource(s)." msgstr "Грешка при учитавању реÑурÑа." #: editor/editor_node.cpp +#, fuzzy msgid "A root node is required to save the scene." -msgstr "" +msgstr "За памћене Ñцене неопходан је корени нод." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2544,12 +2635,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Ðе могу поново учитати Ñцену која није Ñачувана." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Врати" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Сачувај Ñцену" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Ова акција Ñе не може опозвати. ÐаÑтави?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2728,8 +2822,9 @@ msgid "Close Other Tabs" msgstr "Затвори оÑтале зупчанике" #: editor/editor_node.cpp +#, fuzzy msgid "Close Tabs to the Right" -msgstr "" +msgstr "Затвори Табове Ñа ДеÑна" #: editor/editor_node.cpp #, fuzzy @@ -2845,10 +2940,6 @@ msgid "Redo" msgstr "Поново уради" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Поврати Ñцену" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Разни алати за пројекат или Ñцену." @@ -2868,12 +2959,14 @@ msgid "Version Control" msgstr "Верзија:" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Set Up Version Control" -msgstr "" +msgstr "ПоÑтави Контролу Верзије" #: editor/editor_node.cpp +#, fuzzy msgid "Shut Down Version Control" -msgstr "" +msgstr "УгаÑи Контролу Верзије" #: editor/editor_node.cpp #, fuzzy @@ -2881,8 +2974,9 @@ msgid "Export..." msgstr "Извоз" #: editor/editor_node.cpp +#, fuzzy msgid "Install Android Build Template..." -msgstr "" +msgstr "ИнÑталирај Android образце градње" #: editor/editor_node.cpp #, fuzzy @@ -3032,8 +3126,9 @@ msgid "Open Editor Data/Settings Folder" msgstr "ПоÑтавке уредника" #: editor/editor_node.cpp +#, fuzzy msgid "Open Editor Data Folder" -msgstr "" +msgstr "Отвори Фолдер Уређивача Података" #: editor/editor_node.cpp #, fuzzy @@ -3078,8 +3173,9 @@ msgid "Report a Bug" msgstr "Поново увези" #: editor/editor_node.cpp +#, fuzzy msgid "Send Docs Feedback" -msgstr "" +msgstr "Пошаљи Подржку о Документацији" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" @@ -3087,7 +3183,7 @@ msgstr "Заједница" #: editor/editor_node.cpp msgid "About" -msgstr "О програму" +msgstr "О" #: editor/editor_node.cpp msgid "Play the project." @@ -3098,8 +3194,9 @@ msgid "Play" msgstr "Покрени" #: editor/editor_node.cpp +#, fuzzy msgid "Pause the scene execution for debugging." -msgstr "" +msgstr "Паузирај извршење Ñцене зарад отклањања грешки." #: editor/editor_node.cpp msgid "Pause Scene" @@ -3126,8 +3223,9 @@ msgid "Play Custom Scene" msgstr "Покрени Ñпецифичну Ñцену" #: editor/editor_node.cpp +#, fuzzy msgid "Changing the video driver requires restarting the editor." -msgstr "" +msgstr "Промена видео управљача захтева реÑтартовање уређивача." #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp @@ -3177,8 +3275,9 @@ msgid "Don't Save" msgstr "Ðемој Ñачувати" #: editor/editor_node.cpp +#, fuzzy msgid "Android build template is missing, please install relevant templates." -msgstr "" +msgstr "ÐедоÑтаје Android образац за изградњу, инÑталирај релевантне обраÑце." #: editor/editor_node.cpp #, fuzzy @@ -3186,6 +3285,7 @@ msgid "Manage Templates" msgstr "Управљај извозним шаблонима" #: editor/editor_node.cpp +#, fuzzy msgid "" "This will set up your project for custom Android builds by installing the " "source template to \"res://android/build\".\n" @@ -3195,14 +3295,26 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" +"Ово ће подеÑити твој пројекат за произвољну Android грању инÑталирајући " +"изворни образац у \"res://android/build\".\n" +"Затим можеш применити измене и изградити ÑопÑтвени APK на извозу (додајући " +"модуле, променом AndroidManifest.xml, итд.).\n" +"Имај на уму да за произвољну градњу умеÑто коришћења изграђеног APK-а, " +"\"КориÑти Произвољну Градњу\" опција треба бити омогућена у Android извозним " +"подешавањима." #: editor/editor_node.cpp +#, fuzzy msgid "" "The Android build template is already installed in this project and it won't " "be overwritten.\n" "Remove the \"res://android/build\" directory manually before attempting this " "operation again." msgstr "" +"Android образац градње је већ инÑталиран у овај пројекат и неће бити " +"препиÑан.\n" +"Уклони \"res://android/build\" директоријум ручно пре поновног покушавања " +"ове операције." #: editor/editor_node.cpp msgid "Import Templates From ZIP File" @@ -3262,8 +3374,9 @@ msgid "Open the previous Editor" msgstr "Отвори претходни уредник" #: editor/editor_node.h +#, fuzzy msgid "Warning!" -msgstr "" +msgstr "Упозорење!" #: editor/editor_path.cpp #, fuzzy @@ -3366,12 +3479,14 @@ msgid "On" msgstr "" #: editor/editor_properties.cpp +#, fuzzy msgid "Layer" -msgstr "" +msgstr "Лајер" #: editor/editor_properties.cpp +#, fuzzy msgid "Bit %d, value %d" -msgstr "" +msgstr "Бит %d, вредноÑÑ‚ %d" #: editor/editor_properties.cpp #, fuzzy @@ -3379,8 +3494,9 @@ msgid "[Empty]" msgstr "Додај празан" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp +#, fuzzy msgid "Assign..." -msgstr "" +msgstr "Додели..." #: editor/editor_properties.cpp #, fuzzy @@ -3388,45 +3504,60 @@ msgid "Invalid RID" msgstr "Ðеважеће име." #: editor/editor_properties.cpp +#, fuzzy msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." msgstr "" +"Одабрани реÑÑƒÑ€Ñ (%s) не одговара ни једној очекиваној врÑти за ову оÑобину " +"(%s)." #: editor/editor_properties.cpp +#, fuzzy msgid "" "Can't create a ViewportTexture on resources saved as a file.\n" "Resource needs to belong to a scene." msgstr "" +"ÐеуÑпело креирање ViewportTexture на реÑурÑима упамћеним као фајл\n" +"РеÑурÑи морају припадати Ñцени." #: editor/editor_properties.cpp +#, fuzzy msgid "" "Can't create a ViewportTexture on this resource because it's not set as " "local to scene.\n" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"ÐеуÑпело креирање ViewportTexture на реÑурÑима, није поÑтављено као локално " +"према Ñцени\n" +"Пребаци на 'локално према Ñцени' оÑобину ( и Ñви реÑурÑи који их Ñадрже " +"Ñве до нода)." #: editor/editor_properties.cpp editor/property_editor.cpp +#, fuzzy msgid "Pick a Viewport" -msgstr "" +msgstr "Одабери Viewport" #: editor/editor_properties.cpp editor/property_editor.cpp +#, fuzzy msgid "New Script" -msgstr "" +msgstr "Ðова Скрипта" #: editor/editor_properties.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "Extend Script" -msgstr "Покрени Ñкриптицу" +msgstr "Ðадовежи Скрипту" #: editor/editor_properties.cpp editor/property_editor.cpp +#, fuzzy msgid "New %s" -msgstr "" +msgstr "Ðов %s" #: editor/editor_properties.cpp editor/property_editor.cpp +#, fuzzy msgid "Make Unique" -msgstr "" +msgstr "Учини ЈединÑтвеним" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -3443,20 +3574,24 @@ msgid "Paste" msgstr "Ðалепи" #: editor/editor_properties.cpp editor/property_editor.cpp +#, fuzzy msgid "Convert To %s" -msgstr "" +msgstr "Пребаци у %s" #: editor/editor_properties.cpp editor/property_editor.cpp +#, fuzzy msgid "Selected node is not a Viewport!" -msgstr "" +msgstr "Одабрани нод није Viewport!" #: editor/editor_properties_array_dict.cpp +#, fuzzy msgid "Size: " -msgstr "" +msgstr "Величина:" #: editor/editor_properties_array_dict.cpp +#, fuzzy msgid "Page: " -msgstr "" +msgstr "Страна:" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -3466,16 +3601,17 @@ msgstr "Обриши Ñтавку" #: editor/editor_properties_array_dict.cpp #, fuzzy msgid "New Key:" -msgstr "Ðово име:" +msgstr "Ðов кључ:" #: editor/editor_properties_array_dict.cpp #, fuzzy msgid "New Value:" -msgstr "Ðово име:" +msgstr "Ðова вредноÑÑ‚:" #: editor/editor_properties_array_dict.cpp +#, fuzzy msgid "Add Key/Value Pair" -msgstr "" +msgstr "Додај Кључ/ВредноÑÑ‚ пар" #: editor/editor_run_native.cpp msgid "" @@ -3509,13 +3645,19 @@ msgstr "ÐеуÑпех при покретању Ñкриптице:" msgid "Did you forget the '_run' method?" msgstr "Да ли Ñте заборавили методу „_run“?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "Држи Ctrl да иÑпуÑтиш Узимача. Држи Shift да иÑпуÑтиш општи потпиÑ." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Одабери чвор/ове за увоз" #: editor/editor_sub_scene.cpp editor/project_manager.cpp +#, fuzzy msgid "Browse" -msgstr "" +msgstr "Потражи" #: editor/editor_sub_scene.cpp msgid "Scene Path:" @@ -3544,8 +3686,9 @@ msgid "Download" msgstr "Преучми" #: editor/export_template_manager.cpp +#, fuzzy msgid "Official export templates aren't available for development builds." -msgstr "" +msgstr "Званични извозни нацрти ниÑу доÑтупни за развојну градњу." #: editor/export_template_manager.cpp msgid "(Missing)" @@ -3590,12 +3733,15 @@ msgid "Importing:" msgstr "Увожење:" #: editor/export_template_manager.cpp +#, fuzzy msgid "Error getting the list of mirrors." -msgstr "" +msgstr "Грешка у добијању лиÑте огледала." #: editor/export_template_manager.cpp +#, fuzzy msgid "Error parsing JSON of mirror list. Please report this issue!" msgstr "" +"Грешка при JSON обради Ñа лиÑте огледала. Молимо пријавите овај проблем!" #: editor/export_template_manager.cpp msgid "" @@ -3644,10 +3790,13 @@ msgid "Cannot remove temporary file:" msgstr "ÐеуÑпех при чувању теме:" #: editor/export_template_manager.cpp +#, fuzzy msgid "" "Templates installation failed.\n" "The problematic templates archives can be found at '%s'." msgstr "" +"ИнÑталација нацрта неуÑпешна.\n" +"Ðрхиве проблематичних нацрта могу би нађене на '%s'." #: editor/export_template_manager.cpp #, fuzzy @@ -3943,8 +4092,9 @@ msgid "There is already file or folder with the same name in this location." msgstr "Датотека или директоријум Ñа овим именом већ поÑтоји." #: editor/filesystem_dock.cpp +#, fuzzy msgid "Overwrite" -msgstr "" +msgstr "Препиши" #: editor/filesystem_dock.cpp #, fuzzy @@ -3976,10 +4126,13 @@ msgid "Filters:" msgstr "Филтери..." #: editor/find_in_files.cpp +#, fuzzy msgid "" "Include the files with the following extensions. Add or remove them in " "ProjectSettings." msgstr "" +"Урачунај фајлове Ñа Ñледећим екÑтензијама. Додај или обриши их у " +"ПодешавањимаПројекта" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3991,8 +4144,9 @@ msgid "Replace..." msgstr "Замени..." #: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp +#, fuzzy msgid "Cancel" -msgstr "" +msgstr "Откажи" #: editor/find_in_files.cpp #, fuzzy @@ -4058,8 +4212,9 @@ msgstr "Додај у групу" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Filter nodes" -msgstr "" +msgstr "Филтрирај чворове" #: editor/groups_editor.cpp #, fuzzy @@ -4067,8 +4222,9 @@ msgid "Nodes in Group" msgstr "Додај у групу" #: editor/groups_editor.cpp +#, fuzzy msgid "Empty groups will be automatically removed." -msgstr "" +msgstr "Празне групе биће аутоматÑки уклоњене." #: editor/groups_editor.cpp #, fuzzy @@ -4156,13 +4312,17 @@ msgid "Error running post-import script:" msgstr "Грешка при обрађивању поÑÑ‚-увозне Ñкриптице:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Чување..." #: editor/import_dock.cpp #, fuzzy msgid "%d Files" -msgstr " Датотеке" +msgstr " %d Датотеке" #: editor/import_dock.cpp msgid "Set as Default for '%s'" @@ -4186,17 +4346,22 @@ msgid "Reimport" msgstr "Поново увези" #: editor/import_dock.cpp +#, fuzzy msgid "Save Scenes, Re-Import, and Restart" -msgstr "" +msgstr "Упамти Сцену, Опет Увези, и РеÑтартуј" #: editor/import_dock.cpp +#, fuzzy msgid "Changing the type of an imported file requires editor restart." -msgstr "" +msgstr "Промена врÑте увезених фајлова захтева реÑтарт уређивача." #: editor/import_dock.cpp +#, fuzzy msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"УПОЗОРЕЊЕ: ПоÑтоје ÑредÑтва која кориÑте овај реÑурÑ, могу преÑтати да Ñе " +"учитавају правилно." #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -4273,7 +4438,7 @@ msgstr "ПоÑтавке објекта." #: editor/inspector_dock.cpp #, fuzzy msgid "Filter properties" -msgstr "ПоÑтавке објекта." +msgstr "ПречиÑти оÑобине" #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -4291,33 +4456,37 @@ msgstr "Одабери чвор за мењање Ñигнала и група." #: editor/plugin_config_dialog.cpp #, fuzzy msgid "Edit a Plugin" -msgstr "Измени полигон" +msgstr "Измени Прикључак" #: editor/plugin_config_dialog.cpp #, fuzzy msgid "Create a Plugin" -msgstr "Ðаправи ивице" +msgstr "Ðаправи Прикључак" #: editor/plugin_config_dialog.cpp #, fuzzy msgid "Plugin Name:" -msgstr "Прикључци" +msgstr "Име Прикључка :" #: editor/plugin_config_dialog.cpp +#, fuzzy msgid "Subfolder:" -msgstr "" +msgstr "ПодФолдер:" #: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp +#, fuzzy msgid "Language:" -msgstr "" +msgstr "Језик:" #: editor/plugin_config_dialog.cpp +#, fuzzy msgid "Script Name:" -msgstr "" +msgstr "Име Скрипте:" #: editor/plugin_config_dialog.cpp +#, fuzzy msgid "Activate now?" -msgstr "" +msgstr "Ðктивирај Ñад?" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -4330,7 +4499,7 @@ msgstr "Ðаправи полигон" #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy msgid "Create points." -msgstr "Обриши тачке" +msgstr "Ðаправи тачке." #: editor/plugins/abstract_polygon_2d_editor.cpp #, fuzzy @@ -4404,8 +4573,10 @@ msgstr "Промени време мешања" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "This type of node can't be used. Only root nodes are allowed." msgstr "" +"Ова врÑта чвора Ñе не може кориÑтити. Само корени чворови Ñу дозвољени." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4425,32 +4596,40 @@ msgid "Remove BlendSpace1D Point" msgstr "Обриши тачку путање" #: editor/plugins/animation_blend_space_1d_editor.cpp +#, fuzzy msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Помери BlendSpace1D Чворну Тачку" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" +"AnimationTree је неактивно.\n" +"Ðктивирај да омогућиш репродукцију, провери чвор упозорења ако активација не " +"уÑпе." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "Set the blending position within the space" -msgstr "" +msgstr "ПоÑтави Ñтопљиву позицију Ñа размаком" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "Select and move points, create points with RMB." -msgstr "" +msgstr "Одабери и помери тачке, направи тачке Ñа RMB." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp +#, fuzzy msgid "Enable snap and show grid." -msgstr "" +msgstr "Омогући лепљење и прикажи мрежу." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4476,12 +4655,12 @@ msgstr "Ðнимациони чвор" #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy msgid "Triangle already exists." -msgstr "Грешка: име анимације већ поÑтоји!" +msgstr "Троугао већ поÑтоји." #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy msgid "Add Triangle" -msgstr "Додај нову траку" +msgstr "Додај Троугао" #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -4499,33 +4678,39 @@ msgid "Remove BlendSpace2D Point" msgstr "Обриши тачку путање" #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "" +msgstr "Уклони BlendSpace2D Троугао" #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "BlendSpace2D does not belong to an AnimationTree node." -msgstr "" +msgstr "BlendSpace2D не припада AnimationTree чвору." #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "No triangles exist, so no blending can take place." -msgstr "" +msgstr "Троуглови не поÑтоје, па Ñе утапање не може догодити." #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy msgid "Toggle Auto Triangles" -msgstr "Укљ./ИÑкљ. глобале аутоматÑког учитавања" +msgstr "Укљ./ИÑкљ. Троуглове" #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "Create triangles by connecting points." -msgstr "" +msgstr "Ðаправи троуглове Ñпајајући тачке." #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "Erase points and triangles." -msgstr "" +msgstr "Обриши тачке и троуглове." #: editor/plugins/animation_blend_space_2d_editor.cpp +#, fuzzy msgid "Generate blend triangles automatically (instead of manually)" -msgstr "" +msgstr "Произведи Ñтопљене троуглове аутоматÑки (умеÑто ручно)" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4543,34 +4728,37 @@ msgid "Edit Filters" msgstr "Уреди филтере" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#, fuzzy msgid "Output node can't be added to the blend tree." -msgstr "" +msgstr "Излазни чвор не може бити додат утапајућем Ñтаблу." #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#, fuzzy msgid "Add Node to BlendTree" -msgstr "" +msgstr "Додај Чвор УтапајућемСтаблу" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Node Moved" -msgstr "Режим померања" +msgstr "Чвор Поморен" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#, fuzzy msgid "Unable to connect, port may be in use or connection may be invalid." -msgstr "" +msgstr "ÐеуÑпела веза, порт може бити заузет или не важећи." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Nodes Connected" -msgstr "Повезан" +msgstr "Чворови Спојени" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Nodes Disconnected" -msgstr "Веза прекинута" +msgstr "Чворови Раздвојени" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -4581,37 +4769,43 @@ msgstr "Ðнимација" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Delete Node" -msgstr "Ðаправи чвор" +msgstr "Обриши Чвор" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Delete Node(s)" -msgstr "" +msgstr "Обриши Чвор(ове)" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Toggle Filter On/Off" -msgstr "Укљ./ИÑкљ. режим без Ñметње." +msgstr "Укљ./ИÑкљ. филтере." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy msgid "Change Filter" -msgstr "Измени дужину анимације" +msgstr "Измени Филтер" #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#, fuzzy msgid "No animation player set, so unable to retrieve track names." -msgstr "" +msgstr "Ðнимациони плејер није поÑтављен, неуÑпешно повлачење имена трака." #: editor/plugins/animation_blend_tree_editor_plugin.cpp +#, fuzzy msgid "Player path set is invalid, so unable to retrieve track names." -msgstr "" +msgstr "Ðеважећа путања плејера, неуÑпешно повлачење имена трака." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp +#, fuzzy msgid "" "Animation player has no valid root node path, so unable to retrieve track " "names." msgstr "" +"Ðнимациони плејер нема правилну путању кореног чвора, неуÑпешно повлачење " +"имена трака." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -4636,8 +4830,9 @@ msgstr "Име чвора:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Add Node..." -msgstr "" +msgstr "Додај Чвор..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp @@ -4785,13 +4980,14 @@ msgid "Autoplay on Load" msgstr "ÐутоматÑко пуштање након учитавања" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Enable Onion Skinning" -msgstr "" +msgstr "Омогући Слојевито Обмотавање" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy msgid "Onion Skinning Options" -msgstr "ПоÑтавке залепљавања" +msgstr "Опције Слојевитог Обмотавања" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" @@ -4868,105 +5064,121 @@ msgstr "Вишеанимационо време мешања" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Move Node" -msgstr "Режим померања" +msgstr "Помери Чвор" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Transition exists!" -msgstr "Померај" +msgstr "Прелаз поÑтоји!" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Add Transition" -msgstr "Померај" +msgstr "Додај Прелаз" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Add Node" -msgstr "" +msgstr "Додај Чвор" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "End" -msgstr "" +msgstr "Крај" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Immediate" -msgstr "" +msgstr "ÐепоÑредан" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Sync" -msgstr "" +msgstr "УÑклади" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "At End" -msgstr "" +msgstr "Ðа Крај" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Travel" -msgstr "" +msgstr "Путуј" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Start and end nodes are needed for a sub-transition." -msgstr "" +msgstr "Почетни и крајњи чвор Ñу потребни за под-прелаз." #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "No playback resource set at path: %s." -msgstr "Ðије на пут реÑурÑа." +msgstr "Ðема репородуктивних реÑурÑа поÑтављених као путања: %s." #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Node Removed" -msgstr "Обриши" +msgstr "Чвор Уклоњен" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Transition Removed" -msgstr "Transition чвор" +msgstr "Прелаз Уклољен" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "ПоÑтави Почетни Чвор(ауто-покретање)" #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "" "Select and move nodes.\n" "RMB to add new nodes.\n" "Shift+LMB to create connections." msgstr "" +"Одабери и помери чворове.\n" +"RMB да додаш нове чворове.\n" +"Shift+LMB да креираш конекције." #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Create new nodes." -msgstr "Ðаправи нов" +msgstr "Ðаправи нов." #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Connect nodes." -msgstr "Повежи Ñа чвором:" +msgstr "Повежи чворове." #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Remove selected node or transition." -msgstr "Обриши одабрану траку." +msgstr "Обриши одабрани чвор или прелаз." #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Toggle autoplay this animation on start, restart or seek to zero." msgstr "" +"ИÑкљ/Укљ ауто-покретање ове анимације на почетак, поновни почетак или " +"претрагу нуле." #: editor/plugins/animation_state_machine_editor.cpp +#, fuzzy msgid "Set the end animation. This is useful for sub-transitions." -msgstr "" +msgstr "ПоÑтави крај анимације. Ово је кориÑно за под-прелазе." #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Transition: " -msgstr "Померај" +msgstr "Прелаз:" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy msgid "Play Mode:" -msgstr "Режим инÑпекције" +msgstr "Режим Игре:" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -5149,8 +5361,9 @@ msgid "Cannot save response to:" msgstr "ÐеуÑпех при чувању теме:" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Write error." -msgstr "" +msgstr "Грешка при упиÑивању." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" @@ -5199,7 +5412,7 @@ msgstr "Преузимање у току" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "Downloading..." -msgstr "Преузимање у току" +msgstr "Преузимање..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." @@ -5216,7 +5429,7 @@ msgstr "Ðеактиван" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "Install..." -msgstr "ИнÑталирај" +msgstr "ИнÑталирај..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" @@ -5231,35 +5444,39 @@ msgid "Download for this asset is already in progress!" msgstr "Преузимање овог реÑурÑа је у току!" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Recently Updated" -msgstr "" +msgstr "Ðедавно Ðжурирано" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Least Recently Updated" -msgstr "" +msgstr "ПоÑледње Ðедавно Ðжурирано" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Name (A-Z)" -msgstr "" +msgstr "Име (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Name (Z-A)" -msgstr "" +msgstr "Име (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "License (A-Z)" -msgstr "ЛиценÑа" +msgstr "ЛиценÑа (A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "License (Z-A)" -msgstr "ЛиценÑа" +msgstr "ЛиценÑа (Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "First" -msgstr "први" +msgstr "Први" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -5271,16 +5488,18 @@ msgid "Next" msgstr "Следеће" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Last" -msgstr "" +msgstr "ПоÑледњи" #: editor/plugins/asset_library_editor_plugin.cpp msgid "All" msgstr "Ñви" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "No results for \"%s\"." -msgstr "" +msgstr "Ðема резултата за \"%s\"." #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -5321,32 +5540,42 @@ msgstr "ТеÑтирање" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy msgid "Loading..." -msgstr "Учитај" +msgstr "Учитај..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" msgstr "РеÑурÑи ЗИП датотека" #: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy msgid "" "Can't determine a save path for lightmap images.\n" "Save your scene (for images to be saved in the same dir), or pick a save " "path from the BakedLightmap properties." msgstr "" +"ÐеуÑпело одређивање путање памћења за Ñлике МапеСенчења.\n" +"Упамти Ñцену (за Ñлике да буду Ñачуване у иÑтом директоријуму), или одабери " +"путању памћења из оÑобина изпечене МапеСенчења." #: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy msgid "" "No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " "Light' flag is on." msgstr "" +"Ðема мрежа за печење. Провери да ли Ñадрже UV2 канал и да је опција 'Изпеци " +"Светла' укључена." #: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy msgid "Failed creating lightmap images, make sure path is writable." msgstr "" +"ÐеуÑпешно креирање Ñлике МапеСенчења, провери да ли могуће упиÑивање путање." #: editor/plugins/baked_lightmap_editor_plugin.cpp +#, fuzzy msgid "Bake Lightmaps" -msgstr "" +msgstr "Изпеци МапеСенчења" #: editor/plugins/camera_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp @@ -5366,13 +5595,14 @@ msgid "Grid Step:" msgstr "Корак мреже:" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Primary Line Every:" -msgstr "" +msgstr "Примарна Линија Сваки:" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "steps" -msgstr "2 корака" +msgstr "корака" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" @@ -5385,7 +5615,7 @@ msgstr "Ротације корака:" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Scale Step:" -msgstr "Скала:" +msgstr "Корак Увећања:" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -5453,64 +5683,70 @@ msgid "Move CanvasItem" msgstr "Уреди CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "" +msgstr "Деца наÑлеђују Ñидра и граничне вредноÑти од Ñвојих родитеља." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "ПоÑтавке Ñидара и граничних вредноÑти Контролног чвора." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "" "When active, moving Control nodes changes their anchors instead of their " "margins." msgstr "" +"Када Ñу активни, померање Контролних чворова мења њихова Ñидра умеÑто " +"маргина." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Top Left" -msgstr "Лево" +msgstr "Горе Лево" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Top Right" -msgstr "деÑно" +msgstr "Горе ДеÑно" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Bottom Right" -msgstr "Ротирај полигон" +msgstr "Доле ДеÑно" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Bottom Left" -msgstr "Поглед одоздо" +msgstr "Доле Лево" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Center Left" -msgstr "Увучи лево" +msgstr "Средина Лево" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Center Top" -msgstr "Центрирај одабрано" +msgstr "Средина Горе" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Center Right" -msgstr "Увучи деÑно" +msgstr "Средина ДеÑно" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Center Bottom" -msgstr "Доле" +msgstr "Средина Доле" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Center" -msgstr "" +msgstr "Средина" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -5533,21 +5769,24 @@ msgid "Bottom Wide" msgstr "Поглед одоздо" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "VCenter Wide" -msgstr "" +msgstr "Вертикална Средина Широко" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "HCenter Wide" -msgstr "" +msgstr "Хоризонтална Средина Широко" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Full Rect" -msgstr "" +msgstr "Пун Правоугаоник" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Keep Ratio" -msgstr "Размера Ñкале:" +msgstr "Задржи одноÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5563,41 +5802,47 @@ msgstr "Промени Ñидра" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "" "Game Camera Override\n" "Overrides game camera with editor viewport camera." msgstr "" +"Препиши Играчку Камеру\n" +"Препиши играчку камеру Ñа камером уређивача viewport-а." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "" "Game Camera Override\n" "No game instance running." msgstr "" +"Препиши Играчку Камеру\n" +"ИнÑтанца игре није покренута." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Lock Selected" -msgstr "Избор алатки" +msgstr "Закључај одабрано" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Unlock Selected" -msgstr "Избор алатки" +msgstr "Откључај одабрано" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Group Selected" -msgstr "Обриши одабрано" +msgstr "Групиши Одабрано" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Ungroup Selected" -msgstr "Обриши одабрано" +msgstr "Разгрупиши Одабрано" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" @@ -5627,10 +5872,11 @@ msgid "Clear IK Chain" msgstr "ОчиÑти IK ланац" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." -msgstr "" +msgstr "Упозорење: Деца наÑлеђују позицију и величину Ñамо од Ñвојих родитеља." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -5675,7 +5921,7 @@ msgstr "Режим ротације" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Scale Mode" -msgstr "Режим Ñкалирања (R)" +msgstr "Режим Увећања" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5697,32 +5943,32 @@ msgstr "Режим инÑпекције" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Ruler Mode" -msgstr "Режим Ñкалирања (R)" +msgstr "Режим Мерења" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Toggle smart snapping." -msgstr "Укљ./ИÑкљ. лепљења" +msgstr "Укљ./ИÑкљ. лепљења." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Use Smart Snap" -msgstr "КориÑти лепљење" +msgstr "КориÑти паметно лепљење" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Toggle grid snapping." -msgstr "Укљ./ИÑкљ. лепљења" +msgstr "Укљ./ИÑкљ. лепљење за мрежу." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Use Grid Snap" -msgstr "Лепљење по мрежи" +msgstr "Лепљење за мрежу" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snapping Options" -msgstr "ПоÑтавке залепљавања" +msgstr "ПоÑтавке Залепљавања" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" @@ -5731,7 +5977,7 @@ msgstr "КориÑти лепљење ротације" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Use Scale Snap" -msgstr "КориÑти лепљење" +msgstr "КориÑти ЛеÑтвично Лепљење" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" @@ -5744,7 +5990,7 @@ msgstr "КориÑти лепљење за пикÑеле" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Smart Snapping" -msgstr "Паметно лепљење" +msgstr "Паметно Лепљење" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5754,22 +6000,22 @@ msgstr "ПоÑтавке лепљења..." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to Parent" -msgstr "Лепи за родитеља" +msgstr "Лепи за Родитеља" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to Node Anchor" -msgstr "Лепи за Ñидро чвора" +msgstr "Лепи за Сидро Чвора" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to Node Sides" -msgstr "Лепи за Ñтране чвора" +msgstr "Лепи за Стране Чвора" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to Node Center" -msgstr "Лепи за Ñидро чвора" +msgstr "Лепи за Сидро Чвора" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -5811,13 +6057,14 @@ msgid "Show Bones" msgstr "Покажи коÑти" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "Ðаправи Произвољне КоÑти од Чворова" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Clear Custom Bones" -msgstr "Обриши коÑти" +msgstr "Обриши КоÑти" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5852,8 +6099,9 @@ msgid "Show Viewport" msgstr "1 прозор" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Show Group And Lock Icons" -msgstr "" +msgstr "Прикажи Групу и Закључане Иконице" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -5864,43 +6112,52 @@ msgid "Frame Selection" msgstr "Ибор рама" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Preview Canvas Scale" -msgstr "" +msgstr "Преглед Величине Платна" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Translation mask for inserting keys." -msgstr "" +msgstr "Преводна маÑка за убацивање кључева." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Rotation mask for inserting keys." -msgstr "" +msgstr "Ротациона маÑка за убацивање кључева." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Scale mask for inserting keys." -msgstr "" +msgstr "ЛеÑтвична маÑка за убацивање кључева." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Insert keys (based on mask)." -msgstr "Убаци кључ (поÑтојеће траке)" +msgstr "Убаци кључеве (базиране на маÑци)." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "" "Auto insert keys when objects are translated, rotated or scaled (based on " "mask).\n" "Keys are only added to existing tracks, no new tracks will be created.\n" "Keys must be inserted manually for the first time." msgstr "" +"ÐутоматÑки убаци кључеве где Ñу објекти преведени, ротирирани или увећани " +"(базирано на маÑци).\n" +"Кључеви Ñу додани Ñамо поÑтојећим тракама, нове траке неће бити креиране.\n" +"Кључеви први пут морају бити убачени ручно." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Auto Insert Key" -msgstr "Уметни кључ" +msgstr "Ðуто-Уметни кључ" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Animation Key and Pose Options" -msgstr "Ðнимациони кључ убачен." +msgstr "Опције Ðнимациононг кључа и Позе" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -5936,8 +6193,9 @@ msgid "Adding %s..." msgstr "Додавање %s..." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Cannot instantiate multiple nodes without root." -msgstr "" +msgstr "ÐеуÑпело инÑтанцирање више чворова без корена." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -6015,19 +6273,21 @@ msgstr "МаÑка емиÑије" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy msgid "Solid Pixels" -msgstr "" +msgstr "ПикÑели Тела" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy msgid "Border Pixels" -msgstr "" +msgstr "ПикÑели Оквира" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy msgid "Directed Border Pixels" -msgstr "Директоријуми и датотеке:" +msgstr "ПикÑели УÑмерених Оквира" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -6042,7 +6302,7 @@ msgstr "Боје емиÑије" #: editor/plugins/cpu_particles_editor_plugin.cpp #, fuzzy msgid "CPUParticles" -msgstr "ЧеÑтице" +msgstr "CPU ЧеÑтице" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -6065,12 +6325,14 @@ msgid "Flat 1" msgstr "Раван1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp +#, fuzzy msgid "Ease In" -msgstr "" +msgstr "Благ Почетак" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp +#, fuzzy msgid "Ease Out" -msgstr "" +msgstr "Благ Крај" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" @@ -6135,8 +6397,9 @@ msgid "Bake GI Probe" msgstr "ИÑпечи Ñонде глобалног оÑветљења (GI)" #: editor/plugins/gradient_editor_plugin.cpp +#, fuzzy msgid "Gradient Edited" -msgstr "" +msgstr "Ðагиб Измењен" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -6161,7 +6424,7 @@ msgstr "Мрежа је празна!" #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Couldn't create a Trimesh collision shape." -msgstr "Ðаправи троуглаÑтог Ñударног брата" +msgstr "ÐеуÑпело креирање три-мрежног Ñударног облика." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" @@ -6174,54 +6437,61 @@ msgstr "Ово не ради на корену Ñцене!" #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Create Trimesh Static Shape" -msgstr "Ðаправи фигуру од троуглова" +msgstr "Ðаправи облик од троуглова" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Can't create a single convex collision shape for the scene root." -msgstr "" +msgstr "ÐеуÑпело креирање једног конвекÑног Ñудардног облика за корен Ñцене." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Couldn't create a single convex collision shape." -msgstr "" +msgstr "ÐеуÑпело креирање једног конвекÑног Ñударног облика." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Create Single Convex Shape" -msgstr "Ðаправи конвекÑну фигуру" +msgstr "Ðаправи конвекÑну облик" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Can't create multiple convex collision shapes for the scene root." -msgstr "" +msgstr "ÐеуÑпело креирање више конвекÑних Ñударних облика за корен Ñцене." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Couldn't create any collision shapes." -msgstr "ÐеуÑпех при прављењу директоријума." +msgstr "ÐеуÑпело креирање Ñударног облика." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "Create Multiple Convex Shapes" -msgstr "Ðаправи конвекÑну фигуру" +msgstr "Ðаправи конвекÑни облик" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" msgstr "Ðаправи навигациону мрежу" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Contained Mesh is not of type ArrayMesh." -msgstr "" +msgstr "Садржана-Мрежа није од врÑте Ðиз-Мрежа." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "" +msgstr "ÐеуÑпешно UV одмотавање, можда мрежа није многоÑтрука?" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "No mesh to debug." -msgstr "" +msgstr "Ðема мреже за проверу." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Model has no UV in this layer" -msgstr "" +msgstr "Модел нема UV мапу на овом Ñлоју" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" @@ -6232,8 +6502,9 @@ msgid "Mesh has not surface to create outlines from!" msgstr "Мрежа нема површине за прављење ивица!" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" -msgstr "" +msgstr "Примитивна врÑта Мреже није ПРИМИТИВÐИ_ТРОУГЛОВИ!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" @@ -6252,21 +6523,27 @@ msgid "Create Trimesh Static Body" msgstr "Ðаправи троуглаÑто Ñтатично тело" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "" "Creates a StaticBody and assigns a polygon-based collision shape to it " "automatically.\n" "This is the most accurate (but slowest) option for collision detection." msgstr "" +" Креира ÐепомичноТело и додељује му Ñударни облик на бази многоугла " +"аутоматÑки." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" msgstr "Ðаправи троуглаÑтог Ñударног брата" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is the most accurate (but slowest) option for collision detection." msgstr "" +"Креира Ñударни облик на бази моногоугла.\n" +"Ово је најпрецизнија(али и најÑпорија) опција за препознавање Ñудара." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy @@ -6274,10 +6551,13 @@ msgid "Create Single Convex Collision Sibling" msgstr "Ðаправи конвекÑног Ñударног брата" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "" "Creates a single convex collision shape.\n" "This is the fastest (but least accurate) option for collision detection." msgstr "" +"Креира један конвекÑни Ñударни облик.\n" +"Ово је најбржа(али и најнепрецизнија) опција за препознавање Ñудара." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy @@ -6285,36 +6565,45 @@ msgid "Create Multiple Convex Collision Siblings" msgstr "Ðаправи конвекÑног Ñударног брата" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between the two above options." msgstr "" +"Креира Ñударни облик на бази многоугла.\n" +"Ова опција поÑтиже Ñредињи учинак између 2 горе наведене." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." msgstr "Ðаправи ивичну мрежу..." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "" "Creates a static outline mesh. The outline mesh will have its normals " "flipped automatically.\n" "This can be used instead of the SpatialMaterial Grow property when using " "that property isn't possible." msgstr "" +"Креира непомични оквир мреже. Оквир мреже ће имати обрнуте нормале " +"аутоматÑки.\n" +"Ово може бити коришћено умеÑто РаÑÑ‚ оÑобине РаÑтућегМатеријала кад коришћење " +"те оÑобине није могуће." #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "View UV1" -msgstr "Поглед" +msgstr "Види UV1" #: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "View UV2" -msgstr "Поглед" +msgstr "Види UV2" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "Unwrap UV2 for Lightmap/AO" -msgstr "" +msgstr "Одмотај UV2 за МапуСенки/Упијање Окружења" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" @@ -6325,8 +6614,9 @@ msgid "Outline Size:" msgstr "Величина ивице:" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy msgid "UV Channel Debug" -msgstr "" +msgstr "UV Канал ПИП (Проналажење и ИÑправка Проблема)" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove item %d?" @@ -6337,12 +6627,14 @@ msgstr "Обриши Ñтвар %d?" msgid "" "Update from existing scene?:\n" "%s" -msgstr "Ðжурирај из Ñцене" +msgstr "" +"Ðжурирај из Ñцене? :\n" +"%s" #: editor/plugins/mesh_library_editor_plugin.cpp #, fuzzy msgid "Mesh Library" -msgstr "MeshLibrary..." +msgstr "Библиотека Мрежа..." #: editor/plugins/mesh_library_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -6462,12 +6754,12 @@ msgstr "Ðаправи навигациони полигон" #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Convert to CPUParticles" -msgstr "Претвори у велика Ñлова" +msgstr "Претвори у CPU чеÑтице" #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy msgid "Generating Visibility Rect" -msgstr "Генериши правоугаоник видљивоÑти" +msgstr "Генерација Правоугаоника ВидљивоÑти" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" @@ -6483,17 +6775,19 @@ msgid "Generation Time (sec):" msgstr "Време генериÑања (Ñек.):" #: editor/plugins/particles_editor_plugin.cpp +#, fuzzy msgid "The geometry's faces don't contain any area." -msgstr "" +msgstr "Лица геометрије не Ñадржи ни једну облаÑÑ‚." #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "The geometry doesn't contain any faces." -msgstr "Чвор не Ñадржи геометрију (Ñтране)." +msgstr "Геометрија не Ñадржи ни једно лице." #: editor/plugins/particles_editor_plugin.cpp +#, fuzzy msgid "\"%s\" doesn't inherit from Spatial." -msgstr "" +msgstr "\"%s\" не наÑлеђује од ПроÑторног." #: editor/plugins/particles_editor_plugin.cpp #, fuzzy @@ -6565,7 +6859,7 @@ msgstr "Уметни тачку у криву" #: editor/plugins/path_2d_editor_plugin.cpp #, fuzzy msgid "Split Curve" -msgstr "Затвори криву" +msgstr "Подели Криву" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" @@ -6631,13 +6925,15 @@ msgstr "Опција" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp +#, fuzzy msgid "Mirror Handle Angles" -msgstr "" +msgstr "Углови Дршке Огледала" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp +#, fuzzy msgid "Mirror Handle Lengths" -msgstr "" +msgstr "Дужине Дршке Огледала" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" @@ -6681,30 +6977,36 @@ msgid "Move Joint" msgstr "Помери тачку" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" -msgstr "" +msgstr "КоÑтур оÑобина 2Д полигона не упире ка 2Д КоÑтур чвору" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy msgid "Sync Bones" -msgstr "Покажи коÑти" +msgstr "УÑклади КоÑке" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "" "No texture in this polygon.\n" "Set a texture to be able to edit UV." msgstr "" +"Ðема текÑтуре у овом многоуглу.\n" +"ПоÑтави текÑтуру да би едитовао UV." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" msgstr "Ðаправи UV мапу" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." msgstr "" +"2Д многоугао има унутрашње тачке, па не може више бити едитован у viewport-у." #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -6722,8 +7024,9 @@ msgid "Remove Internal Vertex" msgstr "Обриши тачку контроле улаза" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" +msgstr "Ðеважећи Многоугао(потребне 3 различите тачке)" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -6745,8 +7048,9 @@ msgid "Transform Polygon" msgstr "Тип транÑформације" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Paint Bone Weights" -msgstr "" +msgstr "Боји Тежине КоÑтура" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -6758,8 +7062,9 @@ msgid "Polygon 2D UV Editor" msgstr "Уредник UV 2Д полигона" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "UV" -msgstr "" +msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -6806,26 +7111,34 @@ msgid "Scale Polygon" msgstr "Скалирај полигон" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Create a custom polygon. Enables custom polygon rendering." msgstr "" +"Креирај произвољни многоугао. Омогућује изцртавање произвољног многоугла." #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "" "Remove a custom polygon. If none remain, custom polygon rendering is " "disabled." msgstr "" +"Уклони произвољни многоугао. Ðко ни један није оÑтао, изцртавање произв. " +"многоугла је онемогућено." #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Paint weights with specified intensity." -msgstr "" +msgstr "Боји тежине Ñа наведеном Ñнагом" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Unpaint weights with specified intensity." -msgstr "" +msgstr "Обриши обојене тежине наведене Ñнаге" #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Radius:" -msgstr "" +msgstr " ОпÑег:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -6917,8 +7230,9 @@ msgstr "Ðалепи реÑурÑе" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Instance:" -msgstr "" +msgstr "ИнÑтанца:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp @@ -6929,8 +7243,9 @@ msgstr "Тип:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp +#, fuzzy msgid "Open in Editor" -msgstr "" +msgstr "Отвори у Уреднику" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Load Resource" @@ -6942,13 +7257,14 @@ msgid "ResourcePreloader" msgstr "РеÑурÑ" #: editor/plugins/root_motion_editor_plugin.cpp +#, fuzzy msgid "AnimationTree has no path set to an AnimationPlayer" -msgstr "" +msgstr "AnimationTree нема путању поÑтављену ка AnimationPlayer-у" #: editor/plugins/root_motion_editor_plugin.cpp #, fuzzy msgid "Path to AnimationPlayer is invalid" -msgstr "Ðнимационо дрво није важеће." +msgstr "Путања до AnimationPlayer није важећа." #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" @@ -7012,21 +7328,27 @@ msgid "Save File As..." msgstr "Сачувај као..." #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Can't obtain the script for running." -msgstr "" +msgstr "ÐеуÑпело добијање Ñкрипте за покретање" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Script failed reloading, check console for errors." -msgstr "" +msgstr "ÐеуÑпело учитавање Скрипте, провери конзолу за могуће грешке." #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Script is not in tool mode, will not be able to run." -msgstr "" +msgstr "Скрипта није у Ðлат Режиму, неће бити покренута." #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "" "To run this script, it must inherit EditorScript and be set to tool mode." msgstr "" +"За покретање Ñкрипте, мора наÑледити УредникСкрипту и бити поÑтављена у Ðлат " +"Режим." #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" @@ -7062,16 +7384,17 @@ msgstr "Ðађи претходни" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Filter scripts" -msgstr "ПоÑтавке објекта." +msgstr "Филтрирај Ñкрипте" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Toggle alphabetical sorting of the method list." -msgstr "" +msgstr "Укљ/ИÑкљ алфабет Ñортирање ÑпиÑка метода." #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Filter methods" -msgstr "ПоÑтавке објекта." +msgstr "Филтрирај методе" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" @@ -7104,12 +7427,12 @@ msgstr "Датотека" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Open..." -msgstr "Отвори" +msgstr "Отвори..." #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Reopen Closed Script" -msgstr "Покрени Ñкриптицу" +msgstr "Покрени Затворену Скрипту" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" @@ -7122,7 +7445,7 @@ msgstr "Мекано оÑвежење Ñкриптице" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Copy Script Path" -msgstr "Копирај пут" +msgstr "Копирај Путању Скрипте" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -7137,12 +7460,12 @@ msgstr "ИÑторија Ñледеће" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy msgid "Theme" -msgstr "Сачувај тему" +msgstr "Тема" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Import Theme..." -msgstr "Увези тему" +msgstr "Увези тему..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -7193,7 +7516,7 @@ msgstr "Дебагуј Ñа Ñпољашњим уредником" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Open Godot online documentation." -msgstr "Отвори Godot онлајн документацију" +msgstr "Отвори Godot документацију Ñа мреже" #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." @@ -7236,28 +7559,27 @@ msgstr "Дебагер" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Search Results" -msgstr "Потражи помоћ" +msgstr "Потражи Ретултате" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Clear Recent Scripts" -msgstr "ОчиÑти недавне Ñцене" +msgstr "ОчиÑти Ðедавне Скрипте" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Connections to method:" -msgstr "Повежи Ñа чвором:" +msgstr "Везе Ñа методом:" #: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp #, fuzzy msgid "Source" -msgstr "" -"\n" -"Извор: " +msgstr "Извор" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Target" -msgstr "" +msgstr "Мета" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -7267,12 +7589,13 @@ msgstr "Повежи '%s' Ñа '%s'" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Line" -msgstr "Линија:" +msgid "[Ignore]" +msgstr "(игнориши)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" +#, fuzzy +msgid "Line" +msgstr "Линија:" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -7285,8 +7608,9 @@ msgstr "Само реÑурÑи из датотечног ÑиÑтема Ñе м #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Can't drop nodes because script '%s' is not used in this scene." -msgstr "" +msgstr "ÐеуÑпешно иÑпуштање чворова јер Ñкрипта'%s' није део ове Ñцене." #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -7314,23 +7638,26 @@ msgid "Capitalize" msgstr "Велика Ñлова" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp +#, fuzzy msgid "Syntax Highlighter" -msgstr "" +msgstr "Изтицање СинтакÑе" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +#, fuzzy msgid "Go To" -msgstr "" +msgstr "Иди Ðа" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp +#, fuzzy msgid "Bookmarks" -msgstr "" +msgstr "Белешке" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Breakpoints" -msgstr "Обриши тачке" +msgstr "Тачке прекида" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -7361,7 +7688,7 @@ msgstr "Коментариши" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Fold/Unfold Line" -msgstr "Откриј линију" +msgstr "Сакриј/Отркиј Линију" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" @@ -7382,7 +7709,7 @@ msgstr "Потпун Ñимбол" #: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Evaluate Selection" -msgstr "Увећај одабрано" +msgstr "Процени Одабрано" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" @@ -7466,7 +7793,7 @@ msgid "" "This shader has been modified on on disk.\n" "What action should be taken?" msgstr "" -"Следеће датотеке Ñу нове на диÑку.\n" +"Овај Цртач је измењен на диÑку.\n" "Која акција Ñе треба предузети?:" #: editor/plugins/shader_editor_plugin.cpp @@ -7474,8 +7801,9 @@ msgid "Shader" msgstr "Шејдер" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "" +msgstr "Овај коÑтур нема коÑти, креирај му децу КоÑка2Д чворове." #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy @@ -7483,21 +7811,24 @@ msgid "Create Rest Pose from Bones" msgstr "Ðаправи тачке емиÑије од мреже" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "" +msgstr "ПоÑтави Одмор Позу на КоÑке" #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy msgid "Skeleton2D" -msgstr "Синглетон" +msgstr "Синглетон2Д" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Make Rest Pose (From Bones)" -msgstr "" +msgstr "Ðаправи Одмор Позу(од КоÑтију)" #: editor/plugins/skeleton_2d_editor_plugin.cpp +#, fuzzy msgid "Set Bones to Rest Pose" -msgstr "" +msgstr "ПоÑтави КоÑке у Одмор Позу" #: editor/plugins/skeleton_editor_plugin.cpp #, fuzzy @@ -7568,12 +7899,14 @@ msgid "Animation Key Inserted." msgstr "Ðнимациони кључ убачен." #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Pitch" -msgstr "" +msgstr "Лево-ДеÑно" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Yaw" -msgstr "" +msgstr "Горе-Доле" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" @@ -7722,8 +8055,9 @@ msgid "Cinematic Preview" msgstr "Ðаправи приказ мрежа" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Not available when using the GLES2 renderer." -msgstr "" +msgstr "ÐедоÑтупно кад кориÑтиш GLES2 изцртавање." #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" @@ -7764,23 +8098,36 @@ msgid "View Rotation Locked" msgstr "Прикажи информације" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "" "Note: The FPS value displayed is the editor's framerate.\n" "It cannot be used as a reliable indication of in-game performance." msgstr "" +"Белешка: FPS вредноÑÑ‚ приказана је FPS вредноÑÑ‚ Уредника.\n" +"Ðе може бити коришћена као поуздана оцена учинка у игри." #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" msgstr "XForm дијалог" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "Залепи за мрежу" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Couldn't find a solid floor to snap the selection to." -msgstr "" +msgstr "Ðије пронађен чврÑÑ‚ под где ће Ñе одабир прилепити" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -7854,7 +8201,7 @@ msgstr "ТранÑформација" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Object to Floor" -msgstr "Залепи за мрежу" +msgstr "Залепи Објекат за Под" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." @@ -7936,8 +8283,9 @@ msgid "View Z-Far:" msgstr "МакÑимум Z за приказ:" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Transform Change" -msgstr "" +msgstr "Промена ТранÑформације" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" @@ -7964,8 +8312,9 @@ msgid "Post" msgstr "ПоÑле" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "Nameless gizmo" -msgstr "" +msgstr "Безимена ручка" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -7983,8 +8332,9 @@ msgid "Create Polygon2D" msgstr "Ðаправи полигон" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Polygon2D Preview" -msgstr "" +msgstr "Приказ Polygon2D" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -8012,12 +8362,14 @@ msgid "Sprite is empty!" msgstr "Мрежа је празна!" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Can't convert a sprite using animation frames to mesh." -msgstr "" +msgstr "ÐеуÑпело претварање Ñпрајта кориÑтећи анимационе оквире у мрежу." #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Invalid geometry, can't replace by mesh." -msgstr "" +msgstr "Ðеважећа геометрија, неуÑпеша замена Ñа мрежом." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -8025,8 +8377,9 @@ msgid "Convert to Mesh2D" msgstr "Претвори у велика Ñлова" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Invalid geometry, can't create polygon." -msgstr "" +msgstr "Ðеважећа геометрија, неуÑпешно креирање многоугла." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -8034,8 +8387,9 @@ msgid "Convert to Polygon2D" msgstr "Помери полигон" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Invalid geometry, can't create collision polygon." -msgstr "" +msgstr "Ðеважећа геометрија, неуÑпело креирање Ñударног многоугла." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -8043,8 +8397,9 @@ msgid "Create CollisionPolygon2D Sibling" msgstr "Ðаправи навигациони полигон" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Invalid geometry, can't create light occluder." -msgstr "" +msgstr "Ðеважећа геометрија, неуÑпело креирање затамљивача Ñветла." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -8057,16 +8412,19 @@ msgid "Sprite" msgstr "Ðалепи оквир" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Simplification: " -msgstr "" +msgstr "ПоједноÑтављено:" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Shrink (Pixels): " -msgstr "" +msgstr "Умањи (ПикÑели):" #: editor/plugins/sprite_editor_plugin.cpp +#, fuzzy msgid "Grow (Pixels): " -msgstr "" +msgstr "Увећај (ПикÑели):" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -8156,8 +8514,9 @@ msgid "Add a Texture from File" msgstr "Сними од пикÑела" #: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy msgid "Add Frames from a Sprite Sheet" -msgstr "" +msgstr "Додај Рамове Ñа Спрајт ЛиÑте" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -8181,13 +8540,14 @@ msgid "Select Frames" msgstr "Одабери режим" #: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy msgid "Horizontal:" -msgstr "" +msgstr "Хоризонтално:" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy msgid "Vertical:" -msgstr "Тачке" +msgstr "Вертикално:" #: editor/plugins/sprite_frames_editor_plugin.cpp #, fuzzy @@ -8244,8 +8604,9 @@ msgid "Step:" msgstr "Корак:" #: editor/plugins/texture_region_editor_plugin.cpp +#, fuzzy msgid "Sep.:" -msgstr "" +msgstr "Сеп.:" #: editor/plugins/texture_region_editor_plugin.cpp #, fuzzy @@ -8317,12 +8678,14 @@ msgid "Disabled Item" msgstr "Онемогућено" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Check Item" -msgstr "" +msgstr "Провери Предмет" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Checked Item" -msgstr "" +msgstr "Предмет проверен" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8335,12 +8698,14 @@ msgid "Checked Radio Item" msgstr "CheckBox Radio1" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Named Sep." -msgstr "" +msgstr "Иманован Сеп." #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Submenu" -msgstr "" +msgstr "Под-мени" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8385,8 +8750,9 @@ msgid "Editable Item" msgstr "Измени тему..." #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Subtree" -msgstr "" +msgstr "Под-Ñтабло" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -8461,8 +8827,9 @@ msgid "Find Tile" msgstr "Ðађи плочицу" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Transpose" -msgstr "" +msgstr "Преокрени" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy @@ -8480,18 +8847,22 @@ msgid "Filter tiles" msgstr "Филтрирај датотеке..." #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Give a TileSet resource to this TileMap to use its tiles." -msgstr "" +msgstr "Дај КомплетПлочица реÑÑƒÑ€Ñ Ð¾Ð²Ð¾Ð¼ КомплетуМапа да кориÑте његове плочице." #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" msgstr "Цртај полчице" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" msgstr "" +"Shift+LMB: Цртање Линије\n" +"Shift+Ctrl+LMB: Бојење Четвороугла" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" @@ -8508,21 +8879,24 @@ msgid "Rotate Right" msgstr "Ротирај полигон" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Flip Horizontally" -msgstr "" +msgstr "Обрни Хоризонтално" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Flip Vertically" -msgstr "" +msgstr "Обрни Вертикално" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy msgid "Clear Transform" -msgstr "ТранÑформација" +msgstr "ОчиÑти ТранÑформацију" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Add Texture(s) to TileSet." -msgstr "" +msgstr "Додај ТекÑтуру(е) КомплетуПлочица." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8539,8 +8913,9 @@ msgid "Merge from Scene" msgstr "Споји од Ñцене" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "New Single Tile" -msgstr "" +msgstr "Ðова Једна Плочица" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8548,8 +8923,9 @@ msgid "New Autotile" msgstr "ÐутоматÑки рез" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "New Atlas" -msgstr "" +msgstr "Ðов ÐтлаÑ" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8557,8 +8933,9 @@ msgid "Next Coordinate" msgstr "Следећа Ñкриптица" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Select the next shape, subtile, or Tile." -msgstr "" +msgstr "Одабери Ñледећи облик, под-плочицу, или плочицу." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8566,8 +8943,9 @@ msgid "Previous Coordinate" msgstr "Претодни Ñпрат" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Select the previous shape, subtile, or Tile." -msgstr "" +msgstr "Одабери претходни облик, под-плочицу, или плочицу." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8645,8 +9023,9 @@ msgid "Z Index Mode" msgstr "Режим инÑпекције" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Copy bitmask." -msgstr "" +msgstr "Копирај БитМаÑку." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8669,21 +9048,26 @@ msgid "Create a new polygon." msgstr "Ðаправи нови полигон од почетка." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Keep polygon inside region Rect." -msgstr "" +msgstr "Задржи многоугао унутар региона Четвороугла." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Enable snap and show grid (configurable via the Inspector)." -msgstr "" +msgstr "Омогући лепљење и прикажи мрежу ( подеÑива преко инÑпектора)." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Display Tile Names (Hold Alt Key)" -msgstr "" +msgstr "Прикажи Имена Плочица (Држи Alt дугмић)" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "" "Add or select a texture on the left panel to edit the tiles bound to it." msgstr "" +"Додај или одабери текÑтуру на левом панелу да измениш њену везану плочицу." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8691,12 +9075,14 @@ msgid "Remove selected texture? This will remove all tiles which use it." msgstr "Обриши тачку криве" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "You haven't selected a texture to remove." -msgstr "" +msgstr "ТекÑтура за уклањање није одабрана." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Create from scene? This will overwrite all current tiles." -msgstr "" +msgstr "Креирај од Ñцене? Ово ће препиÑати Ñве тренутне плочице." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8709,14 +9095,18 @@ msgid "Remove Texture" msgstr "Обриши шаблон" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "%s file(s) were not added because was already on the list." -msgstr "" +msgstr "%s фајл(ови) ниÑу додани јер Ñу већ на лиÑти." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "" "Drag handles to edit Rect.\n" "Click on another Tile to edit it." msgstr "" +"Вуци ручице да изениш Правоугаоник.\n" +"Кликни на другу плочицу да је измениш." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8745,17 +9135,24 @@ msgid "" msgstr "Сачувај тренутно измењени реÑурÑ." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "" "Select sub-tile to use as icon, this will be also used on invalid autotile " "bindings.\n" "Click on another Tile to edit it." msgstr "" +"Одабери под-плочицу као иконицу, ово ће такође бити изкоришћено на неважећим " +"Ñпојевима ауто-плочицица.\n" +"Кликни на другу плочицу да је измениш." #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "" "Select sub-tile to change its priority.\n" "Click on another Tile to edit it." msgstr "" +"Одабери под-плочицу да измениш њен приоритет.\n" +"Кликни на другу плочицу да је измениш." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8775,8 +9172,9 @@ msgid "Create Tile" msgstr "Ðаправи директоријум" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Set Tile Icon" -msgstr "" +msgstr "ПоÑтави иконицу Плочице" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8804,8 +9202,9 @@ msgid "Paste Tile Bitmask" msgstr "Ðалепи анимацију" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Clear Tile Bitmask" -msgstr "" +msgstr "ОчиÑти БитМаÑке Ñа Плочице" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8843,8 +9242,9 @@ msgid "Edit Tile Priority" msgstr "Уреди филтере" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Edit Tile Z Index" -msgstr "" +msgstr "Измени Z Ð¸Ð½Ð´ÐµÐºÑ ÐŸÐ»Ð¾Ñ‡Ð¸Ñ†Ðµ" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -8877,8 +9277,9 @@ msgid "TileSet" msgstr "TileSet..." #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "No VCS addons are available." -msgstr "" +msgstr " VCS додатци ниÑу доÑтупни." #: editor/plugins/version_control_editor_plugin.cpp msgid "Error" @@ -8890,8 +9291,9 @@ msgid "No commit message was provided" msgstr "Име није дато" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "No files added to stage" -msgstr "" +msgstr "Ðи један фајл није додат на позорницу" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8899,12 +9301,14 @@ msgid "Commit" msgstr "Заједница" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "VCS Addon is not initialized" -msgstr "" +msgstr "VCS додатак није иницијализован" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Version Control System" -msgstr "" +msgstr "VCS(СиÑтем Контроле Верзије)" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8912,8 +9316,9 @@ msgid "Initialize" msgstr "Велика Ñлова" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Staging area" -msgstr "" +msgstr "СценÑки проÑтор" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8926,8 +9331,9 @@ msgid "Changes" msgstr "Промене шејдера" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Modified" -msgstr "" +msgstr "Измењено" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8940,8 +9346,9 @@ msgid "Deleted" msgstr "Обриши" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Typechange" -msgstr "" +msgstr "Промена типа" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8954,8 +9361,9 @@ msgid "Stage All" msgstr "Сачувај Ñве" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Add a commit message" -msgstr "" +msgstr "Додај предајну поруку" #: editor/plugins/version_control_editor_plugin.cpp #, fuzzy @@ -8964,24 +9372,29 @@ msgstr "Синхронизуј промене Ñкриптица" #: editor/plugins/version_control_editor_plugin.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp +#, fuzzy msgid "Status" -msgstr "" +msgstr "СтатуÑ" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "View file diffs before committing them to the latest version" -msgstr "" +msgstr "Погледај фајл разлике пре него га предаш задњој верзији." #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "No file diff is active" -msgstr "" +msgstr "Ðи једна фајл разлика није активна" #: editor/plugins/version_control_editor_plugin.cpp +#, fuzzy msgid "Detect changes in file diff" -msgstr "" +msgstr "Пронађене промене у фајл разликама" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "(GLES3 only)" -msgstr "" +msgstr "(Ñамо GLES3)" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -8999,12 +9412,14 @@ msgid "Vector" msgstr "ИнÑпектор" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Boolean" -msgstr "" +msgstr "Тачница" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Sampler" -msgstr "" +msgstr "Узрокотвор" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9012,8 +9427,9 @@ msgid "Add input port" msgstr "Додај улаз" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Add output port" -msgstr "" +msgstr "Додај одлазни порт" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9056,8 +9472,9 @@ msgid "Resize VisualShader node" msgstr "Шејдер" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Set Uniform Name" -msgstr "" +msgstr "ПоÑтави ЈединÑтвено Име" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9076,17 +9493,19 @@ msgstr "Дуплирај чвор/ове графа" #: editor/plugins/visual_shader_editor_plugin.cpp #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Paste Nodes" -msgstr "" +msgstr "Ðалепи Чворове" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Delete Nodes" -msgstr "Ðаправи чвор" +msgstr "Обриши Чворове" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Улазна Ð’Ñ€Ñта Визуелног Цртача промењена" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9094,8 +9513,9 @@ msgid "Vertex" msgstr "Тачке" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Fragment" -msgstr "" +msgstr "Део" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9118,8 +9538,9 @@ msgid "Color function." msgstr "Иди на функцију..." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Color operator." -msgstr "" +msgstr "Операције боје." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9127,359 +9548,441 @@ msgid "Grayscale function." msgstr "Ðаправи функцију" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Converts HSV vector to RGB equivalent." -msgstr "" +msgstr "Претвара HSV вектор у RGB." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Converts RGB vector to HSV equivalent." -msgstr "" +msgstr "Претвара RGB вектор у HSV." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Sepia function." -msgstr "Ðаправи функцију" +msgstr "Sepia функција." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Burn operator." -msgstr "" +msgstr "Ðагорено оператор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Darken operator." -msgstr "" +msgstr "Затамњење оператор." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Difference operator." -msgstr "Само разлике" +msgstr "РазличитоÑти оператор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Dodge operator." -msgstr "" +msgstr "Упијање оперетор." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "HardLight operator." -msgstr "Промени Ñкаларни оператор" +msgstr "ЈакаСветла оператор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Lighten operator." -msgstr "" +msgstr "ПоÑветли оператор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Overlay operator." -msgstr "" +msgstr "Прекриј оператор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Screen operator." -msgstr "" +msgstr "ЗаÑлон оператор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "SoftLight operator." -msgstr "" +msgstr "МекоСветло оператор." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Color constant." -msgstr "КонÑтантан" +msgstr "Боја конÑтантна." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Color uniform." -msgstr "ТранÑформација" +msgstr "Боја хомогена." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the boolean result of the %s comparison between two parameters." -msgstr "" +msgstr "Враћа Булов резултат од %s порећења између 2 параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Equal (==)" -msgstr "" +msgstr "Једнако (==)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Greater Than (>)" -msgstr "" +msgstr "Веће од (>)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Greater Than or Equal (>=)" -msgstr "" +msgstr "Веће или Једнако (>=)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns an associated vector if the provided scalars are equal, greater or " "less." msgstr "" +"Враћа аÑоцијативни вектор ако Ñу Ñнабдевени Ñкалари једнаки, већи или мањи." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns the boolean result of the comparison between INF and a scalar " "parameter." -msgstr "" +msgstr "Враћа Булов резултат након поређења измђу INF и Ñкаларног параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns the boolean result of the comparison between NaN and a scalar " "parameter." -msgstr "" +msgstr "Враћа Булов резултат након поређења NaN и Ñкаларног параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Less Than (<)" -msgstr "" +msgstr "Мање од (<)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Less Than or Equal (<=)" -msgstr "" +msgstr "Мање или Једнако (<=)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Not Equal (!=)" -msgstr "" +msgstr "Ðеједнако (!=)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns an associated vector if the provided boolean value is true or false." msgstr "" +"Враћа аÑоцијативни вектор ако је Ñнабдевена Булова вредноÑÑ‚ тачна или " +"нетачна." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns an associated scalar if the provided boolean value is true or false." msgstr "" +"Враћа аÑоцијативни Ñкалар ако је Ñнабдевена Булова вредноÑÑ‚ тачна или " +"нетачна." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the boolean result of the comparison between two parameters." -msgstr "" +msgstr "Враћа Булов резултат након поређења 2 параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns the boolean result of the comparison between INF (or NaN) and a " "scalar parameter." msgstr "" +"Враћа Булов резултат након поређења између INF (или NaN) и Ñкаларног " +"параметра." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Boolean constant." -msgstr "Промени векторÑку конÑтанту" +msgstr "Бул конÑтантан." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Boolean uniform." -msgstr "" +msgstr "Бул уједначен." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for all shader modes." -msgstr "" +msgstr "'%s' улазни параметар за Ñве Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Input parameter." -msgstr "Лепи за родитеља" +msgstr "Улазни параметар" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for vertex and fragment shader modes." -msgstr "" +msgstr "'%s' улазни параметар за тачкаÑте и раздељене Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for fragment and light shader modes." -msgstr "" +msgstr "'%s' улазни параметар за раздељене и Ñветле Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for fragment shader mode." -msgstr "" +msgstr "'%s' улазни параметар за раздељене Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for light shader mode." -msgstr "" +msgstr "'%s' улазни параметар за Ñветле Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for vertex shader mode." -msgstr "" +msgstr "'%s' улазни параметар за тачкаÑте Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "'%s' input parameter for vertex and fragment shader mode." -msgstr "" +msgstr "'%s' улазни параметар за тачкаÑте и раздељене Цртачке Режиме." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Scalar function." -msgstr "Промени Ñкаларну функцију" +msgstr "Скаларна функција." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Scalar operator." -msgstr "Промени Ñкаларни оператор" +msgstr "Скаларни опреатор." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "E constant (2.718282). Represents the base of the natural logarithm." -msgstr "" +msgstr "E конÑтанта (2.718282). ПредÑтавља базу природног логаритма." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Epsilon constant (0.00001). Smallest possible scalar number." -msgstr "" +msgstr "ЕпÑилон конÑтанта (0.00001). Ðајмањи могући Ñкаларни број." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Phi constant (1.618034). Golden ratio." -msgstr "" +msgstr " Phi конÑтанта (1.618034). Златни преÑек." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Pi/4 constant (0.785398) or 45 degrees." -msgstr "" +msgstr "Pi/4 конÑтанта (0.785398) или 45 Ñтепени." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Pi/2 constant (1.570796) or 90 degrees." -msgstr "" +msgstr "Pi/2 конÑтанта (1.570796) или 90 Ñтепени." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Pi constant (3.141593) or 180 degrees." -msgstr "" +msgstr "Pi конÑтанта (3.141593) или 180 Ñтепени." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Tau constant (6.283185) or 360 degrees." -msgstr "" +msgstr "Tau конÑтанта (6.283185) или 360 Ñтепни." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Sqrt2 constant (1.414214). Square root of 2." -msgstr "" +msgstr "Sqrt2 конÑтанта (1.414214). Корен од 2." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the absolute value of the parameter." -msgstr "" +msgstr "Враћа абÑолутну вредноÑÑ‚ параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the arc-cosine of the parameter." -msgstr "" +msgstr "Враћа арк-коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the inverse hyperbolic cosine of the parameter." -msgstr "" +msgstr "Враћа обрнут хиперболични коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the arc-sine of the parameter." -msgstr "" +msgstr "Враћа арк-ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the inverse hyperbolic sine of the parameter." -msgstr "" +msgstr "Враћа обрнут хиперболични ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the arc-tangent of the parameter." -msgstr "" +msgstr "Враћа арк-тангенту параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the arc-tangent of the parameters." -msgstr "" +msgstr "Враћа арк-тангенту параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the inverse hyperbolic tangent of the parameter." -msgstr "" +msgstr "Враћа обрнуту хиперболичну тангенту параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Finds the nearest integer that is greater than or equal to the parameter." -msgstr "" +msgstr "Ðалази најближи интиџер који је већи или једнак параметру." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Constrains a value to lie between two further values." -msgstr "" +msgstr "Ограђује вредноÑÑ‚ између 2 наредне вредноÑти." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the cosine of the parameter." -msgstr "" +msgstr "Враћа коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the hyperbolic cosine of the parameter." -msgstr "" +msgstr "Враћа хиперболички коÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Converts a quantity in radians to degrees." -msgstr "" +msgstr "Претвара количину из радијана у Ñтепене." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Base-e Exponential." -msgstr "" +msgstr "База-е ЕкÑпоненцијал." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Base-2 Exponential." -msgstr "" +msgstr "База-е ЕкÑпоненцијал." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Finds the nearest integer less than or equal to the parameter." -msgstr "" +msgstr "Ðалази најближи интиџер мањи или једнак параметру." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Computes the fractional part of the argument." -msgstr "" +msgstr "Прорачунава фракциони део аргумента." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the inverse of the square root of the parameter." -msgstr "" +msgstr "Враћа обрнути квадратни корен параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Natural logarithm." -msgstr "" +msgstr "Природни логаритам." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Base-2 logarithm." -msgstr "" +msgstr "База-2 логаритам." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the greater of two values." -msgstr "" +msgstr "Враћа већу од 2 понуђене вредноÑти." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the lesser of two values." -msgstr "" +msgstr "Враћа мању од 2 понуђене вредноÑти." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Linear interpolation between two scalars." -msgstr "" +msgstr "Линеарно уметање између 2 Ñкалара." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the opposite value of the parameter." -msgstr "" +msgstr "Враћа Ñупротну вредноÑÑ‚ параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "1.0 - scalar" -msgstr "" +msgstr "1.0 - Ñкалар" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns the value of the first parameter raised to the power of the second." -msgstr "" +msgstr "Враћа вредноÑÑ‚ првог параметра увећану за вредноÑÑ‚ другог." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Converts a quantity in degrees to radians." -msgstr "" +msgstr "Претвара количину из Ñтепена у радијане." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "1.0 / scalar" -msgstr "" +msgstr "1.0 / Ñкалар" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Finds the nearest integer to the parameter." -msgstr "" +msgstr "Ðалази најближи интиџер параметру." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Finds the nearest even integer to the parameter." -msgstr "" +msgstr "Ðалази најближи једнак интиџер параметру." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Clamps the value between 0.0 and 1.0." -msgstr "" +msgstr "Притеже вредноÑÑ‚ између 0.0 и 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Extracts the sign of the parameter." -msgstr "" +msgstr "Извлачи знак параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the sine of the parameter." -msgstr "" +msgstr "Враћа ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the hyperbolic sine of the parameter." -msgstr "" +msgstr "Враћа хиперболичи ÑÐ¸Ð½ÑƒÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the square root of the parameter." -msgstr "" +msgstr "Враћа квадратни корен параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "SmoothStep function( scalar(edge0), scalar(edge1), scalar(x) ).\n" "\n" @@ -9487,45 +9990,60 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"УглађенКорак функција ( Ñкалар(ивица0), Ñкалар(ивица1), Ñкалар(x) ).\n" +"Враћа 0.0 ако је 'x' мање од 'ивице0' и 1.0 ако је x веће од 'edge1'. Иначе " +"враћена вредноÑÑ‚ је уметнутута између 0.0 и 1.0 кориÑтећи Хермитове полиноме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Step function( scalar(edge), scalar(x) ).\n" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Корак функција ( scalar(edge), scalar(x) ).\n" +"\n" +"Враћа 0.0 ако је 'x' мање од 'ивице' иначе враћа 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the tangent of the parameter." -msgstr "" +msgstr "Враћа танкгенту параметра" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the hyperbolic tangent of the parameter." -msgstr "" +msgstr "Враћа хипероболичну тангенту параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Finds the truncated value of the parameter." -msgstr "" +msgstr "Ðалази Ñкраћену вредноÑÑ‚ параметра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Adds scalar to scalar." -msgstr "" +msgstr "Додаје Ñкалар Ñкалару." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Divides scalar by scalar." -msgstr "" +msgstr "Дели Ñкалар Ñа Ñкаларом." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Multiplies scalar by scalar." -msgstr "" +msgstr "Множи Ñкалар Ñа Ñкаларом." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the remainder of the two scalars." -msgstr "" +msgstr "Враћа оÑтатак 2 Ñкалара." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Subtracts scalar from scalar." -msgstr "" +msgstr "Одузима Ñкалар од Ñкалара." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9538,12 +10056,14 @@ msgid "Scalar uniform." msgstr "Промени Ñкаларну униформу (uniform)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Perform the cubic texture lookup." -msgstr "" +msgstr "Извршава претрагу кубичне текÑтуре." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Perform the texture lookup." -msgstr "" +msgstr "Извршава претрагу текÑтуре." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9566,6 +10086,7 @@ msgid "Transform function." msgstr "Прозор транÑформације..." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Calculate the outer product of a pair of vectors.\n" "\n" @@ -9575,34 +10096,47 @@ msgid "" "whose number of rows is the number of components in 'c' and whose number of " "columns is the number of components in 'r'." msgstr "" +"Прорачунава Ñпољашњи продукт векторÑког пара.\n" +"СпољашњиПродукт третира први параметар 'c' као вектор колону (матрица Ñа " +"једном колоном) и други параметар 'r' као ред вектор (матрица Ñа једним " +"редом) и одрађује линеарно алгебарÑко множење матрица 'c * r', приноÑећи " +"матрицу чији број редова је број компоненти у 'c' и број колона је број " +"компоненти у 'r'." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Composes transform from four vectors." -msgstr "" +msgstr "СаÑтавља транÑформу од четири вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Decomposes transform to four vectors." -msgstr "" +msgstr "РаÑтавља транÑформу у четри вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the determinant of a transform." -msgstr "" +msgstr "Прорачунава детерминанту транÑформе." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the inverse of a transform." -msgstr "" +msgstr "Прорачунава инверзију транÑформе." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the transpose of a transform." -msgstr "" +msgstr "Прорачунава Ð¿Ñ€ÐµÐ½Ð¾Ñ Ñ‚Ñ€Ð°Ð½Ñформе." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Multiplies transform by transform." -msgstr "" +msgstr "Множи транÑформу транÑформом." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Multiplies vector by transform." -msgstr "" +msgstr "Множи вектор Ñа транÑформом." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9625,68 +10159,89 @@ msgid "Vector operator." msgstr "Промени векторÑки оператор" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Composes vector from three scalars." -msgstr "" +msgstr "СаÑтавља вектор од 3 Ñкалара." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Decomposes vector to three scalars." -msgstr "" +msgstr "РаÑтавља вектор у 3 Ñкалара." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the cross product of two vectors." -msgstr "" +msgstr "Прорачунава векторÑки производ 2 вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the distance between two points." -msgstr "" +msgstr "Враћа раÑтојање између 2 тачке." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the dot product of two vectors." -msgstr "" +msgstr "Прорачунава Ñкаларни производ 2 вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns the vector that points in the same direction as a reference vector. " "The function has three vector parameters : N, the vector to orient, I, the " "incident vector, and Nref, the reference vector. If the dot product of I and " "Nref is smaller than zero the return value is N. Otherwise -N is returned." msgstr "" +"Враћа вектор који упућује у иÑтом правцу као и дати вектор. Функција има три " +"вектор параметра: N, оријнтациони вектор, I, вектор инцидента, и Nref , " +"референтни вектор. Ðко је Ñкаларни продукт од I и Nref мањи од 0 повратна " +"вредноÑÑ‚ је N. У Ñупротном враћа -N." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the length of a vector." -msgstr "" +msgstr "Прорачунава дужину вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Linear interpolation between two vectors." -msgstr "" +msgstr "Линерно уметање између 2 вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Linear interpolation between two vectors using scalar." -msgstr "" +msgstr "Линерно уметање између 2 вектора кориÑтећи Ñкалар." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Calculates the normalize product of vector." -msgstr "" +msgstr "Прорачунава нормализовани векторÑки продукт." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "1.0 - vector" -msgstr "" +msgstr "1.0 - вектор" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "1.0 / vector" -msgstr "" +msgstr "1.0 / вектор" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns the vector that points in the direction of reflection ( a : incident " "vector, b : normal vector )." msgstr "" +"Враћа вектор који указује у правцу одраза ( a : вектор инцидента, b : " +"нормални вектор )." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the vector that points in the direction of refraction." -msgstr "" +msgstr "Враћа вектор који указује у правцу преламања." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "SmoothStep function( vector(edge0), vector(edge1), vector(x) ).\n" "\n" @@ -9694,8 +10249,14 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"ГлаткиКорак функција ( вектор(ивица0), вектор(ивица1), вектор(x) ).\n" +"\n" +"Враћа 0.0 ако је 'x' мање од 'ивице0' и 1.0 ако је 'x' веће од 'ивице1'. У " +"Ñупротном повратна вредноÑÑ‚ уметнута између 0.0 и 1.0 кориÑтећи Хермитове " +"полиноме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "SmoothStep function( scalar(edge0), scalar(edge1), vector(x) ).\n" "\n" @@ -9703,40 +10264,58 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"ГлаткиКорак функција ( Ñкалар(ивица0), Ñкалар(ивица1), вектор(x) ).\n" +"\n" +"Враћа 0.0 ако је 'x' мање од 'ивице0' и 1.0 ако је 'x' веће од 'ивице1'. У " +"Ñупротном повратна вредноÑÑ‚ је уметнута између 0.0 и 1.0 кориÑтећи Хермитове " +"полиноме." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Step function( vector(edge), vector(x) ).\n" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Корак функција ( вектор(ивица), вектор(x) ).\n" +"\n" +"Враћа 0.0 ако је 'x' мање од 'ивице' у Ñупротном 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Step function( scalar(edge), vector(x) ).\n" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Корак функција ( акалар(ивица), вектор(x) ).\n" +"\n" +"Враћа 0.0 ако је 'x' мање од 'ивице' у Ñупротном 1.0." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Adds vector to vector." -msgstr "" +msgstr "Додаје вектор вектору." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Divides vector by vector." -msgstr "" +msgstr "Дели вектор Ñа вектором." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Multiplies vector by vector." -msgstr "" +msgstr "Множи вектор Ñа вектором." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Returns the remainder of the two vectors." -msgstr "" +msgstr "Враћа оÑтатак 2 вектора." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "Subtracts vector from vector." -msgstr "" +msgstr "Одузима вектор од вектора." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -9749,84 +10328,112 @@ msgid "Vector uniform." msgstr "Промени векторÑку униформу (uniform)" #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Custom Godot Shader Language expression, with custom amount of input and " "output ports. This is a direct injection of code into the vertex/fragment/" "light function, do not use it to write the function declarations inside." msgstr "" +"Произвољни израз за Годот Цртачки Језик, Ñа произвољном количином улазних и " +"излазних портова. Ово је директно убризгавање кода у тачка/део/Ñветло " +"функцију, не кориÑти за пиÑање декларација функција унутра." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." msgstr "" +"Враћа Ñмањење базирано на Ñкаларном продукту нормале површине и правца " +"гледања камере (проÑлеђује удружене улазе)." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "Custom Godot Shader Language expression, which is placed on top of the " "resulted shader. You can place various function definitions inside and call " "it later in the Expressions. You can also declare varyings, uniforms and " "constants." msgstr "" +"Произвољни израз Годот Цртачког Језика, који је поÑтављен на врх " +"резултирајућег цртача. Можеш поÑтавити разне дефиниције функција унутра и " +"позвати их каÑније у Изразу. Такође можеш даклариÑати варијације, униформе и " +"конÑтанте." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "(Fragment/Light mode only) Scalar derivative function." -msgstr "" +msgstr "(Ñамо Део/Светло режим) Функција Ñкаларне деривације." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "(Fragment/Light mode only) Vector derivative function." -msgstr "" +msgstr "(Ñамо Део/Светло режим) Вектор Ñкаларне деривације." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'x' using local " "differencing." msgstr "" +"(Ñамо Део/Светло режим) (Вектор) Дериват у 'x' кориÑтећи локалну " +"диференцијацију." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " "differencing." msgstr "" +"(Ñамо Део/Светло режим) (Скалар) Дериват у 'x' кориÑтећи локалну " +"диференцијацију." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'y' using local " "differencing." msgstr "" +"(Ñамо Део/Светло режим) (Вектор) Дериват у 'y' кориÑтећи локалну " +"диференцијацију." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " "differencing." msgstr "" +"(Ñамо Део/Светло режим) (Скалар) Дериват у 'y' кориÑтећи локалну " +"диференцијацију." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and " "'y'." -msgstr "" +msgstr "(Ñамо Део/Светло режим) (Вектор) Сума абÑолутних деривата у 'x' и 'y'." #: editor/plugins/visual_shader_editor_plugin.cpp +#, fuzzy msgid "" "(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and " "'y'." -msgstr "" +msgstr "(Ñамо Део/Светло режим) (Скалар) Сума абÑолутних деривата у 'x' и 'y'." #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "VisualShader" -msgstr "Шејдер" +msgstr "ВизуелниЦртач" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Edit Visual Property" -msgstr "Уреди филтере" +msgstr "Уреди Визуелне ОÑобине" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Промене шејдера" +msgstr "Визуелни Цртач Режим промењен" #: editor/project_export.cpp msgid "Runnable" @@ -9835,11 +10442,12 @@ msgstr "Покретљива" #: editor/project_export.cpp #, fuzzy msgid "Add initial export..." -msgstr "Додај улаз" +msgstr "Додај почетни извоз..." #: editor/project_export.cpp +#, fuzzy msgid "Add previous patches..." -msgstr "" +msgstr "Додај претходне закрпе..." #: editor/project_export.cpp msgid "Delete patch '%s' from list?" @@ -9851,21 +10459,29 @@ msgid "Delete preset '%s'?" msgstr "Обриши поÑтавку „%s“?" #: editor/project_export.cpp +#, fuzzy msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"ÐеуÑпешан извоз пројекта за плазформу '%s'.\n" +"Изгледа да недоÑтају извозни нацрти или ниÑу иÑправни." #: editor/project_export.cpp +#, fuzzy msgid "" "Failed to export the project for platform '%s'.\n" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"ÐеуÑпешан извоз пројекта за платформу '%s'.\n" +"Ово може бити због проблема Ñа подешавањима у извозним поÑтавкама или твојим " +"извозним подешавањима." #: editor/project_export.cpp +#, fuzzy msgid "Release" -msgstr "" +msgstr "Издање" #: editor/project_export.cpp #, fuzzy @@ -9891,10 +10507,12 @@ msgid "Add..." msgstr "Додај..." #: editor/project_export.cpp +#, fuzzy msgid "" "If checked, the preset will be available for use in one-click deploy.\n" "Only one preset per platform may be marked as runnable." msgstr "" +"Ðко је означено, поÑтавке ће бити омогућене за коришћење у један-клик развој." #: editor/project_export.cpp #, fuzzy @@ -9961,8 +10579,9 @@ msgid "Features" msgstr "КарактериÑтике" #: editor/project_export.cpp +#, fuzzy msgid "Custom (comma-separated):" -msgstr "" +msgstr "Произвољно (одвојено зарезом):" #: editor/project_export.cpp msgid "Feature List:" @@ -9979,24 +10598,29 @@ msgid "Script Export Mode:" msgstr "Режим извоза:" #: editor/project_export.cpp +#, fuzzy msgid "Text" -msgstr "" +msgstr "ТекÑÑ‚" #: editor/project_export.cpp +#, fuzzy msgid "Compiled" -msgstr "" +msgstr "СаÑтављено" #: editor/project_export.cpp +#, fuzzy msgid "Encrypted (Provide Key Below)" -msgstr "" +msgstr "Шифровано (Одабери Кључ ИÑпод)" #: editor/project_export.cpp +#, fuzzy msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "" +msgstr "Ðеважећи Кључ за Шифровање(мора бити 64 карактера дуг)" #: editor/project_export.cpp +#, fuzzy msgid "Script Encryption Key (256-bits as hex):" -msgstr "" +msgstr "Кључ Шифровања Скрипте (256-бајтова као хекÑ)" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -10022,8 +10646,9 @@ msgid "ZIP File" msgstr " Датотеке" #: editor/project_export.cpp +#, fuzzy msgid "Godot Game Pack" -msgstr "" +msgstr "Годот Игра Паковање" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -10034,8 +10659,9 @@ msgid "Manage Export Templates" msgstr "Управљај извозним шаблонима" #: editor/project_export.cpp +#, fuzzy msgid "Export With Debug" -msgstr "" +msgstr "Извези Ñа ИнÑектицидом" #: editor/project_manager.cpp #, fuzzy @@ -10048,29 +10674,35 @@ msgid "Error opening package file (it's not in ZIP format)." msgstr "Грешка при отварању датотеку пакета. Датотека није zip формата." #: editor/project_manager.cpp +#, fuzzy msgid "" "Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "" +msgstr "Ðеважећи \".zip\" пројекат фајл; не Ñадржи \"project.godot\" фајл." #: editor/project_manager.cpp +#, fuzzy msgid "Please choose an empty folder." -msgstr "" +msgstr "Одабери празан фолдер." #: editor/project_manager.cpp +#, fuzzy msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "" +msgstr "Одабери \"project.godot\" или \".zip\" фајл." #: editor/project_manager.cpp +#, fuzzy msgid "This directory already contains a Godot project." -msgstr "" +msgstr "Овај директоријум већ Ñадржи Годот пројекат." #: editor/project_manager.cpp +#, fuzzy msgid "New Game Project" -msgstr "" +msgstr "Ðова Игра Пројекат" #: editor/project_manager.cpp +#, fuzzy msgid "Imported Project" -msgstr "" +msgstr "Увезен Пројекат" #: editor/project_manager.cpp #, fuzzy @@ -10083,118 +10715,149 @@ msgid "Couldn't create folder." msgstr "ÐеуÑпех при прављењу директоријума." #: editor/project_manager.cpp +#, fuzzy msgid "There is already a folder in this path with the specified name." -msgstr "" +msgstr "Ðа овој путањи већ поÑтоји фолдер Ñа овим именом." #: editor/project_manager.cpp +#, fuzzy msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Била би добра идеја да именујеш Ñвој пројекат." #: editor/project_manager.cpp +#, fuzzy msgid "Invalid project path (changed anything?)." -msgstr "" +msgstr "Ðеважећа путања пројекта(нешто је измењено?)." #: editor/project_manager.cpp +#, fuzzy msgid "" "Couldn't load project.godot in project path (error %d). It may be missing or " "corrupted." msgstr "" +"ÐеуÑпешно учитавање project.godot-а у његовој путањи (грешка %d). Могуће да " +"нешто недоÑтаје или је корумпирано." #: editor/project_manager.cpp +#, fuzzy msgid "Couldn't edit project.godot in project path." -msgstr "" +msgstr "ÐеуÑпешна измена project.godot-а у путањи пројекта." #: editor/project_manager.cpp +#, fuzzy msgid "Couldn't create project.godot in project path." -msgstr "" +msgstr "ÐеуÑпешно креирање project.godot у путањи пројекта." #: editor/project_manager.cpp +#, fuzzy msgid "Rename Project" -msgstr "" +msgstr "Преимениуј Пројекат" #: editor/project_manager.cpp +#, fuzzy msgid "Import Existing Project" -msgstr "" +msgstr "Увези ПоÑтојећи Пројекат" #: editor/project_manager.cpp #, fuzzy msgid "Import & Edit" -msgstr "Увоз" +msgstr "Увези и Измени" #: editor/project_manager.cpp +#, fuzzy msgid "Create New Project" -msgstr "" +msgstr "Креирај Ðов Пројекат" #: editor/project_manager.cpp #, fuzzy msgid "Create & Edit" -msgstr "Ðаправи емитер" +msgstr "Креирај и Измени" #: editor/project_manager.cpp +#, fuzzy msgid "Install Project:" -msgstr "" +msgstr "ИнÑталирај Пројекат:" #: editor/project_manager.cpp #, fuzzy msgid "Install & Edit" -msgstr "ИнÑталирај" +msgstr "ИнÑталирај и Измени" #: editor/project_manager.cpp +#, fuzzy msgid "Project Name:" -msgstr "" +msgstr "Има Пројекта:" #: editor/project_manager.cpp +#, fuzzy msgid "Project Path:" -msgstr "" +msgstr "Путања Пројекта:" #: editor/project_manager.cpp +#, fuzzy msgid "Project Installation Path:" -msgstr "" +msgstr "ИнÑталациона Путања Пројекта:" #: editor/project_manager.cpp +#, fuzzy msgid "Renderer:" -msgstr "" +msgstr "Цртач:" #: editor/project_manager.cpp +#, fuzzy msgid "OpenGL ES 3.0" -msgstr "" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp +#, fuzzy msgid "" "Higher visual quality\n" "All features available\n" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"Виши визуелни квалитет\n" +"Свe карактериÑтике доÑтупне\n" +"Ðекомпатибилно Ñа Ñтаријим хардвером\n" +"Ðије препоручљиво за веб игрице" #: editor/project_manager.cpp +#, fuzzy msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp +#, fuzzy msgid "" "Lower visual quality\n" "Some features not available\n" "Works on most hardware\n" "Recommended for web games" msgstr "" +"Ðижи визуелни квалитет\n" +"Ðеке карактериÑтике ниÑу доÑтупне\n" +"Ради на Ñкоро Ñваком хардверу\n" +"Пропоручљиво за веб игрице" #: editor/project_manager.cpp +#, fuzzy msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "" +msgstr "Цртач може бити промењен каÑније, али Ñцене морају бити прилагођене." #: editor/project_manager.cpp +#, fuzzy msgid "Unnamed Project" -msgstr "" +msgstr "Ðеименован Пројекат" #: editor/project_manager.cpp #, fuzzy msgid "Missing Project" -msgstr "Пројекат" +msgstr "ÐедоÑтаје Пројекат" #: editor/project_manager.cpp +#, fuzzy msgid "Error: Project is missing on the filesystem." -msgstr "" +msgstr "Грешка: Пројекат недоÑтаје у фајл ÑиÑтему." #: editor/project_manager.cpp #, fuzzy @@ -10202,10 +10865,12 @@ msgid "Can't open project at '%s'." msgstr "Ðе могу отворити '%s'." #: editor/project_manager.cpp +#, fuzzy msgid "Are you sure to open more than one project?" -msgstr "" +msgstr "Да ли Ñигурно желиш да отвориш више одједног пројекта?" #: editor/project_manager.cpp +#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -10217,8 +10882,18 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" +"Ðаредни фајл Ñа подешавањима пројекта нема наведену верзију Годот-а Ñа у " +"којем је креиран.\n" +"\n" +"%s\n" +"\n" +"Ðко наÑтавиш Ñа отварањем, биће пребачен у тренутни Годот фајл формат за " +"подешавања.\n" +"Упозорење: Више нећеш бити у Ñтању да отвориш пројекат у претходним " +"верзијама Годот-а." #: editor/project_manager.cpp +#, fuzzy msgid "" "The following project settings file was generated by an older engine " "version, and needs to be converted for this version:\n" @@ -10229,12 +10904,23 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" +"Ðаведени фајл Ñа подешавањима пројекта је креиран од Ñтране Ñтарије верзује " +"Годот-а, и треба га пребацити у ову верзију:\n" +"\n" +"%s\n" +"\n" +"Желиш то да извршиш пребацивање?\n" +"Упозорење: Више нећеш бити у Ñтању да отвориш пројекат Ñа преходном верзијом " +"Годот-а." #: editor/project_manager.cpp +#, fuzzy msgid "" "The project settings were created by a newer engine version, whose settings " "are not compatible with this version." msgstr "" +"Подешавања пројекта Ñу креирана Ñа новијом верзијом Годот-а, која ниÑу " +"доÑтупна у овој верзији." #: editor/project_manager.cpp #, fuzzy @@ -10248,44 +10934,64 @@ msgstr "" "„апликација“." #: editor/project_manager.cpp +#, fuzzy msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"Пројекат није могуће покренути: СредÑтва морају бити увезена.\n" +"Молимо измени пројекат да активираш иницијални увоз." #: editor/project_manager.cpp +#, fuzzy msgid "Are you sure to run %d projects at once?" -msgstr "" +msgstr "Да ли Ñигурно желиш да покренеш %d пројеката одједном?" #: editor/project_manager.cpp +#, fuzzy msgid "" "Remove %d projects from the list?\n" "The project folders' contents won't be modified." msgstr "" +"Уклони %d пројекте Ñа лиÑте?\n" +"Садржај фолдера пројекта неће бити измењен." #: editor/project_manager.cpp +#, fuzzy msgid "" "Remove this project from the list?\n" "The project folder's contents won't be modified." msgstr "" +"Уклони овај пројекат Ñа лиÑте?\n" +"Садржај фолдера пројекта неће бити измењен." #: editor/project_manager.cpp +#, fuzzy msgid "" "Remove all missing projects from the list?\n" "The project folders' contents won't be modified." msgstr "" +"Уклони Ñве изгубљене пројекте Ñа лиÑте?\n" +"Садржај фолдера пројекта неће бити измењен." #: editor/project_manager.cpp +#, fuzzy msgid "" "Language changed.\n" "The interface will update after restarting the editor or project manager." msgstr "" +"Језик промењен.\n" +"Изглед ће бити ажуриран поÑле реÑтартовања уредника или менеџера пројекта." #: editor/project_manager.cpp +#, fuzzy msgid "" "Are you sure to scan %s folders for existing Godot projects?\n" "This could take a while." msgstr "" +"Да ли Ñигурно желиш да прегледаш %s фолдере у потрази за поÑтојећим Годот " +"пројектима?\n" +"Ово може потрајати." #: editor/project_manager.cpp msgid "Project Manager" @@ -10294,350 +11000,434 @@ msgstr "Менаџер пројекта" #: editor/project_manager.cpp #, fuzzy msgid "Projects" -msgstr "Пројекат" +msgstr "Пројекти" #: editor/project_manager.cpp +#, fuzzy msgid "Last Modified" -msgstr "" +msgstr "Задњи Измењен" #: editor/project_manager.cpp +#, fuzzy msgid "Scan" -msgstr "" +msgstr "Претрага" #: editor/project_manager.cpp +#, fuzzy msgid "Select a Folder to Scan" -msgstr "" +msgstr "Одабери Фолдер за Претрагу" #: editor/project_manager.cpp +#, fuzzy msgid "New Project" -msgstr "" +msgstr "Ðов Порјекат" #: editor/project_manager.cpp #, fuzzy msgid "Remove Missing" -msgstr "Обриши тачку" +msgstr "Обриши Изгубњено" #: editor/project_manager.cpp +#, fuzzy msgid "Templates" -msgstr "" +msgstr "ОбразÑи" #: editor/project_manager.cpp +#, fuzzy msgid "Restart Now" -msgstr "" +msgstr "РеÑтартуј Сада" #: editor/project_manager.cpp +#, fuzzy msgid "Can't run project" -msgstr "" +msgstr "Пројекат није могуће покренути" #: editor/project_manager.cpp +#, fuzzy msgid "" "You currently don't have any projects.\n" "Would you like to explore official example projects in the Asset Library?" msgstr "" +"Тренутно немаш ни један пројекат.\n" +"Желиш ли да изтражиш званичне примере пројеката из Библиотеке СредÑтава?" #: editor/project_manager.cpp +#, fuzzy msgid "" "The search box filters projects by name and last path component.\n" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"Оквир за претрагу пробира пројекте на оÑнову имена и поÑледњег дела путање.\n" +"За пробирање на оÑнову имену и целе путање, упит мора Ñадржати бар један `/` " +"карактер." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Key " -msgstr "" +msgstr "Кључ" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Joy Button" -msgstr "" +msgstr "ÐÐ¾Ñ˜Ñ Ð´ÑƒÐ³Ð¼Ð¸Ð¶" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Joy Axis" -msgstr "" +msgstr "ÐÐ¾Ñ˜Ñ ÐžÑе" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Mouse Button" -msgstr "" +msgstr "Миш Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" +"Ðеважеће име акције. Ðе може бити празно или Ñадржати '/', ':', '=', '\\' " +"или '\"'" #: editor/project_settings_editor.cpp #, fuzzy msgid "An action with the name '%s' already exists." -msgstr "Грешка: име анимације већ поÑтоји!" +msgstr "Радња Ñа именом '%s' већ поÑтоји." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Rename Input Action Event" -msgstr "" +msgstr "Преименуј Догађај Улазне Радње" #: editor/project_settings_editor.cpp #, fuzzy msgid "Change Action deadzone" -msgstr "Измени име анимације:" +msgstr "Измени мртву-зону Радње" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Add Input Action Event" -msgstr "" +msgstr "Додај Догађај Улазне Радње" #: editor/project_settings_editor.cpp +#, fuzzy msgid "All Devices" -msgstr "" +msgstr "Сви Уређаји" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Device" -msgstr "" +msgstr "Уређаји" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +#, fuzzy msgid "Press a Key..." -msgstr "" +msgstr "СтиÑни Дугме..." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Mouse Button Index:" -msgstr "" +msgstr "Миш Дугме ИндекÑ" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Left Button" -msgstr "" +msgstr "Лево Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Right Button" -msgstr "" +msgstr "ДеÑно Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Middle Button" -msgstr "" +msgstr "Средње Дугма" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Wheel Up Button" -msgstr "" +msgstr "Точкић Горе Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Wheel Down Button" -msgstr "" +msgstr "Точкић Доле Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Wheel Left Button" -msgstr "" +msgstr "Точкић Лево Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Wheel Right Button" -msgstr "" +msgstr "Точкић ДеÑно Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "X Button 1" -msgstr "" +msgstr "X Дугме 1" #: editor/project_settings_editor.cpp +#, fuzzy msgid "X Button 2" -msgstr "" +msgstr "X Дугме 2" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Joypad Axis Index:" -msgstr "" +msgstr "Ðојпад ОÑа ИндекÑ:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Axis" -msgstr "" +msgstr "ОÑе" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Joypad Button Index:" -msgstr "" +msgstr "Ðојпад Дугме ИндекÑ:" #: editor/project_settings_editor.cpp #, fuzzy msgid "Erase Input Action" -msgstr "Обриши одабрано" +msgstr "Обриши Улазну Радњу" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Erase Input Action Event" -msgstr "" +msgstr "Обриши Догађај Улазне Радње" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Add Event" -msgstr "" +msgstr "Додај Догађај" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Button" -msgstr "" +msgstr "Дугме" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Left Button." -msgstr "" +msgstr "Лево Дугме." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Right Button." -msgstr "" +msgstr "ДеÑно Дугме." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Middle Button." -msgstr "" +msgstr "Средње Дугме." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Wheel Up." -msgstr "" +msgstr "Точкић Горе." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Wheel Down." -msgstr "" +msgstr "Точкић Доле." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Add Global Property" -msgstr "" +msgstr "Додај Глобалну ОÑобину" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Select a setting item first!" -msgstr "" +msgstr "Прво одабери подешавање предмета!" #: editor/project_settings_editor.cpp +#, fuzzy msgid "No property '%s' exists." -msgstr "" +msgstr "ОÑобина %s' не поÑтоји." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "Подешавање '%s' је унутрашње, и не може бити обриÑано." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Delete Item" -msgstr "" +msgstr "Обриши Предмет" #: editor/project_settings_editor.cpp +#, fuzzy msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." msgstr "" +"Ðеважеће име радње. Ðе може бити празно или Ñадржати '/', ':', '=', '\\' или " +"'\"'." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Add Input Action" -msgstr "" +msgstr "Додај Улазну Радњу" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Error saving settings." -msgstr "" +msgstr "Грешка при памћењу подешавања." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Settings saved OK." -msgstr "" +msgstr "Подешавања уÑпешно упамћена." #: editor/project_settings_editor.cpp #, fuzzy msgid "Moved Input Action Event" -msgstr "Обриши одабрано" +msgstr "Померен Догађај Улазне Радње" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Override for Feature" -msgstr "" +msgstr "Препиши за ОÑобину" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Add Translation" -msgstr "" +msgstr "Додај Превод" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Remove Translation" -msgstr "" +msgstr "Обриши Превод" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Add Remapped Path" -msgstr "" +msgstr "Додај Преправљену Путању" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Resource Remap Add Remap" -msgstr "" +msgstr "РеÑÑƒÑ€Ñ ÐŸÑ€ÐµÐ¿Ñ€Ð°Ð²ÐºÐ° Додај Преправку" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Change Resource Remap Language" -msgstr "" +msgstr "Промени Језик РеÑÑƒÑ€Ñ ÐŸÑ€ÐµÐ¿Ñ€Ð°Ð²ÐºÐµ" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Remove Resource Remap" -msgstr "" +msgstr "Уклони РеÑÑƒÑ€Ñ ÐŸÑ€ÐµÐ¿Ñ€Ð°Ð²ÐºÑƒ" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Remove Resource Remap Option" -msgstr "" +msgstr "Уклони Опцију РеÑÑƒÑ€Ñ ÐŸÑ€ÐµÐ¿Ñ€Ð°Ð²ÐºÐµ" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Changed Locale Filter" -msgstr "" +msgstr "Измењен Локални Пробирач" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "Измењен Локални Режим Пробирања" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Project Settings (project.godot)" -msgstr "" +msgstr "Подешавања Пројекта (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "Генерална" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Override For..." -msgstr "" +msgstr "Препиши За..." #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +#, fuzzy msgid "The editor must be restarted for changes to take effect." -msgstr "" +msgstr "Уредник мора бити реÑтартован да би наÑтупиле промене." #: editor/project_settings_editor.cpp +#, fuzzy msgid "Input Map" -msgstr "" +msgstr "Мапа Улаза" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Action:" -msgstr "" +msgstr "Радња:" #: editor/project_settings_editor.cpp #, fuzzy msgid "Action" -msgstr "Помери акцију" +msgstr "Радња" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Deadzone" -msgstr "" +msgstr "Мртва-зона" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Device:" -msgstr "" +msgstr "Уређај:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Index:" -msgstr "" +msgstr "ИндекÑ:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Localization" -msgstr "" +msgstr "Локализација" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Translations" -msgstr "" +msgstr "Превод" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Translations:" -msgstr "" +msgstr "Преводи:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Remaps" -msgstr "" +msgstr "Преправке" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Resources:" -msgstr "" +msgstr "РеÑурÑи:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Remaps by Locale:" -msgstr "" +msgstr "Локалне Преправке:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Locale" -msgstr "" +msgstr "Локал" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Locales Filter" -msgstr "" +msgstr "Локални Пробирачи" #: editor/project_settings_editor.cpp #, fuzzy @@ -10650,16 +11440,19 @@ msgid "Show Selected Locales Only" msgstr "Само одабрано" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Filter mode:" -msgstr "" +msgstr "Режим Пробирања:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Locales:" -msgstr "" +msgstr "Локал:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "AutoLoad" -msgstr "" +msgstr "Ðуто-Учитавање" #: editor/project_settings_editor.cpp msgid "Plugins" @@ -10670,125 +11463,146 @@ msgid "Preset..." msgstr "ПоÑтавке..." #: editor/property_editor.cpp +#, fuzzy msgid "Zero" -msgstr "" +msgstr "Ðула" #: editor/property_editor.cpp +#, fuzzy msgid "Easing In-Out" -msgstr "" +msgstr "Ублажавање У-Од" #: editor/property_editor.cpp +#, fuzzy msgid "Easing Out-In" -msgstr "" +msgstr "Ублажавање Од-У" #: editor/property_editor.cpp +#, fuzzy msgid "File..." -msgstr "" +msgstr "Фајл..." #: editor/property_editor.cpp +#, fuzzy msgid "Dir..." -msgstr "" +msgstr "Дир..." #: editor/property_editor.cpp +#, fuzzy msgid "Assign" -msgstr "" +msgstr "Додели" #: editor/property_editor.cpp +#, fuzzy msgid "Select Node" -msgstr "" +msgstr "Одабери Чвор" #: editor/property_editor.cpp +#, fuzzy msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "Гречка при учитавању фајла: Ðије реÑурÑ!" #: editor/property_editor.cpp +#, fuzzy msgid "Pick a Node" -msgstr "" +msgstr "Одабери Чвор" #: editor/property_editor.cpp +#, fuzzy msgid "Bit %d, val %d." -msgstr "" +msgstr "Бит %d, вредноÑÑ‚ %d." #: editor/property_selector.cpp +#, fuzzy msgid "Select Property" -msgstr "" +msgstr "Одабери ОÑобину" #: editor/property_selector.cpp +#, fuzzy msgid "Select Virtual Method" -msgstr "" +msgstr "Одабери Виртуелну Методу" #: editor/property_selector.cpp +#, fuzzy msgid "Select Method" -msgstr "" +msgstr "Одабери Методу" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "Batch Rename" -msgstr "Преименуј" +msgstr "Преименуј Гомилу" #: editor/rename_dialog.cpp +#, fuzzy msgid "Prefix" -msgstr "" +msgstr "Предметак" #: editor/rename_dialog.cpp +#, fuzzy msgid "Suffix" -msgstr "" +msgstr "ÐаÑтавак" #: editor/rename_dialog.cpp #, fuzzy msgid "Use Regular Expressions" -msgstr "ПоÑтави правоугаони регион" +msgstr "КориÑти Регуларне Изразе" #: editor/rename_dialog.cpp #, fuzzy msgid "Advanced Options" -msgstr "ПоÑтавке залепљавања" +msgstr "Ðапредне ПоÑтавке" #: editor/rename_dialog.cpp +#, fuzzy msgid "Substitute" -msgstr "" +msgstr "Замена" #: editor/rename_dialog.cpp #, fuzzy msgid "Node name" -msgstr "Име чвора:" +msgstr "Име Чвора" #: editor/rename_dialog.cpp +#, fuzzy msgid "Node's parent name, if available" -msgstr "" +msgstr "Чворово име оца, ако је доÑтупно" #: editor/rename_dialog.cpp #, fuzzy msgid "Node type" -msgstr "Име чвора:" +msgstr "Ð’Ñ€Ñта Чвора" #: editor/rename_dialog.cpp #, fuzzy msgid "Current scene name" -msgstr "Тренутна Ñцена није Ñачувана. Ипак отвори?" +msgstr "Име тренутне Ñцене" #: editor/rename_dialog.cpp #, fuzzy msgid "Root node name" -msgstr "Преименуј" +msgstr "Име кореног нода" #: editor/rename_dialog.cpp +#, fuzzy msgid "" "Sequential integer counter.\n" "Compare counter options." -msgstr "" +msgstr "Редни бројач интиџера" #: editor/rename_dialog.cpp +#, fuzzy msgid "Per-level Counter" -msgstr "" +msgstr "Пред-Ðиво Бројач" #: editor/rename_dialog.cpp +#, fuzzy msgid "If set the counter restarts for each group of child nodes" -msgstr "" +msgstr "Ðко је поÑтављен, бројач Ñе реÑтартује за Ñваку групу деце чворова" #: editor/rename_dialog.cpp +#, fuzzy msgid "Initial value for the counter" -msgstr "" +msgstr "Иницијална вредноÑÑ‚ бројача" #: editor/rename_dialog.cpp #, fuzzy @@ -10796,38 +11610,48 @@ msgid "Step" msgstr "Корак:" #: editor/rename_dialog.cpp +#, fuzzy msgid "Amount by which counter is incremented for each node" -msgstr "" +msgstr "Ð˜Ð·Ð½Ð¾Ñ Ð·Ð° који је бројач увећан за Ñваки Чвор" #: editor/rename_dialog.cpp +#, fuzzy msgid "Padding" -msgstr "" +msgstr " Пуњење" #: editor/rename_dialog.cpp +#, fuzzy msgid "" "Minimum number of digits for the counter.\n" "Missing digits are padded with leading zeros." msgstr "" +"Ðајмањи број цифара за Ñваки бројач.\n" +"ÐедоÑтатак цифара је попуњен водећим нулама." #: editor/rename_dialog.cpp +#, fuzzy msgid "Post-Process" -msgstr "" +msgstr "Ðакон-Обраде" #: editor/rename_dialog.cpp +#, fuzzy msgid "Keep" -msgstr "" +msgstr "Задржи" #: editor/rename_dialog.cpp +#, fuzzy msgid "PascalCase to snake_case" -msgstr "" +msgstr "ПаÑÐºÐ°Ð»Ð—Ð°Ð¿Ð¸Ñ Ñƒ змија_запиÑ" #: editor/rename_dialog.cpp +#, fuzzy msgid "snake_case to PascalCase" -msgstr "" +msgstr "змија_Ð·Ð°Ð¿Ð¸Ñ Ñƒ ПаÑкалЗапиÑ" #: editor/rename_dialog.cpp +#, fuzzy msgid "Case" -msgstr "" +msgstr "ЗапиÑ" #: editor/rename_dialog.cpp #, fuzzy @@ -10845,155 +11669,193 @@ msgid "Reset" msgstr "РеÑетуј увеличање" #: editor/rename_dialog.cpp +#, fuzzy msgid "Regular Expression Error" -msgstr "" +msgstr "Регуларни Израз Грешка" #: editor/rename_dialog.cpp #, fuzzy msgid "At character %s" -msgstr "Важећа Ñлова:" +msgstr "Код карактера %s" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +#, fuzzy msgid "Reparent Node" -msgstr "" +msgstr "Промени оца Чвору" #: editor/reparent_dialog.cpp +#, fuzzy msgid "Reparent Location (Select new Parent):" -msgstr "" +msgstr "Промени оца Локацији (Одабери новог Оца):" #: editor/reparent_dialog.cpp +#, fuzzy msgid "Keep Global Transform" -msgstr "" +msgstr "Сачувај Глобалну ТранÑформу" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +#, fuzzy msgid "Reparent" -msgstr "" +msgstr "Промени оца" #: editor/run_settings_dialog.cpp +#, fuzzy msgid "Run Mode:" -msgstr "" +msgstr "Режим Кретања:" #: editor/run_settings_dialog.cpp +#, fuzzy msgid "Current Scene" -msgstr "" +msgstr "Тренутна Сцена" #: editor/run_settings_dialog.cpp +#, fuzzy msgid "Main Scene" -msgstr "" +msgstr "Главна Сцена" #: editor/run_settings_dialog.cpp +#, fuzzy msgid "Main Scene Arguments:" -msgstr "" +msgstr "Ðргументи Главне Сцене" #: editor/run_settings_dialog.cpp +#, fuzzy msgid "Scene Run Settings" -msgstr "" +msgstr "Подешавања Сцене Кретања" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "No parent to instance the scenes at." -msgstr "" +msgstr "Ðема оца где би Ñцена била инÑтанцирана" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Error loading scene from %s" -msgstr "" +msgstr "Грешка при учитавању Ñцене из %s" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "" "Cannot instance the scene '%s' because the current scene exists within one " "of its nodes." msgstr "" +"Ðемогуће инÑтанцирање Ñцене '%s' јер трентутна Ñцене поÑтоји унутар једаног " +"од њених Чворова." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Instance Scene(s)" -msgstr "" +msgstr "Сцена/е ИнÑтанца" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Replace with Branch Scene" -msgstr "" +msgstr "Замени Ñа Граном Сцене" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Instance Child Scene" -msgstr "" +msgstr "ИнÑтанца Сцена Дете" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Припој Скрипту" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "This operation can't be done on the tree root." -msgstr "" +msgstr "Операције не може бити извржена над кореном дрвета." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Move Node In Parent" -msgstr "" +msgstr "Пребаци Чвор код Родитеља" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Move Nodes In Parent" -msgstr "" +msgstr "Пребаци Чворове код Родитеља" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Duplicate Node(s)" -msgstr "" +msgstr "УдвоÑтручи Чвор/ове" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." msgstr "" +"ÐеуÑпело додељивање родитеља чвору у наÑлеђеним Ñценама, редоÑлед чворова Ñе " +"не може мењати." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Node must belong to the edited scene to become root." -msgstr "" +msgstr "Чвор мора припадати измењеној Ñцени да би поÑтао корен." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Instantiated scenes can't become root" -msgstr "" +msgstr "ИнÑтанциране Ñцене не могу бити корен" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Make node as Root" -msgstr "Сачувај Ñцену" +msgstr "Ðаправи Корен од чвора" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Delete %d nodes?" -msgstr "Ðаправи чвор" +msgstr "Обриши %d чворове?" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Delete the root node \"%s\"?" -msgstr "Обриши чвор/ове графа шејдера" +msgstr "Обриши корени чвор \"%s\"?" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Delete node \"%s\" and its children?" -msgstr "" +msgstr "Обриши чвор \"%s\" и његову децу?" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Delete node \"%s\"?" -msgstr "Ðаправи чвор" +msgstr "Обриши чвор \"%s\"?" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Can not perform with the root node." -msgstr "" +msgstr "Ðемогуће извршити Ñа кореним чвором." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "This operation can't be done on instanced scenes." -msgstr "" +msgstr "Операција не може бити извршена на инÑтанцираној Ñцени." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Save New Scene As..." -msgstr "" +msgstr "Упамти Ðову Сцену Као..." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." msgstr "" +"Онемогућивање \"измењиве_инÑтанце\" ће проузроковати да Ñва подешавања чвора " +"буду повраћена на уобичајена." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "" "Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " "cause all properties of the node to be reverted to their default." msgstr "" +"Омогућавање \"Учитај Као МеÑточувца\" ће онемогућити \"Измељива Деца\" и " +"проузтоковати Ñва подешавања чвора да буду враћена на уобичајена." #: editor/scene_tree_dock.cpp #, fuzzy @@ -11003,272 +11865,333 @@ msgstr "Ðаправи коÑти" #: editor/scene_tree_dock.cpp #, fuzzy msgid "New Scene Root" -msgstr "Сачувај Ñцену" +msgstr "Ðови Корен Сцене" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Create Root Node:" -msgstr "Ðаправи чвор" +msgstr "Ðаправи корени чвор:" #: editor/scene_tree_dock.cpp #, fuzzy msgid "2D Scene" -msgstr "Сцена" +msgstr "2Д Сцена" #: editor/scene_tree_dock.cpp #, fuzzy msgid "3D Scene" -msgstr "Сцена" +msgstr "3Д Сцена" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "User Interface" -msgstr "" +msgstr "КориÑнички ИнтерфејÑ" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Other Node" -msgstr "Ðаправи чвор" +msgstr "Други Чвор" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Can't operate on nodes from a foreign scene!" -msgstr "" +msgstr "Ðемогуће опериÑати на чвору из Ñтране Ñцене!" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" +msgstr "Ðемогуће опериÑати на чворовима од којих тренутна Ñцена наÑлеђује!" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Attach Script" -msgstr "" +msgstr "Припој Скрипту" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Remove Node(s)" -msgstr "" +msgstr "Уклони Чвор/ове" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Change type of node(s)" -msgstr "Промени улазно име" +msgstr "Промени врÑту чвора/ова" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "" "Couldn't save new scene. Likely dependencies (instances) couldn't be " "satisfied." msgstr "" +"ÐеуÑпело памћене Ñцене. Вероватно завиÑноÑти (инÑтанце) ниÑу задовољени." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Error saving scene." -msgstr "" +msgstr "Грешка памћена Ñцена." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Error duplicating scene to save it." -msgstr "" +msgstr "Грешка удвоÑтручивање Ñцене ради памћења." #: editor/scene_tree_dock.cpp #, fuzzy msgid "Sub-Resources" -msgstr "РеÑурÑи" +msgstr "Под-РеÑурÑи" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Clear Inheritance" -msgstr "" +msgstr "ОчиÑти ÐаÑлеђивања" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Editable Children" -msgstr "" +msgstr "Измењиа Деца" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Load As Placeholder" -msgstr "" +msgstr "Учитај као МеÑточувца" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Open Documentation" -msgstr "Отвори Godot онлајн документацију" +msgstr "Отвори Документацију" #: editor/scene_tree_dock.cpp -msgid "Add Child Node" +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." msgstr "" #: editor/scene_tree_dock.cpp #, fuzzy +msgid "Add Child Node" +msgstr "Додај Дете Члан" + +#: editor/scene_tree_dock.cpp +#, fuzzy msgid "Expand/Collapse All" -msgstr "Умањи Ñве" +msgstr "Откриј/Сакриј Све" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Change Type" -msgstr "" +msgstr "Промени Тип" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Reparent to New Node" -msgstr "Ðаправи нов" +msgstr "Промени Родитеља Ðовом Чвору" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Make Scene Root" -msgstr "Сачувај Ñцену" +msgstr "Ðаправи Корен Сцене" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Merge From Scene" -msgstr "" +msgstr "Припоји из Сцене" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp +#, fuzzy msgid "Save Branch as Scene" -msgstr "" +msgstr "Упамти Грану као Сцену" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp +#, fuzzy msgid "Copy Node Path" -msgstr "" +msgstr "Копирај Путању Чвора" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Delete (No Confirm)" -msgstr "" +msgstr "Обриши (Без Потврде)" #: editor/scene_tree_dock.cpp #, fuzzy msgid "Add/Create a New Node." -msgstr "Ðаправи нов" +msgstr "Додај/Ðаправи Ðов Члан." #: editor/scene_tree_dock.cpp +#, fuzzy msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." msgstr "" +"ИнÑтанцирај ÑценÑке фајлова као Чвор. Креирај наÑлеђену Ñцену ако корени " +"чвор поÑтоји." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "" +#, fuzzy +msgid "Attach a new or existing script to the selected node." +msgstr "Припој нову или поÑтојећу Ñкрпту за одабрани чвор." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" +#, fuzzy +msgid "Detach the script from the selected node." +msgstr "ОчиÑти Ñкрипту за одабрани чвор." #: editor/scene_tree_dock.cpp msgid "Remote" msgstr "Удаљени уређај" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Local" -msgstr "" +msgstr "Локално" #: editor/scene_tree_dock.cpp +#, fuzzy msgid "Clear Inheritance? (No Undo!)" -msgstr "" +msgstr "ОчиÑти ÐаÑледÑтва? (Ðема Ðазад!)" #: editor/scene_tree_editor.cpp #, fuzzy msgid "Toggle Visible" -msgstr "Прикажи Ñакривене датотеке" +msgstr "Прикажи Сакривене" #: editor/scene_tree_editor.cpp #, fuzzy msgid "Unlock Node" -msgstr "OneShot чвор" +msgstr "Откључај Чвор" #: editor/scene_tree_editor.cpp #, fuzzy msgid "Button Group" -msgstr "Додај у групу" +msgstr "Група Дугмића" #: editor/scene_tree_editor.cpp #, fuzzy msgid "(Connecting From)" -msgstr "Повезивање не уÑпешно" +msgstr "(Повезивање од)" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Node configuration warning:" -msgstr "" +msgstr "Подешавања чвора упозорење:" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" +"Чвор има %s конекцију/је и %s групу(е).\n" +"Кликни да прикажеш приÑтаниште Ñигнала." #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "Node has %s connection(s).\n" "Click to show signals dock." msgstr "" +"Чвор има %s конекцију(е).\n" +"Кликни да прикажеш приÑтаниште Ñигнала." #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "Node is in %s group(s).\n" "Click to show groups dock." msgstr "" +"Чвор је у %s групи/ама.\n" +"Кликни да прикажеш приÑтаниште групе." #: editor/scene_tree_editor.cpp #, fuzzy msgid "Open Script:" -msgstr "Покрени Ñкриптицу" +msgstr "Отвори Скрипту:" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "Node is locked.\n" "Click to unlock it." msgstr "" +"Чвор је закључан.\n" +"Кликни да га откључаш." #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" +"Деца ниÑу одабирљива.\n" +"Кликни да их начиниш одабирљивим." #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Toggle Visibility" -msgstr "" +msgstr "Укљ/ИÑкљ ВидљивоÑÑ‚" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" +"ÐнимациониПлејер је закачен.\n" +"Кликни да га откачиш." #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Invalid node name, the following characters are not allowed:" -msgstr "" +msgstr "Ðеважеће име чвора, Ñледећи карактери ниÑу дозвољени:" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Rename Node" -msgstr "" +msgstr "Преименуј Чвор" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Scene Tree (Nodes):" -msgstr "" +msgstr "Стабло Сцене (Чворови):" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Node Configuration Warning!" -msgstr "" +msgstr "Чворови Конфигурација Упозорење!" #: editor/scene_tree_editor.cpp +#, fuzzy msgid "Select a Node" -msgstr "" +msgstr "Одабери Чвор" #: editor/script_create_dialog.cpp #, fuzzy msgid "Path is empty." -msgstr "Мрежа је празна!" +msgstr "Путања је празна." #: editor/script_create_dialog.cpp #, fuzzy msgid "Filename is empty." -msgstr "Мрежа је празна!" +msgstr "Име фајла је празно." #: editor/script_create_dialog.cpp #, fuzzy msgid "Path is not local." -msgstr "Путања не води ка чвору!" +msgstr "Путања није локална." #: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid base path." -msgstr "Ðеважећи пут." +msgstr "Ðеважећа оÑновна путања." #: editor/script_create_dialog.cpp #, fuzzy msgid "A directory with the same name exists." -msgstr "Датотека или директоријум Ñа овим именом већ поÑтоји." +msgstr "Већ поÑтоји директоријум Ñа овим именом." + +#: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Датотека не поÑтоји." #: editor/script_create_dialog.cpp #, fuzzy @@ -11276,575 +12199,670 @@ msgid "Invalid extension." msgstr "Мора Ñе кориÑтити важећа екÑтензија." #: editor/script_create_dialog.cpp +#, fuzzy msgid "Wrong extension chosen." -msgstr "" +msgstr "Одабарна погрешна екÑтензија." #: editor/script_create_dialog.cpp +#, fuzzy msgid "Error loading template '%s'" -msgstr "" +msgstr "Грешка при учитавању нацрта '%s'" #: editor/script_create_dialog.cpp +#, fuzzy msgid "Error - Could not create script in filesystem." -msgstr "" +msgstr "Грешка - ÐеуÑпело креирање Ñкрипте у фајл ÑиÑтему." #: editor/script_create_dialog.cpp +#, fuzzy msgid "Error loading script from %s" -msgstr "" +msgstr "Грешка при учитавању Ñкрипте из %s" #: editor/script_create_dialog.cpp +#, fuzzy msgid "Overrides" -msgstr "" +msgstr "ПрепиÑке" #: editor/script_create_dialog.cpp +#, fuzzy msgid "N/A" -msgstr "" +msgstr "Ðије ДоÑтупно" #: editor/script_create_dialog.cpp #, fuzzy msgid "Open Script / Choose Location" -msgstr "Отвори уредник Ñкриптица" +msgstr "Отвори Скрипту / Одабери Локацију" #: editor/script_create_dialog.cpp #, fuzzy msgid "Open Script" -msgstr "Покрени Ñкриптицу" +msgstr "Отвори Скрипту" #: editor/script_create_dialog.cpp +#, fuzzy msgid "File exists, it will be reused." -msgstr "" +msgstr "Фајл поÑтоји, биће поново употребљен." + +#: editor/script_create_dialog.cpp +#, fuzzy +msgid "Invalid path." +msgstr "Ðеважећи пут." #: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid class name." -msgstr "Ðеважеће име." +msgstr "Ðеважеће име клаÑе." #: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid inherited parent name or path." -msgstr "" +msgstr "Ðеважеће наÑлеђено име од родитеља или путање." #: editor/script_create_dialog.cpp #, fuzzy msgid "Script path/name is valid." -msgstr "Ðнимационо дрво је важеће." +msgstr "Важеће име/путања Ñкрипте." #: editor/script_create_dialog.cpp +#, fuzzy msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "" +msgstr "Дозвољено: a-z, A-Z, 0-9, _ и ." #: editor/script_create_dialog.cpp #, fuzzy msgid "Built-in script (into scene file)." -msgstr "Операције Ñа датотекама Ñцена." +msgstr "Уграђена Ñкрипта (у фајл Ñцене)." #: editor/script_create_dialog.cpp #, fuzzy msgid "Will create a new script file." -msgstr "Ðаправи нов" +msgstr "Биће креиран нов фајл Ñкирпте." #: editor/script_create_dialog.cpp #, fuzzy msgid "Will load an existing script file." -msgstr "Учитај поÑтојећи Ð±Ð°Ñ Ñ€Ð°Ñпоред." +msgstr "Биће учитан поÑтојећи фајл Ñкрипте." #: editor/script_create_dialog.cpp #, fuzzy msgid "Script file already exists." -msgstr "ÐутоматÑко учитавање '%s' већ поÑтоји!" +msgstr "Фајл Ñкрипте већ поÑтоји." #: editor/script_create_dialog.cpp +#, fuzzy msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." msgstr "" +"Ðапомена: Уграђене Ñкрипте имају неке границе и не могу бити измењене " +"кориÑтећи уредник." #: editor/script_create_dialog.cpp #, fuzzy msgid "Class Name:" -msgstr "КлаÑа:" +msgstr "Име КлаÑе:" #: editor/script_create_dialog.cpp #, fuzzy msgid "Template:" -msgstr "Обриши шаблон" +msgstr "Ðацрт:" #: editor/script_create_dialog.cpp #, fuzzy msgid "Built-in Script:" -msgstr "Покрени Ñкриптицу" +msgstr "Уграђена Скрипта:" #: editor/script_create_dialog.cpp +#, fuzzy msgid "Attach Node Script" -msgstr "" +msgstr "Припој Чвор Скрипту" #: editor/script_editor_debugger.cpp msgid "Remote " msgstr "Удаљени уређај " #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Bytes:" -msgstr "" +msgstr "Бајтови:" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Warning:" -msgstr "" +msgstr "Упозорење:" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Error:" -msgstr "Грешка" +msgstr "Грешка:" #: editor/script_editor_debugger.cpp #, fuzzy msgid "C++ Error" -msgstr "Учитај грешке" +msgstr "C++ Грешке" #: editor/script_editor_debugger.cpp #, fuzzy msgid "C++ Error:" -msgstr "Учитај грешке" +msgstr "C++ Грешке:" #: editor/script_editor_debugger.cpp #, fuzzy msgid "C++ Source" -msgstr "" -"\n" -"Извор: " +msgstr "C++ Извор" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Source:" -msgstr "" -"\n" -"Извор: " +msgstr "Извор:" #: editor/script_editor_debugger.cpp #, fuzzy msgid "C++ Source:" -msgstr "" -"\n" -"Извор: " +msgstr "C++ Извор:" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Stack Trace" -msgstr "" +msgstr "Потражна ÐаÑлага" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Errors" -msgstr "" +msgstr "Грешке" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Child process connected." -msgstr "Веза прекинута" +msgstr "Дете процез повезан." #: editor/script_editor_debugger.cpp #, fuzzy msgid "Copy Error" -msgstr "Учитај грешке" +msgstr "Копирај Грешку" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Video RAM" -msgstr "" +msgstr "Видео RAM" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Skip Breakpoints" -msgstr "Обриши тачке" +msgstr "ПреÑкочи тачке-прекида" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Inspect Previous Instance" -msgstr "" +msgstr "ИÑтражи Претходну ИнÑтанцу" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Inspect Next Instance" -msgstr "" +msgstr "ИÑтражи Ðаредну ИнÑтанцу" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Stack Frames" -msgstr "" +msgstr "ÐаÑлага Фрејмова" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Profiler" -msgstr "" +msgstr "ОÑматрач" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Network Profiler" -msgstr "Извези пројекат" +msgstr "Мрежни ОÑматрач" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Monitor" -msgstr "" +msgstr "Монитор" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Value" -msgstr "" +msgstr "ВредноÑÑ‚" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Monitors" -msgstr "" +msgstr "Монитори" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "Одабери један или више предмета Ñа лиÑте за приказ графикона." #: editor/script_editor_debugger.cpp +#, fuzzy msgid "List of Video Memory Usage by Resource:" -msgstr "" +msgstr "ЛиÑта Видео Утрошка Меморије од Ñтране РеÑурÑа:" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Total:" -msgstr "" +msgstr "Укупно:" #: editor/script_editor_debugger.cpp #, fuzzy msgid "Export list to a CSV file" -msgstr "Извези пројекат" +msgstr "Извези лиÑту у CSV фајл" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Resource Path" -msgstr "" +msgstr "Путања РеÑурÑа" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Type" -msgstr "" +msgstr "Ð’Ñ€Ñта" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Format" -msgstr "" +msgstr "Формат" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Usage" -msgstr "" +msgstr "ИÑкориштеноÑÑ‚" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Misc" -msgstr "" +msgstr "ÐеÑврÑтано" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Clicked Control:" -msgstr "" +msgstr "Контрола Кликног:" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Clicked Control Type:" -msgstr "" +msgstr "Ð’Ñ€Ñта Контроле Кликнутог:" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Live Edit Root:" -msgstr "" +msgstr "Измена Корена Уживо:" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Set From Tree" -msgstr "" +msgstr "ПоÑтави Ñа Стабла" #: editor/script_editor_debugger.cpp +#, fuzzy msgid "Export measures as CSV" -msgstr "" +msgstr "Извези мере као CSV" #: editor/settings_config_dialog.cpp #, fuzzy msgid "Erase Shortcut" -msgstr "Излазна транзиција" +msgstr "Обриши Пречицу" #: editor/settings_config_dialog.cpp +#, fuzzy msgid "Restore Shortcut" -msgstr "" +msgstr "Поврати Пречицу" #: editor/settings_config_dialog.cpp #, fuzzy msgid "Change Shortcut" -msgstr "Промени Ñидра" +msgstr "Измени Пречицу" #: editor/settings_config_dialog.cpp msgid "Editor Settings" msgstr "ПоÑтавке уредника" #: editor/settings_config_dialog.cpp +#, fuzzy msgid "Shortcuts" -msgstr "" +msgstr "Пречице" #: editor/settings_config_dialog.cpp +#, fuzzy msgid "Binding" -msgstr "" +msgstr "Спојеви" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Light Radius" -msgstr "" +msgstr "Промени ОпÑег Светла" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "Промени AudioStreamPlayer3D Угао Емитовања" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Camera FOV" -msgstr "" +msgstr "Промени FOV Камере" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Camera Size" -msgstr "" +msgstr "Проемени Велићину Камере" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Notifier AABB" -msgstr "" +msgstr "Промени AABB Обавештајца" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Particles AABB" -msgstr "" +msgstr "Промени AABB ЧеÑтица" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Probe Extents" -msgstr "" +msgstr "Промени ÐаÑтавке Сонде" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +#, fuzzy msgid "Change Sphere Shape Radius" -msgstr "" +msgstr "Промени ОпÑег ЛоптаÑтог Облика" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +#, fuzzy msgid "Change Box Shape Extents" -msgstr "" +msgstr "Промени ÐаÑтавке Кутија Облика" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Capsule Shape Radius" -msgstr "" +msgstr "Промени ОпÑег КапÑула Облика" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Capsule Shape Height" -msgstr "" +msgstr "Промени ВиÑину КапÑула Облика" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Cylinder Shape Radius" -msgstr "" +msgstr "Промени ОпÑег Цилиндар Облика" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Cylinder Shape Height" -msgstr "" +msgstr "Промени ВиÑину Цилиндар Облика" #: editor/spatial_editor_gizmos.cpp +#, fuzzy msgid "Change Ray Shape Length" -msgstr "" +msgstr "Промени Дужину Зрак Облика" #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Radius" -msgstr "Промени време мешања" +msgstr "Промени ОпÑег Цилиндра" #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Cylinder Height" -msgstr "Промени време мешања" +msgstr "Промени ВиÑину Цилиндра" #: modules/csg/csg_gizmos.cpp #, fuzzy msgid "Change Torus Inner Radius" -msgstr "Промени Ñидра и ивице" +msgstr "Промени Унутрашњи ОпÑег ТоруÑа" #: modules/csg/csg_gizmos.cpp +#, fuzzy msgid "Change Torus Outer Radius" -msgstr "" +msgstr "Промени Спољашњи ОпÑег ТоруÑа" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Select the dynamic library for this entry" -msgstr "" +msgstr "Одабери динамичку библиотеку за овај уноÑ" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Select dependencies of the library for this entry" -msgstr "" +msgstr "Одабери завиÑноÑти од библиотеке за овај уноÑ" #: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Remove current entry" -msgstr "Обриши тачку криве" +msgstr "Обриши тренутни уноÑ" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Double click to create a new entry" -msgstr "" +msgstr "Дупли клик да креираш нов уноÑ" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Platform:" -msgstr "" +msgstr "Платформа:" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Platform" -msgstr "" +msgstr "Платформа" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Dynamic Library" -msgstr "" +msgstr "Динамичка Библиотека" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "Add an architecture entry" -msgstr "" +msgstr "Додај архитектуру уноÑ" #: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy msgid "GDNativeLibrary" -msgstr "" +msgstr "GDNativeLibrary" #: modules/gdnative/gdnative_library_singleton_editor.cpp +#, fuzzy msgid "Enabled GDNative Singleton" -msgstr "" +msgstr "Омогућен GDNative Singleton" #: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Disabled GDNative Singleton" -msgstr "ИÑкључи индикатор ажурирања" +msgstr "Онемогућен GDNative Singleton" #: modules/gdnative/gdnative_library_singleton_editor.cpp +#, fuzzy msgid "Library" -msgstr "" +msgstr "Библиотека" #: modules/gdnative/gdnative_library_singleton_editor.cpp +#, fuzzy msgid "Libraries: " -msgstr "" +msgstr "Библиотеке:" #: modules/gdnative/register_types.cpp +#, fuzzy msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Step argument is zero!" -msgstr "" +msgstr "Корак аргуменат је нула!" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Not a script with an instance" -msgstr "" +msgstr "Ðије Ñкрипта Ñа инÑтанцом" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Not based on a script" -msgstr "" +msgstr "Ðије базирано на Ñкрипти" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Not based on a resource file" -msgstr "" +msgstr "Ðије базирано на реÑÑƒÑ€Ñ Ñ„Ð°Ñ˜Ð»Ñƒ" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Invalid instance dictionary format (missing @path)" -msgstr "" +msgstr "Ðеважећа инÑтанца речник формата (недоÑтаје @путања)" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" +"Ðеважећа инÑтанца речник формата (неуÑпешно учитавање Ñкрипте код @путање)" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "" +msgstr "Ðеважећа инÑтанца речник формата (неважећа Ñкрипта на @путања)" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "Ðеважећа инÑтанца речника (неважеће клаÑе)" #: modules/gdscript/gdscript_functions.cpp +#, fuzzy msgid "Object can't provide a length." -msgstr "" +msgstr "Објекат не може Ñнабдети дужину." #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "Next Plane" -msgstr "Следећи таб" +msgstr "Следећа Раван" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "Previous Plane" -msgstr "Претходни таб" +msgstr "Претходна Раван" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Plane:" -msgstr "" +msgstr "Раван:" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Next Floor" -msgstr "" +msgstr "Следећи Спрат" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Previous Floor" msgstr "Претодни Ñпрат" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Floor:" -msgstr "" +msgstr "Спрат:" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "GridMap Delete Selection" -msgstr "" +msgstr "МапаМреже Обриши Одабир" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "GridMap Fill Selection" -msgstr "Све одабрано" +msgstr "МапаМреже ИÑпуни Одабрано" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "GridMap Paste Selection" -msgstr "Све одабрано" +msgstr "МапаМреже налепи Одабрано" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "GridMap Paint" -msgstr "Мапа мреже" +msgstr "МапаМреже Боји" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" msgstr "Мапа мреже" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Snap View" -msgstr "" +msgstr "Залепљив Поглед" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Disabled" -msgstr "" +msgstr "Клип Онемогућен" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Above" -msgstr "" +msgstr "Клип Изнад" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Below" -msgstr "" +msgstr "Клип ИÑпод" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Edit X Axis" -msgstr "" +msgstr "Измени X ОÑу" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Edit Y Axis" -msgstr "" +msgstr "Измени Y ОÑу" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Edit Z Axis" -msgstr "" +msgstr "Измени Z ОÑу" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Rotate X" -msgstr "" +msgstr "КурÑор Ротација X" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Rotate Y" -msgstr "" +msgstr "КурÑор Ротација Y" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Rotate Z" -msgstr "" +msgstr "КурÑор Ротација Z" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate X" -msgstr "" +msgstr "КурÑор Ротација Уназад X" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "КурÑор Ротација Уназад Y" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "КурÑор Ротација Уназад Z" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Clear Rotation" -msgstr "" +msgstr "КурÑор Обриши Ротацију" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "Paste Selects" -msgstr "Обриши одабрано" +msgstr "Ðалепи Одабрано" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clear Selection" @@ -11853,36 +12871,42 @@ msgstr "Обриши избор" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "Fill Selection" -msgstr "Све одабрано" +msgstr "ИÑпуни одабрано" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "GridMap Settings" -msgstr "" +msgstr "МапаМреже Подешавања" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Pick Distance:" -msgstr "" +msgstr "Одабери ОдÑтојање:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy msgid "Filter meshes" -msgstr "ПоÑтавке објекта." +msgstr "Пробери мреже" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Give a MeshLibrary resource to this GridMap to use its meshes." -msgstr "" +msgstr "Дај БиблиотециМрежа реÑÑƒÑ€Ñ Ð¾Ð²Ðµ МапеМреже да кориÑти њене мреже." #: modules/mono/csharp_script.cpp +#, fuzzy msgid "Class name can't be a reserved keyword" -msgstr "" +msgstr "Има КлаÑе не може бити резервиÑана кључна реч" #: modules/mono/mono_gd/gd_mono_utils.cpp +#, fuzzy msgid "End of inner exception stack trace" -msgstr "" +msgstr "Крај Унутрашњег израза потражне наÑлаге" #: modules/recast/navigation_mesh_editor_plugin.cpp +#, fuzzy msgid "Bake NavMesh" -msgstr "" +msgstr "ИÑпеци ÐавМрежу" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -11941,83 +12965,99 @@ msgid "Done!" msgstr "Готово!" #: modules/visual_script/visual_script.cpp +#, fuzzy msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" msgstr "" +"Чвор попуÑтио без радне меморије, молимо прочитајте докуметацију како " +"попуÑтити правило!" #: modules/visual_script/visual_script.cpp +#, fuzzy msgid "" "Node yielded, but did not return a function state in the first working " "memory." -msgstr "" +msgstr "Чвор попуÑтио, али није вратио Ñтање функције у првој радној меморији." #: modules/visual_script/visual_script.cpp +#, fuzzy msgid "" "Return value must be assigned to first element of node working memory! Fix " "your node please." msgstr "" +"Враћена вредноÑÑ‚ мора бити додељена првом елементу члана радне меморије! " +"Молимо поправи чвор." #: modules/visual_script/visual_script.cpp +#, fuzzy msgid "Node returned an invalid sequence output: " -msgstr "" +msgstr "Члан вратио неважећи излаз Ñеквенце:" #: modules/visual_script/visual_script.cpp +#, fuzzy msgid "Found sequence bit but not the node in the stack, report bug!" -msgstr "" +msgstr "Пронађена Ñеквенца битова али не члан наÑлаге, пријави грешку!" #: modules/visual_script/visual_script.cpp +#, fuzzy msgid "Stack overflow with stack depth: " -msgstr "" +msgstr "Преоптерећење наÑлаге Ñа дубином наÑлаге:" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Change Signal Arguments" -msgstr "" +msgstr "Измени Ðргументе Сигнала" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Change Argument Type" -msgstr "" +msgstr "Измени Ð’Ñ€Ñту Ðргумента" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Change Argument name" -msgstr "" +msgstr "Измени име Ðргумента" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Set Variable Default Value" -msgstr "" +msgstr "ПоÑтави Уобичајену ВредноÑÑ‚ Променљиве" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Set Variable Type" -msgstr "" +msgstr "ПоÑтави Ð’Ñ€Ñту Променљиве" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Add Input Port" -msgstr "Додај улаз" +msgstr "Додај улазни порт" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Add Output Port" -msgstr "Додај улаз" +msgstr "Додај излазни порт" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Override an existing built-in function." -msgstr "Ðеважеће име. Име је резервиÑано за поÑтојећи уграђени тип." +msgstr "Препиши поÑтојећу уграђену функцију." #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Create a new function." -msgstr "Ðаправи нов" +msgstr "Ðаправи нову функцију." #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Variables:" -msgstr "" +msgstr "Променљиве:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Create a new variable." -msgstr "Ðаправи нов" +msgstr "Ðаправи нову променљиву." #: modules/visual_script/visual_script_editor.cpp msgid "Signals:" @@ -12026,82 +13066,97 @@ msgstr "Сигнали:" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Create a new signal." -msgstr "Ðаправи нови полигон од почетка." +msgstr "Ðаправи нови Ñигнал." #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Name is not a valid identifier:" -msgstr "" +msgstr "Име није важећи идентификатор:" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Name already in use by another func/var/signal:" -msgstr "" +msgstr "Име је већ у употреби у функ/пром/Ñигналу:" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Rename Function" -msgstr "" +msgstr "Преименуј Функцију" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Rename Variable" -msgstr "" +msgstr "Преименуј Променљиву" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Rename Signal" -msgstr "" +msgstr "Преименуј Сигнал" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Add Function" -msgstr "" +msgstr "Додај Функцију" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Delete input port" -msgstr "Обриши тачку" +msgstr "Обриши улазни порт" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Add Variable" -msgstr "" +msgstr "Додај Промељиву" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Add Signal" -msgstr "" +msgstr "Додај Сигнал" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Remove Input Port" -msgstr "Обриши тачку" +msgstr "Обриши Улазни Порт" #: modules/visual_script/visual_script_editor.cpp #, fuzzy msgid "Remove Output Port" -msgstr "Обриши тачку" +msgstr "Обриши Излазни Порт" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Change Expression" -msgstr "" +msgstr "Измени Израз" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Remove VisualScript Nodes" -msgstr "" +msgstr "Уклони ВизуелнаСкрипта Чланове" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Duplicate VisualScript Nodes" -msgstr "" +msgstr "УдвоÑтручи ВизуелнаСкрипта Чланове" #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." -msgstr "" +msgstr "Држи %s да иÑпуÑтиш Узимача. Држи Shift да иÑпуÑтиш општи потпиÑ." #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." -msgstr "" +msgstr "Држи Ctrl да иÑпуÑтиш Узимача. Држи Shift да иÑпуÑтиш општи потпиÑ." #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Hold %s to drop a simple reference to the node." -msgstr "" +msgstr "Држи %s да иÑпуÑтиш једноÑтавну референцу ка члану." #: modules/visual_script/visual_script_editor.cpp +#, fuzzy msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" +msgstr "Држи Ctrl да иÑпуÑтиш једноÑтавну референцу ка члану" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." @@ -12334,629 +13389,874 @@ msgid "VariableGet not found in script: " msgstr "" #: modules/visual_script/visual_script_nodes.cpp +#, fuzzy msgid "VariableSet not found in script: " -msgstr "" +msgstr "СкупПроменљивих није нађен у Ñкрипти:" #: modules/visual_script/visual_script_nodes.cpp +#, fuzzy msgid "Custom node has no _step() method, can't process graph." -msgstr "" +msgstr "Произвољни чвор нема _step() методу, граф не моће бити обрађен." #: modules/visual_script/visual_script_nodes.cpp +#, fuzzy msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" +"Ðеважећа повратна вредноÑÑ‚ од _step(), мора бити интиџер (seq out), или " +"Ñтринг (грешка)." #: modules/visual_script/visual_script_property_selector.cpp #, fuzzy msgid "Search VisualScript" -msgstr "Потражи помоћ" +msgstr "Потражи VisualScript" #: modules/visual_script/visual_script_property_selector.cpp +#, fuzzy msgid "Get %s" -msgstr "" +msgstr "Повуци %s" #: modules/visual_script/visual_script_property_selector.cpp +#, fuzzy msgid "Set %s" -msgstr "" +msgstr "ПоÑтави %s" #: platform/android/export/export.cpp +#, fuzzy msgid "Package name is missing." -msgstr "" +msgstr "ÐедоÑтаје име паковања." #: platform/android/export/export.cpp +#, fuzzy msgid "Package segments must be of non-zero length." -msgstr "" +msgstr "Одломци паковања не могу бити нулте дужине." #: platform/android/export/export.cpp +#, fuzzy msgid "The character '%s' is not allowed in Android application package names." -msgstr "" +msgstr "Карактер '%s' није дозвољен у именима паковања Android апликације." #: platform/android/export/export.cpp +#, fuzzy msgid "A digit cannot be the first character in a package segment." -msgstr "" +msgstr "Цифра не може бити први карактер у одломку паковања." #: platform/android/export/export.cpp +#, fuzzy msgid "The character '%s' cannot be the first character in a package segment." -msgstr "" +msgstr "Карактер '%s' не може бити први карактер у одломку паковања." #: platform/android/export/export.cpp +#, fuzzy msgid "The package must have at least one '.' separator." -msgstr "" +msgstr "Паковање мора имати бар један '.' раздвојник." #: platform/android/export/export.cpp msgid "Select device from the list" msgstr "Одабери уређај Ñа лиÑте" #: platform/android/export/export.cpp +#, fuzzy msgid "ADB executable not configured in the Editor Settings." -msgstr "" +msgstr "ADB извршна датотека није подешена у Подешавањима Уредника." #: platform/android/export/export.cpp +#, fuzzy msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "" +msgstr "OpenJDK jar потпиÑник није подешен у Подешавањима Уредника." #: platform/android/export/export.cpp +#, fuzzy msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" +"Сладиште кључева Разгрешеника није подешено у Подешавањима Уредника ни у " +"поÑтавкама." + +#: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Сладиште кључева Разгрешеника није подешено у Подешавањима Уредника ни у " +"поÑтавкама." #: platform/android/export/export.cpp +#, fuzzy msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" +"Произвољна изградња захтева важећу путању до Android SDK у Подешавањима " +"Уредника." #: platform/android/export/export.cpp +#, fuzzy msgid "Invalid Android SDK path for custom build in Editor Settings." msgstr "" +"Ðеважећа Android SDK путања за произвољну изградњу у Подешавањима Уредника." #: platform/android/export/export.cpp +#, fuzzy msgid "" "Android build template not installed in the project. Install it from the " "Project menu." msgstr "" +"Android нацрт изградње није инÑталиран у пројекат. ИнÑталирај га из Пројекат " +"менија." #: platform/android/export/export.cpp +#, fuzzy msgid "Invalid public key for APK expansion." -msgstr "" +msgstr "Ðеважећи јавни кључ за ÐПК проширење." #: platform/android/export/export.cpp #, fuzzy msgid "Invalid package name:" -msgstr "Ðеважеће име." +msgstr "Ðеважеће име паковања:" + +#: platform/android/export/export.cpp +msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" #: platform/android/export/export.cpp +#, fuzzy msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" +"Покушај изградње за произвољни нацрт изградње, али не поÑтоји инфо о " +"верзији. Молимо реинÑталирај из \"Пројекат\" менија." #: platform/android/export/export.cpp +#, fuzzy msgid "" "Android build version mismatch:\n" " Template installed: %s\n" " Godot Version: %s\n" "Please reinstall Android build template from 'Project' menu." msgstr "" +"Верзија Android изградње Ñе не подудара:\n" +" Ðацрт инÑталиран: %s\n" +" Годот Верзија: %s\n" +"Молимо реинÑталирајте Android нацрт изградње из \"Пројекат\" менија." #: platform/android/export/export.cpp +#, fuzzy msgid "Building Android Project (gradle)" -msgstr "" +msgstr "Изградња Android Пројекта (gradle)" #: platform/android/export/export.cpp +#, fuzzy msgid "" "Building of Android project failed, check output for the error.\n" "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" +"Изградња Android пројекта неуÑпешна, провери излаз за грешке.\n" +"Ðлтернативно поÑети docs.godotengine.org за Android документацију изградње." #: platform/android/export/export.cpp +#, fuzzy msgid "No build apk generated at: " -msgstr "" +msgstr "Ðема градње apk произведеног код:" #: platform/iphone/export/export.cpp +#, fuzzy msgid "Identifier is missing." -msgstr "" +msgstr "Идентификатор недоÑтаје." #: platform/iphone/export/export.cpp +#, fuzzy msgid "The character '%s' is not allowed in Identifier." -msgstr "" +msgstr "Карактер '%s' није дозвољен као идентификатор." #: platform/iphone/export/export.cpp +#, fuzzy msgid "App Store Team ID not specified - cannot configure the project." msgstr "" +"ТимÑки ИД Продавнице Ðпликација није наведен - неуÑпешно подешавање пројекта." #: platform/iphone/export/export.cpp #, fuzzy msgid "Invalid Identifier:" -msgstr "Ðеважећа величина фонта." +msgstr "Ðеважећи идентификатор:" #: platform/iphone/export/export.cpp +#, fuzzy msgid "Required icon is not specified in the preset." -msgstr "" +msgstr "Ðеопходна иконица није наведена у подешавању." #: platform/javascript/export/export.cpp +#, fuzzy msgid "Stop HTTP Server" -msgstr "" +msgstr "ЗауÑтави HTTP Сервер" #: platform/javascript/export/export.cpp +#, fuzzy msgid "Run in Browser" -msgstr "" +msgstr "Покрени у Претраживачу" #: platform/javascript/export/export.cpp +#, fuzzy msgid "Run exported HTML in the system's default browser." -msgstr "" +msgstr "Покрени извезени HTML у уобичајеном претраживачу ÑиÑтема." #: platform/javascript/export/export.cpp #, fuzzy msgid "Could not write file:" -msgstr "ÐеуÑпех при тражењу плочице:" +msgstr "ÐеуÑпело упиÑивање фајла:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Could not open template for export:" -msgstr "ÐеуÑпех при прављењу директоријума." +msgstr "ÐеуÑпешно отварање нацрта за извоз:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Invalid export template:" -msgstr "Ðеважећи извозни шаблон:\n" +msgstr "Ðеважећи извозни нацрт:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Could not read custom HTML shell:" -msgstr "ÐеуÑпех при учитавању датотеке Ñа Ñличицом учитавања:\n" +msgstr "ÐеуÑпешно читаље произвољне HTML шкољке:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Could not read boot splash image file:" -msgstr "ÐеуÑпех при учитавању датотеке Ñа Ñличицом учитавања:\n" +msgstr "ÐеуÑпешно читаље фајла уводне Ñлике:" #: platform/javascript/export/export.cpp #, fuzzy msgid "Using default boot splash image." -msgstr "ÐеуÑпех при учитавању датотеке Ñа Ñличицом учитавања:\n" +msgstr "Коришћење уобичајне уводне Ñлике." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package short name." -msgstr "Ðеважеће име." +msgstr "Ðеважеће кратко име паковања." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package unique name." -msgstr "Ðеважеће име." +msgstr "Ðеважеће јединÑтвено име паковања." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid package publisher display name." -msgstr "Ðеважеће име." +msgstr "Ðеважеће приказно име издавача паковања." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid product GUID." -msgstr "Ðеважеће име." +msgstr "Ðеважећи GUID продукт." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid publisher GUID." -msgstr "Ðеважећи пут." +msgstr "Ðеважећи GUID итдавача." #: platform/uwp/export/export.cpp #, fuzzy msgid "Invalid background color." -msgstr "Ðеважеће име." +msgstr "Ðеважећа боја позадине." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid Store Logo image dimensions (should be 50x50)." -msgstr "" +msgstr "Ðеважеће димензије Логотипа Продавнице (треба да буде 50*50)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." -msgstr "" +msgstr "Ðеважеће димензије Ñлике за квадрат логотип (треба да буде 44*44)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." -msgstr "" +msgstr "Ðеважеће димензије Ñлике за квадрат логотип (треба да буде 71*71)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." -msgstr "" +msgstr "Ðеважеће димензије Ñлике за квадрат логотип (треба да буде 150*150)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." -msgstr "" +msgstr "Ðеважеће димензије Ñлике за квадрат логотип (треба да буде 310*310)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." -msgstr "" +msgstr "Ðеважеће димензије Ñлике за широки логотип (треба да буде 310*150)." #: platform/uwp/export/export.cpp +#, fuzzy msgid "Invalid splash screen image dimensions (should be 620x300)." -msgstr "" +msgstr "Ðеважеће димензије Ñлике за уводни екран (треба да буде 620*300)." #: scene/2d/animated_sprite.cpp +#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the \"Frames\" property in " "order for AnimatedSprite to display frames." msgstr "" +"СпрајтРамови реÑÑƒÑ€Ñ Ð¼Ð¾Ñ€Ð° бити креиран или поÑтавњен у \"Рамови\" оÑобини да " +"би ÐнимациониСпрајт приказао фрејмове." #: scene/2d/canvas_modulate.cpp +#, fuzzy msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" +"Само један видљив CanvasModulate је дозвољен по Ñцени (или групи " +"инÑтанцираних Ñцена). Први креиран ће радити, док ће оÑтали бити занемарени." #: scene/2d/collision_object_2d.cpp +#, fuzzy msgid "" "This node has no shape, so it can't collide or interact with other objects.\n" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " "define its shape." msgstr "" +"Овај члан нема облик, тако да Ñе не моће Ñударати Ñа оÑталим објектима.\n" +"Размотри додавање СударнихОблика2Д или СударнихМногоуглова2Д као деце да " +"дефинишеш његов облик." #: scene/2d/collision_polygon_2d.cpp +#, fuzzy msgid "" "CollisionPolygon2D only serves to provide a collision shape to a " "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"СударниМногоугао2Д Ñамо Ñлужи да обезбеди Ñударни облик изведеном члану од " +"СударномОбјекту2Д. Молимо кориÑти га Ñамо као дете од ОблаÑти2Д, " +"ÐепомичногТела2Д, ЧврÑтогТела2Д, КинематичкогТела2Д итд. да им даш облик." #: scene/2d/collision_polygon_2d.cpp +#, fuzzy msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "" +msgstr "Ðепријатењ СударниМногоугао2Д нема утицаја на Ñудар." #: scene/2d/collision_shape_2d.cpp +#, fuzzy msgid "" "CollisionShape2D only serves to provide a collision shape to a " "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"СударниОблик2Д Ñамо Ñлужи да обезбеди Ñударни облик за изведени чвор од " +"СударниОбјекат2Д. Молимо Ñамо га кориÑти као дете ОблаÑти2Д, " +"ÐепомичногТела2Д, ЧврÑтогТела2Д, КинематичкогТела2Д, итд. да им даш облик." #: scene/2d/collision_shape_2d.cpp +#, fuzzy msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" +"Облик мора бити Ñнабдевен за СударниОблик2Д да би радио. Молимо креирај " +"облик реÑÑƒÑ€Ñ Ð·Ð° њега!" #: scene/2d/cpu_particles_2d.cpp +#, fuzzy msgid "" "CPUParticles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"ПроцеÑорЧеÑтице2Д анимација захтева коришћење ПлатноПредметМатеријала Ñа " +"омогућеном \"Ðнимациом ЧеÑтица\"." #: scene/2d/light_2d.cpp +#, fuzzy msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." msgstr "" +"ТекÑтура Ñа обликом Ñветла мора бити Ñнабдевена у \"ТекÑтура\" оÑобини." #: scene/2d/light_occluder_2d.cpp +#, fuzzy msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" +"Многоугао Затамљивач мора бити поÑтављен (или иÑцртан) да би затамљивач имао " +"утицаја." #: scene/2d/light_occluder_2d.cpp +#, fuzzy msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" +"Многоугао затамљивач за овај затамљивач је празан. Молимо нацртај моногоугао." #: scene/2d/navigation_polygon.cpp +#, fuzzy msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" +"ÐавигациониПолигон реÑÑƒÑ€Ñ Ð¼Ð¾Ñ€Ð° бити поÑтављен или креиран да би овај чвор " +"радио. Молимо поÑтави оÑобину или нацртај многоугао." #: scene/2d/navigation_polygon.cpp +#, fuzzy msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" +"ИнÑтанцаÐавигационогМногоугла мора бити дете или прадете Ðавигација2Д чвору. " +"Само обезбеђује навигационе податке." #: scene/2d/parallax_layer.cpp +#, fuzzy msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." -msgstr "" +msgstr "ПаралакÑСлој чвор Ñамо ради кад је дете од ПаралакÑПозадина чвора." #: scene/2d/particles_2d.cpp +#, fuzzy msgid "" "GPU-based particles are not supported by the GLES2 video driver.\n" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"ЧеÑтице базиране на графичкој ниÑу подржане од Ñтране GLES2 видео " +"управљача.\n" +"УмеÑто тога кориÑти ПроцеÑорЧеÑтице2Д чвор." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp +#, fuzzy msgid "" "A material to process the particles is not assigned, so no behavior is " "imprinted." msgstr "" +"Материјал за извршавање чеÑтица није додељен. па ни једно понашање није " +"утиÑнуто." #: scene/2d/particles_2d.cpp +#, fuzzy msgid "" "Particles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"ЧеÑтице2Д анимација захтева корићење ПозориштеПредметМатеријала Ñа " +"омогућеном \"Ðнимација ЧеÑтица\"." #: scene/2d/path_2d.cpp +#, fuzzy msgid "PathFollow2D only works when set as a child of a Path2D node." -msgstr "" +msgstr "ПутањаПраћења2Д Ñамо ради кад је дете Путање2Д чвора." #: scene/2d/physics_body_2d.cpp +#, fuzzy msgid "" "Size changes to RigidBody2D (in character or rigid modes) will be overridden " "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"Промена величине ЧврÑтогТела2Д (у карактеру или чврÑтом режиму) биће " +"препиÑана од Ñтране физичког мотора током рада.\n" +"УмеÑто тога промени величину у детету Ñударног облика." #: scene/2d/remote_transform_2d.cpp +#, fuzzy msgid "Path property must point to a valid Node2D node to work." -msgstr "" +msgstr "Путања оÑобина мора показивати ка важећем Чвор2Д чвор да би радила." #: scene/2d/skeleton_2d.cpp +#, fuzzy msgid "This Bone2D chain should end at a Skeleton2D node." -msgstr "" +msgstr "Овај КоÑка2Д ланац треба да Ñе заврши код КоÑтур2Д чвора." #: scene/2d/skeleton_2d.cpp +#, fuzzy msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." msgstr "" +"КоÑка2Д ради Ñамо Ñа КоÑтуром2Д или другом КоÑка2Д као родитељÑким чвором." #: scene/2d/skeleton_2d.cpp +#, fuzzy msgid "" "This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." msgstr "" +"Овај коÑки недоÑтаје одговарајућа Одмор поза. Иди у КоÑтур2Д чвор и поÑтави " +"је." #: scene/2d/tile_map.cpp +#, fuzzy msgid "" "TileMap with Use Parent on needs a parent CollisionObject2D to give shapes " "to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, " "KinematicBody2D, etc. to give them a shape." msgstr "" +"МапаПлочица Ñа КориÑти Родитеља укљученим треба да има као родитеља " +"СударниОблик2Д да му да облик. Молимо кориÑти је као дете од ОблаÑÑ‚2Д, " +"ЧврÑтоТело2Д, КинематикоТело2Д, итд. да им даш облик." #: scene/2d/visibility_notifier_2d.cpp +#, fuzzy msgid "" "VisibilityEnabler2D works best when used with the edited scene root directly " "as parent." msgstr "" +"ВидљивоÑтОмогућивач2Д ради најбоље кад Ñе кориÑти Ñа измењеним кореном Ñцене " +"као родитељем." #: scene/3d/arvr_nodes.cpp +#, fuzzy msgid "ARVRCamera must have an ARVROrigin node as its parent." -msgstr "" +msgstr "ARVRCamera мора имати ARVROrigin члан као родитеља." #: scene/3d/arvr_nodes.cpp +#, fuzzy msgid "ARVRController must have an ARVROrigin node as its parent." -msgstr "" +msgstr "ARVRController мора имати ARVROrigin члан као родитеља." #: scene/3d/arvr_nodes.cpp +#, fuzzy msgid "" "The controller ID must not be 0 or this controller won't be bound to an " "actual controller." msgstr "" +"ИД Контролора не Ñме бити 0 или овај контролор неће бити везан за актуелнонг " +"контролора." #: scene/3d/arvr_nodes.cpp +#, fuzzy msgid "ARVRAnchor must have an ARVROrigin node as its parent." -msgstr "" +msgstr "ARVRAnchor мора имати ARVROrigin чвор као родитеља." #: scene/3d/arvr_nodes.cpp +#, fuzzy msgid "" "The anchor ID must not be 0 or this anchor won't be bound to an actual " "anchor." msgstr "" +"Чвор ИД не Ñме биди 0 или ово Ñидро неће бити везано за актуелно Ñидро." #: scene/3d/arvr_nodes.cpp +#, fuzzy msgid "ARVROrigin requires an ARVRCamera child node." -msgstr "" +msgstr "ARVROrigin захтева ARVRCamera дете чвор." #: scene/3d/baked_lightmap.cpp +#, fuzzy msgid "%d%%" -msgstr "" +msgstr "%d%%" #: scene/3d/baked_lightmap.cpp +#, fuzzy msgid "(Time Left: %d:%02d s)" -msgstr "" +msgstr "(Време преоÑтало: %d:%02d Ñ)" #: scene/3d/baked_lightmap.cpp +#, fuzzy msgid "Plotting Meshes: " -msgstr "" +msgstr "Сковане Мреже:" #: scene/3d/baked_lightmap.cpp +#, fuzzy msgid "Plotting Lights:" -msgstr "" +msgstr "Скована Светла:" #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#, fuzzy msgid "Finishing Plot" -msgstr "" +msgstr "Завршни Ков" #: scene/3d/baked_lightmap.cpp +#, fuzzy msgid "Lighting Meshes: " -msgstr "" +msgstr "СветлоÑне Мреже:" #: scene/3d/collision_object.cpp +#, fuzzy msgid "" "This node has no shape, so it can't collide or interact with other objects.\n" "Consider adding a CollisionShape or CollisionPolygon as a child to define " "its shape." msgstr "" +"Овај чвор нема облик, па Ñе не може Ñударати Ñа оÑталим објектима.\n" +"Размотри додавање СударногОблика или СударногМногоугла као детета да би " +"дефиниÑао облик." #: scene/3d/collision_polygon.cpp +#, fuzzy msgid "" "CollisionPolygon only serves to provide a collision shape to a " "CollisionObject derived node. Please only use it as a child of Area, " "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" +"СуадрниМногоугао Ñамо Ñлужи да обезбеди Ñударни облик чвуру изведеном од " +"СуадрниОбјекат. Молимо кориÑи га Ñамо као дете ОблаÑти, ÐепомичногТела, " +"ЧврÑтогТела, итд. да им даш облик." #: scene/3d/collision_polygon.cpp +#, fuzzy msgid "An empty CollisionPolygon has no effect on collision." -msgstr "" +msgstr "Празан СударниМногоугао нема утицаја на Ñудар." #: scene/3d/collision_shape.cpp +#, fuzzy msgid "" "CollisionShape only serves to provide a collision shape to a CollisionObject " "derived node. Please only use it as a child of Area, StaticBody, RigidBody, " "KinematicBody, etc. to give them a shape." msgstr "" +"СударниОблик Ñамо Ñлужи да обезбеди Ñударни облик чвору изведеном Ð¸Ñ " +"СударниОбјекат. Молимо Ñамо га кориÑти као дете ОблаÑти, ÐепомичногТела, " +"ЧврÑтогТела, итд. да им даш облик." #: scene/3d/collision_shape.cpp +#, fuzzy msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it." msgstr "" +"Облик мора бити Ñнабдевен за СударниОблик да би радио. Молимо креирајте " +"облик реÑÑƒÑ€Ñ Ð·Ð° њега." #: scene/3d/collision_shape.cpp +#, fuzzy msgid "" "Plane shapes don't work well and will be removed in future versions. Please " "don't use them." msgstr "" +"Облици равни не раде добро и биће уклоњени у будућим верзија. Молимо не " +"кориÑтите их." #: scene/3d/collision_shape.cpp +#, fuzzy msgid "" "ConcavePolygonShape doesn't support RigidBody in another mode than static." msgstr "" +"УдубљениМоногоугаониОблик не подржава ЧврÑтоТело у другом рећим оÑим " +"непокретног." #: scene/3d/cpu_particles.cpp +#, fuzzy msgid "Nothing is visible because no mesh has been assigned." -msgstr "" +msgstr "Ðишта није видљиво пошто мрежа није била додељена." #: scene/3d/cpu_particles.cpp +#, fuzzy msgid "" "CPUParticles animation requires the usage of a SpatialMaterial whose " "Billboard Mode is set to \"Particle Billboard\"." msgstr "" +"ПроцеÑорЧеÑтице анимација захтева коришћење ПроÑторногМатеријала чији Режим " +"ОглаÑнеТабле је поÑтављен као \"ОглаÑнаТабла ЧеÑтице\"." #: scene/3d/gi_probe.cpp +#, fuzzy msgid "Plotting Meshes" -msgstr "" +msgstr "Сковане Мреже" #: scene/3d/gi_probe.cpp +#, fuzzy msgid "" "GIProbes are not supported by the GLES2 video driver.\n" "Use a BakedLightmap instead." msgstr "" +"СондеГлобалногОÑветљења ниÑу подржане од Ñтране GLES2 видео управљача.\n" +" \n" +"Као замену кориÑти ИÑпеченеСенкеМапу." #: scene/3d/light.cpp +#, fuzzy msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." -msgstr "" +msgstr "ТачкаСветло Ñа углом ширим од 90 Ñтепени не може бацати Ñенке." #: scene/3d/navigation_mesh.cpp +#, fuzzy msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" +"ÐавигационаМрежа реÑÑƒÑ€Ñ Ð¼Ð¾Ñ€Ð° бити поÑтављен или креиран да би овај чвор " +"радио." #: scene/3d/navigation_mesh.cpp +#, fuzzy msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +"ÐавМрежнаИнÑтанца мора бити дете или прадете Ðавигационог чвора. Само " +"обезбећује навигационе податке." #: scene/3d/particles.cpp +#, fuzzy msgid "" "GPU-based particles are not supported by the GLES2 video driver.\n" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." -msgstr "" +msgstr "GPU-базиране чеÑтице ниÑу подржане од Ñтране GLES2 видео управљача." #: scene/3d/particles.cpp +#, fuzzy msgid "" "Nothing is visible because meshes have not been assigned to draw passes." -msgstr "" +msgstr "Ðишта није видљиво пошто мрежама није било додељено да цртају пролазе." #: scene/3d/particles.cpp +#, fuzzy msgid "" "Particles animation requires the usage of a SpatialMaterial whose Billboard " "Mode is set to \"Particle Billboard\"." msgstr "" +"ЧеÑтице анимација захтева коришћење ПроÑторногМатеријала чије је Режим " +"ОглаÑнеТабле поÑтављен као \"ЧеÑтице ОглаÑнеТабле\"." #: scene/3d/path.cpp +#, fuzzy msgid "PathFollow only works when set as a child of a Path node." -msgstr "" +msgstr "ПутањаПраћења ради Ñамо кад је поÑтављена као дете Путања чвора." #: scene/3d/path.cpp +#, fuzzy msgid "" "PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " "parent Path's Curve resource." msgstr "" +"ОРИЈЕÐТИСÐÐÐ_РОТÐЦИЈРПутањеПраћења захтева \"Горе Вектор\" да би била " +"омогућена у Ñвом родитељ реÑурÑу Путања Криве." #: scene/3d/physics_body.cpp +#, fuzzy msgid "" "Size changes to RigidBody (in character or rigid modes) will be overridden " "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"Промена величине у ТврдомТелу (у карактеру или трвдом моду) ће бити " +"препиÑана од Ñтране физичког мотора у раду." #: scene/3d/remote_transform.cpp +#, fuzzy msgid "" "The \"Remote Path\" property must point to a valid Spatial or Spatial-" "derived node to work." msgstr "" +"\"ДаљинÑка Путања\" подешавање да би радило мора упирати ка важећем " +"ПроÑторном или ПроÑторно-изведеном чвору." #: scene/3d/soft_body.cpp +#, fuzzy msgid "This body will be ignored until you set a mesh." -msgstr "" +msgstr "Ово тело ће бити занемарено док не поÑтавиш мрежу." #: scene/3d/soft_body.cpp +#, fuzzy msgid "" "Size changes to SoftBody will be overridden by the physics engine when " "running.\n" "Change the size in children collision shapes instead." msgstr "" +"Промене величине МекогТела ће бити препиÑане од Ñтране фитичког мотора током " +"рада." #: scene/3d/sprite_3d.cpp +#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the \"Frames\" property in " "order for AnimatedSprite3D to display frames." msgstr "" +"СпрајтРам реÑурÑи морају бити креирани или подешени у \"Рамови\" оÑобини да " +"би ÐнимираниСпрајт3Д приказао рамове." #: scene/3d/vehicle_body.cpp +#, fuzzy msgid "" "VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " "it as a child of a VehicleBody." msgstr "" +"ТочакВозила Ñлужи да Ñнабде точак ÑиÑтем ТелуВозила. Молимо кориÑтите га као " +"детете од ТелаВозила." #: scene/3d/world_environment.cpp +#, fuzzy msgid "" "WorldEnvironment requires its \"Environment\" property to contain an " "Environment to have a visible effect." msgstr "" +"СветÑкоОкружење изиÑкује Ñвоју \"Окружење\" оÑобину да Ñадржи Окружење да би " +"било видљиво." #: scene/3d/world_environment.cpp +#, fuzzy msgid "" "Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." msgstr "" +"Само једно СветÑкоОкружење је дозвољено за Ñцену (или групу инÑтанцираних " +"Ñцена)." #: scene/3d/world_environment.cpp +#, fuzzy msgid "" "This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " "this environment's Background Mode to Canvas (for 2D scenes)." -msgstr "" +msgstr "СветÑкоОкружење је занемарено." #: scene/animation/animation_blend_tree.cpp +#, fuzzy msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "" +msgstr "Ðа BlendTree чвору '%s', анимација није нађена: '%s'" #: scene/animation/animation_blend_tree.cpp #, fuzzy msgid "Animation not found: '%s'" -msgstr "Ðнимационе алатке" +msgstr "Ðнимација није нађена: '%s'" #: scene/animation/animation_tree.cpp +#, fuzzy msgid "In node '%s', invalid animation: '%s'." -msgstr "" +msgstr "У чвору '%s', неважећа анимација: '%s'." #: scene/animation/animation_tree.cpp #, fuzzy msgid "Invalid animation: '%s'." -msgstr "Грешка: неважеће име анимације!" +msgstr "Ðеважећа анимација: '%s'." #: scene/animation/animation_tree.cpp #, fuzzy msgid "Nothing connected to input '%s' of node '%s'." -msgstr "Повежи '%s' Ñа '%s'" +msgstr "Ðишта није позевано Ñа улазом '%s' од чвора '%s'." #: scene/animation/animation_tree.cpp +#, fuzzy msgid "No root AnimationNode for the graph is set." -msgstr "" +msgstr "AnimationNode без корена за графикон је поÑтављено." #: scene/animation/animation_tree.cpp #, fuzzy msgid "Path to an AnimationPlayer node containing animations is not set." -msgstr "Одабери AnimationPlayer из дрвета Ñцене за уређивање анимација." +msgstr "Путања ка AnimationPlayer чвору који Ñадржи анимацију није поÑтављена." #: scene/animation/animation_tree.cpp +#, fuzzy msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." -msgstr "" +msgstr "Путања поÑтављена за AnimationPlayer не води ка AnimationPlayer чвору." #: scene/animation/animation_tree.cpp #, fuzzy @@ -12964,127 +14264,187 @@ msgid "The AnimationPlayer root node is not a valid node." msgstr "Ðнимационо дрво није важеће." #: scene/animation/animation_tree_player.cpp +#, fuzzy msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "" +msgstr "Овај члан је заÑтарео. КориÑти AnimationTree као замену." #: scene/gui/color_picker.cpp +#, fuzzy msgid "" "Color: #%s\n" "LMB: Set color\n" "RMB: Remove preset" msgstr "" +"Боја: #%s\n" +"LMB: ПоÑтави боју\n" +"RMB: Уклони поÑтавку" #: scene/gui/color_picker.cpp +#, fuzzy msgid "Pick a color from the editor window." -msgstr "" +msgstr "Одабери боју из прозора уредника." #: scene/gui/color_picker.cpp +#, fuzzy msgid "HSV" -msgstr "" +msgstr "ÐијанÑа ЗаÑићење ВредноÑÑ‚" #: scene/gui/color_picker.cpp +#, fuzzy msgid "Raw" -msgstr "" +msgstr "Сиров" #: scene/gui/color_picker.cpp +#, fuzzy msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Пребаци између хекÑадецималних и кодних вредноÑти." #: scene/gui/color_picker.cpp +#, fuzzy msgid "Add current color as a preset." -msgstr "" +msgstr "Додај тренутну боју као поÑтавку." #: scene/gui/container.cpp +#, fuzzy msgid "" "Container by itself serves no purpose unless a script configures its " "children placement behavior.\n" "If you don't intend to add a script, use a plain Control node instead." msgstr "" +"Контејнер као такав није употревљив оÑим ако Ñкрипта подеÑи позиционо " +"понашање Ñвоје деце.\n" +"Ðко не намераваш да додаш Ñкрипту, онда кориÑти проÑти Контрол чвор." #: scene/gui/control.cpp +#, fuzzy msgid "" "The Hint Tooltip won't be displayed as the control's Mouse Filter is set to " "\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"." msgstr "" +"Савет-Кутије неће бити приказане као контроле, Миш Пробирач је поÑтављен на " +"\"Занемари\". Да решиш ово, поÑтави Миш Пробирач на \"ЗауÑтави\" или " +"\"ПроÑледи\"." #: scene/gui/dialogs.cpp +#, fuzzy msgid "Alert!" -msgstr "" +msgstr "Узбуна!" #: scene/gui/dialogs.cpp +#, fuzzy msgid "Please Confirm..." -msgstr "" +msgstr "Молимо Потврди..." #: scene/gui/popup.cpp +#, fuzzy msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " "functions. Making them visible for editing is fine, but they will hide upon " "running." msgstr "" +"Скок-Прозори биће Ñкривени оÑим ако позовеш popup() или било коју од " +"popup*() функција. Чинити их видљивим за измену је добро, али ће Ñе Ñакрити " +"након покретања." #: scene/gui/range.cpp +#, fuzzy msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." msgstr "" +"Ðко је \"ЕкÑп Измена\" омогућена, \"Ðајмања ВредноÑÑ‚\" мора бити већа од 0." #: scene/gui/scroll_container.cpp +#, fuzzy msgid "" "ScrollContainer is intended to work with a single child control.\n" "Use a container as child (VBox, HBox, etc.), or a Control and set the custom " "minimum size manually." msgstr "" +"ScrollContainer је намењен да ради Ñа једном дете контролом.\n" +"КориÑти контејнер као дете (ВКутија, ХКутија, итд.), или Контролу и подеÑи " +"ручно произвољну најмању величину." #: scene/gui/tree.cpp +#, fuzzy msgid "(Other)" -msgstr "" +msgstr "(ОÑтатак)" #: scene/main/scene_tree.cpp +#, fuzzy msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" +"Уобичајено Окружење наведено у Подешавањима Пројекта (ИÑцртавање -> Окружење " +"-> Уобичајено Окружење) није уÑпешно учитано." #: scene/main/viewport.cpp +#, fuzzy msgid "" "This viewport is not set as render target. If you intend for it to display " "its contents directly to the screen, make it a child of a Control so it can " "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"Овај viewport није поÑтављен као мета за иÑцртавање. Ðко намераваш да " +"прикаже Ñадржај директно на екран, учини га дететом Контроле да може да " +"добави величину. У Ñупротном, учини га МетомИÑцртавања и додели његову " +"унутрашњу текÑтуру неком чвору за приказ." #: scene/main/viewport.cpp +#, fuzzy msgid "Viewport size must be greater than 0 to render anything." -msgstr "" +msgstr "Величина Viewport-а мора бити већа од 0 да би Ñе нешто иÑцртало." #: scene/resources/visual_shader_nodes.cpp #, fuzzy msgid "Invalid source for preview." -msgstr "Ðеважећа величина фонта." +msgstr "Ðеважећи извор за преглед." #: scene/resources/visual_shader_nodes.cpp #, fuzzy msgid "Invalid source for shader." -msgstr "Ðеважећа величина фонта." +msgstr "Ðеважећи извор за цртач" #: scene/resources/visual_shader_nodes.cpp #, fuzzy msgid "Invalid comparison function for that type." -msgstr "Ðеважећа величина фонта." +msgstr "Ðеважећа упоредна функција за зај тип" #: servers/visual/shader_language.cpp +#, fuzzy msgid "Assignment to function." -msgstr "" +msgstr "Додељивање функцији." #: servers/visual/shader_language.cpp +#, fuzzy msgid "Assignment to uniform." -msgstr "" +msgstr "Додељивање унформи." #: servers/visual/shader_language.cpp +#, fuzzy msgid "Varyings can only be assigned in vertex function." -msgstr "" +msgstr "Варијације могу Ñамо бити одређене у функцији тачке." #: servers/visual/shader_language.cpp +#, fuzzy msgid "Constants cannot be modified." -msgstr "" +msgstr "КонÑтанте није могуће мењати." + +#~ msgid "Not in resource path." +#~ msgstr "Ðије на пут реÑурÑа." + +#~ msgid "Revert" +#~ msgstr "Врати" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Ова акција Ñе не може опозвати. ÐаÑтави?" + +#~ msgid "Revert Scene" +#~ msgstr "Поврати Ñцену" + +#, fuzzy +#~ msgid "Clear Script" +#~ msgstr "ИÑпразни Скрипту" #~ msgid "Issue Tracker" #~ msgstr "Пратилац грешака" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index a2ae9fccea..e62d152c45 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -844,7 +844,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1445,16 +1444,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2380,11 +2371,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Napravi" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2651,10 +2645,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3263,6 +3253,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3849,6 +3843,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6763,15 +6761,15 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Linearna" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Go to Function" msgstr "" @@ -7244,6 +7242,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10222,7 +10229,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10383,6 +10390,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10431,11 +10445,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10555,6 +10569,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10595,6 +10613,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11639,6 +11661,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11662,6 +11688,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index a03a37b533..e316c74160 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -12,12 +12,15 @@ # Toiya <elviraa98@gmail.com>, 2019. # Fredrik Welin <figgemail@gmail.com>, 2019. # Mattias Münster <mattiasmun@gmail.com>, 2019. +# Anonymous <noreply@weblate.org>, 2020. +# Joakim Lundberg <joakim@joakimlundberg.com>, 2020. +# Kristoffer Grundström <swedishsailfishosuser@tutanota.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-11-25 04:05+0000\n" -"Last-Translator: Mattias Münster <mattiasmun@gmail.com>\n" +"PO-Revision-Date: 2020-06-03 20:09+0000\n" +"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -25,7 +28,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -34,7 +37,7 @@ msgstr "Ogiltligt typargument till convert(), använd TYPE_* konstanter." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "" +msgstr "Förväntade en sträng med längden 1 (en karaktär)." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -73,31 +76,31 @@ msgstr "I anrop till '%s':" #: core/ustring.cpp msgid "B" -msgstr "" +msgstr "B" #: core/ustring.cpp msgid "KiB" -msgstr "" +msgstr "KiB" #: core/ustring.cpp msgid "MiB" -msgstr "" +msgstr "MiB" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "GiB" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "TiB" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "PiB" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" @@ -168,29 +171,24 @@ msgid "Anim Change Call" msgstr "Anim Ändra Anrop" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Time" -msgstr "Anim Ändra Tid för Nyckebild" +msgstr "Anim multi-ändring nyckelbildstid" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transition" -msgstr "Anim Ändra ÖvergÃ¥ng" +msgstr "Anim Fler-Ändra ÖvergÃ¥ng" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transform" -msgstr "Anim Ändra Transformation" +msgstr "Anim Fler-Ändra Transformation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Value" -msgstr "Anim Ändra Värde PÃ¥ Nyckelbild" +msgstr "Anim Fler-Ändra Nyckelbildsvärde" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Call" -msgstr "Anim Ändra Anrop" +msgstr "Anim Fler-Ändra Anrop" #: editor/animation_track_editor.cpp msgid "Change Animation Length" @@ -203,43 +201,39 @@ msgstr "Ändra Animationsloop" #: editor/animation_track_editor.cpp msgid "Property Track" -msgstr "" +msgstr "EgenskapsspÃ¥r" #: editor/animation_track_editor.cpp -#, fuzzy msgid "3D Transform Track" -msgstr "Transformera" +msgstr "3D TransformationsspÃ¥r" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "Anropa Metod SpÃ¥r" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "Bezier kurvspÃ¥r" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" -msgstr "" +msgstr "LjuduppspelningsspÃ¥r" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "" +msgstr "AnimationsuppspelningsspÃ¥r" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (frames)" -msgstr "Animation längd (i sekunder)." +msgstr "Animation längd (bildrutor)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (seconds)" -msgstr "Animation längd (i sekunder)." +msgstr "Animationslängd (i sekunder)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track" -msgstr "Anim Lägg till spÃ¥r" +msgstr "Lägg till spÃ¥r" #: editor/animation_track_editor.cpp msgid "Animation Looping" @@ -259,9 +253,8 @@ msgid "Anim Clips:" msgstr "Animklipp:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Ändra Arrays Värde" +msgstr "Ändra spÃ¥rväg" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -269,21 +262,19 @@ msgstr "Ändra spÃ¥rets läge till pÃ¥/av." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "Uppdateringsläge (Hur denna egenskap sätts)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Interpolation Mode" -msgstr "Animations-Node" +msgstr "Interpolationsläge" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "Ã…tergÃ¥ende slingläge (Interpolerar slutet med början pÃ¥ slingan)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Remove this track." -msgstr "Ta bort valt spÃ¥r." +msgstr "Ta bort detta spÃ¥r." #: editor/animation_track_editor.cpp msgid "Time (s): " @@ -291,7 +282,7 @@ msgstr "Tid (s): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "" +msgstr "Växla SpÃ¥r PÃ¥" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -324,11 +315,11 @@ msgstr "Kubik" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "" +msgstr "Begränsa Sling Interpolering" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "" +msgstr "Ã…tergÃ¥endeslinginterpolering" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -348,14 +339,12 @@ msgid "Change Animation Update Mode" msgstr "Ändra Animationens Uppdateringsläge" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Animations-Node" +msgstr "Ändra Animationsinterpoleringsläge" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Ändra Anim Loop" +msgstr "Ändra Animationsslingläge" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -388,6 +377,7 @@ msgstr "Anim Infoga" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +"Animationsspelaren kan inte animera sig själv, utan bara andra spelare." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -402,18 +392,16 @@ msgid "Anim Insert Key" msgstr "Anim Infoga Nyckel" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Ändra Animationsnamn:" +msgstr "Ändra Animationssteg" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Ändra ordning pÃ¥ Autoloads" +msgstr "Ändra ordning pÃ¥ spÃ¥r" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "Applicera TransformationsspÃ¥r enbart pÃ¥ 3D-noder." #: editor/animation_track_editor.cpp msgid "" @@ -422,22 +410,27 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"LjudspÃ¥r kan bara peka pÃ¥ noder av typ:\n" +"-LjudStrömsSpelare\n" +"-LjudStrömsSpelare2D\n" +"-LjudStrömsSpelare3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "" +msgstr "AnimationsspÃ¥r kan bara peka pÃ¥ AnimationsSpelar noder." #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." msgstr "" +"En animationsspelare kan inte animera sig själv, utan bara andra spelare." #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "" +msgstr "Det är inte möjligt att lägga till ett nytt spÃ¥r utan en rot-nod" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "" +msgstr "Felaktigt spÃ¥r för Bezier (ej lämplig delegenskap)" #: editor/animation_track_editor.cpp msgid "Add Bezier Track" @@ -456,37 +449,32 @@ msgid "Add Transform Track Key" msgstr "Lägg till kurvförändringsnyckel" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Anim Lägg till spÃ¥r" +msgstr "Lägg till spÃ¥rnyckel" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "" +msgstr "SpÃ¥rväg ogiltig, kan sÃ¥ledes inte lägga till en metod nyckel." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Anim Infoga SpÃ¥r & Nyckel" +msgstr "Lägg till metodspÃ¥rnyckel" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Method not found in object: " -msgstr "VariableGet hittades inte i Skript: " +msgstr "Metoden hittades inte i objektet: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" msgstr "Anim Flytta Nycklar" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Clipboard is empty" -msgstr "Sökvägen är tom" +msgstr "Urklipp är tomt" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Paste Tracks" -msgstr "Klistra in Params" +msgstr "Klistra in spÃ¥r" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" @@ -496,6 +484,8 @@ msgstr "Anim Skala Nycklar" msgid "" "This option does not work for Bezier editing, as it's only a single track." msgstr "" +"Detta alternativ fungerar ej för att redigera Bezier, dÃ¥ det enbart är ett " +"spÃ¥r." #: editor/animation_track_editor.cpp msgid "" @@ -512,16 +502,15 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" -msgstr "" +msgstr "Varning: Redigerar importerad animation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select an AnimationPlayer node to create and edit animations." -msgstr "Välj en AnimationPlayer frÃ¥n Scenträdet för att redigera animationer." +msgstr "Välj en AnimationsSpelar-nod för att skapa och redigera animationer." #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "" +msgstr "Visa enbart spÃ¥r frÃ¥n valda noder i trädet." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." @@ -539,7 +528,7 @@ msgstr "Animation" #: editor/animation_track_editor.cpp msgid "Seconds" -msgstr "" +msgstr "Sekunder" #: editor/animation_track_editor.cpp msgid "FPS" @@ -575,11 +564,11 @@ msgstr "Skala FrÃ¥n Muspekare" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Duplicera urval" +msgstr "Fördubbla val" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "Duplicera Transponerade" +msgstr "Fördubbla Transponerade" #: editor/animation_track_editor.cpp #, fuzzy @@ -606,11 +595,11 @@ msgstr "Städa upp Animation" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "" +msgstr "Välj noden som ska animeras:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "" +msgstr "Använd Bezier-kurvor" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -870,7 +859,6 @@ msgstr "Ansluter Signal:" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1515,18 +1503,9 @@ msgstr "Aktivera" msgid "Rearrange Autoloads" msgstr "Ändra ordning pÃ¥ Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "Ogiltig Sökväg." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Fil existerar inte." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Inte i resursens sökväg." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2533,12 +2512,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Kan inte ladda om en scen som aldrig har sparats." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Ã…terställ" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Spara Scen" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Ã…tgärden kan inte Ã¥ngras. Ã…terställ ändÃ¥?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp #, fuzzy @@ -2838,10 +2820,6 @@ msgid "Redo" msgstr "Ã…ngra" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Ã…terställ Scen" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3476,6 +3454,10 @@ msgstr "Kunde inte köra Skript:" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Välj Nod(er) att Importera" @@ -4115,6 +4097,10 @@ msgid "Error running post-import script:" msgstr "Fel uppstod efter importering av skript:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Sparar..." @@ -7157,15 +7143,15 @@ msgid "" msgstr "Anslut '%s' till '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Rad:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Funktion:" @@ -7656,6 +7642,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10735,8 +10730,9 @@ msgid "Instance Child Scene" msgstr "Instansiera Barn-Scen" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "Fäst Skript" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10906,6 +10902,13 @@ msgid "Open Documentation" msgstr "Öppna Senaste" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Lägg till Barn-Node" @@ -10956,12 +10959,14 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Koppla pÃ¥ ett nytt eller befintligt Skript till vald Node." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" +#, fuzzy +msgid "Detach the script from the selected node." +msgstr "Koppla pÃ¥ ett nytt eller befintligt Skript till vald Node." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -11092,6 +11097,10 @@ msgid "A directory with the same name exists." msgstr "Katalog med samma namn finns redan" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Fil existerar inte." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "MÃ¥ste använda en giltigt filändelse." @@ -11136,6 +11145,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "Ogiltig Sökväg." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "Ogiltigt namn." @@ -12216,6 +12230,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12240,6 +12258,32 @@ msgstr "Ogiltigt namn." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12925,6 +12969,18 @@ msgstr "" msgid "Constants cannot be modified." msgstr "" +#~ msgid "Not in resource path." +#~ msgstr "Inte i resursens sökväg." + +#~ msgid "Revert" +#~ msgstr "Ã…terställ" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Ã…tgärden kan inte Ã¥ngras. Ã…terställ ändÃ¥?" + +#~ msgid "Revert Scene" +#~ msgstr "Ã…terställ Scen" + #~ msgid "Replaced %d occurrence(s)." #~ msgstr "Ersatte %d förekomst(er)." diff --git a/editor/translations/ta.po b/editor/translations/ta.po index 7dd9f5f38c..b8ea8d3538 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -836,7 +836,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1437,16 +1436,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2368,11 +2359,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2639,10 +2632,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3250,6 +3239,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3836,6 +3829,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6728,11 +6725,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7203,6 +7200,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10140,7 +10146,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10301,6 +10307,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10347,11 +10360,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10472,6 +10485,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10512,6 +10529,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11546,6 +11567,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11569,6 +11594,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/te.po b/editor/translations/te.po index a6c727fe89..589064278d 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -815,7 +815,6 @@ msgstr "" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1415,16 +1414,8 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2344,11 +2335,13 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" +msgid "Reload Saved Scene" msgstr "" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2614,10 +2607,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3223,6 +3212,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3807,6 +3800,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6678,11 +6675,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7152,6 +7149,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10070,7 +10076,7 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" +msgid "Detach Script" msgstr "" #: editor/scene_tree_dock.cpp @@ -10228,6 +10234,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10274,11 +10287,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10398,6 +10411,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10438,6 +10455,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11462,6 +11483,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11485,6 +11510,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" diff --git a/editor/translations/th.po b/editor/translations/th.po index e908dde33c..db7fd6adea 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -5,11 +5,12 @@ # Kaveeta Vivatchai <goodytong@gmail.com>, 2017. # Poommetee Ketson (Noshyaar) <poommetee@protonmail.com>, 2017-2018. # Thanachart Monpassorn <nunf_2539@hotmail.com>, 2020. +# Anonymous <noreply@weblate.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-03-31 02:26+0000\n" +"PO-Revision-Date: 2020-05-26 13:41+0000\n" "Last-Translator: Thanachart Monpassorn <nunf_2539@hotmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" @@ -18,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.0-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -41,7 +42,7 @@ msgstr "ค่าà¸à¸´à¸™à¸žà¸¸à¸•à¸œà¸´à¸”พลาด %i (ไม่ผ่าà #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "self ไม่สามารถใช้ได้เนื่à¸à¸‡à¸ˆà¸²à¸à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸¡à¸µà¸„่า null (ไม่ผ่าน)" +msgstr "self ไม่สามารถใช้ได้เนื่à¸à¸‡à¸ˆà¸²à¸ instance ว่าง (ไม่ผ่าน)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -57,7 +58,7 @@ msgstr "ชื่à¸à¸”ัชนีขà¸à¸‡ '%s' ผิดพลาด สำภ#: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "à¸à¸²à¸à¸´à¸§à¹€à¸¡à¸™à¸•à¹Œà¹„ม่ถูà¸à¸•à¹‰à¸à¸‡à¹ƒà¸™à¸„à¸à¸™à¸ªà¸•à¸£à¸±à¸ '%s'" +msgstr "à¸à¸²à¸£à¹Œà¸à¸´à¸§à¹€à¸¡à¸™à¸•à¹Œà¸‚à¸à¸‡à¸„à¸à¸™à¸ªà¸•à¸£à¸±à¸„ '%s' ผิดพลาด" #: core/math/expression.cpp msgid "On call to '%s':" @@ -97,7 +98,7 @@ msgstr "à¸à¸´à¸ªà¸£à¸°" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "สมดุล" +msgstr "ความสมดุล" #: editor/animation_bezier_editor.cpp msgid "Mirror" @@ -113,7 +114,7 @@ msgstr "ค่า:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "เพิ่มคีย์ที่นี่" +msgstr "เพิ่มปุ่มที่นี่" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" @@ -235,7 +236,7 @@ msgstr "ฟังà¸à¹Œà¸Šà¸±à¸™:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "คลิปเสียง:" +msgstr "คลิปเสียง" #: editor/animation_track_editor.cpp msgid "Anim Clips:" @@ -328,9 +329,8 @@ msgid "Change Animation Update Mode" msgstr "เปลี่ยนโหมดà¸à¸²à¸£à¸à¸±à¸žà¹€à¸”ทà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "โหนดà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "เปลี่ยนโหมดà¸à¸²à¸£à¸›à¸£à¸°à¸¡à¸²à¸“ค่าช่วงขà¸à¸‡à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_track_editor.cpp msgid "Change Animation Loop Mode" @@ -381,9 +381,8 @@ msgid "Anim Insert Key" msgstr "à¹à¸—รà¸à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "à¹à¸à¹‰à¹„ขความเร็วà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +msgstr "à¹à¸à¹‰à¹„ขช่วงขà¸à¸‡à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_track_editor.cpp msgid "Rearrange Tracks" @@ -391,7 +390,7 @@ msgstr "จัดเรียงà¹à¸—ร็à¸" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "à¹à¸›à¸¥à¸‡à¹à¸—ร็à¸à¹€à¸‰à¸žà¸²à¸°à¸—ี่ Spatial-based nodes" #: editor/animation_track_editor.cpp msgid "" @@ -504,9 +503,8 @@ msgid "Group tracks by node or display them as plain list." msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Snap:" -msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" +msgstr "สà¹à¸™à¸›:" #: editor/animation_track_editor.cpp #, fuzzy @@ -825,7 +823,6 @@ msgstr "ไม่สามารถเชื่à¸à¸¡à¸•à¹ˆà¸à¸ªà¸±à¸à¸à¸²à¸“ #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1434,17 +1431,9 @@ msgstr "เปิด" msgid "Rearrange Autoloads" msgstr "จัดลำดับà¸à¸à¹‚ต้โหลด" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸œà¸´à¸”พลาด" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "ไม่พบไฟล์" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "ไม่à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚ฟลเดà¸à¸£à¹Œà¸£à¸µà¸‹à¸à¸£à¹Œà¸ª" +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1940,7 +1929,7 @@ msgstr "ค่าเริ่มต้น:" #: editor/editor_help.cpp msgid "Methods" -msgstr "รายชื่à¸à¹€à¸¡à¸—็à¸à¸”" +msgstr "เมท็à¸à¸”" #: editor/editor_help.cpp msgid "Theme Properties" @@ -2384,12 +2373,15 @@ msgid "Can't reload a scene that was never saved." msgstr "ฉาà¸à¸¢à¸±à¸‡à¹„ม่ได้บันทึภไม่สามารถโหลดใหม่ได้" #: editor/editor_node.cpp -msgid "Revert" -msgstr "คืนà¸à¸¥à¸±à¸š" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "บันทึà¸à¸‰à¸²à¸" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "à¸à¸²à¸£à¸„ืนà¸à¸¥à¸±à¸šà¹„ม่สามารถยà¸à¹€à¸¥à¸´à¸à¹„ด้ คืนà¸à¸¥à¸±à¸š?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2667,10 +2659,6 @@ msgid "Redo" msgstr "ทำซ้ำ" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "คืนà¸à¸¥à¸±à¸šà¸‰à¸²à¸" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "โปรเจà¸à¸•à¹Œà¹à¸¥à¸°à¹€à¸„รื่à¸à¸‡à¸¡à¸·à¸à¸à¸·à¹ˆà¸™ ๆ" @@ -3288,6 +3276,11 @@ msgstr "รันสคริปต์ไม่ได้:" msgid "Did you forget the '_run' method?" msgstr "ลืมใส่เมท็à¸à¸” '_run' หรืà¸à¹„ม่?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "à¸à¸” Ctrl ค้างเพื่à¸à¸§à¸²à¸‡ Getter à¸à¸” Shift ค้างเพื่à¸à¸§à¸²à¸‡ generic signature" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "เลืà¸à¸à¹‚หนดเพื่à¸à¸™à¸³à¹€à¸‚้า" @@ -3878,6 +3871,10 @@ msgid "Error running post-import script:" msgstr "ผิดพลาดขณะรันสคริปต์หลังนำเข้า:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "à¸à¸³à¸¥à¸±à¸‡à¸šà¸±à¸™à¸—ึà¸..." @@ -4636,9 +4633,8 @@ msgid "Set the end animation. This is useful for sub-transitions." msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition: " -msgstr "ทรานสิชัน" +msgstr "ทรานสิชัน: " #: editor/plugins/animation_state_machine_editor.cpp msgid "Play Mode:" @@ -5270,9 +5266,8 @@ msgid "Create Custom Bone(s) from Node(s)" msgstr "สร้างจุดปะทุจาภMesh" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Bones" -msgstr "ลบท่าทาง" +msgstr "ลบโครง" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" @@ -5979,11 +5974,12 @@ msgid "Remove item %d?" msgstr "ลบไà¸à¹€à¸—ม %d?" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "" "Update from existing scene?:\n" "%s" -msgstr "à¸à¸±à¸žà¹€à¸”ตจาà¸à¸‰à¸²à¸" +msgstr "" +"à¸à¸±à¸žà¹€à¸”ตจาà¸à¸‰à¸²à¸à¸—ี่มีà¸à¸¢à¸¹à¹ˆà¸«à¸£à¸·à¸à¹„ม่\n" +"%s" #: editor/plugins/mesh_library_editor_plugin.cpp #, fuzzy @@ -6601,9 +6597,8 @@ msgid "Close and save changes?" msgstr "ปิดà¹à¸¥à¸°à¸šà¸±à¸™à¸—ึà¸?" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error writing TextFile:" -msgstr "ผิดพลาดขณะย้ายไฟล์:\n" +msgstr "ผิดพลาดขณะย้ายไฟล์:" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -6887,12 +6882,13 @@ msgstr "ลบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง '%s' à¸à¸±à¸š '%s'" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Line" -msgstr "บรรทัด:" +msgid "[Ignore]" +msgstr "(ละเว้น)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ละเว้น)" +#, fuzzy +msgid "Line" +msgstr "บรรทัด:" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -7080,13 +7076,12 @@ msgid "Go to Previous Breakpoint" msgstr "ไปจุดพัà¸à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" #: editor/plugins/shader_editor_plugin.cpp -#, fuzzy msgid "" "This shader has been modified on on disk.\n" "What action should be taken?" msgstr "" -"ไฟล์ต่à¸à¹„ปนี้ในดิสà¸à¹Œà¹ƒà¸«à¸¡à¹ˆà¸à¸§à¹ˆà¸²\n" -"จะทำà¸à¸¢à¹ˆà¸²à¸‡à¹„รต่à¸à¹„ป?:" +"เชดเดà¸à¸£à¹Œà¸–ูà¸à¹à¸à¹‰à¹„ขบนดิสà¸à¹Œ\n" +"จะทำà¸à¸¢à¹ˆà¸²à¸‡à¹„รต่à¸à¹„ป?" #: editor/plugins/shader_editor_plugin.cpp msgid "Shader" @@ -7393,6 +7388,15 @@ msgid "XForm Dialog" msgstr "เครื่à¸à¸‡à¸¡à¸·à¸à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Snap Nodes To Floor" msgstr "จำà¸à¸±à¸”ด้วยเส้นตาราง" @@ -8260,17 +8264,16 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "ลบรายà¸à¸²à¸£" +msgstr "ลบเทà¸à¹€à¸ˆà¸à¸£à¹Œà¸«à¸£à¸·à¸à¹„ม่ โดยจะลบไทล์ทุà¸à¸à¸±à¸™à¸—ี่ใช้เทà¸à¹€à¸ˆà¸à¸£à¹Œà¸™à¸µà¹‰" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." -msgstr "" +msgstr "คุณยังไม่ได้เลืà¸à¸à¹€à¸—à¸à¹€à¸ˆà¸à¸£à¹Œà¸—ี่จะลบ" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." -msgstr "" +msgstr "สร้างจาà¸à¸ªà¸à¸£à¸µà¸™ นี่จะสร้างทับไทล์เดิม" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" @@ -8291,16 +8294,16 @@ msgid "" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete selected Rect." -msgstr "ลบไฟล์ที่เลืà¸à¸?" +msgstr "ลบสี่เหลี่ยมที่เลืà¸à¸" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "Select current edited sub-tile.\n" "Click on another Tile to edit it." -msgstr "เลืà¸à¸à¹„ทล์ย่à¸à¸¢à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡" +msgstr "" +"เลืà¸à¸à¹„ทล์ย่à¸à¸¢à¸à¸±à¸™à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™à¹€à¸žà¸·à¹ˆà¸à¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡\n" +"คลิà¸à¸—ี่ไทล์à¸à¸±à¸™à¸à¸·à¹ˆà¸™à¸žà¸·à¹ˆà¸à¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete polygon." @@ -8319,12 +8322,13 @@ msgstr "" "คลิà¸à¹„ทล์à¸à¸±à¸™à¸à¸·à¹ˆà¸™à¹€à¸žà¸·à¹ˆà¸à¸›à¸£à¸±à¸šà¹à¸•à¹ˆà¸‡" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "Select sub-tile to use as icon, this will be also used on invalid autotile " "bindings.\n" "Click on another Tile to edit it." -msgstr "เลืà¸à¸à¸£à¸¹à¸›à¸ าพย่à¸à¸¢à¹€à¸žà¸·à¹ˆà¸à¸—ำเป็นไà¸à¸„à¸à¸™ ภาพนี้จะใช้à¹à¸ªà¸”งเมื่à¸à¸à¸²à¸£" +msgstr "" +"เลืà¸à¸à¹„ทล์ย่à¸à¸¢à¹€à¸žà¸·à¹ˆà¸à¹ƒà¸Šà¹‰à¹€à¸›à¹‡à¸™à¹„à¸à¸„à¸à¸™ สามารถใช้เมื่ภautotile bindings มีความผิดพลาด\n" +"คลิà¸à¹„ทล์à¸à¸±à¸™à¸à¸·à¹ˆà¸™à¹€à¸žà¸·à¹ˆà¸à¹à¸à¹‰à¹„ขไทล์นั้น" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -8335,11 +8339,12 @@ msgstr "" "คลิà¸à¹„ทล์à¸à¸±à¸™à¸à¸·à¹ˆà¸™à¹€à¸žà¸·à¹ˆà¸à¹à¸à¹‰à¹„ขไทล์นั้น" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "Select sub-tile to change its z index.\n" "Click on another Tile to edit it." -msgstr "เลืà¸à¸à¹„ทล์ย่à¸à¸¢à¹€à¸žà¸·à¹ˆà¸à¸ˆà¸±à¸”ลำดับความสำคัà¸" +msgstr "" +"เลืà¸à¸à¹„ทล์ย่à¸à¸¢à¹€à¸žà¸·à¹ˆà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™ z index\n" +"คลิà¸à¸—ี่ไทล์à¸à¸·à¹ˆà¸™à¹€à¸žà¸·à¹ˆà¸à¹à¸à¹‰à¹„ขไทล์นั้น" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Region" @@ -9477,11 +9482,12 @@ msgid "Resources to export:" msgstr "รีซà¸à¸£à¹Œà¸ªà¸—ี่จะส่งà¸à¸à¸:" #: editor/project_export.cpp -#, fuzzy msgid "" "Filters to export non-resource files/folders\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" -msgstr "ตัวà¸à¸£à¸à¸‡à¹„ฟล์ที่จะส่งà¸à¸à¸à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•à¸´à¸¡ (คั่นด้วยจุลภาค ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸Šà¹ˆà¸™: *.json, *.txt)" +msgstr "" +"ตัวà¸à¸£à¸à¸‡à¹„ฟล์ที่จะส่งà¸à¸à¸à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•à¸´à¸¡\n" +"(คั่นด้วยจุลภาค ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸Šà¹ˆà¸™: *.json, *.txt, docs/)" #: editor/project_export.cpp #, fuzzy @@ -9499,9 +9505,8 @@ msgid "Make Patch" msgstr "สร้างà¹à¸žà¸•à¸Šà¹Œ" #: editor/project_export.cpp -#, fuzzy msgid "Pack File" -msgstr " ไฟล์" +msgstr "ไฟล์" #: editor/project_export.cpp msgid "Features" @@ -10461,8 +10466,9 @@ msgid "Instance Child Scene" msgstr "à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¸¥à¸¹à¸" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "ลบสคริปต์" +#, fuzzy +msgid "Detach Script" +msgstr "à¹à¸™à¸šà¸ªà¸„ริปต์" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10620,6 +10626,13 @@ msgid "Open Documentation" msgstr "เปิดคู่มืà¸" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "เพิ่มโหนดลูà¸" @@ -10666,11 +10679,13 @@ msgid "" msgstr "à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¹€à¸›à¹‡à¸™à¹‚หนด สร้างฉาà¸à¸ªà¸·à¸šà¸—à¸à¸”ถ้าไม่มีโหนดราà¸" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "สร้างสคริปต์ให้โหนดที่เลืà¸à¸" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "ลบสคริปต์ขà¸à¸‡à¹‚หนดที่เลืà¸à¸" #: editor/scene_tree_dock.cpp @@ -10810,6 +10825,10 @@ msgid "A directory with the same name exists." msgstr "มีไดเรà¸à¸—à¸à¸£à¸µà¸Šà¸·à¹ˆà¸à¸™à¸µà¹‰à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "ไม่พบไฟล์" + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "นามสà¸à¸¸à¸¥à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡" @@ -10853,6 +10872,10 @@ msgid "File exists, it will be reused." msgstr "มีไฟล์นี้à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ จะนำมาใช้" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸œà¸´à¸”พลาด" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "ชื่à¸à¸„ลาสไม่ถูà¸à¸•à¹‰à¸à¸‡" @@ -11894,6 +11917,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11917,6 +11944,32 @@ msgstr "ชื่à¸à¹à¸žà¹‡à¸„เà¸à¸ˆà¸œà¸´à¸”พลาด:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12631,6 +12684,21 @@ msgstr "" msgid "Constants cannot be modified." msgstr "ค่าคงที่ไม่สามารถà¹à¸à¹‰à¹„ขได้" +#~ msgid "Not in resource path." +#~ msgstr "ไม่à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚ฟลเดà¸à¸£à¹Œà¸£à¸µà¸‹à¸à¸£à¹Œà¸ª" + +#~ msgid "Revert" +#~ msgstr "คืนà¸à¸¥à¸±à¸š" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "à¸à¸²à¸£à¸„ืนà¸à¸¥à¸±à¸šà¹„ม่สามารถยà¸à¹€à¸¥à¸´à¸à¹„ด้ คืนà¸à¸¥à¸±à¸š?" + +#~ msgid "Revert Scene" +#~ msgstr "คืนà¸à¸¥à¸±à¸šà¸‰à¸²à¸" + +#~ msgid "Clear Script" +#~ msgstr "ลบสคริปต์" + #~ msgid "Issue Tracker" #~ msgstr "ติดตามปัà¸à¸«à¸²" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index fdb8f76605..277cc2c807 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -44,12 +44,15 @@ # Zsosu Ktosu <zktosu@gmail.com>, 2020. # Mesut Aslan <kontinyu@gmail.com>, 2020. # Kaan Genç <kaan@kaangenc.me>, 2020. +# Anonymous <noreply@weblate.org>, 2020. +# GüneÅŸ Gümüş <gunes.gumus.001@gmail.com>, 2020. +# OÄŸuz Ersen <oguzersen@protonmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-04-23 20:21+0000\n" -"Last-Translator: Anonymous <noreply@weblate.org>\n" +"PO-Revision-Date: 2020-05-22 21:01+0000\n" +"Last-Translator: GüneÅŸ Gümüş <gunes.gumus.001@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -57,18 +60,16 @@ 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.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "" -"\"convert ()\" için geçersiz tür bağımsız deÄŸiÅŸkeni, \"TYPE_ *\" sabitlerini " -"kullanın." +msgstr "convert() için geçersiz türde argüman, TYPE_* sabitlerini kullanın." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp msgid "Expected a string of length 1 (a character)." -msgstr "1 (karakter) uzunlukta metin bekleniyor." +msgstr "1 uzunluÄŸunda bir metin (bir karakter) bekleniyor." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -354,7 +355,7 @@ msgstr "Döngü AradeÄŸerlemesin Sar" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "Yeni Anahtar" +msgstr "Anahtar Ekle" #: editor/animation_track_editor.cpp msgid "Duplicate Key(s)" @@ -532,12 +533,12 @@ msgstr "" "Bu animasyon içe aktarılmış bir sahneye ait, bu yüzden içe aktarılan " "parçalara yapılan deÄŸiÅŸiklikler kaydedilmeyecek.\n" "\n" -"Özel parça ekleme özelliÄŸini aktif etmek için, sahnenin içe aktarma " -"ayarlarına gidin ve \"Animasyon > Depolama\" ayarını \"Dosyalama\" olarak " -"ayarlayın, \"Animasyon > Özel Parçaları Sakla\"ayarını aktif edin ve sonra " -"tekrar içe aktarın.\n" -"Alternatif olarak, animasyonları ayrı dosyalara aktaran bir içe aktarma " -"hazır ayarı kullanabilirsiniz." +"Özel parça ekleme özelliÄŸini etkinleÅŸtirmek için, sahnenin içe aktarma " +"ayarlarına gidin ve \"Animasyon > Depolama\"\n" +"ayarını \"Dosyalama\" olarak ayarlayın, \"Animasyon > Özel Parçaları Sakla\" " +"ayarını etkinleÅŸtirin ve sonra tekrar içe aktarın.\n" +"Alternatif olarak, animasyonları ayrı dosyalara aktaran bir içe aktarma ön " +"ayarı kullanabilirsiniz." #: editor/animation_track_editor.cpp msgid "Warning: Editing imported animation" @@ -878,7 +879,6 @@ msgstr "Sinyale baÄŸlanamıyor" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -899,7 +899,7 @@ msgstr "Sinyal:" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "Bunu '%s' ÅŸuna '%s' baÄŸla" +msgstr "'%s' sinyalini '%s' yöntemine baÄŸla" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" @@ -1216,7 +1216,7 @@ msgstr "" #: editor/editor_about.cpp msgid "All Components" -msgstr "Tüm BileÅŸenler" +msgstr "Tüm BileÅŸenler" #: editor/editor_about.cpp msgid "Components" @@ -1490,17 +1490,9 @@ msgstr "Etkin" msgid "Rearrange Autoloads" msgstr "KendindenYüklenme'leri Yeniden Sırala" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Geçersiz yol." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Dosya yok." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Kaynak yolunda deÄŸil." +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1726,7 +1718,7 @@ msgstr "" #: editor/editor_feature_profile.cpp msgid "Error saving profile to path: '%s'." -msgstr "Profil yolu kaydetme hatası: '%s'." +msgstr "Profil '%s' yoluna kaydedilirken hata oluÅŸtu." #: editor/editor_feature_profile.cpp msgid "Unset" @@ -2432,7 +2424,7 @@ msgstr "Bu iÅŸlem bir sahne olmadan yapılamaz." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "Örüntü Betikevini Dışa Aktar" +msgstr "Örüntü Kütüphanesini Dışa Aktar" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." @@ -2455,12 +2447,15 @@ msgid "Can't reload a scene that was never saved." msgstr "Hiç kaydedilmemiÅŸ bir sahne yeniden yüklenemiyor." #: editor/editor_node.cpp -msgid "Revert" -msgstr "Geri dön" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "Sahne Kaydet" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Bu eylem geri alınamaz. Yine de geri dönsün mü?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2484,7 +2479,7 @@ msgstr "Kaydet & Çık" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Çıkmadan önce deÄŸiÅŸiklikler aÅŸağıdaki sahneye(lere) kaydedilsin mi?" +msgstr "Çıkmadan önce deÄŸiÅŸiklikler aÅŸağıdaki sahne(ler)e kaydedilsin mi?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" @@ -2497,8 +2492,8 @@ msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Bu seçenek artık kullanılmıyor. Yenilemeye zorlayan durumlar bug olarak " -"deÄŸerlendirilir. Lütfen bildirin." +"Bu seçenek artık kullanılmıyor. Yenilemenin zorlanması gereken durumlar " +"artık hata olarak deÄŸerlendiriliyor. Lütfen bildirin." #: editor/editor_node.cpp msgid "Pick a Main Scene" @@ -2739,16 +2734,12 @@ msgstr "TileSet ..." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "Geri" +msgstr "Geri al" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Redo" -msgstr "Geri" - -#: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Sahneyi Eski Durumuna Çevir" +msgstr "Yeniden yap" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." @@ -2913,7 +2904,7 @@ msgstr "Ekran Görüntüleri Düzenleyici Verileri/Ayarları Klasöründe saklan #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "Tam Ekran Aç / Kapat" +msgstr "Tam Ekranı Aç/Kapat" #: editor/editor_node.cpp msgid "Toggle System Console" @@ -3077,8 +3068,14 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" -"Bu, kaynak ÅŸablonlarını \"res://android/build\" yoluna yükleyerek, projenizi " -"isteÄŸe dayalı Android inÅŸasına ayarlayacaktır." +"Bu, kaynak ÅŸablonunu \"res://android/build\" dizinine kurarak projenizi özel " +"Android derlemeleri için ayarlayacaktır.\n" +"Daha sonra dışa aktarırken deÄŸiÅŸiklikleri uygulayabilir ve kendi özel " +"APK'nızı oluÅŸturabilirsiniz (modül ekleme, AndroidManifest.xml dosyasını " +"deÄŸiÅŸtirme vb.).\n" +"Önceden oluÅŸturulmuÅŸ APK'ları kullanmak yerine özel derlemeler yapmak için " +"Android dışa aktarma ön ayarında \"Özel Derleme Kullan\" seçeneÄŸinin " +"etkinleÅŸtirilmesi gerektiÄŸini unutmayın." #: editor/editor_node.cpp msgid "" @@ -3125,11 +3122,11 @@ msgstr "Seç" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "Düzenleyicide Aç" +msgstr "2B Düzenleyiciyi Aç" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "3B Düzenleyicide Aç" +msgstr "3B Düzenleyiciyi Aç" #: editor/editor_node.cpp msgid "Open Script Editor" @@ -3250,7 +3247,7 @@ msgstr "Katman" #: editor/editor_properties.cpp msgid "Bit %d, value %d" -msgstr "Bit %d, deÄŸer %d" +msgstr "Bit %d, deÄŸer %d" #: editor/editor_properties.cpp msgid "[Empty]" @@ -3392,6 +3389,13 @@ msgstr "Betik çalıştırılamadı:" msgid "Did you forget the '_run' method?" msgstr "'_run()' metodunu unuttunuz mu?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Alıcı bırakmak için Ctrl'e basılı tutun. Genel imza bırakmak için Shift'e " +"basılı tutun." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Düğüm(leri) içe Aktarmak için Seç" @@ -3990,6 +3994,10 @@ msgid "Error running post-import script:" msgstr "sonradan-içe aktarılmış betik çalıştırılırken hata:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Kaydediliyor..." @@ -4444,7 +4452,7 @@ msgstr "SüzgeçlenmiÅŸ Parçaları Düzenle:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Enable Filtering" -msgstr "Süzgeçlemeyi Aç" +msgstr "Süzgeçlemeyi Aç" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -5384,7 +5392,7 @@ msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom Reset" -msgstr "YakınlaÅŸmayı Sıfırla" +msgstr "YakınlaÅŸtırmayı Sıfırla" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5839,7 +5847,7 @@ msgstr "EÄŸri DoÄŸrusal Tanjantını Aç/Kapa" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "Tanjantları tek tek düzenlemek için Shift'e basılı tut" +msgstr "Tanjantları bireysel olarak düzenlemek için Shift tuÅŸuna basılı tutun" #: editor/plugins/curve_editor_plugin.cpp msgid "Right click to add point" @@ -5875,7 +5883,7 @@ msgstr "Örüntü boÅŸ!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Couldn't create a Trimesh collision shape." -msgstr "Trimesh çarpışma ÅŸekli oluÅŸturulamadı." +msgstr "Üçlü Örüntü çarpışma yüzeyi oluÅŸturulamadı." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" @@ -5911,7 +5919,7 @@ msgstr "Herhangi bir çarpışma ÅŸekli oluÅŸturulamadı." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Multiple Convex Shapes" -msgstr "Dışbükey Åžekilleri OluÅŸtur" +msgstr "Çoklu Dışbükey Åžekiller OluÅŸtur" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" @@ -6934,12 +6942,13 @@ msgstr "" "'%s' düğümünden '%s' düğümüne, '%s' sinyali için '%s' baÄŸlantı metodu eksik." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Satır" +#, fuzzy +msgid "[Ignore]" +msgstr "(gözardı et)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(gözardı et)" +msgid "Line" +msgstr "Satır" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7413,6 +7422,15 @@ msgid "XForm Dialog" msgstr "XForm Ä°letiÅŸim Kutusu" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Düğümleri zemine hizala" @@ -9927,6 +9945,9 @@ msgid "" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"Arama kutusu, projeleri adına ve son yol bileÅŸenine göre filtreler.\n" +"Projeleri adına ve tam yoluna göre filtrelemek için, sorgunun en az bir `/` " +"karakteri içermesi gereklidir." #: editor/project_settings_editor.cpp msgid "Key " @@ -10081,7 +10102,7 @@ msgstr "'%s' özelliÄŸi mevcut deÄŸil." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "Ayar '%s' dahilidir silinemez." +msgstr "'%s' ayarı dahilidir ve silinemez." #: editor/project_settings_editor.cpp msgid "Delete Item" @@ -10290,7 +10311,7 @@ msgstr "Bir Düğüm Seç" #: editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "Bit %d, val %d." +msgstr "Bit %d, deÄŸer %d." #: editor/property_selector.cpp msgid "Select Property" @@ -10425,9 +10446,8 @@ msgid "Regular Expression Error" msgstr "Düzenli Ä°fade Hatası" #: editor/rename_dialog.cpp -#, fuzzy msgid "At character %s" -msgstr "Geçerli karakterler:" +msgstr "%s karakterinde" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" @@ -10494,8 +10514,9 @@ msgid "Instance Child Scene" msgstr "Çocuk Sahnesini Örnekle" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "BetiÄŸi Temizle" +#, fuzzy +msgid "Detach Script" +msgstr "Betik Ä°liÅŸtir" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10660,6 +10681,13 @@ msgid "Open Documentation" msgstr "Klavuzu Aç" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Çocuk Düğüm Ekle" @@ -10708,11 +10736,13 @@ msgstr "" "alınmış bir sahne oluÅŸturur." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "Seçili düğüm için yeni veya mevcut bir betik iliÅŸtir." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Seçilen düğüm için betik temizle." #: editor/scene_tree_dock.cpp @@ -10844,6 +10874,10 @@ msgid "A directory with the same name exists." msgstr "Aynı isimde dizin zaten var." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Dosya yok." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Geçersiz uzantı." @@ -10884,6 +10918,10 @@ msgid "File exists, it will be reused." msgstr "Dosya mevcut, yeniden kullanılacak." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Geçersiz yol." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Geçersiz sınıf ismi." @@ -11044,9 +11082,8 @@ msgid "Total:" msgstr "Toplam:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Export list to a CSV file" -msgstr "Profil Dışa Aktar" +msgstr "Listeyi CSV dosyasına aktar" #: editor/script_editor_debugger.cpp msgid "Resource Path" @@ -11928,6 +11965,13 @@ msgstr "" "yapılandırılmamış." #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"Anahtar deposunda Hata Ayıklayıcı Ayarları'nda veya ön ayarda " +"yapılandırılmamış." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Özel derleme için Editör Ayarları'nda geçerli bir Android SDK yolu gerekir." @@ -11953,6 +11997,32 @@ msgstr "Geçersiz paket ismi:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12733,6 +12803,21 @@ msgstr "varyings yalnızca vertex iÅŸlevinde atanabilir." msgid "Constants cannot be modified." msgstr "Sabit deÄŸerler deÄŸiÅŸtirilemez." +#~ msgid "Not in resource path." +#~ msgstr "Kaynak yolunda deÄŸil." + +#~ msgid "Revert" +#~ msgstr "Geri dön" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Bu eylem geri alınamaz. Yine de geri dönsün mü?" + +#~ msgid "Revert Scene" +#~ msgstr "Sahneyi Eski Durumuna Çevir" + +#~ msgid "Clear Script" +#~ msgstr "BetiÄŸi Temizle" + #~ msgid "Issue Tracker" #~ msgstr "Sorun Ä°zleyici" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index e713e79a4c..75cce04e0e 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -13,11 +13,12 @@ # ÐлекÑандр <ol-vin@mail.ru>, 2018. # Богдан Матвіїв <bomtvv@gmail.com>, 2019. # Tymofij Lytvynenko <till.svit@gmail.com>, 2020. +# Vladislav Glinsky <cl0ne@mithril.org.ua>, 2020. msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-05-01 11:43+0000\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -27,24 +28,24 @@ 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.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" -"Ðекоректний тип аргументу Ð´Ð»Ñ convert(), Ñлід викориÑтовувати конÑтанту " +"Ðекоректний тип аргументу Ð´Ð»Ñ 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 #: 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" @@ -53,7 +54,8 @@ msgstr "Ðекоректні вхідні дані %i (не передано) у #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" msgstr "" -"не можна викориÑтовувати self, оÑкільки екземплÑÑ€ Ñ” порожнім (не передано)" +"неможливо викориÑтовувати self, оÑкільки екземплÑÑ€ має Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ null (не " +"передано)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -65,15 +67,15 @@ msgstr "Ðекоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ‚Ð¸Ð¿Ñƒ %s Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "Ðекоректний іменований Ñ–Ð½Ð´ÐµÐºÑ Â«%s» Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ типу %s" +msgstr "Ðекоректний іменований Ñ–Ð½Ð´ÐµÐºÑ \"%s\" Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ типу %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "Ðекоректні аргументи Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ «%s»" +msgstr "Ðекоректні аргументи Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ \"%s\"" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "При виклику «%s»:" +msgstr "При виклику \"%s\":" #: core/ustring.cpp msgid "B" @@ -105,15 +107,15 @@ msgstr "ЕіБ" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "Вивільнити" +msgstr "Вільні" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "ЗбаланÑована" +msgstr "БаланÑовані" #: editor/animation_bezier_editor.cpp msgid "Mirror" -msgstr "Віддзеркалити" +msgstr "Віддзеркалені" #: editor/animation_bezier_editor.cpp editor/editor_profiler.cpp msgid "Time:" @@ -125,7 +127,7 @@ msgstr "ЗначеннÑ:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "Тут Ñлід вÑтавити ключ" +msgstr "Ð’Ñтавити ключ тут" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" @@ -574,7 +576,7 @@ msgstr "МаÑштаб від курÑору" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Дублювати виділене" +msgstr "Дублювати позначене" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" @@ -854,7 +856,6 @@ msgstr "Ðе вдалоÑÑ Ð·'єднати Ñигнал" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1212,7 +1213,7 @@ msgstr "%s (вже Ñ–Ñнує)" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ñ–Ð²" +msgstr "Ð Ð¾Ð·Ð¿Ð°ÐºÐ¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÑурÑів" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "The following files failed extraction from package:" @@ -1448,7 +1449,7 @@ msgstr "Перейменувати автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "Увімкнути Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñкриптів" +msgstr "Увімкнути Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñкриптів" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" @@ -1460,23 +1461,15 @@ msgstr "Видалити автозавантаженнÑ" #: editor/editor_autoload_settings.cpp editor/editor_plugin_settings.cpp msgid "Enable" -msgstr "Ðктивувати" +msgstr "Увімкнути" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" msgstr "Змінити порÑдок автозавантажень" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "Ðеправильний шлÑÑ…." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Файл не Ñ–Ñнує." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "Ðе в реÑурÑному шлÑху." +msgid "Can't add autoload:" +msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ автозавантаженнÑ:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1628,7 +1621,7 @@ msgstr "Редактор Ñкриптів" #: editor/editor_feature_profile.cpp msgid "Asset Library" -msgstr "Бібліотека активів" +msgstr "Бібліотека реÑурÑів" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" @@ -1934,7 +1927,7 @@ msgstr "" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ñ–Ð²" +msgstr "Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÑурÑів" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -2434,12 +2427,17 @@ msgid "Can't reload a scene that was never saved." msgstr "Ðеможливо перезавантажити Ñцену, Ñку ніколи не зберігали." #: editor/editor_node.cpp -msgid "Revert" -msgstr "ПовернутиÑÑ" +msgid "Reload Saved Scene" +msgstr "ÐŸÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾Ñ— Ñцени" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Цю дію не можна ÑкаÑувати. ПовернутиÑÑ Ð² будь-Ñкому випадку?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"Зміни до поточної Ñцени не збережено.\n" +"Перезавантажити збережену Ñцену попри це? ÐаÑлідки Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ можна " +"буде ÑкаÑувати." #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2493,8 +2491,8 @@ msgstr "Повторно відкрити закриту Ñцену" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" -"Ðе вдаєтьÑÑ Ð²Ð²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ плагін addon: '%s' не вдалоÑÑ Ð¿Ñ€Ð¾Ð°Ð½Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ " -"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—." +"Ðе вдалоÑÑ Ð²Ð²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ додаток addon: «%s» не вдалоÑÑ Ð¿Ñ€Ð¾Ð°Ð½Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ " +"налаштуваннÑ." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." @@ -2730,10 +2728,6 @@ msgid "Redo" msgstr "Повернути" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "Повернути Ñцену" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "Різні проєктні або Ñценографічні інÑтрументи." @@ -3126,7 +3120,7 @@ msgstr "Відкрити редактор Ñкриптів" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "Відкрити бібліотеку активів" +msgstr "Відкрити бібліотеку реÑурÑів" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -3381,6 +3375,12 @@ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити Ñкрипт:" msgid "Did you forget the '_run' method?" msgstr "Ви забули метод '_run'?" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" +"Утримуйте натиÑнутою Ctrl, щоб заокруглити до цілих. Утримуйте натиÑнутою " +"Shift, щоб зміни були точнішими." + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Виберіть вузол(вузли) Ð´Ð»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ" @@ -3977,6 +3977,10 @@ msgid "Error running post-import script:" msgstr "Помилка запуÑку піÑÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ Ñкрипту:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "Повернули об'єкт, що походить від Node, у методі «post_import()»?" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "ЗбереженнÑ..." @@ -4016,8 +4020,8 @@ msgstr "Зміна типу імпортованого файла потребу msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" -"Увага: Ñ–Ñують об'єкти, Ñкі викориÑтовують цей реÑурÑ, — вони можуть " -"припинити завантажуватиÑÑ Ð½Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ чином." +"УВÐГÐ: Ñ–Ñнують об'єкти, що викориÑтовують цей реÑÑƒÑ€Ñ Ñ‚Ð° можуть припинити " +"завантажуватиÑÑ Ð½Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ чином." #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -4958,7 +4962,7 @@ msgstr "Помилка перевірки Ñ…ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ sha256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ñƒ:" +msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€ÐµÑурÑу:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Downloading (%s / %s)..." @@ -4994,7 +4998,7 @@ 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" @@ -5083,7 +5087,7 @@ msgstr "ЗавантаженнÑ…" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "ZIP файл активів" +msgstr "ZIP файл реÑурÑів" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -6933,12 +6937,12 @@ msgstr "" "«%s»." #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "Ð Ñдок" +msgid "[Ignore]" +msgstr "[Ігнорувати]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(ігнорувати)" +msgid "Line" +msgstr "Ð Ñдок" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7414,6 +7418,20 @@ msgid "XForm Dialog" msgstr "Вікно XForm" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Клацніть Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¼Ñ–Ð¶ Ñтанами видимоÑÑ‚Ñ–.\n" +"\n" +"Відкрите око: Gizmo Ñ” видимим.\n" +"Закрите око: Gizmo приховано.\n" +"Ðапівзакрите око: Gizmo Ñ” також видимим крізь непрозорі поверхні («рентген»)." + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Приліпити вузли до підлоги" @@ -9835,8 +9853,9 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" -"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити проєкт: Ñлід імпортувати вміÑÑ‚.\n" -"Будь лаÑка, змініть проєкт так, щоб увімкнути початкове імпортуваннÑ." +"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити проєкт: Ñлід імпортувати реÑурÑи.\n" +"Будь лаÑка, відкрийте проєкт на редагуваннÑ, щоб запуÑтити початкове " +"імпортуваннÑ." #: editor/project_manager.cpp msgid "Are you sure to run %d projects at once?" @@ -9928,8 +9947,8 @@ msgid "" "You currently don't have any projects.\n" "Would you like to explore official example projects in the Asset Library?" msgstr "" -"Зараз проєктів немає.\n" -"Хочете вивчити проєкти офіційних прикладів з бібліотеки даних?" +"Ðаразі у Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” проєктів.\n" +"Бажаєте переглÑнути офіційні приклади проєктів з бібліотеки реÑурÑів?" #: editor/project_manager.cpp msgid "" @@ -10508,8 +10527,8 @@ msgid "Instance Child Scene" msgstr "Створити екземплÑÑ€ дочірньої Ñцени" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "Вилучити Ñкрипт" +msgid "Detach Script" +msgstr "Від'єднати Ñкрипт" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10674,6 +10693,16 @@ msgid "Open Documentation" msgstr "Відкрити документацію" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" +"Ðе вдалоÑÑ Ð´Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ Ñкрипт: не зареєÑтровано жодної мови.\n" +"Ймовірно, причиною Ñ” те, що цей редактор було зібрано із вимкненими модулÑми " +"уÑÑ–Ñ… мов." + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Додати дочірній вузол" @@ -10722,12 +10751,12 @@ msgstr "" "кореневого вузла не Ñ–Ñнує." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "Долучити новий або наÑвний Ñкрипт до позначеного вузла." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "Вилучити Ñкрипт Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ вузла." +msgid "Detach the script from the selected node." +msgstr "Від'єднати Ñкрипт від позначеного вузла." #: editor/scene_tree_dock.cpp msgid "Remote" @@ -10858,6 +10887,10 @@ msgid "A directory with the same name exists." msgstr "Каталог із такою назвою вже Ñ–Ñнує." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Файл не Ñ–Ñнує." + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "Ðекоректний ÑуфікÑ." @@ -10898,6 +10931,10 @@ msgid "File exists, it will be reused." msgstr "Файл вже Ñ–Ñнує, його буде викориÑтано повторно." #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "Ðеправильний шлÑÑ…." + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "Ðекоректна назва клаÑу." @@ -11948,6 +11985,11 @@ msgstr "" "ключів." #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" +"У шаблоні екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ налаштовано Ñховище ключів випуÑку." + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" "Ðетипове Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” коректного шлÑху до SDK Ð´Ð»Ñ Android у параметрах " @@ -11977,6 +12019,42 @@ msgstr "Ðекоректна назва пакунка:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"Ðекоректний модуль «GodotPaymentV3» включено до параметрів проєкту «android/" +"modules» (змінено у Godot 3.2.2).\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" +"Щоб можна було кориÑтуватиÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ°Ð¼Ð¸, Ñлід позначити пункт " +"«ВикориÑтовувати нетипову збірку»." + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"«.Степені Ñвободи» працюють, лише Ñкщо «Режим Xr» має Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«Oculus " +"Mobile VR»." + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"«СтеженнÑм за руками» можна ÑкориÑтатиÑÑ, лише Ñкщо «Режим Xr» дорівнює " +"«Oculus Mobile VR»." + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"«ВрахуваннÑм фокуÑа» можна ÑкориÑтатиÑÑ, лише Ñкщо «Режим Xr» дорівнює " +"«Oculus Mobile VR»." + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12772,6 +12850,21 @@ msgstr "Змінні величини можна пов'Ñзувати лише msgid "Constants cannot be modified." msgstr "Сталі не можна змінювати." +#~ msgid "Not in resource path." +#~ msgstr "Ðе в реÑурÑному шлÑху." + +#~ msgid "Revert" +#~ msgstr "ПовернутиÑÑ" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Цю дію не можна ÑкаÑувати. ПовернутиÑÑ Ð² будь-Ñкому випадку?" + +#~ msgid "Revert Scene" +#~ msgstr "Повернути Ñцену" + +#~ msgid "Clear Script" +#~ msgstr "Вилучити Ñкрипт" + #~ msgid "Issue Tracker" #~ msgstr "ВідÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index 432a8d1137..10558ad98e 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -829,7 +829,6 @@ msgstr ".تمام کا انتخاب" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1437,18 +1436,9 @@ msgstr "" msgid "Rearrange Autoloads" msgstr "" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "" - #: editor/editor_autoload_settings.cpp -#, fuzzy -msgid "Not in resource path." -msgstr ".ÛŒÛ Ø±ÛŒØ³ÙˆØ±Ø³ Ùائل پر مبنی Ù†ÛÛŒ ÛÛ’" +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -2390,11 +2380,14 @@ msgid "Can't reload a scene that was never saved." msgstr "" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "سب سکریپشن بنائیں" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2664,10 +2657,6 @@ msgid "Redo" msgstr "" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3282,6 +3271,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "" @@ -3882,6 +3875,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "" @@ -6829,11 +6826,11 @@ msgid "" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Line" +msgid "[Ignore]" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" +msgid "Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -7312,6 +7309,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10312,7 +10318,7 @@ msgstr "" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Clear Script" +msgid "Detach Script" msgstr "سب سکریپشن بنائیں" #: editor/scene_tree_dock.cpp @@ -10475,6 +10481,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10523,11 +10536,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -10651,6 +10664,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "" @@ -10692,6 +10709,10 @@ msgid "File exists, it will be reused." msgstr "" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "" @@ -11755,6 +11776,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11778,6 +11803,32 @@ msgstr "" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12420,6 +12471,14 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Not in resource path." +#~ msgstr ".ÛŒÛ Ø±ÛŒØ³ÙˆØ±Ø³ Ùائل پر مبنی Ù†ÛÛŒ ÛÛ’" + +#, fuzzy +#~ msgid "Clear Script" +#~ msgstr "سب سکریپشن بنائیں" + +#, fuzzy #~ msgid "Class Description" #~ msgstr "سب سکریپشن بنائیں" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index a52a3dedf3..fe846d5e08 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -846,7 +846,6 @@ msgstr "Không thể kết nối tÃn hiệu" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1463,17 +1462,8 @@ msgstr "Mở" msgid "Rearrange Autoloads" msgstr "Sắp xếp lại Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "ÄÆ°á»ng dẫn sai." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "Tệp không tồn tại." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." +msgid "Can't add autoload:" msgstr "" #: editor/editor_autoload_settings.cpp @@ -2434,12 +2424,14 @@ msgstr "Không thể nạp má»™t cảnh mà chÆ°a lÆ°u bao giá»." #: editor/editor_node.cpp #, fuzzy -msgid "Revert" -msgstr "Trở lại" +msgid "Reload Saved Scene" +msgstr "LÆ°u Cảnh" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "Hà nh Ä‘á»™ng nà y không thể hoà n tác. Trở lại luôn?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2719,10 +2711,6 @@ msgid "Redo" msgstr "Là m lại" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3349,6 +3337,10 @@ msgstr "" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "Chá»n Nút để Nháºp" @@ -3949,6 +3941,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "Äang lÆ°u ..." @@ -6919,15 +6915,15 @@ msgstr "" "Không có phÆ°Æ¡ng thức kết nối '%s' của tÃn hiệu '%s' từ nút '%s' đến nút '%s'." #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "Dòng:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "Thêm Hà m" @@ -7408,6 +7404,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "Snap các nút đến Floor" @@ -10439,8 +10444,9 @@ msgid "Instance Child Scene" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +#, fuzzy +msgid "Detach Script" +msgstr "ÄÃnh kèm Script" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10603,6 +10609,13 @@ msgid "Open Documentation" msgstr "" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "Thêm nút con" @@ -10651,11 +10664,13 @@ msgstr "" "Tệp tin cảnh giống nhÆ° má»™t nút. Tạo má»™t cảnh kế thừa nếu nó không có nút gốc." #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "ÄÃnh kèm má»™t tệp lệnh cho nút đã chá»n." #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "Xoá tệp lệnh khá»i nút đã chá»n." #: editor/scene_tree_dock.cpp @@ -10788,6 +10803,10 @@ msgid "A directory with the same name exists." msgstr "Äã có má»™t file hoặc folder trùng tên." #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "Tệp không tồn tại." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "Phải sá» dụng extension có hiệu lá»±c" @@ -10832,6 +10851,11 @@ msgstr "" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "ÄÆ°á»ng dẫn sai." + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "KÃch thÆ°á»›c font không hợp lệ." @@ -11896,6 +11920,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -11920,6 +11948,32 @@ msgstr "KÃch thÆ°á»›c font không hợp lệ." #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12574,6 +12628,13 @@ msgstr "" msgid "Constants cannot be modified." msgstr "Không thể chỉnh sá»a hằng số." +#, fuzzy +#~ msgid "Revert" +#~ msgstr "Trở lại" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "Hà nh Ä‘á»™ng nà y không thể hoà n tác. Trở lại luôn?" + #~ msgid "Issue Tracker" #~ msgstr "Theo dõi vấn Ä‘á»" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index 538e017a5d..5dc2b5948f 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -60,12 +60,16 @@ # silentbird <silentbird520@outlook.com>, 2019. # Haoyu Qiu <timothyqiu32@gmail.com>, 2019, 2020. # Revan Ji <jiruifancr@gmail.com>, 2020. +# nieyuanhong <15625988003@163.com>, 2020. +# binotaliu <binota@protonmail.ch>, 2020. +# BinotaLIU <binota@protonmail.ch>, 2020. +# Tim Bao <honiebao@gmail.com>, 2020. msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2020-05-01 11:42+0000\n" -"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: Tim Bao <honiebao@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -73,7 +77,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.0.2\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -82,25 +86,25 @@ 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çš„å—符串(1å—符)。" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." -msgstr "解ç çš„å—节ä¸è¶³ï¼Œæˆ–æ ¼å¼æ— 效。" +msgstr "没有足够的å—节æ¥è§£ç ï¼Œæˆ–æ ¼å¼æ— 效。" #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "表达å¼ä¸çš„输入 %i æ— æ•ˆï¼ˆæœªä¼ é€’ï¼‰" +msgstr "表达å¼ä¸åŒ…å«å¾—%iæ— æ•ˆï¼ˆæœªä¼ é€’ï¼‰" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "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" @@ -108,15 +112,15 @@ msgstr "å°† %s 类型作为 %s åŸºç¡€ç±»åž‹çš„ç´¢å¼•æ— æ•ˆ" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "将“%sâ€ä½œä¸º %s 基础类型的具åç´¢å¼•æ— æ•ˆ" +msgstr "å°† '%s' 作为 %s 基础类型的具åç´¢å¼•æ— æ•ˆ" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "æž„é€ â€œ%sâ€çš„å‚æ•°æ— æ•ˆ" +msgstr "æž„é€ '%s' çš„å‚æ•°æ— æ•ˆ" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "调用“%sâ€æ—¶ï¼š" +msgstr "在调用'%s'时:" #: core/ustring.cpp msgid "B" @@ -881,7 +885,6 @@ msgstr "æ— æ³•è¿žæŽ¥ä¿¡å·" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1489,17 +1492,9 @@ msgstr "å¯ç”¨" msgid "Rearrange Autoloads" msgstr "é‡æŽ’åºAutoload" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "Invalid path." -msgstr "è·¯å¾„æ— æ•ˆã€‚" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "文件ä¸å˜åœ¨ã€‚" - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "ä¸åœ¨èµ„æºè·¯å¾„下。" +msgid "Can't add autoload:" +msgstr "æ— æ³•åŠ è½½autoload:" #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1874,7 +1869,7 @@ msgstr "切æ¢æ¨¡å¼" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "设置路径焦点" +msgstr "èšç„¦è·¯å¾„" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -2435,12 +2430,14 @@ msgid "Can't reload a scene that was never saved." msgstr "æ— æ³•é‡æ–°åŠ 载未ä¿å˜çš„场景。" #: editor/editor_node.cpp -msgid "Revert" -msgstr "æ¢å¤" +msgid "Reload Saved Scene" +msgstr "é‡è½½å·²ä¿å˜åœºæ™¯" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" -msgstr "æ¤æ“ä½œæ— æ³•æ’¤é”€ï¼Œæ˜¯å¦ç»§ç»ï¼Ÿ" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2715,10 +2712,6 @@ msgid "Redo" msgstr "é‡åš" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "æ¢å¤åœºæ™¯" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "其他项目或全场景工具。" @@ -3345,6 +3338,11 @@ msgstr "æ— æ³•æ‰§è¡Œè„šæœ¬:" msgid "Did you forget the '_run' method?" msgstr "您是å¦é—æ¼äº†_run()方法?" +#: editor/editor_spin_slider.cpp +#, fuzzy +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "按ä½Ctrl键放置一个Getter节点。按ä½Shift键放置一个通用ç¾å。" + #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" msgstr "选择è¦å¯¼å…¥çš„节点" @@ -3933,6 +3931,10 @@ msgid "Error running post-import script:" msgstr "åŽå¤„ç†è„šæœ¬è¿è¡Œå‘生错误:" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "ä¿å˜ä¸..." @@ -6319,7 +6321,9 @@ msgstr "åŒæ¥éª¨éª¼" msgid "" "No texture in this polygon.\n" "Set a texture to be able to edit UV." -msgstr "æ¤å¤šè¾¹å½¢æ²¡æœ‰è´´å›¾ï¼Œè¯·å…ˆä¸ºå®ƒè®¾ç½®è´´å›¾åŽå†å°è¯•ç¼–辑UV。" +msgstr "" +"æ¤å¤šè¾¹å½¢æ²¡æœ‰è´´å›¾ã€‚\n" +"请先为它设置贴图åŽå†å°è¯•ç¼–辑UV。" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -6840,12 +6844,13 @@ msgid "" msgstr "未找到方法“%sâ€ï¼ˆè¿žæŽ¥äºŽä¿¡å·â€œ%sâ€ã€æ¥è‡ªèŠ‚点“%sâ€ã€ç›®æ ‡èŠ‚点“%sâ€ï¼‰ã€‚" #: editor/plugins/script_text_editor.cpp -msgid "Line" -msgstr "è¡Œ" +#, fuzzy +msgid "[Ignore]" +msgstr "(忽略)" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(忽略)" +msgid "Line" +msgstr "è¡Œ" #: editor/plugins/script_text_editor.cpp msgid "Go to Function" @@ -7318,6 +7323,15 @@ msgid "XForm Dialog" msgstr "XForm对è¯æ¡†" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "将节点å¸é™„至地é¢" @@ -8174,7 +8188,7 @@ msgid "" "Drag handles to edit Rect.\n" "Click on another Tile to edit it." msgstr "" -"拖拽手柄以编辑举行。\n" +"拖拽手柄以编辑矩形。\n" "点击å¦ä¸€ä¸ªå›¾å—进行编辑。" #: editor/plugins/tile_set_editor_plugin.cpp @@ -8336,7 +8350,7 @@ msgstr "没有æä¾›æ交消æ¯" #: editor/plugins/version_control_editor_plugin.cpp msgid "No files added to stage" -msgstr "æ²¡æœ‰æ–‡ä»¶æ·»åŠ åˆ°èˆžå°" +msgstr "æ²¡æœ‰æ–‡ä»¶è¢«æ·»åŠ åˆ°æš‚å˜åŒº" #: editor/plugins/version_control_editor_plugin.cpp msgid "Commit" @@ -8384,11 +8398,11 @@ msgstr "类型更改" #: editor/plugins/version_control_editor_plugin.cpp msgid "Stage Selected" -msgstr "舞å°é€‰å®š" +msgstr "将选定放入暂å˜åŒº" #: editor/plugins/version_control_editor_plugin.cpp msgid "Stage All" -msgstr "所有舞å°" +msgstr "æš‚å˜å…¨éƒ¨" #: editor/plugins/version_control_editor_plugin.cpp msgid "Add a commit message" @@ -8632,7 +8646,7 @@ msgstr "返回NaNå’Œæ ‡é‡å‚数之间比较的布尔结果。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Less Than (<)" -msgstr "å°äºŽ (*)" +msgstr "å°äºŽ (<)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Less Than or Equal (<=)" @@ -8640,7 +8654,7 @@ msgstr "å°äºŽæˆ–ç‰äºŽï¼ˆ<=)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Not Equal (!=)" -msgstr "ä¸ç‰äºŽï¼ˆï¼=)" +msgstr "ä¸ç‰äºŽï¼ˆ!=)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -8650,7 +8664,7 @@ msgstr "如果æ供的布尔值是true或false,则返回关è”çš„å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns an associated scalar if the provided boolean value is true or false." -msgstr "如果æ供的布尔值是true或false,则返回关è”çš„å‘é‡ã€‚" +msgstr "如果æ供的布尔值是true或false,则返回关è”çš„æ ‡é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the boolean result of the comparison between two parameters." @@ -8953,7 +8967,7 @@ msgstr "执行立方体纹ç†æŸ¥æ‰¾ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Perform the texture lookup." -msgstr "执行立方体纹ç†æŸ¥æ‰¾ã€‚" +msgstr "执行纹ç†æŸ¥æ‰¾ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Cubic texture uniform lookup." @@ -8981,9 +8995,11 @@ msgid "" "whose number of rows is the number of components in 'c' and whose number of " "columns is the number of components in 'r'." msgstr "" -"计算一对矢é‡çš„外部乘积。 OuterProduct 将第一个å‚æ•°\"c\"视为列矢é‡ï¼ˆåŒ…å«ä¸€åˆ—çš„" -"矩阵),将第二个å‚æ•°\"r\"视为行矢é‡ï¼ˆå…·æœ‰ä¸€è¡Œçš„矩阵),并执行线性代数矩阵乘以" -"\"c = r\",生æˆè¡Œæ•°ä¸º\"c\"ä¸çš„组件,其列数是\"r\"ä¸çš„组件数。" +"计算一对矢é‡çš„外积。\n" +"\n" +"OuterProduct 将第一个å‚æ•°\"c\"视为列矢é‡ï¼ˆåŒ…å«ä¸€åˆ—的矩阵),将第二个å‚æ•°\"r" +"\"视为行矢é‡ï¼ˆå…·æœ‰ä¸€è¡Œçš„矩阵),并执行线性代数矩阵乘以\"c * r\",生æˆè¡Œæ•°ä¸º" +"\"c\"ä¸çš„组件,其列数是\"r\"ä¸çš„组件数。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes transform from four vectors." @@ -9101,9 +9117,10 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" -"平滑æ¥å‡½æ•°ï¼ˆçŸ¢é‡ï¼ˆè¾¹ç¼˜0)ã€çŸ¢é‡ï¼ˆè¾¹ç¼˜1)ã€çŸ¢é‡ï¼ˆx))。 如果\"x\"å°äºŽ" -"\"edge0\",则返回 0.0;如果\"x\"大于\"edge1\",则返回 0.0。å¦åˆ™ï¼Œè¿”回值将使用" -"赫密特多项å¼åœ¨ 0.0 å’Œ 1.0 之间æ’值。" +"SmoothStep 函数(矢é‡ï¼ˆedge0)ã€çŸ¢é‡ï¼ˆedge1)ã€çŸ¢é‡ï¼ˆx))。 \n" +"\n" +"如果\"x\"å°äºŽ\"edge0\",则返回 0.0;如果\"x\"大于\"edge1\",则返回 0.0。å¦åˆ™ï¼Œ" +"返回值将使用赫密特多项å¼åœ¨ 0.0 å’Œ 1.0 之间æ’值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9708,7 +9725,9 @@ msgstr "" msgid "" "Language changed.\n" "The interface will update after restarting the editor or project manager." -msgstr "è¯è¨€å·²æ›´æ”¹ã€‚ é‡æ–°å¯åŠ¨ç¼–辑器或项目管ç†å™¨åŽï¼Œç•Œé¢å°†æ›´æ–°ã€‚" +msgstr "" +"è¯è¨€å·²æ›´æ”¹ã€‚\n" +"ç•Œé¢å°†åœ¨é‡æ–°å¯åŠ¨ç¼–辑器或项目管ç†å™¨åŽæ›´æ–°ã€‚" #: editor/project_manager.cpp msgid "" @@ -9916,7 +9935,7 @@ msgstr "滚轮å‘下滚动。" #: editor/project_settings_editor.cpp msgid "Add Global Property" -msgstr "æ·»åŠ Getter属性" +msgstr "æ·»åŠ å…¨å±€å±žæ€§" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" @@ -10310,7 +10329,7 @@ msgstr "场景è¿è¡Œè®¾ç½®" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." -msgstr "没有选ä¸èŠ‚点æ¥æ·»åŠ 实例。" +msgstr "没有å¯å®žä¾‹åŒ–场景的父节点。" #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" @@ -10335,8 +10354,9 @@ msgid "Instance Child Scene" msgstr "实例化å场景" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "清除脚本" +#, fuzzy +msgid "Detach Script" +msgstr "æ·»åŠ è„šæœ¬" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10494,6 +10514,13 @@ msgid "Open Documentation" msgstr "打开文档" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "æ·»åŠ å节点" @@ -10540,11 +10567,13 @@ msgid "" msgstr "å®žä¾‹åŒ–åœºæ™¯æ–‡ä»¶ä¸ºä¸€ä¸ªèŠ‚ç‚¹ï¼Œå¦‚æžœæ²¡æœ‰æ ¹èŠ‚ç‚¹åˆ™åˆ›å»ºä¸€ä¸ªç»§æ‰¿è‡ªè¯¥æ–‡ä»¶çš„åœºæ™¯ã€‚" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +#, fuzzy +msgid "Attach a new or existing script to the selected node." msgstr "为选ä¸èŠ‚点创建或设置脚本。" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +#, fuzzy +msgid "Detach the script from the selected node." msgstr "清除选ä¸èŠ‚点的脚本。" #: editor/scene_tree_dock.cpp @@ -10676,6 +10705,10 @@ msgid "A directory with the same name exists." msgstr "å˜åœ¨åŒå目录。" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "文件ä¸å˜åœ¨ã€‚" + +#: editor/script_create_dialog.cpp msgid "Invalid extension." msgstr "扩展åæ— æ•ˆã€‚" @@ -10716,6 +10749,10 @@ msgid "File exists, it will be reused." msgstr "文件å˜åœ¨ï¼Œå°†è¢«é‡ç”¨ã€‚" #: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "è·¯å¾„æ— æ•ˆã€‚" + +#: editor/script_create_dialog.cpp msgid "Invalid class name." msgstr "æ— æ•ˆçš„ç±»åˆ«å称。" @@ -10729,7 +10766,7 @@ msgstr "脚本路径/å称有效。" #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "å…许:a-z,a-z,0-9,u和。" +msgstr "å…许:a-z,a-z,0-9,_ å’Œ ." #: editor/script_create_dialog.cpp msgid "Built-in script (into scene file)." @@ -10979,19 +11016,19 @@ msgstr "改å˜æ–¹æ¡†å¤§å°" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "修改胶囊体åŠå¾„" +msgstr "修改æ¤åœ†å½¢åŠå¾„" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "修改胶囊体高度" +msgstr "修改æ¤åœ†å½¢é«˜åº¦" #: editor/spatial_editor_gizmos.cpp msgid "Change Cylinder Shape Radius" -msgstr "修改胶囊体åŠå¾„" +msgstr "修改圆柱形åŠå¾„" #: editor/spatial_editor_gizmos.cpp msgid "Change Cylinder Shape Height" -msgstr "修改胶囊体高度" +msgstr "修改圆柱形高度" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" @@ -11003,7 +11040,7 @@ msgstr "改å˜åœ†æŸ±ä½“åŠå¾„" #: modules/csg/csg_gizmos.cpp msgid "Change Cylinder Height" -msgstr "修改胶囊体高度" +msgstr "修改圆柱体高度" #: modules/csg/csg_gizmos.cpp msgid "Change Torus Inner Radius" @@ -11696,7 +11733,7 @@ msgstr "æœç´¢å¯è§†åŒ–脚本节点" #: modules/visual_script/visual_script_property_selector.cpp msgid "Get %s" -msgstr "得到 %s" +msgstr "èŽ·å– %s" #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" @@ -11743,6 +11780,11 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "未在编辑器设置或预设ä¸é…置调试密钥库。" #: platform/android/export/export.cpp +#, fuzzy +msgid "Release keystore incorrectly configured in the export preset." +msgstr "未在编辑器设置或预设ä¸é…置调试密钥库。" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "自定义构建需è¦åœ¨â€œç¼–辑器设置â€ä¸ä½¿ç”¨æœ‰æ•ˆçš„Android SDK路径。" @@ -11766,6 +11808,32 @@ msgstr "æ— æ•ˆçš„åŒ…å称:" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12384,15 +12452,15 @@ msgid "" "children placement behavior.\n" "If you don't intend to add a script, use a plain Control node instead." msgstr "" -"除éžè„šæœ¬é…置其å代放置行为,å¦åˆ™å®¹å™¨æœ¬èº«æ²¡æœ‰ä»»ä½•ä½œç”¨ã€‚ 如果您ä¸æƒ³æ·»åŠ 脚本,请" -"改用普通的Control节点。" +"除éžè„šæœ¬é…置其å代放置行为,å¦åˆ™å®¹å™¨æœ¬èº«æ²¡æœ‰ä»»ä½•ä½œç”¨ã€‚\n" +"如果您ä¸æƒ³æ·»åŠ 脚本,请改用普通的Control节点。" #: scene/gui/control.cpp msgid "" "The Hint Tooltip won't be displayed as the control's Mouse Filter is set to " "\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"." msgstr "" -"由于该控件的 Mouse Filter 设置为 \"Ignore\" å› æ¤å®ƒçš„ Hint Tooltip å°†ä¸ä¼šå±•" +"由于该控件的 Mouse Filter 设置为 \"Ignore\" å› æ¤å®ƒçš„ Hint Tooltip å°†ä¸ä¼šå±•" "示。将 Mouse Filter 设置为 \"Stop\" 或 \"Pass\" å¯ä¿®æ£æ¤é—®é¢˜ã€‚" #: scene/gui/dialogs.cpp @@ -12422,8 +12490,9 @@ msgid "" "Use a container as child (VBox, HBox, etc.), or a Control and set the custom " "minimum size manually." msgstr "" -"ScrollContainer旨在与å•ä¸ªå控件一起使用。 使用容器作为å容器(VBox,HBoxç‰ï¼‰" -"或控件,并手动设置自定义最å°å°ºå¯¸ã€‚" +"ScrollContainer旨在与å•ä¸ªå控件一起使用。\n" +"å节点应该是å•ä¸ªå®¹å™¨ï¼ˆVBoxã€HBoxç‰ï¼‰æˆ–者使用å•ä¸ªæŽ§ä»¶å¹¶æ‰‹åŠ¨è®¾ç½®å…¶è‡ªå®šä¹‰æœ€å°å°º" +"寸。" #: scene/gui/tree.cpp msgid "(Other)" @@ -12478,6 +12547,21 @@ msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸æŒ‡å®šã€‚" msgid "Constants cannot be modified." msgstr "ä¸å…许修改常é‡ã€‚" +#~ msgid "Not in resource path." +#~ msgstr "ä¸åœ¨èµ„æºè·¯å¾„下。" + +#~ msgid "Revert" +#~ msgstr "æ¢å¤" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "æ¤æ“ä½œæ— æ³•æ’¤é”€ï¼Œæ˜¯å¦ç»§ç»ï¼Ÿ" + +#~ msgid "Revert Scene" +#~ msgstr "æ¢å¤åœºæ™¯" + +#~ msgid "Clear Script" +#~ msgstr "清除脚本" + #~ msgid "Issue Tracker" #~ msgstr "问题跟踪器" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 770b4d38f2..4832307ce5 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -873,7 +873,6 @@ msgstr "無法連接訊號" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -1513,19 +1512,9 @@ msgstr "啟用" msgid "Rearrange Autoloads" msgstr "é‡æ–°æŽ’例Autoloads" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "有效的路徑" - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "檔案ä¸å˜åœ¨." - #: editor/editor_autoload_settings.cpp -#, fuzzy -msgid "Not in resource path." -msgstr "ä¸åœ¨è³‡æºè·¯å¾‘。" +msgid "Can't add autoload:" +msgstr "" #: editor/editor_autoload_settings.cpp #, fuzzy @@ -2505,11 +2494,14 @@ msgid "Can't reload a scene that was never saved." msgstr "ä¸èƒ½é‡æ–°è¼‰å…¥å¾žæœªå„²å˜çš„å ´æ™¯ã€‚" #: editor/editor_node.cpp -msgid "Revert" -msgstr "" +#, fuzzy +msgid "Reload Saved Scene" +msgstr "儲å˜å ´æ™¯" #: editor/editor_node.cpp -msgid "This action cannot be undone. Revert anyway?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." msgstr "" #: editor/editor_node.cpp @@ -2805,10 +2797,6 @@ msgid "Redo" msgstr "é‡è£½" #: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "" - -#: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." msgstr "" @@ -3455,6 +3443,10 @@ msgstr "ä¸èƒ½åŸ·è¡Œè…³æœ¬ï¼š" msgid "Did you forget the '_run' method?" msgstr "" +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "" + #: editor/editor_sub_scene.cpp #, fuzzy msgid "Select Node(s) to Import" @@ -4100,6 +4092,10 @@ msgid "Error running post-import script:" msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "" + +#: editor/import/resource_importer_scene.cpp msgid "Saving..." msgstr "儲å˜ä¸..." @@ -7160,15 +7156,15 @@ msgid "" msgstr "ç”± '%s' 連到 '%s'" #: editor/plugins/script_text_editor.cpp +msgid "[Ignore]" +msgstr "" + +#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Line" msgstr "è¡Œ:" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "" - -#: editor/plugins/script_text_editor.cpp #, fuzzy msgid "Go to Function" msgstr "行為" @@ -7666,6 +7662,15 @@ msgid "XForm Dialog" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" msgstr "" @@ -10765,8 +10770,8 @@ msgstr "" #: editor/scene_tree_dock.cpp #, fuzzy -msgid "Clear Script" -msgstr "下一個腳本" +msgid "Detach Script" +msgstr "腳本" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." @@ -10938,6 +10943,13 @@ msgid "Open Documentation" msgstr "開啓最近的" #: editor/scene_tree_dock.cpp +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." +msgstr "" + +#: editor/scene_tree_dock.cpp msgid "Add Child Node" msgstr "" @@ -10989,11 +11001,11 @@ msgid "" msgstr "" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." +msgid "Attach a new or existing script to the selected node." msgstr "" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." +msgid "Detach the script from the selected node." msgstr "" #: editor/scene_tree_dock.cpp @@ -11122,6 +11134,10 @@ msgid "A directory with the same name exists." msgstr "" #: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "檔案ä¸å˜åœ¨." + +#: editor/script_create_dialog.cpp #, fuzzy msgid "Invalid extension." msgstr "無效副檔å" @@ -11169,6 +11185,11 @@ msgstr "檔案已å˜åœ¨, è¦è¦†è“‹å—Ž?" #: editor/script_create_dialog.cpp #, fuzzy +msgid "Invalid path." +msgstr "有效的路徑" + +#: editor/script_create_dialog.cpp +#, fuzzy msgid "Invalid class name." msgstr "無效å稱" @@ -12263,6 +12284,10 @@ msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" #: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "" + +#: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." msgstr "" @@ -12287,6 +12312,32 @@ msgstr "無效å稱" #: platform/android/export/export.cpp msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" + +#: platform/android/export/export.cpp +msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" @@ -12948,6 +12999,14 @@ msgid "Constants cannot be modified." msgstr "" #, fuzzy +#~ msgid "Not in resource path." +#~ msgstr "ä¸åœ¨è³‡æºè·¯å¾‘。" + +#, fuzzy +#~ msgid "Clear Script" +#~ msgstr "下一個腳本" + +#, fuzzy #~ msgid "Replaced %d occurrence(s)." #~ msgstr "å–代了 %d 個。" diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 6b3651b5f6..22051058ad 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -14,18 +14,22 @@ # ken l <macauhome@gmail.com>, 2018. # Eric K <eric900601@gmail.com>, 2019. # cnieFIT <dtotncq@gmail.com>, 2019. -# Bluesir Bruce <a5566740293@gmail.com>, 2019. +# Bluesir Bruce <a5566740293@gmail.com>, 2019, 2020. # leela <53352@protonmail.com>, 2019. # Kenneth Lo <closer.tw@gmail.com>, 2019. # SIYU FU <1002492607@qq.com>, 2019. # é„æƒŸä¸ <biglionlion06@gmail.com>, 2020. # Alexander Wang <zxcvb22217@gmail.com>, 2020. +# binotaliu <binota@protonmail.ch>, 2020. +# Allen H. <w84miracle@gmail.com>, 2020. +# BinotaLIU <binota@protonmail.ch>, 2020. +# BinotaLIU <me@binota.org>, 2020. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-03-01 19:57+0000\n" -"Last-Translator: Alexander Wang <zxcvb22217@gmail.com>\n" +"PO-Revision-Date: 2020-06-15 01:48+0000\n" +"Last-Translator: BinotaLIU <me@binota.org>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" "Language: zh_TW\n" @@ -33,58 +37,58 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.0-dev\n" +"X-Generator: Weblate 4.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Convert()函數所收到的åƒæ•¸éŒ¯èª¤ï¼Œè«‹ç”¨ TYPE_* 常數。" +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 #: 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" -msgstr "é‹ç®—å¼ä¸çš„輸入 %i 無效 (未傳éž)" +msgstr "é‹ç®—å¼ä¸çš„輸入 %i 無效 (未傳éžï¼‰" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "å› è©²å¯¦ä¾‹(instance)為空,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" -msgstr "基本類型 %s 的命å索引 '%s' 無效" +msgstr "命å索引「%sã€å°åŸºç¤Žåž‹åˆ¥ %s 無效" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "無效åƒæ•¸é¡žåž‹: '%s'" +msgstr "用了無效的引數來建構「%sã€" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "調用“%sâ€æ™‚:" +msgstr "呼å«ã€Œ%sã€æ™‚:" #: core/ustring.cpp msgid "B" -msgstr "Byte" +msgstr "B" #: core/ustring.cpp msgid "KiB" -msgstr "基布" +msgstr "KiB" #: core/ustring.cpp msgid "MiB" @@ -92,23 +96,23 @@ msgstr "MiB" #: core/ustring.cpp msgid "GiB" -msgstr "" +msgstr "GiB" #: core/ustring.cpp msgid "TiB" -msgstr "" +msgstr "TiB" #: core/ustring.cpp msgid "PiB" -msgstr "" +msgstr "PiB" #: core/ustring.cpp msgid "EiB" -msgstr "" +msgstr "EiB" #: editor/animation_bezier_editor.cpp msgid "Free" -msgstr "釋放" +msgstr "ä¸å—é™" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -124,90 +128,84 @@ msgstr "時間:" #: editor/animation_bezier_editor.cpp msgid "Value:" -msgstr "數值:" +msgstr "數值:" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "在æ¤æ’å…¥ç•«æ ¼" +msgstr "在æ¤æ’入關éµç•«æ ¼" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "複製所é¸ç•«æ ¼" +msgstr "é‡è¤‡æ‰€é¸é—œéµç•«æ ¼" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "刪除所é¸ç•«æ ¼" +msgstr "刪除所é¸é—œéµç•«æ ¼" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" -msgstr "æ·»åŠ è²å¡žçˆ¾é»ž" +msgstr "新增è²èŒ²æ›²ç·šæŽ§åˆ¶é»ž" #: editor/animation_bezier_editor.cpp msgid "Move Bezier Points" -msgstr "移動Bezier點" +msgstr "移動è²èŒ²æ›²ç·šæŽ§åˆ¶é»ž" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "複製關éµç•«æ ¼" +msgstr "é‡è¤‡å‹•ç•«é—œéµç•«æ ¼" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "刪除關éµç•«æ ¼" +msgstr "刪除動畫關éµç•«æ ¼" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "變更關éµç•«æ ¼çš„時間" +msgstr "更改動畫關éµç•«æ ¼æ™‚é–“" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "è®Šæ›´è½‰å ´æ•ˆæžœ" +msgstr "æ›´æ”¹å‹•ç•«è½‰å ´æ•ˆæžœ" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "變更動畫變æ›" +msgstr "更改動畫變æ›" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "變更關éµç•«æ ¼çš„數值" +msgstr "更改動畫關éµç•«æ ¼æ•¸å€¼" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "更改回調" +msgstr "更改動畫呼å«" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Time" -msgstr "變更關éµç•«æ ¼çš„時間" +msgstr "更改多個動畫的關éµç•«æ ¼æ™‚é–“" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transition" -msgstr "è®Šæ›´è½‰å ´æ•ˆæžœ" +msgstr "æ›´æ”¹å¤šå€‹å‹•ç•«çš„è½‰å ´æ•ˆæžœ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Transform" -msgstr "變更動畫變æ›" +msgstr "更改多個動畫的變æ›" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Keyframe Value" -msgstr "變更關éµç•«æ ¼çš„數值" +msgstr "更改多個動畫的關éµç•«æ ¼æ•¸å€¼" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Multi Change Call" -msgstr "更改回調" +msgstr "更改多個動畫的回調" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "變更動畫長度" +msgstr "更改動畫長度" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "變更動畫循環" +msgstr "更改動畫循環" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -219,11 +217,11 @@ 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" @@ -234,50 +232,45 @@ msgid "Animation Playback Track" msgstr "動畫回放軌é“" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (frames)" -msgstr "動畫長度(秒)" +msgstr "動畫長度(幀)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation length (seconds)" msgstr "動畫長度(秒)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track" -msgstr "æ·»åŠ å‹•ç•«è»Œ" +msgstr "新增動畫軌" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Looping" -msgstr "動畫空間。" +msgstr "é‡è¤‡å‹•ç•«" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" -msgstr "函數:" +msgstr "函å¼ï¼š" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "音訊剪輯:" +msgstr "音訊片段:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "動畫剪輯:" +msgstr "動畫片段:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "調整陣列資料" +msgstr "調整軌é“路徑" #: editor/animation_track_editor.cpp 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 msgid "Interpolation Mode" @@ -285,22 +278,19 @@ msgstr "æ’值模å¼" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "循環包裹模å¼ï¼ˆå¾žå¾ªç’°é–‹å§‹æ’å…¥çµæŸï¼‰" +msgstr "無縫循環模å¼ï¼ˆå¾žå¾ªç’°é–‹å§‹æ’å…¥çµæŸï¼‰" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Remove this track." -msgstr "移除é¸æ“‡çš„動畫軌。" +msgstr "移除該動畫軌。" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s): " -msgstr "æ¥é©Ÿ :" +msgstr "時間(秒) : " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "啟用" +msgstr "啟用ï¼ç¦ç”¨è»Œé“" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -316,7 +306,7 @@ msgstr "觸發器" #: editor/animation_track_editor.cpp msgid "Capture" -msgstr "æ•ç²" +msgstr "截圖" #: editor/animation_track_editor.cpp msgid "Nearest" @@ -333,40 +323,36 @@ msgstr "立方體" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "Clampå¼å…§æ’循環" +msgstr "Clamp å¼å…§æ’循環" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "Wrapå¼å…§æ’循環" +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 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" @@ -374,11 +360,11 @@ msgstr "刪除動畫軌" #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "為 %s 新增動畫軌並æ’å…¥ç•«æ ¼ï¼Ÿ" +msgstr "確定è¦ç‚º %s 建立動畫軌並æ’入關éµç•«æ ¼å—Žï¼Ÿ" #: editor/animation_track_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "新增 %d 個動畫軌並æ’å…¥ç•«æ ¼ï¼Ÿ" +msgstr "確定è¦å»ºç«‹ %d 個動畫軌並æ’å…¥ç•«æ ¼å—Žï¼Ÿ" #: editor/animation_track_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/editor_feature_profile.cpp @@ -390,7 +376,7 @@ msgstr "新增 %d 個動畫軌並æ’å…¥ç•«æ ¼ï¼Ÿ" #: editor/script_create_dialog.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Create" -msgstr "新增" +msgstr "建立" #: editor/animation_track_editor.cpp msgid "Anim Insert" @@ -398,11 +384,11 @@ msgstr "æ’入動畫" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "AnimationPlayerä¸èƒ½è¢«è‡ªå·±æ‰€å•Ÿå‹•ï¼Œå¿…é ˆç”±å…¶ä»–player啟動。" +msgstr "AnimationPlayer ä¸èƒ½æ’放自己,åªå¯æ’放其他 Player。" #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" -msgstr "新增/æ’入動畫" +msgstr "新增ï¼æ’入動畫" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" @@ -413,18 +399,16 @@ msgid "Anim Insert Key" msgstr "新增關éµç•«æ ¼" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "變更動畫長度" +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." -msgstr "Transform軌åªèƒ½æ·»åŠ 在spatial為主的節點。" +msgstr "變形軌åªèƒ½å¥—用至 Spatial 節點。" #: editor/animation_track_editor.cpp msgid "" @@ -440,80 +424,74 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "動畫軌跡åªèƒ½æŒ‡å‘ AnimationPlayer 節點." +msgstr "動畫軌åªèƒ½æŒ‡å‘ AnimationPlayer 節點。" #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." -msgstr "" +msgstr "å‹•ç•« Player 無法æ’放自己,åªèƒ½æ’放其他 Player。" #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "ç„¡æ³•æ·»åŠ æ²’æœ‰æ ¹ç›®éŒ„çš„æ–°æ›²ç›®" +msgstr "æ²’æœ‰æ ¹ç¯€é»žæ™‚ç„¡æ³•æ–°å¢žè»Œé“" #: editor/animation_track_editor.cpp msgid "Invalid track for Bezier (no suitable sub-properties)" -msgstr "æ¤è»Œä¸èƒ½ç”¨æ–¼Bezier(å屬性ä¸é©åˆ)" +msgstr "å°æ–¼è²èŒ²æ›²ç·šç„¡æ•ˆçš„軌é“(éžé©ç”¨ä¹‹å屬性)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "æ·»åŠ å‹•ç•«è»Œ" +msgstr "新增è²èŒ²æ›²ç·šè»Œ" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "軌é“路徑無效, å› æ¤ç„¡æ³•æ·»åŠ éµã€‚" +msgstr "無效的軌é“路徑,無法新增關éµç•«æ ¼ã€‚" #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "軌é“ä¸æ˜¯ç©ºé–“é¡žåž‹, ä¸èƒ½æ’å…¥éµ" +msgstr "éž Spatial 類型之軌é“,無法æ’入關éµç•«æ ¼" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "動畫新增軌跡與按éµ" +msgstr "新增變形軌關éµç•«æ ¼" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "æ·»åŠ å‹•ç•«è»Œ" +msgstr "æ·»åŠ è»Œé“é—œéµç•«æ ¼" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "跟蹤路徑無效, å› æ¤ç„¡æ³•æ·»åŠ 方法éµã€‚" +msgstr "無效的軌é“路徑,無法新增方法關éµç•«æ ¼ã€‚" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "動畫新增軌跡與按éµ" +msgstr "新增方法軌é“é—œéµç•«æ ¼" #: editor/animation_track_editor.cpp msgid "Method not found in object: " -msgstr "在å°è±¡ä¸æ‰¾ä¸åˆ°æ–¹æ³•ï¼š " +msgstr "在物件ä¸æ‰¾ä¸åˆ°æ–¹æ³•ï¼š " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" -msgstr "移動關éµç•«æ ¼" +msgstr "移動動畫關éµç•«æ ¼" #: editor/animation_track_editor.cpp msgid "Clipboard is empty" -msgstr "剪貼æ¿ç‚ºç©º" +msgstr "空白剪貼æ¿" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Paste Tracks" -msgstr "貼上åƒæ•¸" +msgstr "貼上關éµç•«æ ¼" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" -msgstr "縮尺éµ" +msgstr "動畫縮放關éµå½±æ ¼" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." -msgstr "這個é¸é …ä¸é©ç”¨æ–¼è²å¡žçˆ¾ç·¨è¼¯ï¼Œå› 為它åªæ˜¯ä¸€å€‹å–®è»Œã€‚" +msgstr "該é¸é …ä¸é©ç”¨æ–¼ç·¨è¼¯è²èŒ²æ›²ç·šï¼Œå…¶åƒ…有單一軌é“。" #: editor/animation_track_editor.cpp -#, fuzzy msgid "" "This animation belongs to an imported scene, so changes to imported tracks " "will not be saved.\n" @@ -525,22 +503,19 @@ msgid "" "Alternatively, use an import preset that imports animations to separate " "files." msgstr "" -"這個動畫å˜åœ¨æ–¼åŒ¯å…¥çš„å ´æ™¯ä¸ï¼Œå› æ¤å°åŒ¯å…¥è»Œæ‰€åšçš„變更ä¸æœƒè¢«å„²å˜ã€‚\n" +"é€™å€‹å‹•ç•«æ˜¯ç”±å¤–éƒ¨åŒ¯å…¥ä¹‹å ´æ™¯æ供,套用於匯入軌é“的修改將ä¸æœƒè¢«ä¿å˜ã€‚\n" "\n" -"若是è¦é–‹å•Ÿã€ŒåŠ 入客制軌ã€çš„åŠŸèƒ½ï¼Œè«‹åœ¨å ´æ™¯çš„åŒ¯å…¥è¨å®šä¸å°‡ã€Œå‹•ç•« -> å˜æ”¾ã€è¨å®š" -"為\n" -"「檔案ã€ï¼Œé–‹å•Ÿã€Œå‹•ç•« -> ä¿å˜å®¢åˆ¶è»Œã€ï¼Œç„¶å¾Œé‡æ–°å…¥åŒ¯å…¥ã€‚\n" -"æˆ–è€…ï¼Œä½ å¯ä»¥åœ¨åŒ¯å…¥æ™‚,將動畫資料匯入單ç¨çš„檔案之ä¸ã€‚" +"è‹¥è¦é–‹å•Ÿã€ŒåŠ 入客制軌ã€çš„åŠŸèƒ½ï¼Œè«‹åœ¨å ´æ™¯åœ¨åŒ¯å…¥è¨å®šä¸å°‡ã€Œå‹•ç•« -> 儲å˜ã€è¨å®šç‚º\n" +"「檔案ã€ï¼Œä¸¦å•Ÿç”¨ã€Œå‹•ç•« -> ä¿å˜å®¢åˆ¶è»Œã€ï¼Œç„¶å¾Œé‡æ–°åŒ¯å…¥ã€‚\n" +"或者也å¯ä½¿ç”¨æœƒå°‡å‹•ç•«åŒ¯å…¥ç¨ç«‹æª”案的匯入 Preset。" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Warning: Editing imported animation" msgstr "è¦å‘Šï¼šæ£åœ¨ç·¨è¼¯åŒ¯å…¥çš„å‹•ç•«" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select an AnimationPlayer node to create and edit animations." -msgstr "å¾žå ´æ™¯æ¨¹ä¸é¸æ“‡ä¸€å€‹ AnimationPlayer 來編輯動畫。" +msgstr "é¸æ“‡ AnimationPlayer 節點以建立並編輯動畫。" #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." @@ -548,26 +523,23 @@ msgstr "僅顯示樹ä¸æ‰€é¸ç¯€é»žçš„軌跡。" #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "按節點å°è»Œè·¡åˆ†çµ„或將其顯示為普通清單。" +msgstr "ä¾ç¯€é»žåˆ†çµ„軌跡或將其顯示為普通清單。" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Snap:" -msgstr "æ¥é©Ÿ :" +msgstr "å¸é™„:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation step value." -msgstr "動畫空間。" +msgstr "å‹•ç•«æ¥é€²å€¼ã€‚" #: editor/animation_track_editor.cpp msgid "Seconds" msgstr "秒" #: editor/animation_track_editor.cpp -#, fuzzy msgid "FPS" -msgstr "æ¯ç§’張數" +msgstr "FPS" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -580,14 +552,12 @@ msgid "Edit" msgstr "編輯" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation properties." -msgstr "動畫空間。" +msgstr "動畫屬性。" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Copy Tracks" -msgstr "複製åƒæ•¸" +msgstr "複製軌é“" #: editor/animation_track_editor.cpp msgid "Scale Selection" @@ -595,34 +565,31 @@ msgstr "縮放所é¸" #: editor/animation_track_editor.cpp msgid "Scale From Cursor" -msgstr "由游標縮放" +msgstr "以游標縮放" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "複製所é¸" +msgstr "é‡è¤‡æ‰€é¸" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "複製並轉置" +msgstr "轉置並é‡è¤‡" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Selection" -msgstr "複製所é¸" +msgstr "刪除所é¸" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Next Step" -msgstr "往下一æ¥" +msgstr "跳至下一æ¥" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Previous Step" -msgstr "往上一æ¥" +msgstr "跳至上一æ¥" #: editor/animation_track_editor.cpp msgid "Optimize Animation" -msgstr "動畫最佳化" +msgstr "最佳化動畫" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation" @@ -634,23 +601,23 @@ msgstr "é¸æ“‡è¦è¨å®šå‹•ç•«çš„節點:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "使用è²å¡žçˆ¾æ›²ç·š" +msgstr "使用è²èŒ²æ›²ç·š" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "動畫最佳化" +msgstr "最佳化動畫工具" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" -msgstr "最大線性錯誤:" +msgstr "最大線性錯誤:" #: editor/animation_track_editor.cpp msgid "Max. Angular Error:" -msgstr "最大角度錯誤:" +msgstr "最大角度錯誤:" #: editor/animation_track_editor.cpp msgid "Max Optimizable Angle:" -msgstr "最大å¯å„ªåŒ–角度:" +msgstr "最大å¯æœ€ä½³åŒ–角度:" #: editor/animation_track_editor.cpp msgid "Optimize" @@ -662,7 +629,7 @@ msgstr "移除無效的關éµç•«æ ¼" #: editor/animation_track_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "刪除未處ç†çš„空白軌é“" +msgstr "刪除未處ç†èˆ‡ç©ºç™½çš„軌é“" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" @@ -678,12 +645,11 @@ msgstr "清除" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" -msgstr "縮放比例:" +msgstr "縮放比例:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select Tracks to Copy" -msgstr "é¸æ“‡è¦è¤‡è£½çš„軌é“:" +msgstr "é¸æ“‡è»Œé“以複製" #: editor/animation_track_editor.cpp editor/editor_log.cpp #: editor/editor_properties.cpp @@ -695,22 +661,20 @@ msgid "Copy" msgstr "複製" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Select All/None" -msgstr "é¸æ“‡æ¨¡å¼" +msgstr "é¸æ“‡å…¨éƒ¨ï¼å–消é¸æ“‡" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "æ·»åŠ å‹•ç•«è»Œ" +msgstr "新增音訊軌片段" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "更改音訊軌é“剪輯起始å移" +msgstr "更改音訊軌片段起始å移" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "更改音訊曲目剪輯çµæŸå移" +msgstr "更改音訊軌片段çµæŸå移" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -718,42 +682,39 @@ msgstr "調整陣列大å°" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "調整陣列資料型態" +msgstr "更改陣列資料型別" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "調整陣列資料" +msgstr "更改陣列資料" #: editor/code_editor.cpp msgid "Go to Line" -msgstr "å‰å¾€ç¬¬...è¡Œ" +msgstr "跳至第 ... è¡Œ" #: editor/code_editor.cpp msgid "Line Number:" -msgstr "行號:" +msgstr "行號:" #: editor/code_editor.cpp -#, fuzzy msgid "%d replaced." -msgstr "替æ›â€¦" +msgstr "å·²å–代了 %d 件。" #: editor/code_editor.cpp editor/editor_help.cpp -#, fuzzy msgid "%d match." -msgstr "找到 %d 件符åˆçµæžœã€‚" +msgstr "%d 件相符åˆçš„çµæžœã€‚" #: editor/code_editor.cpp editor/editor_help.cpp -#, fuzzy msgid "%d matches." -msgstr "找到 %d 件符åˆçµæžœã€‚" +msgstr "%d 件相符åˆçš„çµæžœã€‚" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "符åˆå¤§å°å¯«" +msgstr "å€åˆ†å¤§å°å¯«" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" -msgstr "符åˆå®Œæ•´å–®å—" +msgstr "æœå°‹å®Œæ•´å–®å—" #: editor/code_editor.cpp editor/rename_dialog.cpp msgid "Replace" @@ -765,7 +726,7 @@ msgstr "å–代全部" #: editor/code_editor.cpp msgid "Selection Only" -msgstr "僅é¸æ“‡å€åŸŸ" +msgstr "僅æœå°‹æ‰€é¸å€åŸŸ" #: editor/code_editor.cpp editor/plugins/script_text_editor.cpp #: editor/plugins/text_editor.cpp @@ -774,7 +735,7 @@ msgstr "標準" #: editor/code_editor.cpp editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "\"切æ›è…³æœ¬\" é¢æ¿" +msgstr "é–‹å•Ÿï¼é—œé–‰è…³æœ¬é¢æ¿" #: editor/code_editor.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -801,35 +762,30 @@ msgid "Line and column numbers." msgstr "行號和列號。" #: editor/connections_dialog.cpp -#, fuzzy msgid "Method in target node must be specified." -msgstr "å¿…é ˆæŒ‡å®šå°ç›®æ¨™ç¯€é»žçš„行為ï¼" +msgstr "å¿…é ˆæŒ‡å®šç›®æ¨™ç¯€é»žçš„æ–¹æ³•ã€‚" #: editor/connections_dialog.cpp -#, fuzzy msgid "" "Target method not found. Specify a valid method or attach a script to the " "target node." -msgstr "找ä¸åˆ°ç›®æ¨™æ–¹æ³•ï¼è«‹æŒ‡å®šæœ‰æ•ˆæ–¹æ³•ã€æˆ–å°‡è…³æœ¬é™„åŠ è‡³ç›®æ¨™ç¯€é»žä¸Šã€‚" +msgstr "找ä¸åˆ°ç›®æ¨™æ–¹æ³•ï¼è«‹æŒ‡å®šä¸€å€‹æœ‰æ•ˆçš„方法ã€æˆ–å°‡è…³æœ¬é™„åŠ è‡³ç›®æ¨™ç¯€é»žä¸Šã€‚" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect to Node:" -msgstr "連接到節點:" +msgstr "連接至節點:" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect to Script:" -msgstr "無法連接到主機:" +msgstr "連接至腳本:" #: editor/connections_dialog.cpp -#, fuzzy msgid "From Signal:" -msgstr "訊號:" +msgstr "自訊號:" #: editor/connections_dialog.cpp msgid "Scene does not contain any script." -msgstr "å ´æ™¯ä¸æ²’有任何的腳本。" +msgstr "å ´æ™¯ä¸ç„¡ä»»ä½•çš„腳本。" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -850,39 +806,36 @@ msgstr "移除" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "新增é¡å¤–呼å«åƒæ•¸:" +msgstr "新增é¡å¤–呼å«å¼•æ•¸ï¼š" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "é¡å¤–呼å«åƒæ•¸:" +msgstr "é¡å¤–呼å«å¼•æ•¸ï¼š" #: editor/connections_dialog.cpp -#, fuzzy msgid "Receiver Method:" -msgstr "éŽæ¿¾æª”案..." +msgstr "Receiver 方法:" #: editor/connections_dialog.cpp -#, fuzzy msgid "Advanced" -msgstr "進階è¨å®š" +msgstr "進階" #: editor/connections_dialog.cpp -#, fuzzy msgid "Deferred" msgstr "延é²" #: editor/connections_dialog.cpp msgid "" "Defers the signal, storing it in a queue and only firing it at idle time." -msgstr "延後é€å‡ºè¨Šè™Ÿï¼Œå°‡è¨Šè™Ÿæš«å˜è‡³ä½‡åˆ—ä¸ï¼Œç‰åˆ°é–’置時å†é€å‡ºã€‚" +msgstr "延後é€å‡ºè¨Šè™Ÿï¼Œå°‡å…¶å˜æ”¾æ–¼ä½‡åˆ—ä¸ä¸¦å¾…閒置時å†é€å‡ºã€‚" #: editor/connections_dialog.cpp msgid "Oneshot" -msgstr "一次性" +msgstr "單次" #: editor/connections_dialog.cpp msgid "Disconnects the signal after its first emission." -msgstr "第一次é€å‡ºè¨Šè™Ÿå¾Œå³ä¸æ–·é€£æŽ¥ã€‚" +msgstr "首次發é€è¨Šè™Ÿå¾Œä¸æ–·é€£æŽ¥ã€‚" #: editor/connections_dialog.cpp msgid "Cannot connect signal" @@ -892,7 +845,6 @@ msgstr "無法連接訊號" #: editor/export_template_manager.cpp editor/groups_editor.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -913,15 +865,15 @@ msgstr "訊號:" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "å°‡ '%s' 連接到 '%s'" +msgstr "將「%sã€é€£æŽ¥è‡³ã€Œ%sã€" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" -msgstr "å°‡ '%s' 從 '%s' ä¸æ–·é€£æŽ¥" +msgstr "將「%sã€è‡ªã€Œ%sã€æ–·é–‹" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" -msgstr "ä¸æ–·æ‰€æœ‰ä¾†è‡ª '%s' 的訊號連接" +msgstr "ä¸æ–·æ‰€æœ‰ä¾†è‡ªã€Œ%sã€çš„訊號" #: editor/connections_dialog.cpp msgid "Connect..." @@ -930,7 +882,7 @@ msgstr "連接..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Disconnect" -msgstr "æ–·ç·š" +msgstr "斷開訊號連接" #: editor/connections_dialog.cpp msgid "Connect a Signal to a Method" @@ -942,7 +894,7 @@ msgstr "編輯連接內容:" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "確定è¦åˆ 除所有來自 \"%s\" 的訊號連接嗎?" +msgstr "確定è¦åˆ 除所有來自訊號「%sã€çš„連接嗎?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" @@ -954,7 +906,7 @@ msgstr "確定è¦åˆªé™¤æ‰€æœ‰ä¾†è‡ªæ¤è¨Šè™Ÿçš„連接嗎?" #: editor/connections_dialog.cpp msgid "Disconnect All" -msgstr "ä¸æ–·æ‰€æœ‰é€£æŽ¥" +msgstr "ä¸æ–·å…¨éƒ¨" #: editor/connections_dialog.cpp msgid "Edit..." @@ -962,40 +914,40 @@ msgstr "編輯…" #: editor/connections_dialog.cpp msgid "Go To Method" -msgstr "å‰å¾€æ–¹æ³•" +msgstr "跳至方法" #: editor/create_dialog.cpp msgid "Change %s Type" -msgstr "變更 %s 種類" +msgstr "更改 %s 型別" #: editor/create_dialog.cpp editor/project_settings_editor.cpp msgid "Change" -msgstr "æ›´æ›" +msgstr "更改" #: editor/create_dialog.cpp msgid "Create New %s" -msgstr "新增 %s" +msgstr "建立新的 %s" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp msgid "Favorites:" -msgstr "我的最愛:" +msgstr "我的最愛:" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp msgid "Recent:" -msgstr "最近å˜å–:" +msgstr "最近å˜å–:" #: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp #: editor/property_selector.cpp editor/quick_open.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Search:" -msgstr "æœå°‹:" +msgstr "æœå°‹ï¼š" #: editor/create_dialog.cpp editor/plugins/script_editor_plugin.cpp #: editor/property_selector.cpp editor/quick_open.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Matches:" -msgstr "符åˆæ¢ä»¶:" +msgstr "符åˆæ¢ä»¶ï¼š" #: editor/create_dialog.cpp editor/editor_plugin_settings.cpp #: editor/plugin_config_dialog.cpp @@ -1003,37 +955,36 @@ msgstr "符åˆæ¢ä»¶:" #: editor/plugins/visual_shader_editor_plugin.cpp editor/property_selector.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Description:" -msgstr "æè¿°:" +msgstr "æ述:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "尋找å–代目標:" +msgstr "尋找å–代目標:" #: editor/dependency_editor.cpp msgid "Dependencies For:" -msgstr "相ä¾æ–¼:" +msgstr "相ä¾æ–¼ï¼š" #: editor/dependency_editor.cpp msgid "" "Scene '%s' is currently being edited.\n" "Changes will only take effect when reloaded." msgstr "" -"å ´æ™¯ '%s' æ£åœ¨ç·¨è¯ä¸ã€‚\n" -"需é‡æ–°è¼‰å…¥æ‰èƒ½ä½¿è®Šæ›´ç”Ÿæ•ˆã€‚" +"å ´æ™¯ã€Œ%sã€æ£åœ¨ç·¨è¼¯ä¸ã€‚\n" +"變更會在é‡æ–°è¼‰å…¥æ™‚套用。" #: editor/dependency_editor.cpp -#, fuzzy msgid "" "Resource '%s' is in use.\n" "Changes will only take effect when reloaded." msgstr "" -"'%s' 資æºæ£åœ¨ä½¿ç”¨ä¸ã€‚\n" +"資æºã€Œ%sã€æ£åœ¨ä½¿ç”¨ä¸ã€‚\n" "變更會在é‡æ–°è¼‰å…¥æ™‚套用。" #: editor/dependency_editor.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "相ä¾" +msgstr "相ä¾æ€§" #: editor/dependency_editor.cpp msgid "Resource" @@ -1046,7 +997,7 @@ msgstr "路徑" #: editor/dependency_editor.cpp msgid "Dependencies:" -msgstr "相ä¾:" +msgstr "相ä¾æ–¼ï¼š" #: editor/dependency_editor.cpp msgid "Fix Broken" @@ -1058,7 +1009,7 @@ msgstr "相ä¾æ€§ç·¨è¼¯å™¨" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "æœå°‹æ›¿ä»£è³‡æºï¼š" +msgstr "æœå°‹ä¸¦å–代資æºï¼š" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -1072,12 +1023,11 @@ msgstr "é–‹å•Ÿ" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "æ“有者:" +msgstr "æ“有者:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Remove selected files from the project? (Can't be restored)" -msgstr "æ¤å‹•ä½œç„¡æ³•å¾©åŽŸ, 確定è¦å¾žå°ˆæ¡ˆä¸åˆªé™¤æ‰€é¸çš„檔案?" +msgstr "確定è¦å°‡æ‰€é¸æª”案自專案ä¸ç§»é™¤å—Žï¼Ÿï¼ˆç„¡æ³•å¾©åŽŸï¼‰" #: editor/dependency_editor.cpp msgid "" @@ -1085,21 +1035,20 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" -"刪除這些檔案å¯èƒ½é€ æˆå…¶ä»–資æºç„¡æ³•æ£å¸¸é‹ä½œ\n" -"æ¤å‹•ä½œç„¡æ³•å¾©åŽŸ, 確定è¦åˆªé™¤å—Ž?" +"有其他資æºéœ€è¦æ£åœ¨åˆªé™¤çš„檔案以æ£å¸¸é‹ä½œã€‚\n" +"ä¾ç„¶è¦ç§»é™¤å—Žï¼Ÿï¼ˆç„¡æ³•å¾©åŽŸï¼‰" #: editor/dependency_editor.cpp msgid "Cannot remove:" -msgstr "無法移除:" +msgstr "無法移除:" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "載入時發生錯誤:" +msgstr "載入時發生錯誤:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" -msgstr "å ´æ™¯ç¼ºå°‘äº†æŸäº›è³‡æºä»¥è‡³æ–¼ç„¡æ³•è¼‰å…¥" +msgstr "由於缺ä¹ä¸‹åˆ—相ä¾æ€§å…§å®¹è€Œç„¡æ³•è¼‰å…¥ï¼š" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -1107,7 +1056,7 @@ msgstr "強制開啟" #: editor/dependency_editor.cpp msgid "Which action should be taken?" -msgstr "該執行什麼æ“作呢?" +msgstr "該執行什麼æ“作?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" @@ -1115,20 +1064,19 @@ msgstr "修復相ä¾æ€§" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "載入錯誤!" +msgstr "載入錯誤ï¼" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "確定è¦æ°¸ä¹…刪除 %d 個物件 ? (無法復原)" +msgstr "是å¦è¦æ°¸ä¹…刪除「%dã€å€‹é …目?(無法復原ï¼ï¼‰" #: editor/dependency_editor.cpp -#, fuzzy msgid "Show Dependencies" -msgstr "相ä¾" +msgstr "顯示相ä¾æ€§" #: editor/dependency_editor.cpp msgid "Orphan Resource Explorer" -msgstr "å¤ç«‹è³‡æ–™ç®¡ç†å™¨" +msgstr "å¤ç«‹è³‡æºç€è¦½å™¨" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp #: editor/editor_file_dialog.cpp editor/editor_node.cpp @@ -1144,21 +1092,19 @@ msgstr "æ“有" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "沒有明定æ“有者的資æºï¼š" +msgstr "沒有明確從屬關係的資æºï¼š" #: editor/dictionary_property_edit.cpp -#, fuzzy msgid "Change Dictionary Key" -msgstr "改變å—å…¸ key" +msgstr "改變å—å…¸éµ" #: editor/dictionary_property_edit.cpp -#, fuzzy msgid "Change Dictionary Value" -msgstr "改變å—å…¸ value" +msgstr "改變å—典值" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" -msgstr "Godot 社群感è¬ä½ !" +msgstr "Godot 社群感è¬ä½ ï¼" #: editor/editor_about.cpp msgid "Godot Engine contributors" @@ -1170,11 +1116,11 @@ msgstr "專案創始人" #: editor/editor_about.cpp msgid "Lead Developer" -msgstr "主開發者" +msgstr "主è¦é–‹ç™¼è€…" #: editor/editor_about.cpp msgid "Project Manager " -msgstr "專案管ç†äºº " +msgstr "專案管ç†å“¡ " #: editor/editor_about.cpp msgid "Developers" @@ -1214,23 +1160,21 @@ msgstr "æ贈者" #: editor/editor_about.cpp msgid "License" -msgstr "授權" +msgstr "授權æ¢æ¬¾" #: editor/editor_about.cpp -#, fuzzy msgid "Third-party Licenses" msgstr "第三方授權æ¢æ¬¾" #: editor/editor_about.cpp -#, fuzzy msgid "" "Godot Engine relies on a number of third-party free and open source " "libraries, all compatible with the terms of its MIT license. The following " "is an exhaustive list of all such third-party components with their " "respective copyright statements and license terms." msgstr "" -"Godot Engine ä¾è³´è‘—許多與 MIT 授權æ¢æ¬¾ç›¸å®¹ã€è‡ªç”±é–‹æºçš„第三方函å¼åº«ã€‚以下是這" -"些第三方元件的完整列表,附有它們å„自的著作權宣示與授權æ¢æ¬¾ã€‚" +"Godot Engine ä¾è³´æ•¸å€‹è‡ªç”±ä¸”開放原始碼的第三方函å¼åº«ï¼Œæ‰€æœ‰å‡½å¼åº«çš†ç›¸å®¹æ–¼ MIT " +"授權æ¢æ¬¾ã€‚以下是這些第三方元件的完整列表於其å„自之著作權宣告與授權æ¢æ¬¾ã€‚" #: editor/editor_about.cpp msgid "All Components" @@ -1242,17 +1186,15 @@ msgstr "元件" #: editor/editor_about.cpp msgid "Licenses" -msgstr "授權" +msgstr "授權æ¢æ¬¾" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Error opening package file, not in ZIP format." -msgstr "é–‹å•Ÿå¥—ä»¶æª”æ¡ˆå‡ºéŒ¯ï¼Œéž zip æ ¼å¼ã€‚" +msgstr "ç„¡æ³•é–‹å•Ÿå¥—ä»¶æª”æ¡ˆï¼Œéž ZIP æ ¼å¼ã€‚" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "%s (Already Exists)" -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "%s(已經å˜åœ¨ï¼‰" #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" @@ -1260,27 +1202,24 @@ msgstr "æ£åœ¨è§£å£“ç¸®ç´ æ" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "æå–以下檔案失敗:" +msgstr "自套件ä¸å–得下列檔案失敗:" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "And %s more files." -msgstr "還有 %d 個檔案" +msgstr "與其他 %d 個檔案。" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Package installed successfully!" -msgstr "套件安è£æˆåŠŸ!" +msgstr "套件安è£æˆåŠŸï¼" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "æˆåŠŸ!" +msgstr "æˆåŠŸï¼" #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Package Contents:" -msgstr "內容:" +msgstr "套件內容:" #: editor/editor_asset_installer.cpp editor/editor_node.cpp msgid "Install" @@ -1292,7 +1231,7 @@ msgstr "套件安è£" #: editor/editor_audio_buses.cpp msgid "Speakers" -msgstr "å–‡å" +msgstr "æšè²å™¨" #: editor/editor_audio_buses.cpp msgid "Add Effect" @@ -1300,34 +1239,31 @@ msgstr "新增效果" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" -msgstr "é‡æ–°å‘½å Audio Bus" +msgstr "é‡æ–°å‘½å音訊 Bus" #: editor/editor_audio_buses.cpp msgid "Change Audio Bus Volume" -msgstr "變更 Audio Bus 音é‡" +msgstr "更改音訊 Bus 音é‡" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Toggle Audio Bus Solo" -msgstr "åˆ‡æ› Audio Bus çš„ Solo" +msgstr "切æ›éŸ³è¨Š Bus çš„ Solo" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Toggle Audio Bus Mute" -msgstr "åˆ‡æ› Audio Bus çš„ Mute" +msgstr "éœéŸ³ï¼å–消éœéŸ³éŸ³è¨Š Bus" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Toggle Audio Bus Bypass Effects" -msgstr "åˆ‡æ› Audio Bus 忽略效果" +msgstr "忽略ï¼å–消忽略音訊 Bus 效果" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "é¸æ“‡ Audio Bus 輸出地點" +msgstr "é¸æ“‡ Bus 輸出地點" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" -msgstr "新增 Audio Bus 效果" +msgstr "新增音效 Bus 效果" #: editor/editor_audio_buses.cpp msgid "Move Bus Effect" @@ -1338,12 +1274,10 @@ msgid "Delete Bus Effect" msgstr "刪除 Bus 效果" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Drag & drop to rearrange." -msgstr "Audio Bus。拖放以é‡æ–°æŽ’列。" +msgstr "拖放以é‡æ–°æŽ’列。" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Solo" msgstr "Solo" @@ -1352,9 +1286,8 @@ msgid "Mute" msgstr "éœéŸ³" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bypass" -msgstr "忽略效果 (Bypass)" +msgstr "忽略效果" #: editor/editor_audio_buses.cpp msgid "Bus options" @@ -1363,7 +1296,7 @@ msgstr "Bus é¸é …" #: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "製作複本" +msgstr "é‡è¤‡" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -1375,23 +1308,23 @@ msgstr "刪除效果" #: editor/editor_audio_buses.cpp msgid "Audio" -msgstr "è²éŸ³" +msgstr "音訊" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" -msgstr "新增 Audio Bus" +msgstr "新增音訊 Bus" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "Master Bus ä¸èƒ½è¢«åˆªé™¤!" +msgstr "Master Bus ä¸å¯åˆªé™¤ï¼" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" -msgstr "刪除 Audio Bus" +msgstr "刪除音訊 Bus" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "製作 Audio Bus 的複本" +msgstr "é‡è¤‡éŸ³è¨Š Bus" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" @@ -1399,46 +1332,43 @@ msgstr "é‡è¨ Bus 音é‡" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "移動 Audio Bus" +msgstr "移動音訊 Bus" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As..." -msgstr "å¦å˜ Audio Bus é…置為..." +msgstr "å¦å˜éŸ³è¨Š Bus é…置為..." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Location for New Layout..." msgstr "æ–°é…置的ä½ç½®..." #: editor/editor_audio_buses.cpp msgid "Open Audio Bus Layout" -msgstr "é–‹å•Ÿ Audio Bus é…ç½®" +msgstr "開啟音訊 Bus é…ç½®" #: editor/editor_audio_buses.cpp msgid "There is no '%s' file." -msgstr "'%s' 這個檔案ä¸å˜åœ¨ã€‚" +msgstr "檔案「%sã€ä¸å˜åœ¨ã€‚" #: editor/editor_audio_buses.cpp editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "佈局" +msgstr "ç•«é¢é…ç½®" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "æª”æ¡ˆæ ¼å¼ä¸æ£ç¢ºï¼Œä¸æ˜¯ Audio Bus é…置檔。" +msgstr "無效的檔案,或該檔案ä¸æ˜¯éŸ³è¨Š Bus é…置檔。" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Error saving file: %s" -msgstr "儲å˜è³‡æºéŒ¯èª¤!" +msgstr "無法ä¿å˜æª”案:%s" #: editor/editor_audio_buses.cpp msgid "Add Bus" msgstr "新增 Bus" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "å¦å˜ Audio Bus é…置為..." +msgstr "新增一個新的音訊 Bus 至該é…置。" #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1456,11 +1386,11 @@ msgstr "å¦å˜æ–°æª”" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "儲å˜ç›®å‰çš„ Bus é…置到檔案裡。" +msgstr "將該 Bus é…ç½®ä¿å˜è‡³æª”案。" #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "載入é è¨å€¼" +msgstr "載入é è¨" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." @@ -1472,52 +1402,45 @@ msgstr "建立新的 Bus é…置。" #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的å稱。" #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "åˆæ³•å—å…ƒ:" +msgstr "å¯ä½¿ç”¨çš„å—元:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing engine class name." -msgstr "ä¸æ£ç¢ºçš„åå—。åå—ä¸èƒ½èˆ‡ç¾æœ‰çš„ engine class åè¡çªã€‚" +msgstr "ä¸å¯èˆ‡ç¾å˜çš„引擎類別å稱è¡çªã€‚" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing built-in type name." -msgstr "無效å稱.ä¸èƒ½èˆ‡ç¾æœ‰çš„內置類型å稱沖çª." +msgstr "ä¸å¯èˆ‡å…§å»ºçš„列表å稱è¡çªã€‚" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Must not collide with an existing global constant name." -msgstr "無效å稱.ä¸èƒ½è·Ÿå·²ç¶“å˜åœ¨çš„全局常é‡å稱é‡è¤‡." +msgstr "ä¸å¯èˆ‡ç¾å˜çš„全域常數å稱è¡çªã€‚" #: editor/editor_autoload_settings.cpp msgid "Keyword cannot be used as an autoload name." -msgstr "無法使用關éµå—當作自動載入的å稱。" +msgstr "é—œéµå—無法作為 Autoload å稱。" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨ï¼" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Rename Autoload" msgstr "é‡æ–°å‘½å Autoload" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Toggle AutoLoad Globals" -msgstr "åˆ‡æ› AutoLoad 的全域變數" +msgstr "觸發全域 AutoLoad" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" msgstr "移動 Autoload" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Remove Autoload" msgstr "刪除 Autoload" @@ -1526,38 +1449,27 @@ msgid "Enable" msgstr "啟用" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Rearrange Autoloads" msgstr "é‡æ–°æŽ’列 Autoload" -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -#, fuzzy -msgid "Invalid path." -msgstr "無效的路徑." - -#: editor/editor_autoload_settings.cpp editor/script_create_dialog.cpp -msgid "File does not exist." -msgstr "檔案ä¸å˜åœ¨." - #: editor/editor_autoload_settings.cpp -msgid "Not in resource path." -msgstr "ä¸åœ¨è³‡æºè·¯å¾‘ä¸ã€‚" +msgid "Can't add autoload:" +msgstr "無法新增 Autoload:" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Add AutoLoad" -msgstr "新增 AutoLoad" +msgstr "新增 Autoload" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/script_create_dialog.cpp scene/gui/file_dialog.cpp msgid "Path:" -msgstr "路徑:" +msgstr "路徑:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "節點å稱:" +msgstr "節點å稱:" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_profiler.cpp editor/project_manager.cpp @@ -1567,7 +1479,7 @@ msgstr "å稱" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "單例" +msgstr "單例 (Singleton)" #: editor/editor_data.cpp editor/inspector_dock.cpp msgid "Paste Params" @@ -1583,21 +1495,19 @@ msgstr "æ£åœ¨å„²å˜è®Šæ›´..." #: editor/editor_data.cpp msgid "Updating scene..." -msgstr "å ´æ™¯æ›´æ–°ä¸â€¦" +msgstr "æ£åœ¨æ›´æ–°å ´æ™¯â€¦" #: editor/editor_data.cpp editor/editor_properties.cpp -#, fuzzy msgid "[empty]" -msgstr "(空)" +msgstr "[空]" #: editor/editor_data.cpp msgid "[unsaved]" -msgstr "(未儲å˜ï¼‰" +msgstr "[未ä¿å˜]" #: editor/editor_dir_dialog.cpp -#, fuzzy msgid "Please select a base directory first." -msgstr "è«‹å…ˆé¸æ“‡ä¸€å€‹åŸºåº•çš„資料夾" +msgstr "è«‹å…ˆé¸æ“‡ä¸€å€‹åŸºç¤Žçš„資料夾。" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -1607,19 +1517,19 @@ msgstr "é¸æ“‡è³‡æ–™å¤¾" #: editor/filesystem_dock.cpp editor/project_manager.cpp #: scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "新增資料夾" +msgstr "建立資料夾" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: modules/visual_script/visual_script_editor.cpp scene/gui/file_dialog.cpp msgid "Name:" -msgstr "å稱:" +msgstr "å稱:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "無法新增資料夾." +msgstr "無法新增資料夾。" #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1627,181 +1537,158 @@ msgstr "é¸æ“‡" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "儲å˜æª”案:" +msgstr "儲å˜æª”案:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "在é 期的路徑ä¸æ‰¾ä¸åˆ°åŒ¯å…¥æ¨¡æ¿ï¼š" +msgstr "在é 期的路徑ä¸æ‰¾ä¸åˆ°åŒ¯å‡ºæ¨£æ¿ï¼š" #: editor/editor_export.cpp msgid "Packing" -msgstr "包è£ä¸" +msgstr "æ£åœ¨æ‰“包" #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " "Etc' in Project Settings." msgstr "" -"使用 GLES2 時,目標平å°è¦æ±‚使用 'ETC' æ質壓縮。請在「專案è¨å®šã€ä¸é–‹å•Ÿã€ŒåŒ¯å…¥ " -"Etcã€ã€‚" +"目標平å°ä¸Šçš„ GLES2 å¿…é ˆä½¿ç”¨ã€ŒETCã€ç´‹ç†å£“縮。請在專案è¨å®šä¸å•Ÿç”¨ã€ŒåŒ¯å…¥ ETCã€ã€‚" #: editor/editor_export.cpp msgid "" "Target platform requires 'ETC2' texture compression for GLES3. Enable " "'Import Etc 2' in Project Settings." msgstr "" -"使用 GLES3 時,目標平å°è¦æ±‚使用 'ETC2' æ質壓縮。請在「專案è¨å®šã€ä¸é–‹å•Ÿã€ŒåŒ¯" -"å…¥ Etc 2ã€ã€‚" +"目標平å°ä¸Šçš„ GLES3 å¿…é ˆä½¿ç”¨ã€ŒETC2ã€ç´‹ç†å£“縮。請在專案è¨å®šä¸å•Ÿç”¨ã€ŒåŒ¯å…¥ " +"ETC2ã€ã€‚" #: editor/editor_export.cpp -#, fuzzy msgid "" "Target platform requires 'ETC' texture compression for the driver fallback " "to GLES2.\n" "Enable 'Import Etc' in Project Settings, or disable 'Driver Fallback " "Enabled'." msgstr "" -"使用「回退至 GLES2ã€çš„驅動器時,目標平å°è¦æ±‚使用 'ETC' 貼圖壓縮。\n" -"請在「專案è¨å®šã€ä¸é–‹å•Ÿã€ŒåŒ¯å…¥ Etcã€ï¼Œæˆ–是關閉「開啟驅動器回退ã€é¸é …。" +"目標平å°ä¸Šçš„ GLES2 å›žé€€é©…å‹•å™¨åŠŸèƒ½å¿…é ˆä½¿ç”¨ã€ŒETCã€ç´‹ç†å£“縮。\n" +"請在專案è¨å®šä¸å•Ÿç”¨ã€ŒåŒ¯å…¥ ETCã€æˆ–是ç¦ç”¨ã€Œå•Ÿç”¨é©…動器回退ã€ã€‚" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom debug template not found." -msgstr "找ä¸åˆ°è‡ªå®šç¾©èª¿è©¦ç¯„本。" +msgstr "找ä¸åˆ°è‡ªå®šç¾©åµéŒ¯æ¨£æ¿ã€‚" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom release template not found." -msgstr "找ä¸åˆ°è‡ªå®šç¾©ç™¼ä½ˆç¯„本。" +msgstr "找ä¸åˆ°è‡ªå®šç¾©é‡‹å‡ºæ¨£æ¿ã€‚" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" -msgstr "找ä¸åˆ°ç¯„本檔案:" +msgstr "找ä¸åˆ°æ¨£æ¿æª”案:" #: editor/editor_export.cpp msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB." -msgstr "匯出為 32 ä½å…ƒåŸ·è¡Œæª”時,內嵌的 PCK 大å°ä¸å¾—è¶…éŽ 4 GB。" +msgstr "匯出 32 ä½å…ƒæª”時,內嵌的 PCK 大å°ä¸å¾—è¶…éŽ 4 GB。" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "3D Editor" -msgstr "編輯器" +msgstr "3D 編輯器" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Script Editor" -msgstr "開啟腳本編輯器" +msgstr "腳本編輯器" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Asset Library" -msgstr "é–‹å•Ÿç´ æ倉庫" +msgstr "ç´ æ庫" #: editor/editor_feature_profile.cpp msgid "Scene Tree Editing" -msgstr "æ£åœ¨ç·¨è¯å ´æ™¯æ¨¹" +msgstr "æ£åœ¨ç·¨è¼¯å ´æ™¯æ¨¹" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Import Dock" -msgstr "å°Žå…¥" +msgstr "匯入 Dock" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Node Dock" -msgstr "節點å稱:" +msgstr "節點 Dock" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "FileSystem and Import Docks" -msgstr "文件系統" +msgstr "檔案系統與匯入 Dock" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Erase profile '%s'? (no undo)" -msgstr "å–代全部" +msgstr "確定è¦æ¸…除 Profile「%sã€å—Žï¼Ÿï¼ˆç„¡æ³•å¾©åŽŸï¼‰" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Profile must be a valid filename and must not contain '.'" -msgstr "Profile å¿…é ˆç‚ºæœ‰æ•ˆçš„æª”å,而且其ä¸ä¸å¾—åŒ…å« '.' å—元。" +msgstr "Profile å¿…é ˆç‚ºä¸€å€‹æœ‰æ•ˆçš„æª”æ¡ˆå稱,並且ä¸åŒ…å«ã€Œ.ã€" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Profile with this name already exists." -msgstr "具有æ¤å稱的檔或資料夾已å˜åœ¨ã€‚" +msgstr "已有相åŒå稱的 Profile å˜åœ¨ã€‚" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(Editor Disabled, Properties Disabled)" -msgstr "(編è¯å·²é—œé–‰ï¼Œå±¬æ€§å·²é—œé–‰ï¼‰" +msgstr "(已ç¦ç”¨ç·¨è¼¯å™¨ï¼Œå·²ç¦ç”¨å±¬æ€§ï¼‰" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(Properties Disabled)" -msgstr "僅屬性" +msgstr "(已ç¦ç”¨å±¬æ€§ï¼‰" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "(Editor Disabled)" -msgstr "å·²åœç”¨" +msgstr "(已ç¦ç”¨ç·¨è¼¯å™¨ï¼‰" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Options:" -msgstr "æè¿°:" +msgstr "類別é¸é …:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Enable Contextual Editor" -msgstr "開啟下一個編輯器" +msgstr "啟用上下文編輯器" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Enabled Properties:" -msgstr "效能:" +msgstr "啟用屬性:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Enabled Features:" -msgstr "功能" +msgstr "啟用功能:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Enabled Classes:" -msgstr "æœå°‹ Class" +msgstr "啟用類別:" #: editor/editor_feature_profile.cpp msgid "File '%s' format is invalid, import aborted." -msgstr "檔案 '%s' çš„å…§å®¹æ ¼å¼éŒ¯èª¤ï¼Œä¸æ¢åŒ¯å…¥ã€‚" +msgstr "檔案「%sã€çš„æ ¼å¼ç„¡æ•ˆï¼Œå·²ä¸æ¢åŒ¯å…¥ã€‚" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "" "Profile '%s' already exists. Remove it first before importing, import " "aborted." -msgstr "Profile '%s' 已經å˜åœ¨ã€‚在匯入的å‰è«‹å…ˆç§»é™¤ã€‚ä¸æ¢åŒ¯å…¥ã€‚" +msgstr "Profile「%sã€å·²ç¶“å˜åœ¨ã€‚匯入å‰è«‹å…ˆå°‡å…¶ç§»é™¤ã€‚å·²ä¸æ¢åŒ¯å…¥ã€‚" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Error saving profile to path: '%s'." -msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" +msgstr "ä¿å˜ Profile 至路徑「%sã€æ™‚發生錯誤。" #: editor/editor_feature_profile.cpp msgid "Unset" msgstr "未è¨å®š" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Current Profile:" -msgstr "當å‰ç‰ˆæœ¬:" +msgstr "ç›®å‰ç‰ˆæœ¬ï¼š" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Make Current" -msgstr "當å‰ï¼š" +msgstr "è¨ç‚ºç›®å‰çš„" #: editor/editor_feature_profile.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1812,51 +1699,43 @@ 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" -msgstr "輸出" +msgstr "匯出" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Available Profiles:" -msgstr "效能:" +msgstr "å¯ç”¨çš„ Profile:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Class Options" -msgstr "æè¿°:" +msgstr "類別é¸é …" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "New profile name:" -msgstr "æ–°å稱:" +msgstr "新增 Profile å稱:" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Erase Profile" -msgstr "擦除磚塊地圖" +msgstr "清除 Profile" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Godot Feature Profile" -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "Godot 功能 Profile" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Import Profile(s)" -msgstr "å·²å°Žå…¥çš„é …ç›®" +msgstr "匯入 Profile" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Export Profile" -msgstr "輸出專案" +msgstr "匯出 Profile" #: editor/editor_feature_profile.cpp -#, fuzzy msgid "Manage Editor Feature Profiles" -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "管ç†ç·¨è¼¯å™¨åŠŸèƒ½ Profile" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" @@ -1864,10 +1743,9 @@ msgstr "é¸æ“‡ç›®å‰çš„資料夾" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "檔案已經å˜åœ¨, è¦è¦†å¯«å—Ž?" +msgstr "檔案已å˜åœ¨ï¼Œæ˜¯å¦è¦†è“‹ï¼Ÿ" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select This Folder" msgstr "é¸æ“‡æ¤è³‡æ–™å¤¾" @@ -1876,15 +1754,13 @@ msgid "Copy Path" msgstr "複製路徑" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -#, fuzzy msgid "Open in File Manager" -msgstr "在檔案管ç†å“¡å…§é¡¯ç¤º" +msgstr "在檔案總管ä¸é–‹å•Ÿ" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/filesystem_dock.cpp editor/project_manager.cpp -#, fuzzy msgid "Show in File Manager" -msgstr "在檔案管ç†å“¡å…§é¡¯ç¤º" +msgstr "在檔案總管ä¸é¡¯ç¤º" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "New Folder..." @@ -1897,11 +1773,11 @@ msgstr "é‡æ–°æ•´ç†" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" -msgstr "å¯èªå¾—全部" +msgstr "支æ´çš„é¡žåž‹" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "所有類型檔案" +msgstr "所有類型的檔案 (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" @@ -1924,32 +1800,31 @@ msgstr "開啟檔案或資料夾" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Save" -msgstr "儲å˜" +msgstr "ä¿å˜" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "儲å˜æª”案" +msgstr "ä¿å˜æª”案" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "往後" +msgstr "上一é " #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "å¾€å‰" +msgstr "下一é " #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "往上" +msgstr "上一層" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "切æ›é¡¯ç¤ºéš±è—檔案" +msgstr "顯示ï¼éš±è—éš±è—檔案" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Favorite" -msgstr "切æ›æœ€æ„›" +msgstr "新增ï¼å–消我的最愛" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" @@ -1961,214 +1836,191 @@ msgstr "èšç„¦è·¯å¾‘" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "å‘上移動收è—" +msgstr "å‘上移動我的最愛" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "å‘下移動收è—" +msgstr "å‘下移動我的最愛" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Go to previous folder." -msgstr "無法新增資料夾" +msgstr "å‰å¾€ä¸Šä¸€å€‹è³‡æ–™å¤¾ã€‚" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "Go to next folder." -msgstr "無法新增資料夾" +msgstr "å‰å¾€ä¸‹ä¸€å€‹è³‡æ–™å¤¾ã€‚" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Go to parent folder." -msgstr "無法新增資料夾" +msgstr "å‰å¾€ä¸Šå±¤è³‡æ–™å¤¾ã€‚" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Refresh files." -msgstr "æœå°‹ Class" +msgstr "é‡æ–°æ•´ç†æª”案。" #: editor/editor_file_dialog.cpp -#, fuzzy msgid "(Un)favorite current folder." -msgstr "無法新增資料夾" +msgstr "將目å‰çš„資料夾新增或移除我的最愛。" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Toggle the visibility of hidden files." -msgstr "切æ›é¡¯ç¤ºéš±è—檔案" +msgstr "顯示ï¼å–消顯示隱è—檔案。" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails." -msgstr "ä»¥ç¸®ç•¥åœ–ç¶²æ ¼å½¢å¼æŸ¥çœ‹é …目。" +msgstr "ä»¥ç¶²æ ¼ç¸®åœ–æ–¹å¼é¡¯ç¤ºé …目。" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "View items as a list." -msgstr "以清單形å¼æŸ¥çœ‹é …目。" +msgstr "以清單方å¼é¡¯ç¤ºé …目。" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "資料夾 & 檔案:" +msgstr "資料夾與檔案:" #: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp #: editor/plugins/style_box_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Preview:" -msgstr "é 覽:" +msgstr "é 覽:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File:" -msgstr "檔案:" +msgstr "檔案:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Must use a valid extension." msgstr "å¿…é ˆä½¿ç”¨æœ‰æ•ˆçš„å‰¯æª”å。" #: editor/editor_file_system.cpp msgid "ScanSources" -msgstr "掃ææº" +msgstr "掃æ原始檔" #: editor/editor_file_system.cpp msgid "" "There are multiple importers for different types pointing to file %s, import " "aborted" -msgstr "å› ç‚ºæœ‰å¤šå€‹ä¸åŒç¨®é¡žimporter指å‘檔案 %s,導入失敗" +msgstr "由於多個匯入器以ä¸åŒçš„型別指å‘檔案 %s,已ä¸æ¢åŒ¯å…¥" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "(é‡æ–°)è¼‰å…¥ç´ æ" +msgstr "(é‡æ–°ï¼‰åŒ¯å…¥ç´ æ" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Top" -msgstr "上é¢" +msgstr "上" #: editor/editor_help.cpp msgid "Class:" -msgstr "Class:" +msgstr "類別:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp #: editor/script_create_dialog.cpp msgid "Inherits:" -msgstr "繼承:" +msgstr "繼承:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "繼承:" +msgstr "被繼承:" #: editor/editor_help.cpp -#, fuzzy msgid "Description" -msgstr "æè¿°:" +msgstr "說明" #: editor/editor_help.cpp -#, fuzzy msgid "Online Tutorials" -msgstr "線上教å¸:" +msgstr "線上教å¸" #: editor/editor_help.cpp msgid "Properties" -msgstr "性質" +msgstr "屬性" #: editor/editor_help.cpp -#, fuzzy msgid "override:" -msgstr "覆蓋" +msgstr "複寫:" #: editor/editor_help.cpp -#, fuzzy msgid "default:" -msgstr "é è¨" +msgstr "é è¨ï¼š" #: editor/editor_help.cpp msgid "Methods" msgstr "方法" #: editor/editor_help.cpp -#, fuzzy msgid "Theme Properties" -msgstr "éŽæ¿¾æª”案..." +msgstr "主題屬性" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "枚舉" +msgstr "列舉類型" #: editor/editor_help.cpp msgid "Constants" -msgstr "定數" +msgstr "常數" #: editor/editor_help.cpp -#, fuzzy msgid "Property Descriptions" -msgstr "Property 說明:" +msgstr "屬性說明" #: editor/editor_help.cpp -#, fuzzy msgid "(value)" -msgstr "數值" +msgstr "(數值)" #: editor/editor_help.cpp msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"ç›®å‰æ²’有這個 property 的說明。請幫我們[color=$color][url=$url]è²¢ç»[/url][/" -"color]一個!" +"該屬性目å‰ç„¡èªªæ˜Žã€‚請幫助我們[color=$color][url=$url]è²¢ç»ä¸€å€‹[/url][/color]ï¼" #: editor/editor_help.cpp -#, fuzzy msgid "Method Descriptions" -msgstr "Method 說明:" +msgstr "方法說明" #: editor/editor_help.cpp msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"ç›®å‰æ²’有這個 method 的說明。請幫我們[color=$color][url=$url]è²¢ç»[/url][/" -"color]一個!" +"該方法目å‰æ²’有說明。請幫我們[color=$color][url=$url]è²¢ç»ä¸€å€‹[/url][/color]ï¼" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "æœå°‹å¹«åŠ©" +msgstr "æœå°‹èªªæ˜Ž" #: editor/editor_help_search.cpp msgid "Case Sensitive" msgstr "å€åˆ†å¤§å°å¯«" #: editor/editor_help_search.cpp -#, fuzzy msgid "Show Hierarchy" -msgstr "顯示輔助線" +msgstr "以樹狀顯示" #: editor/editor_help_search.cpp -#, fuzzy msgid "Display All" -msgstr "å–代全部" +msgstr "全部顯示" #: editor/editor_help_search.cpp msgid "Classes Only" -msgstr "僅é™é¡ž" +msgstr "僅é™é¡žåˆ¥" #: editor/editor_help_search.cpp -#, fuzzy msgid "Methods Only" -msgstr "方法" +msgstr "僅é™æ–¹æ³•" #: editor/editor_help_search.cpp -#, fuzzy msgid "Signals Only" -msgstr "信號" +msgstr "僅é™ä¿¡è™Ÿ" #: editor/editor_help_search.cpp -#, fuzzy msgid "Constants Only" -msgstr "定數" +msgstr "僅é™å¸¸æ•¸" #: editor/editor_help_search.cpp msgid "Properties Only" -msgstr "僅屬性" +msgstr "僅é™å±¬æ€§" #: editor/editor_help_search.cpp msgid "Theme Properties Only" @@ -2176,36 +2028,31 @@ msgstr "僅é™ä¸»é¡Œå±¬æ€§" #: editor/editor_help_search.cpp msgid "Member Type" -msgstr "æˆå“¡é¡žåž‹" +msgstr "æˆå“¡åž‹åˆ¥" #: editor/editor_help_search.cpp -#, fuzzy msgid "Class" -msgstr "Class:" +msgstr "類別" #: editor/editor_help_search.cpp -#, fuzzy msgid "Method" msgstr "方法" #: editor/editor_help_search.cpp editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Signal" -msgstr "信號" +msgstr "訊號" #: editor/editor_help_search.cpp editor/plugins/theme_editor_plugin.cpp msgid "Constant" -msgstr "固定" +msgstr "常數" #: editor/editor_help_search.cpp -#, fuzzy msgid "Property" -msgstr "屬性:" +msgstr "屬性" #: editor/editor_help_search.cpp -#, fuzzy msgid "Theme Property" -msgstr "éŽæ¿¾æª”案..." +msgstr "主題屬性" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" @@ -2213,21 +2060,19 @@ msgstr "屬性:" #: editor/editor_inspector.cpp msgid "Set" -msgstr "集åˆ" +msgstr "è¨å®š" #: editor/editor_inspector.cpp -#, fuzzy msgid "Set Multiple:" -msgstr "複數è¨å®šï¼š" +msgstr "è¨å®šå¤šå€‹ï¼š" #: editor/editor_log.cpp msgid "Output:" -msgstr "輸出:" +msgstr "輸出:" #: editor/editor_log.cpp editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Copy Selection" -msgstr "複製é¸æ“‡" +msgstr "複製所é¸" #: editor/editor_log.cpp editor/editor_network_profiler.cpp #: editor/editor_profiler.cpp editor/editor_properties.cpp @@ -2240,9 +2085,8 @@ msgid "Clear" msgstr "清除" #: editor/editor_log.cpp -#, fuzzy msgid "Clear Output" -msgstr "輸出:" +msgstr "清除輸出" #: editor/editor_network_profiler.cpp editor/editor_node.cpp #: editor/editor_profiler.cpp @@ -2255,39 +2099,36 @@ msgid "Start" msgstr "開始" #: editor/editor_network_profiler.cpp -#, fuzzy msgid "%s/s" -msgstr "%s/s" +msgstr "%s/秒" #: editor/editor_network_profiler.cpp -#, fuzzy msgid "Down" -msgstr "下載" +msgstr "下行" #: editor/editor_network_profiler.cpp msgid "Up" -msgstr "上" +msgstr "上行" #: editor/editor_network_profiler.cpp editor/editor_node.cpp -#, fuzzy msgid "Node" msgstr "節點" #: editor/editor_network_profiler.cpp msgid "Incoming RPC" -msgstr "進來的Rpc" +msgstr "連入 RPC" #: editor/editor_network_profiler.cpp msgid "Incoming RSET" -msgstr "進來的Rset" +msgstr "連入 RSET" #: editor/editor_network_profiler.cpp msgid "Outgoing RPC" -msgstr "出去的 RPC" +msgstr "連出 RPC" #: editor/editor_network_profiler.cpp msgid "Outgoing RSET" -msgstr "出去的 RSET" +msgstr "連出 RSET" #: editor/editor_node.cpp editor/project_manager.cpp msgid "New Window" @@ -2295,96 +2136,92 @@ msgstr "新視窗" #: editor/editor_node.cpp msgid "Imported resources can't be saved." -msgstr "無法ä¿å˜å°Žå…¥çš„資æºã€‚" +msgstr "匯入的資æºç„¡æ³•ä¿å˜ã€‚" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "確定" +msgstr "好" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "儲å˜è³‡æºéŒ¯èª¤!" +msgstr "ä¿å˜è³‡æºéŒ¯èª¤ï¼" #: editor/editor_node.cpp -#, fuzzy msgid "" "This resource can't be saved because it does not belong to the edited scene. " "Make it unique first." -msgstr "無法儲å˜æ¤è³‡æºï¼Œå› 為它ä¸å±¬æ–¼å·²ç·¨è¼¯çš„å ´æ™¯ã€‚è«‹å…ˆè®“å®ƒæˆç‚ºå”¯ä¸€ã€‚" +msgstr "由於該資æºä¸å±¬æ–¼å·²ç·¨è¼¯çš„å ´æ™¯ï¼Œç„¡æ³•ä¿å˜è©²è³‡æºã€‚請先確ä¿å…¶ç¨ç«‹ã€‚" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "å¦å˜è³‡æºç‚º..." #: editor/editor_node.cpp -#, fuzzy msgid "Can't open file for writing:" -msgstr "無法以寫入模å¼é–‹å•Ÿæª”案:" +msgstr "無法開啟欲寫入的檔案:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "è¦æ±‚了ä¸æ˜Žçš„æª”æ¡ˆæ ¼å¼:" +msgstr "è¦æ±‚çš„æª”æ¡ˆæ ¼å¼æœªçŸ¥ï¼š" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "儲å˜ä¸ç™¼ç”Ÿäº†éŒ¯èª¤ã€‚" +msgstr "ä¿å˜æ™‚發生錯誤。" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "無法打開“%sâ€ã€‚檔案å¯èƒ½å·²è¢«ç§»å‹•æˆ–åˆ é™¤ã€‚" +msgstr "無法開啟「%sã€ã€‚該檔案å¯èƒ½å·²è¢«ç§»å‹•æˆ–刪除。" #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "åˆ†æž \"%s\" 時發生錯誤。" +msgstr "無法解æžã€Œ%sã€ã€‚" #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "æ„料外的檔案çµå°¾ (EOF) '%s'。" +msgstr "未é 期的檔案çµå°¾ (EOF)「%sã€ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Missing '%s' or its dependencies." -msgstr "缺失 '%s' 或它的ä¾å˜ã€‚" +msgstr "缺少「%sã€æˆ–其相ä¾æ€§ã€‚" #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "載入 \"%s\" 時發生錯誤。" +msgstr "載入「%sã€æ™‚發生錯誤。" #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "æ£åœ¨å„²å˜å ´æ™¯" +msgstr "æ£åœ¨ä¿å˜å ´æ™¯" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "分æžä¸" +msgstr "æ£åœ¨åˆ†æž" #: editor/editor_node.cpp msgid "Creating Thumbnail" msgstr "æ£åœ¨å»ºç«‹ç¸®åœ–" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a tree root." -msgstr "æ¤æ“作無法復原, 確定è¦é‚„原嗎?" +msgstr "ç„¡æ¨¹ç‹€æ ¹ç›®éŒ„ç„¡æ³•é€²è¡Œæ¤æ“作。" #: editor/editor_node.cpp msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" -"åµæ¸¬åˆ°æ¤å ´æ™¯ä¸æœ‰å¾ªç’°å¯¦ä¾‹åŒ–引入ç¾è±¡ï¼Œå› æ¤ç„¡æ³•å„²å˜ã€‚\n" +"è©²å ´æ™¯æœ‰å¾ªç’°æ€§å¯¦é«”åŒ–å•é¡Œï¼Œç„¡æ³•ä¿å˜ã€‚\n" "請先解決æ¤å•é¡Œå¾Œå†è©¦ä¸€æ¬¡ã€‚" #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " "be satisfied." -msgstr "無法儲å˜æ¤å ´æ™¯ã€‚å¯èƒ½æœ‰ä¸å®Œæ•´çš„ä¾å˜é—œä¿‚(實例化或是繼承上的)。" +msgstr "無法ä¿å˜å ´æ™¯ã€‚å¯èƒ½æ˜¯ç”±æ–¼ç›¸ä¾æ€§ï¼ˆå¯¦é«”或繼承)無法滿足。" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "無法覆寫ä»è™•æ–¼é–‹å•Ÿç‹€æ…‹çš„å ´æ™¯ï¼" +msgstr "無法複寫開啟ä¸çš„å ´æ™¯ï¼" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -2392,31 +2229,31 @@ msgstr "ç„¡æ³•åŠ è¼‰è¦åˆä½µçš„ç¶²æ ¼åº«ï¼" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "ä¿å˜MeshLibrary時出錯ï¼" +msgstr "ä¿å˜ç¶²æ ¼åº«æ™‚出錯ï¼" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "ç„¡æ³•åŠ è¼‰Tileset進行åˆä½µï¼" +msgstr "ç„¡æ³•åŠ è¼‰è¦åˆä½µçš„圖塊集ï¼" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "ä¿å˜tileset時出錯ï¼" +msgstr "ä¿å˜ä¿å˜åœ–塊集時發生錯誤ï¼" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "嘗試ä¿å˜ä½ˆå±€æ™‚出錯ï¼" +msgstr "嘗試ä¿å˜é…置時出錯ï¼" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "覆蓋默èªç·¨è¼¯å™¨ä½ˆå±€ã€‚" +msgstr "已覆蓋é è¨çš„編輯器é…置。" #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "找ä¸åˆ°ä½ˆå±€å稱ï¼" +msgstr "找ä¸åˆ°é…ç½®å稱ï¼" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "已將默èªä½ˆå±€é‚„原為基本è¨å®šã€‚" +msgstr "已將é è¨é…置還原至基本è¨å®šã€‚" #: editor/editor_node.cpp msgid "" @@ -2424,24 +2261,22 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"æ¤è³‡æºå±¬æ–¼åŒ¯å…¥çš„å ´æ™¯ï¼Œå› æ¤ä¸å¯ç·¨è¼¯ã€‚\n" -"è«‹é–±è®€èˆ‡åŒ¯å…¥å ´æ™¯ç›¸é—œçš„æ–‡ä»¶ï¼Œä»¥ä¾¿æ›´åŠ çžè§£å·¥ä½œæµç¨‹ã€‚" +"該資æºå±¬æ–¼å·²åŒ¯å…¥çš„å ´æ™¯ï¼Œå› æ¤ä¸å¯ç·¨è¼¯ã€‚ \n" +"è«‹é–±è®€æœ‰é—œåŒ¯å…¥å ´æ™¯çš„èªªæ˜Žæ–‡ä»¶ä»¥æ›´çžè§£è©²æµç¨‹ã€‚" #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it won't be kept when saving the current scene." msgstr "" -"æ¤è³‡æºå±¬æ–¼è¢«å¯¦ä¾‹åŒ–æˆ–è¢«ç¹¼æ‰¿çš„å ´æ™¯ã€‚\n" -"儲å˜å ´æ™¯æ™‚,æ¤è³‡æºçš„變更ä¸æœƒè¢«ä¿å˜ã€‚" +"æ¤è³‡æºå±¬æ–¼å·²è¢«å¯¦ä¾‹åŒ–æˆ–è¢«ç¹¼æ‰¿çš„å ´æ™¯ã€‚\n" +"儲å˜ç›®å‰å ´æ™¯æ™‚,套用的改動將ä¸æœƒè¢«ä¿å˜ã€‚" #: editor/editor_node.cpp msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." -msgstr "" -"這個資æºæ˜¯åŒ¯å…¥é€²ä¾†çš„ï¼Œå› æ¤ç„¡æ³•ç·¨è¯ã€‚請修改匯入控制é¢æ¿ä¸Šçš„è¨å®šï¼Œå†é‡æ–°åŒ¯å…¥ä¸€" -"次。" +msgstr "該資æºè‡ªå¤–部匯入,無法編輯。請在匯入é¢æ¿ä¸ä¿®æ”¹è¨å®šä¸¦é‡æ–°åŒ¯å…¥ã€‚" #: editor/editor_node.cpp msgid "" @@ -2450,31 +2285,30 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"æ¤å ´æ™¯æ˜¯åŒ¯å…¥é€²ä¾†çš„ï¼Œå› æ¤è®Šæ›´ä¸æœƒè¢«ä¿å˜ã€‚\n" -"需經éŽå¯¦ä¾‹åŒ–或是繼承,æ‰èƒ½è®Šæ›´å…¶å…§å®¹ã€‚\n" -"è«‹é–±è®€èˆ‡åŒ¯å…¥å ´æ™¯ç›¸é—œçš„æ–‡ä»¶ï¼Œä»¥ä¾¿æ›´åŠ çžè§£å·¥ä½œæµç¨‹ã€‚" +"è©²å ´æ™¯è‡ªå¤–éƒ¨åŒ¯å…¥ï¼Œå› æ¤åšå‡ºçš„改動將ä¸æœƒä¿å˜ã€‚\n" +"實例化或繼承後將å¯å°å…¶åšå‡ºä¿®æ”¹ã€‚\n" +"è«‹é–±è®€èˆ‡åŒ¯å…¥ç›¸é—œçš„èªªæ˜Žæ–‡ä»¶ä»¥æ›´åŠ çžè§£è©²å·¥ä½œæµç¨‹ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "" "This is a remote object, so changes to it won't be kept.\n" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" -"æ¤è³‡æºå±¬æ–¼å·²å°Žå…¥çš„å ´æ™¯, å› æ¤ä¸å¯ç·¨è¼¯ã€‚\n" -"è«‹é–±è®€èˆ‡å°Žå…¥å ´æ™¯ç›¸é—œçš„æ–‡æª”, 以便更好地çžè§£æ¤å·¥ä½œæµã€‚" +"該資æºè‡ªå¤–éƒ¨åŒ¯å…¥ï¼Œå› æ¤åšå‡ºçš„改動將ä¸æœƒä¿å˜ã€‚\n" +"請閱讀有關åµéŒ¯çš„說明文件以更çžè§£è©²æµç¨‹ã€‚" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "æ²’æœ‰å·²å®šç¾©çš„å ´æ™¯å¯é‹è¡Œã€‚" +msgstr "æ²’æœ‰å·²å®šç¾©çš„å ´æ™¯å¯åŸ·è¡Œã€‚" #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "ç›®å‰çš„å ´æ™¯å¾žæœªè¢«å„²å˜ï¼Œåœ¨é‹è¡Œå ´æ™¯å‰è«‹å…ˆå˜æª”。" +msgstr "ç›®å‰çš„å ´æ™¯å¾žæœªè¢«ä¿å˜ï¼Œè«‹å…ˆä¿å˜ä»¥åŸ·è¡Œã€‚" #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "無法啟動å進程!" +msgstr "無法啟動å處ç†ç¨‹åºï¼" #: editor/editor_node.cpp editor/filesystem_dock.cpp msgid "Open Scene" @@ -2485,9 +2319,8 @@ msgid "Open Base Scene" msgstr "é–‹å•ŸåŸºæœ¬å ´æ™¯" #: editor/editor_node.cpp -#, fuzzy msgid "Quick Open..." -msgstr "å¿«é€Ÿé–‹å•Ÿå ´æ™¯..." +msgstr "快速開啟..." #: editor/editor_node.cpp msgid "Quick Open Scene..." @@ -2495,24 +2328,23 @@ msgstr "å¿«é€Ÿé–‹å•Ÿå ´æ™¯â€¦" #: editor/editor_node.cpp msgid "Quick Open Script..." -msgstr "快速打開腳本…" +msgstr "快速開啟腳本…" #: editor/editor_node.cpp -#, fuzzy msgid "Save & Close" -msgstr "å¦å˜æ–°æª”" +msgstr "ä¿å˜ä¸¦é—œé–‰" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "關閉å‰æ˜¯å¦ä¿å˜å°â€œ%sâ€çš„更改?" +msgstr "關閉å‰æ˜¯å¦ä¿å˜å°ã€Œ%sã€çš„更改?" #: editor/editor_node.cpp msgid "Saved %s modified resource(s)." -msgstr "å·²ä¿å˜%s個已修改的資æºã€‚" +msgstr "å·²ä¿å˜ %s 個已修改的資æºã€‚" #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "儲å˜å ´æ™¯éœ€è¦æ ¹ç¯€é»žã€‚" +msgstr "ä¿å˜å ´æ™¯éœ€è¦æ ¹ç¯€é»žã€‚" #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2520,7 +2352,7 @@ msgstr "å¦å˜å ´æ™¯ç‚ºâ€¦" #: editor/editor_node.cpp msgid "No" -msgstr "ä¸æ˜¯" +msgstr "å¦" #: editor/editor_node.cpp msgid "Yes" @@ -2528,44 +2360,47 @@ msgstr "是" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "æ¤å ´æ™¯å¾žæœªè¢«å„²å˜ã€‚執行å‰å…ˆå˜æª”?" +msgstr "æ¤å ´æ™¯å¾žæœªè¢«ä¿å˜ã€‚是å¦è¦åœ¨åŸ·è¡Œå‰å…ˆä¿å˜ï¼Ÿ" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "é€™é …æ“ä½œå¿…é ˆè¦æœ‰å ´æ™¯å˜åœ¨ã€‚" +msgstr "該æ“ä½œå¿…é ˆè¦æœ‰å ´æ™¯æ‰å¯å®Œæˆã€‚" #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "å°Žå‡ºç¶²æ ¼åº«" +msgstr "åŒ¯å‡ºç¶²æ ¼åº«" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "在è¨ç½®æ ¹ç¯€é»ž(root node)å‰ï¼Œç„¡æ³•å®Œæˆè©²æŒ‡å®šæ“作。" +msgstr "該æ“ä½œå¿…é ˆè¦æœ‰è·Ÿç¯€é»žæ‰å¯å®Œæˆã€‚" #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "導出ç£è²¼é›†" +msgstr "匯出 Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "在è¨ç½®è‘—節點(selected node)å‰ï¼Œç„¡æ³•å®Œæˆè©²æŒ‡å®šæ“作。" +msgstr "該æ“ä½œå¿…é ˆè¦æœ‰å·²é¸æ“‡çš„節點æ‰å¯å®Œæˆã€‚" #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "ç›®å‰çš„å ´æ™¯å°šæœªå„²å˜ã€‚還是è¦é–‹å•Ÿå—Žï¼Ÿ" +msgstr "ç›®å‰çš„å ´æ™¯å°šæœªä¿å˜ã€‚ä»ç„¶è¦é–‹å•Ÿå—Žï¼Ÿ" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "無法é‡æ–°è¼‰å…¥å¾žæœªå˜æª”çš„å ´æ™¯ã€‚" +msgstr "無法é‡æ–°è¼‰å…¥å¾žæœªä¿å˜éŽçš„å ´æ™¯ã€‚" #: editor/editor_node.cpp -msgid "Revert" -msgstr "還原" +msgid "Reload Saved Scene" +msgstr "é‡æ–°è¼‰å…¥å·²ä¿å˜çš„å ´æ™¯" #: editor/editor_node.cpp -#, fuzzy -msgid "This action cannot be undone. Revert anyway?" -msgstr "æ¤æ“作無法被, 確定è¦é‚„原嗎?" +msgid "" +"The current scene has unsaved changes.\n" +"Reload the saved scene anyway? This action cannot be undone." +msgstr "" +"ç›®å‰çš„å ´æ™¯æœ‰æœªä¿å˜çš„改動。\n" +"ä»ç„¶è¦é‡æ–°è¼‰å…¥å ´æ™¯å—Žï¼Ÿé€™å€‹æ“作將無法復原。" #: editor/editor_node.cpp msgid "Quick Run Scene..." @@ -2581,25 +2416,27 @@ msgstr "è¦çµæŸç·¨è¼¯å™¨å—Žï¼Ÿ" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "è¦é–‹å•Ÿå°ˆæ¡ˆç®¡ç†å—Žï¼Ÿ" +msgstr "è¦é–‹å•Ÿå°ˆæ¡ˆç®¡ç†å“¡å—Žï¼Ÿ" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "儲å˜ä¸¦é›¢é–‹" +msgstr "ä¿å˜ä¸¦é€€å‡º" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "退出程å¼å‰ï¼Œè¦å„²å˜ä»¥ä¸‹ä¿®æ”¹éŽçš„å ´æ™¯å—Žï¼Ÿ" +msgstr "退出å‰è¦å…ˆä¿å˜ä¸‹åˆ—å ´æ™¯å—Žï¼Ÿ" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "開啟專案管ç†å‰ï¼Œè¦å„²å˜ä»¥ä¸‹ä¿®æ”¹éŽçš„å ´æ™¯å—Žï¼Ÿ" +msgstr "開啟專案管ç†å“¡å‰è¦å…ˆä¿å˜ä»¥ä¸‹å ´æ™¯å—Žï¼Ÿ" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." -msgstr "ä¸æŽ¨è–¦æ¤é¸é …。被強制é‡æ–°æ•´ç†çš„情形,å¯èƒ½æ˜¯å› 程å¼éŒ¯èª¤å°Žè‡´ã€‚è«‹å›žå ±ã€‚" +msgstr "" +"該é¸é …å·²åœæ¢ç¶è·ã€‚é‡åˆ°éœ€è¦å¼·åˆ¶é‡æ–°æ•´ç†çš„ç‹€æ³ç¾åœ¨å·²è¢«è¦–為程å¼éŒ¯èª¤ã€‚è«‹å›žå ±è©²å•" +"題。" #: editor/editor_node.cpp msgid "Pick a Main Scene" @@ -2610,56 +2447,55 @@ msgid "Close Scene" msgstr "é—œé–‰å ´æ™¯" #: editor/editor_node.cpp -#, fuzzy msgid "Reopen Closed Scene" -msgstr "é—œé–‰å ´æ™¯" +msgstr "é‡æ–°é–‹å•Ÿå·²é—œé–‰çš„å ´æ™¯" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "無法在: \"%s\" 上啟動擴充功能,è¨å®šè§£æžå¤±æ•—。" +msgstr "無法在「%sã€ä¸Šå•Ÿç”¨æ“´å……功能,解æžçµ„æ…‹è¨å®šå¤±æ•—。" #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "在æ’件目錄 'res://addons/%s' ä¸ï¼Œæ‰¾ä¸åˆ°è…³æœ¬ã€‚" +msgstr "無法在擴充功能「res://addons/%sã€ä¸ç„¡æ³•æ‰¾åˆ°è…³æœ¬æ¬„ä½ã€‚" #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "無法從 '%s' ä¸é †åˆ©è®€å–腳本。" +msgstr "無法自路徑「%sã€è¼‰å…¥æ“´å……腳本。" #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' There seems to be an error in " "the code, please check the syntax." -msgstr "無法從 '%s' ä¸é †åˆ©è®€å–腳本。å¯èƒ½å‡ºè‡ªç·¨ç¢¼éŒ¯èª¤ï¼Œè«‹æª¢å¯Ÿèªžæ³•æ˜¯å¦æ£ç¢ºã€‚" +msgstr "無法從路徑「%sã€è¼‰å…¥æ“´å……腳本。看樣å是程å¼ç¢¼ä¸æœ‰éŒ¯èª¤ï¼Œè«‹æª¢æŸ¥èªžæ³•ã€‚" #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." -msgstr "無法從 '%s' ä¸é †åˆ©è®€å–腳本。基本類型 的腳本並ä¸å±¬æ–¼ 編輯類æ’件。" +msgstr "無法自路徑「%sã€è¼‰å…¥æ“´å……腳本,基礎型別ä¸æ˜¯ EditorPlugin。" #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." -msgstr "無法從 '%s' ä¸é †åˆ©è®€å–腳本。æ¤è…³æœ¬ä¸¦ä¸è™•æ–¼å·¥å…·æ¨¡å¼ä¸‹ã€‚" +msgstr "無法自路徑載入擴充腳本「%sã€ï¼Œè…³æœ¬ä¸åœ¨å·¥å…·æ¨¡å¼ä¸‹ã€‚" #: editor/editor_node.cpp msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" -"å ´æ™¯ '%s' 為自動匯入的,ä¸èƒ½è¢«ä¿®æ”¹ã€‚\n" -"è‹¥è¦é€²è¡Œæ›´æ”¹ï¼Œè«‹å»ºç«‹æ–°çš„ç¹¼æ‰¿çš„å ´æ™¯ã€‚" +"「%sã€ç‚ºè‡ªå‹•åŒ¯å…¥çš„å ´æ™¯ï¼Œå°‡ç„¡æ³•ä¿®æ”¹ã€‚\n" +"è‹¥è¦å°å…¶é€²è¡Œæ”¹å‹•ï¼Œå¯å»ºç«‹æ–°ç¹¼æ‰¿å ´æ™¯ã€‚" #: editor/editor_node.cpp msgid "" "Error loading scene, it must be inside the project path. Use 'Import' to " "open the scene, then save it inside the project path." msgstr "" -"讀å–å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤ï¼Œå ´æ™¯å¿…é ˆæ”¾ç½®æ–¼å°ˆæ¡ˆè³‡æ–™å¤¾ä¸ã€‚請用「導入ã€é–‹å•Ÿè©²å ´æ™¯å¾Œï¼Œå†" -"儲å˜æ–¼å°ˆæ¡ˆè³‡æ–™å¤¾ã€‚" +"è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤ï¼Œå ´æ™¯å¿…é ˆç½®æ–¼å°ˆæ¡ˆè·¯å¾‘å…§ã€‚è«‹ä½¿ç”¨ã€ŒåŒ¯å…¥ã€ä¾†é–‹å•Ÿè©²å ´æ™¯ï¼Œä¸¦å°‡" +"å…¶ä¿å˜æ–¼å°ˆæ¡ˆè·¯å¾‘內。" #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "å ´æ™¯ '%s' çš„ä¾å˜é—œä¿‚å·²è¢«ç ´å£žï¼š" +msgstr "å ´æ™¯ã€Œ%sã€çš„相ä¾æ€§æ壞:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" @@ -2672,7 +2508,7 @@ msgid "" "category." msgstr "" "å°šæœªå®šç¾©ä¸»å ´æ™¯ã€‚è¦é¸æ“‡ä¸€å€‹å ´æ™¯å—Žï¼Ÿ\n" -"ä½ ä¹‹å¾Œå¯ä»¥åœ¨ã€Œæ‡‰ç”¨ç¨‹å¼ã€åˆ†é¡žä¸çš„「專案è¨å®šã€è®Šæ›´é€™è¨å®šã€‚" +"ç¨å¾Œå¯åœ¨ã€Œæ‡‰ç”¨ç¨‹å¼ã€åˆ†é¡žä¸çš„「專案è¨å®šã€ä¿®æ”¹ã€‚" #: editor/editor_node.cpp msgid "" @@ -2680,8 +2516,8 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"é¸æ“‡å ´æ™¯'%s'ä¸å˜åœ¨ï¼Œé¸æ“‡å¦ä¸€å€‹å ´æ™¯ï¼Ÿ\n" -"ä½ ä¹‹å¾Œå¯ä»¥åœ¨ã€Œæ‡‰ç”¨ç¨‹å¼ã€åˆ†é¡žä¸çš„「專案è¨å®šã€è®Šæ›´é€™è¨å®šã€‚" +"所é¸çš„å ´æ™¯ã€Œ%sã€ä¸å˜åœ¨ï¼Œæ˜¯å¦è¦é¸æ“‡ä¸€å€‹æœ‰æ•ˆçš„å ´æ™¯ï¼Ÿ\n" +"ç¨å¾Œå¯åœ¨ã€Œæ‡‰ç”¨ç¨‹å¼ã€åˆ†é¡žä¸çš„「專案è¨å®šã€ä¸ä¿®æ”¹ã€‚" #: editor/editor_node.cpp msgid "" @@ -2689,16 +2525,16 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"é¸æ“‡çš„å ´æ™¯'%s'ä¸æ˜¯ä¸€å€‹å ´æ™¯æª”案,è¦é¸æ“‡å¦ä¸€å€‹å ´æ™¯å—Žï¼Ÿ\n" -"ä½ ä¹‹å¾Œå¯ä»¥åœ¨ã€Œæ‡‰ç”¨ç¨‹å¼ã€åˆ†é¡žä¸çš„「專案è¨å®šã€è®Šæ›´é€™è¨å®šã€‚" +"所é¸çš„å ´æ™¯ã€Œ%sã€ä¸æ˜¯å ´æ™¯æª”案,是å¦è¦é¸æ“‡å¦ä¸€å€‹æœ‰æ•ˆçš„å ´æ™¯ï¼Ÿ\n" +"ç¨å¾Œå¯åœ¨ã€Œæ‡‰ç”¨ç¨‹å¼ã€åˆ†é¡žä¸çš„「專案è¨å®šã€ä¸ä¿®æ”¹ã€‚" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "儲å˜ä½ˆå±€" +msgstr "儲å˜é…ç½®" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "刪除佈局" +msgstr "刪除é…ç½®" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp @@ -2712,29 +2548,27 @@ msgstr "在檔案系統ä¸é¡¯ç¤º" #: editor/editor_node.cpp msgid "Play This Scene" -msgstr "é‹è¡Œæ¤å ´æ™¯" +msgstr "執行æ¤å ´æ™¯" #: editor/editor_node.cpp msgid "Close Tab" msgstr "關閉分é " #: editor/editor_node.cpp -#, fuzzy msgid "Undo Close Tab" -msgstr "關閉分é " +msgstr "å–消關閉分é " #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "關閉其他é¸é …å¡" +msgstr "關閉其他分é " #: editor/editor_node.cpp msgid "Close Tabs to the Right" -msgstr "關閉å³æ–¹æ‰€æœ‰çš„分é " +msgstr "關閉å³å´åˆ†é " #: editor/editor_node.cpp -#, fuzzy msgid "Close All Tabs" -msgstr "全部關閉" +msgstr "全部所有分é " #: editor/editor_node.cpp msgid "Switch Scene Tab" @@ -2742,12 +2576,11 @@ msgstr "切æ›å ´æ™¯åˆ†é " #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "還有 %d 個檔案/資料夾" +msgstr "還有 %d 個檔案ï¼è³‡æ–™å¤¾" #: editor/editor_node.cpp -#, fuzzy msgid "%d more folders" -msgstr "還有 %d 個檔案" +msgstr "還有 %d 個資料夾" #: editor/editor_node.cpp msgid "%d more files" @@ -2755,33 +2588,31 @@ msgstr "還有 %d 個檔案" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "版é¢ä½ç½®" +msgstr "Dock ä½ç½®" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "無干擾模å¼" +msgstr "專注模å¼" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "切æ›ç‚ºç„¡å¹²æ“¾æ¨¡å¼ã€‚" +msgstr "切æ›ï¼å–消專注模å¼ã€‚" #: editor/editor_node.cpp msgid "Add a new scene." msgstr "æ–°å¢žå ´æ™¯ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Scene" msgstr "å ´æ™¯" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "å‰å¾€ä¸Šæ¬¡é–‹å•Ÿçš„å ´æ™¯ã€‚" +msgstr "è·³è‡³ä¸Šä¸€å€‹é–‹å•Ÿçš„å ´æ™¯ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Copy Text" -msgstr "複製路徑" +msgstr "複製文å—" #: editor/editor_node.cpp msgid "Next tab" @@ -2805,7 +2636,7 @@ msgstr "æ–°å ´æ™¯" #: editor/editor_node.cpp msgid "New Inherited Scene..." -msgstr "從ç¾æœ‰å ´æ™¯ä¸å»ºç«‹â€¦" +msgstr "æ–°å¢žç¹¼æ‰¿å ´æ™¯â€¦" #: editor/editor_node.cpp msgid "Open Scene..." @@ -2817,12 +2648,11 @@ msgstr "æœ€è¿‘é–‹å•Ÿçš„å ´æ™¯" #: editor/editor_node.cpp msgid "Save Scene" -msgstr "儲å˜å ´æ™¯" +msgstr "ä¿å˜å ´æ™¯" #: editor/editor_node.cpp -#, fuzzy msgid "Save All Scenes" -msgstr "儲å˜å…¨éƒ¨å ´æ™¯" +msgstr "ä¿å˜æ‰€æœ‰å ´æ™¯" #: editor/editor_node.cpp msgid "Convert To..." @@ -2830,29 +2660,25 @@ msgstr "轉æ›æˆâ€¦" #: editor/editor_node.cpp msgid "MeshLibrary..." -msgstr "網狀資料庫(MeshLibrary)…" +msgstr "ç¶²æ ¼åº«â€¦" #: editor/editor_node.cpp msgid "TileSet..." -msgstr "å€å¡Šç´ æ…" +msgstr "圖塊集…" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "還原" +msgstr "復原" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Redo" -msgstr "é‡ä½œ" - -#: editor/editor_node.cpp -msgid "Revert Scene" -msgstr "æ¢å¾©å ´æ™¯" +msgstr "å–消復原" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "其他專案或全螢幕工具。" +msgstr "å…¶ä»–å°ˆæ¡ˆæˆ–å…¨å ´æ™¯å…±é€šå·¥å…·ã€‚" #: editor/editor_node.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp @@ -2860,44 +2686,40 @@ msgid "Project" msgstr "專案" #: editor/editor_node.cpp -#, fuzzy msgid "Project Settings..." -msgstr "專案è¨å®š" +msgstr "專案è¨å®š..." #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Version Control" -msgstr "版本:" +msgstr "版本控制" #: editor/editor_node.cpp editor/plugins/version_control_editor_plugin.cpp msgid "Set Up Version Control" -msgstr "" +msgstr "è¨å®šç‰ˆæœ¬æŽ§åˆ¶" #: editor/editor_node.cpp msgid "Shut Down Version Control" -msgstr "" +msgstr "終æ¢ç‰ˆæœ¬æŽ§åˆ¶" #: editor/editor_node.cpp -#, fuzzy msgid "Export..." -msgstr "輸出" +msgstr "匯出..." #: editor/editor_node.cpp msgid "Install Android Build Template..." -msgstr "" +msgstr "å®‰è£ Android 建構樣æ¿..." #: editor/editor_node.cpp msgid "Open Project Data Folder" -msgstr "開啟專案資料夾" +msgstr "開啟專案資料目錄" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" msgstr "工具" #: editor/editor_node.cpp -#, fuzzy msgid "Orphan Resource Explorer..." -msgstr "å¤ç«‹è³‡æ–™ç®¡ç†å™¨" +msgstr "å¤ç«‹è³‡æºç€è¦½å™¨..." #: editor/editor_node.cpp msgid "Quit to Project List" @@ -2910,17 +2732,18 @@ msgstr "åµéŒ¯" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "使用é 端åµéŒ¯" +msgstr "部署並啟用é 端åµéŒ¯" #: editor/editor_node.cpp msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." -msgstr "當輸出或發布專案後,å¯åŸ·è¡Œæ–‡ä»¶(exe)將會嘗試連çµæœ¬æ©Ÿï¼©ï¼°ï¼Œä»¥é€²è¡ŒåµéŒ¯ã€‚" +msgstr "" +"匯出或部署時,輸出的å¯åŸ·è¡Œæª”將會嘗試連接到這å°é›»è…¦çš„ IP ä½ç½®ä»¥é€²è¡Œé™¤éŒ¯ã€‚" #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "å°åž‹éƒ¨å±¬ & 網路文件系統(NFS)" +msgstr "使用網路檔案系統進行å°åž‹éƒ¨ç½²" #: editor/editor_node.cpp msgid "" @@ -2931,34 +2754,34 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" -"啟用æ¤é¸é …後,在輸出/ç™¼å¸ƒé …ç›®æ™‚ï¼ŒåŸ·è¡Œæª”æœƒå£“ç¸®è‡³æœ€å°ã€‚\n" -"至於文件系統,則以網路與編輯器的連çµä¾†ä¾›çµ¦ã€‚\n" -"在Androidå¹³å°ï¼Œé€éŽUSB發布能ç²å¾—更快的效率。\n" -"æ¤é¸é …ç”¨æ–¼åŠ é€ŸéŠæˆ²(尤其是檔案ç¹å¤š)的測試。" +"當該é¸é …啟用後,匯出或部署將會產生最å°åŒ–çš„å¯åŸ·è¡Œæª”。\n" +"檔案系統將由這個編輯器在網路上æ供。\n" +"Android å¹³å°ä¸Šï¼Œéƒ¨ç½²éœ€è¦ä½¿ç”¨ USB 線以ç²å¾—更快速的效能。該é¸é …å°æ–¼å¤§åž‹éŠæˆ²èƒ½åŠ " +"速測試。" #: editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "碰撞å€åŸŸçš„顯示" +msgstr "顯示碰撞å€åŸŸ" #: editor/editor_node.cpp msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." -msgstr "啟用æ¤é¸é …後,碰撞å€åŸŸ/射線節點 將會於éŠæˆ²ä¸é¡¯ç¤ºã€‚" +msgstr "該é¸é …開啟後,執行éŠæˆ²æ™‚å°‡å¯çœ‹è¦‹ç¢°æ’žå€åŸŸèˆ‡ï¼ˆ2D 或 3D 的)射線節點。" #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "導航的顯示" +msgstr "顯示導航" #: editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." -msgstr "啟用æ¤é¸é …後,導航所用的網線/多邊形 將會於éŠæˆ²ä¸é¡¯ç¤ºã€‚" +msgstr "該é¸é …開啟後,執行éŠæˆ²æ™‚å°‡å¯çœ‹è¦‹å°Žèˆªç¶²æ ¼ (mesh) 與多邊形。" #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "åŒæ¥å ´æ™¯çš„變更" +msgstr "åŒæ¥å ´æ™¯æ”¹å‹•" #: editor/editor_node.cpp msgid "" @@ -2967,12 +2790,12 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" -"啟用æ¤é¸é …後,編輯器ä¸çš„所有修改,都會立å³åæ˜ æ–¼é‹è¡Œä¸çš„éŠæˆ²ã€‚\n" -"在é 端è£ç½®æ¸¬è©¦æ™‚,é…åˆç¶²è·¯æ–‡ä»¶ç³»çµ±(NFS)使用能更æ高效率。" +"開啟該é¸é …後,編輯器ä¸å°è©²å ´æ™¯çš„所有改動都將被套用至執行ä¸çš„éŠæˆ²ã€‚\n" +"若在é 端è£ç½®ä¸Šä½¿ç”¨ï¼Œå¯ä½¿ç”¨ç¶²è·¯æª”案系統 NFS 以ç²å¾—最佳效能。" #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "åŒæ¥è…³æœ¬çš„變更" +msgstr "åŒæ¥è…³æœ¬æ”¹å‹•" #: editor/editor_node.cpp msgid "" @@ -2981,66 +2804,60 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" -"啟用æ¤é¸é …後,腳本的所有修改,都會立å³åæ˜ æ–¼é‹è¡Œä¸çš„éŠæˆ²ã€‚\n" -"在é 端è£ç½®æ¸¬è©¦æ™‚,é…åˆç¶²è·¯æ–‡ä»¶ç³»çµ±(NFS)使用能更æ高效率。" +"當開啟該é¸é …後,ä¿å˜çš„腳本都將在執行ä¸çš„éŠæˆ²é‡æ–°è¼‰å…¥ã€‚\n" +"若在é 端è£ç½®ä¸Šä½¿ç”¨ï¼Œå¯ä½¿ç”¨ç¶²è·¯æª”案系統 NFS 以ç²å¾—最佳效能。" #: editor/editor_node.cpp editor/script_create_dialog.cpp msgid "Editor" msgstr "編輯器" #: editor/editor_node.cpp -#, fuzzy msgid "Editor Settings..." -msgstr "編輯器è¨å®š" +msgstr "編輯器è¨å®š..." #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "編輯器佈局" +msgstr "編輯器é…ç½®" #: editor/editor_node.cpp -#, fuzzy msgid "Take Screenshot" -msgstr "儲å˜å ´æ™¯" +msgstr "螢幕截圖" #: editor/editor_node.cpp -#, fuzzy msgid "Screenshots are stored in the Editor Data/Settings Folder." -msgstr "é–‹å•Ÿ 編輯器數據/è¨å®š 資料夾" +msgstr "截圖將被儲å˜æ–¼ç·¨è¼¯å™¨è³‡æ–™æˆ–編輯器è¨å®šè³‡æ–™å¤¾å…§ã€‚" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "全螢幕顯示" +msgstr "é–‹å•Ÿï¼å–消全螢幕顯示" #: editor/editor_node.cpp -#, fuzzy msgid "Toggle System Console" -msgstr "切æ›æ¨¡å¼" +msgstr "é–‹å•Ÿï¼é—œé–‰ç³»çµ±ä¸»æŽ§å°" #: editor/editor_node.cpp msgid "Open Editor Data/Settings Folder" -msgstr "é–‹å•Ÿ 編輯器數據/è¨å®š 資料夾" +msgstr "開啟「編輯器資料ï¼ç·¨è¼¯å™¨è¨å®šã€è³‡æ–™å¤¾" #: editor/editor_node.cpp msgid "Open Editor Data Folder" -msgstr "é–‹å•Ÿ 編輯器數據 資料夾" +msgstr "開啟編輯器資料目錄" #: editor/editor_node.cpp msgid "Open Editor Settings Folder" -msgstr "é–‹å•Ÿ 編輯器è¨å®š 資料夾" +msgstr "開啟編輯器è¨å®šç›®éŒ„" #: editor/editor_node.cpp -#, fuzzy msgid "Manage Editor Features..." -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "管ç†ç·¨è¼¯å™¨åŠŸèƒ½..." #: editor/editor_node.cpp -#, fuzzy msgid "Manage Export Templates..." -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "管ç†åŒ¯å‡ºæ¨£æ¿..." #: editor/editor_node.cpp editor/plugins/shader_editor_plugin.cpp msgid "Help" -msgstr "幫助" +msgstr "說明" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp @@ -3054,24 +2871,23 @@ msgstr "æœå°‹" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp msgid "Online Docs" -msgstr "線上文件" +msgstr "線上說明文件" #: editor/editor_node.cpp msgid "Q&A" msgstr "Q&A" #: editor/editor_node.cpp -#, fuzzy msgid "Report a Bug" -msgstr "é‡æ–°å°Žå…¥" +msgstr "å›žå ±éŒ¯èª¤" #: editor/editor_node.cpp msgid "Send Docs Feedback" -msgstr "" +msgstr "傳é€èªªæ˜Žæ–‡ä»¶å›žé¥‹" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "社å€" +msgstr "社群" #: editor/editor_node.cpp msgid "About" @@ -3079,15 +2895,15 @@ msgstr "關於" #: editor/editor_node.cpp msgid "Play the project." -msgstr "é‹è¡Œæ¤å°ˆæ¡ˆã€‚" +msgstr "執行該專案。" #: editor/editor_node.cpp msgid "Play" -msgstr "é‹è¡Œ" +msgstr "執行" #: editor/editor_node.cpp msgid "Pause the scene execution for debugging." -msgstr "" +msgstr "æš«åœè©²å ´æ™¯ä»¥é€²è¡Œé™¤éŒ¯ã€‚" #: editor/editor_node.cpp msgid "Pause Scene" @@ -3095,56 +2911,52 @@ msgstr "æš«åœå ´æ™¯" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "åœæ¢æ¤å ´æ™¯." +msgstr "åœæ¢å ´æ™¯ã€‚" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "é‹è¡Œç·¨è¼¯éŽçš„å ´æ™¯ã€‚" +msgstr "åŸ·è¡Œå·²ç·¨è¼¯çš„å ´æ™¯ã€‚" #: editor/editor_node.cpp msgid "Play Scene" -msgstr "é‹è¡Œå ´æ™¯" +msgstr "åŸ·è¡Œå ´æ™¯" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "é‹è¡Œè‡ªå®šç¾©å ´æ™¯" +msgstr "åŸ·è¡Œè‡ªå®šç¾©å ´æ™¯" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "é‹è¡Œè‡ªå®šç¾©å ´æ™¯" +msgstr "åŸ·è¡Œè‡ªå®šç¾©å ´æ™¯" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." -msgstr "åœ¨æ›´å‹•é¡¯ç¤ºé©…å‹•å¾Œï¼Œå¿…é ˆé‡æ–°é–‹å•Ÿç·¨è¼¯å™¨ã€‚" +msgstr "更改視訊驅動程å¼éœ€è¦é‡æ–°å•Ÿå‹•ç·¨è¼¯å™¨ã€‚" #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp msgid "Save & Restart" -msgstr "儲å˜ä¸¦é‡å•Ÿ" +msgstr "ä¿å˜ä¸¦é‡æ–°å•Ÿå‹•" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "在é‡æ–°ç¹ªè£½(repaint)編輯器視窗時,來個旋轉ï¼" +msgstr "編輯器視窗é‡æ–°ç¹ªè£½æ™‚旋轉。" #: editor/editor_node.cpp -#, fuzzy msgid "Update Continuously" -msgstr "連續" +msgstr "æŒçºŒæ›´æ–°" #: editor/editor_node.cpp -#, fuzzy msgid "Update When Changed" -msgstr "有更動時自動更新" +msgstr "更改時更新" #: editor/editor_node.cpp -#, fuzzy msgid "Hide Update Spinner" -msgstr "ç¦æ¢è‡ªå‹•æ›´æ–°" +msgstr "éš±è—更新旋轉圖" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "文件系統" +msgstr "檔案系統" #: editor/editor_node.cpp msgid "Inspector" @@ -3156,20 +2968,19 @@ msgstr "展開底部é¢æ¿" #: editor/editor_node.cpp msgid "Output" -msgstr "輸出(output)" +msgstr "輸出" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "ä¸è¦å„²å˜" +msgstr "ä¸ä¿å˜" #: editor/editor_node.cpp msgid "Android build template is missing, please install relevant templates." -msgstr "" +msgstr "缺少 Android 建構樣æ¿ï¼Œè«‹å…ˆå®‰è£å°æ‡‰çš„樣æ¿ã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Manage Templates" -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "管ç†æ¨£æ¿" #: editor/editor_node.cpp msgid "" @@ -3181,6 +2992,12 @@ msgid "" "the \"Use Custom Build\" option should be enabled in the Android export " "preset." msgstr "" +"將通éŽåœ¨ã€Œres://android/buildã€ä¸å®‰è£åŽŸå§‹æ¨£æ¿ä»¥ç‚ºè©²é …ç›®è¨å®šè‡ªå®š Android 建構" +"樣æ¿ã€‚\n" +"輸出時å¯ä»¥å¥—用修改並建構自定 APK(如新增模組ã€ä¿®æ”¹ AndroidManifest.xml …" +"ç‰ï¼‰ã€‚\n" +"請注æ„,若è¦ä½¿ç”¨è‡ªå®šå»ºæ§‹è€Œéžä½¿ç”¨é 先建構好的 APK,請啟用 Android 匯出 Preset " +"ä¸çš„「使用自定建構ã€é¸é …。" #: editor/editor_node.cpp msgid "" @@ -3189,35 +3006,36 @@ msgid "" "Remove the \"res://android/build\" directory manually before attempting this " "operation again." msgstr "" +"該專案ä¸å·²å®‰è£ Android 建構樣æ¿ï¼Œå°‡ä¸æœƒè¦†è“‹ã€‚\n" +"è‹¥è¦å†æ¬¡åŸ·è¡Œæ¤æ“作,請先手動移除「res://android/buildã€ç›®éŒ„。" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "導入模æ¿ï¼ˆé€éŽZIP檔案)" +msgstr "自 ZIP 檔匯入樣æ¿" #: editor/editor_node.cpp -#, fuzzy msgid "Template Package" -msgstr "導出範本管ç†å™¨" +msgstr "樣æ¿åŒ…" #: editor/editor_node.cpp msgid "Export Library" -msgstr "輸出函å¼åº«" +msgstr "匯出函å¼åº«" #: editor/editor_node.cpp msgid "Merge With Existing" -msgstr "與ç¾æœ‰å‡½å¼åº«åˆä½µ" +msgstr "與ç¾æœ‰çš„åˆä½µ" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "開啟並é‹è¡Œè…³æœ¬" +msgstr "開啟並執行腳本" #: editor/editor_node.cpp msgid "New Inherited" -msgstr "從ç¾æœ‰å ´æ™¯ä¸å»ºç«‹" +msgstr "新增繼承" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "讀å–時出ç¾éŒ¯èª¤" +msgstr "載入錯誤" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" @@ -3225,11 +3043,11 @@ msgstr "é¸æ“‡" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "é–‹å•Ÿ2D編輯器" +msgstr "é–‹å•Ÿ 2D 編輯器" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "é–‹å•Ÿ3D編輯器" +msgstr "é–‹å•Ÿ 3D 編輯器" #: editor/editor_node.cpp msgid "Open Script Editor" @@ -3237,7 +3055,7 @@ msgstr "開啟腳本編輯器" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "é–‹å•Ÿç´ æ倉庫" +msgstr "é–‹å•Ÿç´ æ庫" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -3248,35 +3066,32 @@ msgid "Open the previous Editor" msgstr "開啟上一個編輯器" #: editor/editor_node.h -#, fuzzy msgid "Warning!" -msgstr "è¦å‘Š" +msgstr "è¦å‘Šï¼" #: editor/editor_path.cpp -#, fuzzy msgid "No sub-resources found." -msgstr "未指定表é¢æºã€‚" +msgstr "未找到å資æºã€‚" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "å‰µå»ºç¶²æ ¼é 覽" +msgstr "å»ºç«‹ç¶²æ ¼é 覽" #: editor/editor_plugin.cpp msgid "Thumbnail..." msgstr "縮圖…" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Main Script:" -msgstr "開啟最近å˜å–" +msgstr "主腳本:" #: editor/editor_plugin_settings.cpp msgid "Edit Plugin" -msgstr "編輯擴充功能" +msgstr "編輯外掛" #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "已安è£çš„擴充功能:" +msgstr "已安è£çš„外掛:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Update" @@ -3301,11 +3116,11 @@ msgstr "編輯:" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "措施:" +msgstr "測é‡ï¼š" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "幀時間 (秒)" +msgstr "å½±æ ¼é•·åº¦ (秒)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" @@ -3313,19 +3128,19 @@ msgstr "å¹³å‡æ™‚é–“ (秒)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "å¹€%" +msgstr "å½±æ ¼ %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "物ç†å¹€%" +msgstr "物ç†å½±æ ¼ %" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "包容" +msgstr "全部" #: editor/editor_profiler.cpp msgid "Self" -msgstr "自身" +msgstr "僅自己" #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3337,24 +3152,23 @@ msgstr "時間" #: editor/editor_profiler.cpp msgid "Calls" -msgstr "調用" +msgstr "呼å«" #: editor/editor_properties.cpp -#, fuzzy msgid "Edit Text:" -msgstr "編輯主題…" +msgstr "編輯文å—:" #: editor/editor_properties.cpp editor/script_create_dialog.cpp msgid "On" -msgstr "啟用" +msgstr "é–‹å•Ÿ" #: editor/editor_properties.cpp msgid "Layer" -msgstr "層" +msgstr "圖層" #: editor/editor_properties.cpp msgid "Bit %d, value %d" -msgstr "ä½ %d, 值 %d" +msgstr "ä½ %d,值 %d" #: editor/editor_properties.cpp msgid "[Empty]" @@ -3365,21 +3179,22 @@ msgid "Assign..." msgstr "指派..." #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr "無效的路徑" +msgstr "無效的 RID" #: editor/editor_properties.cpp msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." -msgstr "所é¸è³‡æºï¼ˆ%s)與æ¤å†…容(%s)所需的任何類型都ä¸åŒ¹é…。" +msgstr "所é¸çš„資æºï¼ˆ%s)並ä¸ç¬¦åˆä»»è©²å±¬æ€§ï¼ˆ%s)的任何型別。" #: editor/editor_properties.cpp msgid "" "Can't create a ViewportTexture on resources saved as a file.\n" "Resource needs to belong to a scene." msgstr "" +"無法為è¦ä¿å˜ç‚ºæª”案的資æºå»ºç«‹æª¢è¦–å€ç´‹ç† (ViewportTexture)。\n" +"資æºå¿…é ˆå±¬æ–¼ä¸€å€‹å ´æ™¯ã€‚" #: editor/editor_properties.cpp msgid "" @@ -3388,27 +3203,28 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"無法為該資æºå»ºç«‹æª¢è¦–å€ç´‹ç† (ViewportTexture)ï¼Œå› å…¶æœªè¨å®šå°æ‡‰çš„æœ¬åœ°å ´æ™¯ã€‚\n" +"請開啟其(與其至節點的所有資æºï¼‰çš„ã€Œæœ¬åœ°åŒ–å ´æ™¯ã€å±¬æ€§ã€‚" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "é¸æ“‡ä¸€å€‹è¦–å£" +msgstr "é¸æ“‡æª¢è¦–å€" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New Script" -msgstr "新建腳本" +msgstr "新增腳本" #: editor/editor_properties.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Extend Script" -msgstr "開啟最近å˜å–" +msgstr "擴充腳本" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" -msgstr "新建 %s" +msgstr "新增 %s" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Make Unique" -msgstr "轉æ›ç‚ºç¨ç«‹è³‡æº" +msgstr "ç¨ç«‹åŒ–" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -3422,24 +3238,23 @@ msgstr "轉æ›ç‚ºç¨ç«‹è³‡æº" #: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Paste" -msgstr "粘貼" +msgstr "貼上" #: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert To %s" -msgstr "轉æ›æˆ..." +msgstr "轉æ›æˆ %s" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "é¸å®šçš„節點ä¸æ˜¯è¦–å£!" +msgstr "所é¸ç¯€é»žä¸æ˜¯æª¢è¦–å€ (Viewport)ï¼" #: editor/editor_properties_array_dict.cpp msgid "Size: " -msgstr "尺寸: " +msgstr "大å°ï¼š " #: editor/editor_properties_array_dict.cpp msgid "Page: " -msgstr "页: " +msgstr "é : " #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -3448,50 +3263,55 @@ msgstr "ç§»é™¤é …ç›®" #: editor/editor_properties_array_dict.cpp msgid "New Key:" -msgstr "新建帧:" +msgstr "新增éµå€¼ï¼š" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "New Value:" -msgstr "數值" +msgstr "新增數值:" #: editor/editor_properties_array_dict.cpp msgid "Add Key/Value Pair" -msgstr "" +msgstr "新增éµï¼å€¼é…å°" #: editor/editor_run_native.cpp msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"該平å°æ²’有å¯åŸ·è¡Œçš„匯出 Preset。\n" +"請在匯出é¸å–®ä¸æ–°å¢žä¸€å€‹å¯åŸ·è¡Œçš„ Preset。" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "將您的é‚輯寫在_run()方法ä¸ã€‚" +msgstr "在 _run() 方法ä¸å¡«å¯«é‚輯。" #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "已經有一個æ£åœ¨ç·¨è¼¯çš„å ´æ™¯ã€‚" +msgstr "å·²æœ‰ä¸€å€‹å·²ç·¨è¼¯çš„å ´æ™¯ã€‚" #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "無法實例腳本:" +msgstr "無法實體化腳本:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "您是å¦éºæ¼äº† 'tool' 关键å—?" +msgstr "是å¦éºæ¼ã€Œtoolã€é—œéµå—?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "無法é‹è¡Œè…³æœ¬:" +msgstr "無法執行腳本:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "您是å¦éºæ¼äº† '_run' 方法?" +msgstr "是å¦éºæ¼äº†ã€Œ_runã€æ–¹æ³•ï¼Ÿ" + +#: editor/editor_spin_slider.cpp +msgid "Hold Ctrl to round to integers. Hold Shift for more precise changes." +msgstr "æŒ‰ä½ Ctrl 以å–æ•´æ•¸ã€‚æŒ‰ä½ Shift 以使用更精確的改動。" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "é¸æ“‡è¦å°Žå…¥çš„節點" +msgstr "é¸æ“‡è¦åŒ¯å…¥çš„節點" #: editor/editor_sub_scene.cpp editor/project_manager.cpp msgid "Browse" @@ -3499,24 +3319,23 @@ msgstr "ç€è¦½" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "å ´æ™¯è·¯å¾‘:" +msgstr "å ´æ™¯è·¯å¾‘ï¼š" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "從節點導入:" +msgstr "自節點ä¸åŒ¯å…¥ï¼š" #: editor/export_template_manager.cpp -#, fuzzy msgid "Redownload" msgstr "é‡æ–°ä¸‹è¼‰" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "å¸è¼‰" +msgstr "å–消安è£" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "(已安è£)" +msgstr "(已安è£ï¼‰" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3525,73 +3344,71 @@ msgstr "下載" #: editor/export_template_manager.cpp msgid "Official export templates aren't available for development builds." -msgstr "" +msgstr "開發建構 (Development Build) 下無法使用官方匯出樣æ¿ã€‚" #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "(缺少)" +msgstr "(éºå¤±ï¼‰" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "(當å‰)" +msgstr "(目å‰ï¼‰" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait..." -msgstr "æ£åœ¨æª¢ç´¢é¡åƒï¼Œè«‹ç¨å€™â€¦" +msgstr "æ£åœ¨å–å¾—é¡åƒï¼Œè«‹ç¨å¾Œ..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "是å¦åˆ 除版本為“%sâ€çš„範本?" +msgstr "是å¦åˆªé™¤æ¨£æ¿ç‰ˆæœ¬ã€Œ%sã€ï¼Ÿ" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "無法打開zip導出範本。" +msgstr "ç„¡æ³•é–‹å•ŸåŒ¯å‡ºæ¨£æ¿ ZIP 檔。" #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates: %s." -msgstr "範本文件: %s ä¸çš„ version.txt 無效." +msgstr "æ¨£æ¿ %s ä¸çš„ version.txt æ ¼å¼ç„¡æ•ˆã€‚" #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "範本ä¸æ²’有找到version.txt文件。" +msgstr "樣æ¿ä¸æœªæ‰¾åˆ° version.txt。" #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:" -msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" +msgstr "為樣æ¿å»ºç«‹è·¯å¾‘時發生錯誤:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "æ£åœ¨è§£å£“導出範本" +msgstr "æ£åœ¨è§£å£“縮匯出樣æ¿" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "å°Žå…¥:" +msgstr "æ£åœ¨åŒ¯å…¥ï¼š" #: editor/export_template_manager.cpp msgid "Error getting the list of mirrors." -msgstr "" +msgstr "å–å¾—é¡åƒåˆ—表時發生錯誤。" #: editor/export_template_manager.cpp msgid "Error parsing JSON of mirror list. Please report this issue!" -msgstr "" +msgstr "解æžé¡åƒåˆ—表的 JSON æ™‚ç™¼ç”ŸéŒ¯èª¤ã€‚è«‹å›žå ±æ¤å•é¡Œï¼" #: editor/export_template_manager.cpp msgid "" "No download links found for this version. Direct download is only available " "for official releases." -msgstr "沒有找到這個版本的下載éˆæŽ¥. 直接下載é©ç”¨äºŽæ£å¼ç‰ˆæœ¬." +msgstr "為找到該版本的下載éˆæŽ¥ã€‚直接下載僅é©ç”¨æ–¼æ£å¼ç‰ˆæœ¬ã€‚" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "無法解æž." +msgstr "無法解æžã€‚" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Can't connect." -msgstr "連接..." +msgstr "無法連線。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3600,11 +3417,11 @@ msgstr "沒有回應。" #: editor/export_template_manager.cpp msgid "Request Failed." -msgstr "請求失敗." +msgstr "請求失敗。" #: editor/export_template_manager.cpp msgid "Redirect Loop." -msgstr "é‡æ–°å®šå‘循環." +msgstr "é‡æ–°å°Žå‘循環。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3616,35 +3433,32 @@ msgid "Download Complete." msgstr "下載完æˆã€‚" #: editor/export_template_manager.cpp -#, fuzzy msgid "Cannot remove temporary file:" -msgstr "無法將主題ä¿å˜åˆ°æª”案:" +msgstr "無法移除臨時檔案:" #: editor/export_template_manager.cpp -#, fuzzy msgid "" "Templates installation failed.\n" "The problematic templates archives can be found at '%s'." -msgstr "範本安è£å¤±æ•—。有å•é¡Œçš„範本å˜æª”å¯ä»¥åœ¨ \"%s\" ä¸æ‰¾åˆ°ã€‚" +msgstr "" +"未找到樣æ¿å®‰è£ã€‚\n" +"有å•é¡Œçš„樣æ¿æª”案å˜æ”¾æ–¼ã€Œ%sã€ã€‚" #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting URL:" -msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" +msgstr "請求 URL 時發生錯誤:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to Mirror..." -msgstr "連接..." +msgstr "æ£åœ¨é€£ç·šåˆ°é¡åƒ..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Disconnected" -msgstr "æ–·ç·š" +msgstr "已斷開連線" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "解æžä¸" +msgstr "æ£åœ¨è§£æž" #: editor/export_template_manager.cpp msgid "Can't Resolve" @@ -3652,19 +3466,16 @@ msgstr "無法解æž" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Connecting..." -msgstr "連接..." +msgstr "æ£åœ¨é€£ç·š..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't Connect" -msgstr "連接..." +msgstr "無法連線" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connected" -msgstr "連接..." +msgstr "已連線" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3672,242 +3483,217 @@ msgid "Requesting..." msgstr "æ£åœ¨è«‹æ±‚…" #: editor/export_template_manager.cpp -#, fuzzy msgid "Downloading" -msgstr "載入時發生錯誤:" +msgstr "æ£åœ¨ä¸‹è¼‰" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connection Error" -msgstr "連接..." +msgstr "連線錯誤" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "SSLæ¡æ‰‹éŒ¯èª¤" +msgstr "SSL 交æ¡éŒ¯èª¤" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uncompressing Android Build Sources" -msgstr "æ£åœ¨è§£å£“ç¸®ç´ æ" +msgstr "æ£åœ¨è§£å£“縮 Android 建構來æº" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "當å‰ç‰ˆæœ¬:" +msgstr "ç›®å‰ç‰ˆæœ¬ï¼š" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "已安è£ç‰ˆæœ¬:" +msgstr "已安è£ç‰ˆæœ¬ï¼š" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "從檔案ä¸å®‰è£" +msgstr "自檔案安è£" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "移除範本" +msgstr "移除樣æ¿" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select Template File" -msgstr "é¸æ“‡ç¯„本檔案" +msgstr "é¸æ“‡æ¨£æ¿æª”案" #: editor/export_template_manager.cpp -#, fuzzy msgid "Godot Export Templates" -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "Godot 匯出樣æ¿" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "導出範本管ç†å™¨" +msgstr "匯出樣æ¿ç®¡ç†å“¡" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" +msgstr "下載樣æ¿" #: editor/export_template_manager.cpp msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "從清單ä¸é¸æ“‡é¡åƒ: (Shift + 單擊: 在ç€è¦½å™¨ä¸æ‰“é–‹)" +msgstr "自列表ä¸é¸æ“‡é¡åƒï¼šï¼ˆShift+點擊:在ç€è¦½å™¨ä¸é–‹å•Ÿï¼‰" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Favorites" -msgstr "我的最愛:" +msgstr "我的最愛" #: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." -msgstr "" +msgstr "狀態:檔案匯入失敗。請修æ£æª”案並手動é‡æ–°åŒ¯å…¥ã€‚" #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "無法移動/é‡å‘½å資æºæ ¹ç›®éŒ„。" +msgstr "無法移動ï¼é‡æ–°å‘½åæ ¹è³‡æºã€‚" #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself." -msgstr "無法將資料夾移動到其自身。" +msgstr "無法移動資料夾至該資料夾自己。" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Error moving:" -msgstr "載入時發生錯誤:" +msgstr "移動時發生錯誤:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Error duplicating:" -msgstr "載入時發生錯誤:" +msgstr "複製時發生錯誤:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Unable to update dependencies:" -msgstr "å ´æ™¯ç¼ºå°‘äº†æŸäº›è³‡æºä»¥è‡³æ–¼ç„¡æ³•è¼‰å…¥" +msgstr "無法更新相ä¾æ€§ï¼š" #: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp msgid "No name provided." msgstr "未æä¾›å稱。" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Provided name contains invalid characters." -msgstr "æ供的å稱包å«ç„¡æ•ˆå—å…ƒ" +msgstr "æ供的å稱包å«äº†ç„¡æ•ˆçš„å—元。" #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "具有æ¤å稱的檔或資料夾已å˜åœ¨ã€‚" +msgstr "已有相åŒå稱的檔案或資料夾å˜åœ¨ã€‚" #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "å稱包å«ç„¡æ•ˆå—元。" +msgstr "å稱包å«äº†ç„¡æ•ˆçš„å—元。" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming file:" -msgstr "載入時發生錯誤:" +msgstr "é‡æ–°å‘½å檔案:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "é‡å‘½å資料夾:" +msgstr "é‡æ–°å‘½å資料夾:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Duplicating file:" -msgstr "載入時發生錯誤:" +msgstr "複製檔案:" #: editor/filesystem_dock.cpp msgid "Duplicating folder:" -msgstr "複製資料夾:" +msgstr "複製資料夾:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Inherited Scene" -msgstr "從ç¾æœ‰å ´æ™¯ä¸å»ºç«‹â€¦" +msgstr "æ–°å¢žç¹¼æ‰¿å ´æ™¯" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Set As Main Scene" -msgstr "é¸å–主è¦å ´æ™¯" +msgstr "è¨ç‚ºä¸»å ´æ™¯" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Open Scenes" msgstr "é–‹å•Ÿå ´æ™¯" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "實例" +msgstr "實體" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Add to Favorites" -msgstr "我的最愛:" +msgstr "新增到我的最愛" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Remove from Favorites" -msgstr "移除" +msgstr "自我的最愛ä¸ç§»é™¤" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." -msgstr "編輯ä¾è³´é ……" +msgstr "編輯相ä¾æ€§..." #: editor/filesystem_dock.cpp msgid "View Owners..." -msgstr "查看所有者…" +msgstr "檢視æ“有者..." #: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Rename..." -msgstr "é‡å‘½å…" +msgstr "é‡æ–°å‘½å..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Duplicate..." -msgstr "複製動畫關éµç•«æ ¼" +msgstr "é‡è¤‡..." #: editor/filesystem_dock.cpp msgid "Move To..." -msgstr "移動到..。" +msgstr "移動至..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Scene..." -msgstr "æ–°å ´æ™¯" +msgstr "æ–°å¢žå ´æ™¯..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "New Script..." -msgstr "新增資料夾..." +msgstr "新增腳本..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Resource..." -msgstr "å¦å˜è³‡æºç‚º..." +msgstr "新增資æº..." #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp msgid "Expand All" -msgstr "展開所有" +msgstr "展開全部" #: editor/filesystem_dock.cpp editor/plugins/visual_shader_editor_plugin.cpp #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Collapse All" -msgstr "å–代全部" +msgstr "收åˆå…¨éƒ¨" #: editor/filesystem_dock.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/project_manager.cpp editor/rename_dialog.cpp #: editor/scene_tree_dock.cpp msgid "Rename" -msgstr "é‡å‘½å" +msgstr "é‡æ–°å‘½å" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Previous Folder/File" -msgstr "上個分é " +msgstr "上一個資料夾ï¼æª”案" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Next Folder/File" -msgstr "新增資料夾" +msgstr "下一個資料夾ï¼æª”案" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" msgstr "é‡æ–°æŽƒæ檔案系統" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle Split Mode" -msgstr "切æ›æ¨¡å¼" +msgstr "é–‹å•Ÿï¼é—œé–‰åˆ†å‰²æ¨¡å¼" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Search files" -msgstr "æœå°‹ Class" +msgstr "æœå°‹æª”案" #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." -msgstr "æ£åœ¨æŽƒæ檔, è«‹ç¨å€™..。" +msgstr "" +"æ£åœ¨æŽƒæ檔案,\n" +"è«‹ç¨å¾Œ..." #: editor/filesystem_dock.cpp msgid "Move" @@ -3915,290 +3701,270 @@ msgstr "移動" #: editor/filesystem_dock.cpp msgid "There is already file or folder with the same name in this location." -msgstr "æ¤ä½ç½®å·²å˜åœ¨åŒå的檔案或資料夾。" +msgstr "該ä½ç½®å·²æœ‰ç›¸åŒå稱的檔案或資料夾。" #: editor/filesystem_dock.cpp msgid "Overwrite" -msgstr "覆蓋" +msgstr "複寫" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Create Scene" -msgstr "å¾žå ´æ™¯å‰µå»º" +msgstr "å»ºç«‹å ´æ™¯" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "創建腳本" +msgstr "建立腳本" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Find in Files" -msgstr "還有 %d 個檔案" +msgstr "在檔案ä¸æœå°‹" #: editor/find_in_files.cpp -#, fuzzy msgid "Find:" -msgstr "尋找" +msgstr "æœå°‹ï¼š" #: editor/find_in_files.cpp -#, fuzzy msgid "Folder:" -msgstr "新增資料夾" +msgstr "資料夾:" #: editor/find_in_files.cpp -#, fuzzy msgid "Filters:" -msgstr "éŽæ¿¾å™¨:" +msgstr "篩é¸ï¼š" #: editor/find_in_files.cpp msgid "" "Include the files with the following extensions. Add or remove them in " "ProjectSettings." -msgstr "" +msgstr "包å«æœ‰ä¸‹åˆ—副檔å的檔案。å¯åœ¨å°ˆæ¡ˆè¨å®šä¸æ–°å¢žæˆ–移除。" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find..." -msgstr "尋找..." +msgstr "æœå°‹..." #: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp msgid "Replace..." -msgstr "替æ›â€¦" +msgstr "å–代..." #: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp msgid "Cancel" msgstr "å–消" #: editor/find_in_files.cpp -#, fuzzy msgid "Find: " -msgstr "尋找" +msgstr "æœå°‹ï¼š " #: editor/find_in_files.cpp -#, fuzzy msgid "Replace: " -msgstr "å–代" +msgstr "å–代: " #: editor/find_in_files.cpp -#, fuzzy msgid "Replace all (no undo)" -msgstr "å–代全部" +msgstr "全部å–代(無法復原)" #: editor/find_in_files.cpp -#, fuzzy msgid "Searching..." -msgstr "æœå°‹" +msgstr "æ£åœ¨æœå°‹..." #: editor/find_in_files.cpp -#, fuzzy msgid "Search complete" -msgstr "æœå°‹è©žå½™" +msgstr "æœå°‹å®Œæˆ" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "æ·»åŠ åˆ°çµ„" +msgstr "新增到群組" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "從群組移除" +msgstr "自群組ä¸ç§»é™¤" #: editor/groups_editor.cpp -#, fuzzy msgid "Group name already exists." -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "群組å稱已å˜åœ¨ã€‚" #: editor/groups_editor.cpp -#, fuzzy msgid "Invalid group name." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的群組å稱。" #: editor/groups_editor.cpp -#, fuzzy msgid "Rename Group" -msgstr "管ç†çµ„" +msgstr "é‡æ–°å‘½å群組" #: editor/groups_editor.cpp -#, fuzzy msgid "Delete Group" -msgstr "刪除佈局" +msgstr "刪除群組" #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" -msgstr "組" +msgstr "群組" #: editor/groups_editor.cpp -#, fuzzy msgid "Nodes Not in Group" -msgstr "ä¸åœ¨çµ„ä¸çš„節點" +msgstr "節點ä¸åœ¨ç¾¤çµ„ä¸" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Filter nodes" -msgstr "éŽæ¿¾æª”案..." +msgstr "篩é¸ç¯€é»ž" #: editor/groups_editor.cpp msgid "Nodes in Group" -msgstr "組ä¸çš„節點" +msgstr "群組ä¸çš„節點" #: editor/groups_editor.cpp msgid "Empty groups will be automatically removed." -msgstr "" +msgstr "空群組將被自動移除。" #: editor/groups_editor.cpp -#, fuzzy msgid "Group Editor" -msgstr "開啟腳本編輯器" +msgstr "群組編輯器" #: editor/groups_editor.cpp msgid "Manage Groups" -msgstr "管ç†çµ„" +msgstr "管ç†ç¾¤çµ„" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import as Single Scene" -msgstr "æ›´æ–°å ´æ™¯" +msgstr "åŒ¯å…¥ç‚ºå–®ä¸€å ´æ™¯" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "使用單ç¨çš„動畫一åŒå°Žå…¥" +msgstr "與動畫分別匯入" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "使用單ç¨çš„æ 一åŒå°Žå…¥" +msgstr "èˆ‡ç´ æ分別匯入" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "使用單ç¨çš„物件導入" +msgstr "與物件單ç¨åŒ¯å…¥" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "使用單ç¨çš„å°è±¡+æ質導入" +msgstr "與物件 + ç´ æ分別匯入" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "使用單ç¨çš„å°è±¡+å‹•ç•«å°Žå…¥" +msgstr "與物件 + 動畫分別匯入" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "使用單ç¨çš„æ質+å‹•ç•«å°Žå…¥" +msgstr "èˆ‡ç´ æ + 動畫分別匯入" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "使用單ç¨çš„å°è±¡+æ質+å‹•ç•«å°Žå…¥" +msgstr "與物件 + ç´ æ + 動畫分別匯入" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "ä½œç‚ºå¤šå€‹å ´æ™¯å°Žå…¥" +msgstr "åŒ¯å…¥ç‚ºå¤šå€‹å ´æ™¯" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "å°Žå…¥ç‚ºå¤šå€‹å ´æ™¯+æ質" +msgstr "åŒ¯å…¥ç‚ºå¤šå€‹å ´æ™¯ + ç´ æ" #: editor/import/resource_importer_scene.cpp #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import Scene" -msgstr "å°Žå…¥å ´æ™¯" +msgstr "åŒ¯å…¥å ´æ™¯" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene..." -msgstr "æ£åœ¨å°Žå…¥å ´æ™¯â€¦" +msgstr "æ£åœ¨åŒ¯å…¥å ´æ™¯..." #: editor/import/resource_importer_scene.cpp msgid "Generating Lightmaps" -msgstr "生æˆå…‰ç…§åœ–" +msgstr "æ£åœ¨ç”¢ç”Ÿå…‰ç…§åœ–" #: editor/import/resource_importer_scene.cpp msgid "Generating for Mesh: " -msgstr "ç‚ºç¶²æ ¼ç”Ÿæˆï¼š " +msgstr "æ£åœ¨ç”¢ç”Ÿç¶²æ ¼ï¼š " #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." -msgstr "æ£åœ¨é‹è¡Œè‡ªå®šç¾©è…³æœ¬â€¦" +msgstr "æ£åœ¨åŸ·è¡Œè‡ªå®šè…³æœ¬..." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "ç„¡æ³•åŠ è¼‰å°Žå…¥å¾Œè…³æœ¬ï¼š" +msgstr "無法載入匯入後腳本:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "導入後腳本無效/å·²æ壞(檢查控制å°ï¼‰ï¼š" +msgstr "匯入後腳本無效或æ毀(請檢查主控å°ï¼‰ï¼š" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "é‹è¡Œå°Žå…¥å¾Œè…³æœ¬æ™‚出錯:" +msgstr "執行匯入後腳本時發生錯誤:" + +#: editor/import/resource_importer_scene.cpp +msgid "Did you return a Node-derived object in the `post_import()` method?" +msgstr "是å¦æœ‰åœ¨ `post_import()` 方法內回傳 Node è¡ç”Ÿä¹‹ç‰©ä»¶ï¼Ÿ" #: editor/import/resource_importer_scene.cpp msgid "Saving..." -msgstr "儲å˜ä¸â€¦â€¦" +msgstr "æ£åœ¨ä¿å˜..." #: editor/import_dock.cpp -#, fuzzy msgid "%d Files" -msgstr " 資料夾" +msgstr "%d 個檔案" #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "è¨å®šç‚ºâ€œ%sâ€çš„é è¨å€¼" +msgstr "è¨ç‚ºã€Œ%sã€çš„é è¨" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "清除“%sâ€çš„é è¨å€¼" +msgstr "清除「%sã€çš„é è¨" #: editor/import_dock.cpp msgid "Import As:" -msgstr "導入為:" +msgstr "匯入為:" #: editor/import_dock.cpp -#, fuzzy msgid "Preset" -msgstr "é è¨" +msgstr "Preset" #: editor/import_dock.cpp msgid "Reimport" -msgstr "é‡æ–°å°Žå…¥" +msgstr "é‡æ–°åŒ¯å…¥" #: editor/import_dock.cpp -#, fuzzy msgid "Save Scenes, Re-Import, and Restart" -msgstr "ä¿å˜å ´æ™¯ï¼Œé‡æ–°å°Žå…¥ä¸¦é‡æ–°å•Ÿå‹•" +msgstr "ä¿å˜å ´æ™¯ã€é‡æ–°åŒ¯å…¥ã€ä¸¦é‡æ–°å•Ÿå‹•" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." -msgstr "" +msgstr "修改匯入檔案的型別需è¦é‡æ–°å•Ÿå‹•ç·¨è¼¯å™¨ã€‚" #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." -msgstr "" +msgstr "è¦å‘Šï¼šæœ‰ç´ æ使用該資æºï¼Œå°‡æœƒç„¡æ³•æ£ç¢ºåŠ 載。" #: editor/inspector_dock.cpp msgid "Failed to load resource." -msgstr "載入資æºå¤±æ•—。" +msgstr "åŠ è¼‰è³‡æºå¤±æ•—。" #: editor/inspector_dock.cpp -#, fuzzy msgid "Expand All Properties" msgstr "展開所有屬性" #: editor/inspector_dock.cpp -#, fuzzy msgid "Collapse All Properties" -msgstr "展開所有屬性" +msgstr "收åˆæ‰€æœ‰å±¬æ€§" #: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Save As..." -msgstr "å¦å˜ç‚º..。" +msgstr "å¦å˜ç‚º..." #: editor/inspector_dock.cpp msgid "Copy Params" msgstr "複製åƒæ•¸" #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource Clipboard" -msgstr "資æºè·¯å¾‘" +msgstr "編輯資æºå‰ªè²¼ç°¿" #: editor/inspector_dock.cpp msgid "Copy Resource" @@ -4206,78 +3972,75 @@ msgstr "複製資æº" #: editor/inspector_dock.cpp msgid "Make Built-In" -msgstr "內置" +msgstr "轉為內建" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" -msgstr "使å資æºå”¯ä¸€" +msgstr "ç¨ç«‹åŒ–å資æº" #: editor/inspector_dock.cpp msgid "Open in Help" -msgstr "在幫助界é¢ä¸é–‹å•Ÿ" +msgstr "在說明ä¸é–‹å•Ÿ" #: editor/inspector_dock.cpp msgid "Create a new resource in memory and edit it." -msgstr "在記憶體ä¸å‰µå»ºä¸€å€‹æ–°è³‡æºä¸¦å°å…¶é€²è¡Œç·¨è¼¯ã€‚" +msgstr "在記憶體ä¸å»ºç«‹ä¸€å€‹æ–°çš„資æºå編輯。" #: editor/inspector_dock.cpp msgid "Load an existing resource from disk and edit it." -msgstr "從ç£ç‰‡åŠ 載ç¾æœ‰è³‡æºä¸¦å°å…¶é€²è¡Œç·¨è¼¯ã€‚" +msgstr "從ç£ç¢Ÿä¸è¼‰å…¥ç¾æœ‰çš„資æºä¸¦ç·¨è¼¯ã€‚" #: editor/inspector_dock.cpp msgid "Save the currently edited resource." -msgstr "ä¿å˜ç•¶å‰ç·¨è¼¯çš„資æºã€‚" +msgstr "ä¿å˜ç›®å‰ç·¨è¼¯çš„資æºã€‚" #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." -msgstr "轉到æ·å²è¨˜éŒ„ä¸ä»¥å‰ç·¨è¼¯çš„å°è±¡ã€‚" +msgstr "在æ·å²è¨˜éŒ„ä¸è·³è‡³ä¸Šä¸€å€‹ç·¨è¼¯çš„物件。" #: editor/inspector_dock.cpp msgid "Go to the next edited object in history." -msgstr "轉到æ·å²è¨˜éŒ„ä¸çš„下一個編輯å°è±¡ã€‚" +msgstr "在æ·å²è¨˜éŒ„ä¸è·³è‡³ä¸‹ä¸€å€‹ç·¨è¼¯çš„物件。" #: editor/inspector_dock.cpp msgid "History of recently edited objects." -msgstr "最近編輯å°è±¡çš„æ·å²è¨˜éŒ„。" +msgstr "最近編輯的物件æ·å²è¨˜éŒ„。" #: editor/inspector_dock.cpp msgid "Object properties." -msgstr "å°è±¡å†…容。" +msgstr "物件屬性。" #: editor/inspector_dock.cpp -#, fuzzy msgid "Filter properties" -msgstr "éŽæ¿¾æª”案..." +msgstr "éŽæ¿¾å±¬æ€§" #: editor/inspector_dock.cpp msgid "Changes may be lost!" -msgstr "更改å¯èƒ½æœƒä¸Ÿå¤±!" +msgstr "改動å¯èƒ½æœƒéºå¤±ï¼" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "多節點集" +msgstr "多節點組" #: editor/node_dock.cpp -#, fuzzy msgid "Select a single node to edit its signals and groups." -msgstr "é¸æ“‡è¦ç·¨è¼¯è¨Šè™Ÿå’Œçµ„的節點。" +msgstr "é¸æ“‡å–®ä¸€ç¯€é»žä»¥ç·¨è¼¯å…¶è¨Šè™Ÿèˆ‡ç¾¤çµ„。" #: editor/plugin_config_dialog.cpp msgid "Edit a Plugin" -msgstr "編輯挿件" +msgstr "編輯外掛" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Create a Plugin" -msgstr "新增" +msgstr "建立外掛" #: editor/plugin_config_dialog.cpp msgid "Plugin Name:" -msgstr "挿件å稱:" +msgstr "外掛å稱:" #: editor/plugin_config_dialog.cpp msgid "Subfolder:" -msgstr "å資料夾:" +msgstr "å資料夾:" #: editor/plugin_config_dialog.cpp editor/script_create_dialog.cpp msgid "Language:" @@ -4293,16 +4056,14 @@ msgstr "ç¾åœ¨å•Ÿå‹•ï¼Ÿ" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Polygon" -msgstr "新增資料夾" +msgstr "新增多邊形" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Create points." -msgstr "刪除" +msgstr "å»ºç«‹é ‚é»žã€‚" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -4310,30 +4071,30 @@ msgid "" "LMB: Move Point\n" "RMB: Erase Point" msgstr "" +"ç·¨è¼¯é ‚é»žã€‚\n" +"å·¦éµé»žæ“Šï¼šç§»å‹•é ‚點\n" +"å³éµé»žæ“Šï¼šåˆªé™¤é ‚點" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Erase points." -msgstr "所有的é¸æ“‡" +msgstr "ç§»é™¤é ‚é»žã€‚" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon" -msgstr "新增資料夾" +msgstr "編輯多邊形" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "æ’入點" +msgstr "æ’å…¥é ‚é»ž" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Edit Polygon (Remove Point)" -msgstr "編輯多邊形 (刪除點)" +msgstr "ç·¨è¼¯å¤šé‚Šå½¢ï¼ˆç§»é™¤é ‚é»žï¼‰" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Remove Polygon And Point" -msgstr "移除" +msgstr "ç§»é™¤å¤šé‚Šå½¢èˆ‡é ‚é»ž" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4341,56 +4102,51 @@ msgstr "移除" #: editor/plugins/animation_state_machine_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "æ·»åŠ å‹•ç•«" +msgstr "新增動畫" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Load..." -msgstr "載入" +msgstr "載入..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "移除" +msgstr "ç§»å‹•ç¯€é»žé ‚é»ž" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Limits" -msgstr "更改 BlendSpace1D é™åˆ¶" +msgstr "修改混åˆç©ºé–“ 1D é™åˆ¶" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Change BlendSpace1D Labels" -msgstr "更改Blendspace1d標籤" +msgstr "修改混åˆç©ºé–“ 1D 標籤" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_state_machine_editor.cpp msgid "This type of node can't be used. Only root nodes are allowed." -msgstr "無法使用æ¤é¡žåž‹çš„節點。åªå…è¨±æ ¹ç¯€é»žã€‚" +msgstr "無法使用該類型的節點。僅å…è¨±æ ¹ç¯€é»žã€‚" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "移除" +msgstr "æ–°å¢žç¯€é»žé ‚é»ž" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "動畫空間。" +msgstr "æ–°å¢žå‹•ç•«é ‚é»ž" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "移除" +msgstr "移除混åˆç©ºé–“ 1D é ‚é»ž" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "移動 BlendSpace1D 節點點" +msgstr "移動混åˆç©ºé–“ 1D ç¯€é»žé ‚é»ž" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4400,23 +4156,23 @@ msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" -"動畫樹處於éžæ´»å‹•ç‹€æ…‹ã€‚\n" -"激活以啟用æ’放, 如果啟動失敗, 請檢查節點è¦å‘Šã€‚" +"動畫樹未啟用。\n" +"請先啟用以æ’放,若啟用失敗請檢查節點è¦å‘Šè¨Šæ¯ã€‚" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Set the blending position within the space" -msgstr "è¨ç½®ç©ºé–“內的混åˆä½ç½®" +msgstr "在æ¤ç©ºé–“ä¸è¨å®šæ··åˆä½ç½®" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Select and move points, create points with RMB." -msgstr "" +msgstr "é¸æ“‡èˆ‡ç§»å‹•é ‚é»žï¼Œä½¿ç”¨æ»‘é¼ å³éµå»ºç«‹é ‚點。" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp msgid "Enable snap and show grid." -msgstr "啟用æ•æ‰ä¸¦é¡¯ç¤ºç¶²æ ¼ã€‚" +msgstr "啟用å¸é™„ä¸¦é¡¯ç¤ºç¶²æ ¼ã€‚" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4426,69 +4182,63 @@ msgstr "點" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Open Editor" -msgstr "相ä¾æ€§ç·¨è¼¯å™¨" +msgstr "開啟編輯器" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Open Animation Node" -msgstr "最佳化動畫" +msgstr "開啟動畫節點" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Triangle already exists." -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "å·²å˜åœ¨ä¸‰è§’形。" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "æ·»åŠ å‹•ç•«è»Œ" +msgstr "新增三角形" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Limits" -msgstr "更改Blendspace2dé™åˆ¶" +msgstr "修改混åˆç©ºé–“ 2D é™åˆ¶" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Labels" -msgstr "更改Blendspace2d標籤" +msgstr "修改混åˆç©ºé–“ 2D 標籤" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "移除" +msgstr "移除混åˆç©ºé–“ 2D é ‚é»ž" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Remove BlendSpace2D Triangle" -msgstr "åˆ é™¤Blendspace2d三角形" +msgstr "移除混åˆç©ºé–“ 2D 三角形" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." -msgstr "Blendspace2dä¸å±¬æ–¼AnimationTree節點。" +msgstr "æ··åˆç©ºé–“ 2D ä¸å±¬æ–¼ä»»ä½•å‹•ç•«æ¨¹ç¯€é»žã€‚" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "No triangles exist, so no blending can take place." -msgstr "ä¸å˜åœ¨ä¸‰è§’å½¢, å› æ¤ä¸èƒ½é€²è¡Œæ··åˆã€‚" +msgstr "無三角形,將ä¸æœƒé€²è¡Œæ··åˆã€‚" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "切æ›æœ€æ„›" +msgstr "é–‹å•Ÿï¼å–消自動三角形" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." -msgstr "通éŽé€£æŽ¥é»žå‰µå»ºä¸‰è§’形。" +msgstr "通éŽé€£æŽ¥é ‚點來建立三角形。" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Erase points and triangles." -msgstr "åˆ é™¤é»žå’Œä¸‰è§’å½¢ã€‚" +msgstr "åˆªé™¤é ‚é»žèˆ‡ä¸‰è§’å½¢ã€‚" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Generate blend triangles automatically (instead of manually)" -msgstr "自動生æˆæ··åˆä¸‰è§’å½¢ (而ä¸æ˜¯æ‰‹å‹•ç”Ÿæˆ)" +msgstr "自動產生混åˆä¸‰è§’形(而éžæ‰‹å‹•ï¼‰" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4496,131 +4246,116 @@ msgid "Blend:" msgstr "æ··åˆï¼š" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "æ£åœ¨å„²å˜è®Šæ›´..." +msgstr "已更改åƒæ•¸" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp -#, fuzzy msgid "Edit Filters" -msgstr "éŽæ¿¾æª”案..." +msgstr "編輯篩é¸" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." -msgstr "ç„¡æ³•å°‡è¼¸å‡ºç¯€é»žæ·»åŠ åˆ°æ··åˆæ¨¹ä¸ã€‚" +msgstr "輸出節點無法被新增到混åˆæ¨¹ã€‚" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Add Node to BlendTree" -msgstr "å°‡ç¯€é»žæ·»åŠ åˆ°BlendTree" +msgstr "新增節點至混åˆæ¨¹" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "節點å稱:" +msgstr "已移動節點" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Unable to connect, port may be in use or connection may be invalid." -msgstr "ç„¡æ³•é€£æŽ¥ï¼ŒåŸ å¯èƒ½æ£åœ¨ä½¿ç”¨ï¼Œæˆ–者連接å¯èƒ½ç„¡æ•ˆã€‚" +msgstr "ç„¡æ³•é€£ç·šï¼Œè©²é€£æŽ¥åŸ å¯èƒ½å·²è¢«ä½”用或連線無效。" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "連接..." +msgstr "已連接節點" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "æ–·ç·š" +msgstr "已斷開節點連接" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "動畫最佳化" +msgstr "è¨å®šå‹•ç•«" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "刪除" +msgstr "刪除節點" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/scene_tree_dock.cpp msgid "Delete Node(s)" -msgstr "" +msgstr "刪除節點" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "切æ›æœ€æ„›" +msgstr "é–‹å•Ÿï¼é—œé–‰éŽæ¿¾" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "變更é¡é 尺寸" +msgstr "更改éŽæ¿¾" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." -msgstr "沒有è¨å®šå‹•ç•«æ’放機,囙æ¤ç„¡æ³•æª¢ç´¢æ›²ç›®å稱。" +msgstr "未è¨å®šå‹•ç•«æ’放器,無法å–得軌é“å稱。" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Player path set is invalid, so unable to retrieve track names." -msgstr "" +msgstr "æ’放器ä½ç½®ç„¡æ•ˆï¼Œç„¡æ³•å–得軌é“å稱。" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp msgid "" "Animation player has no valid root node path, so unable to retrieve track " "names." -msgstr "" +msgstr "å‹•ç•«æ’æ”¾å™¨çš„æ ¹ç¯€é»žä½ç½®ç„¡æ•ˆï¼Œç„¡æ³•å–得軌é“å稱。" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Anim Clips" -msgstr "動畫剪輯:" +msgstr "動畫片段" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Audio Clips" -msgstr "音訊剪輯:" +msgstr "音訊片段" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Functions" -msgstr "函數:" +msgstr "函å¼" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "節點å稱:" +msgstr "å·²é‡æ–°å‘½å節點" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add Node..." -msgstr "æ·»åŠ ç¯€é»ž..。" +msgstr "新增節點..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Edit Filtered Tracks:" -msgstr "éŽæ¿¾æª”案..." +msgstr "編輯已篩é¸çš„軌é“:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Enable Filtering" msgstr "啟用篩é¸" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "切æ›è‡ªå‹•æ’放" +msgstr "é–‹å•Ÿï¼é—œé–‰è‡ªå‹•æ’放" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "æ–°å‹•ç•«å稱:" +msgstr "新增動畫å稱:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" @@ -4628,12 +4363,12 @@ msgstr "新增動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "更改動畫å稱:" +msgstr "更改動畫å稱:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Animation?" -msgstr "刪除動畫?" +msgstr "是å¦åˆªé™¤å‹•ç•«ï¼Ÿ" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4641,27 +4376,25 @@ msgid "Remove Animation" msgstr "移除動畫" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Invalid animation name!" -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的動畫å稱ï¼" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Animation name already exists!" -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "å‹•ç•«å稱已å˜åœ¨ï¼" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "é‡å‘½åå‹•ç•«" +msgstr "é‡æ–°å‘½åå‹•ç•«" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "æ··åˆä¸‹ä¸€å€‹æ›´æ”¹" +msgstr "æ··åˆä¸‹ä¸€å€‹æ”¹å‹•" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "更改混åˆæ™‚é–“" +msgstr "修改混åˆæ™‚é–“" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -4669,49 +4402,47 @@ msgstr "載入動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "複製動畫" +msgstr "é‡è¤‡å‹•ç•«" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation to copy!" -msgstr "動畫空間。" +msgstr "ç„¡å‹•ç•«å¯è¤‡è£½ï¼" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation resource on clipboard!" -msgstr "在資æºè·¯å¾‘ä¸æ‰¾ä¸åˆ°" +msgstr "剪貼簿ä¸æ²’有動畫資æºï¼" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "粘貼的動畫" +msgstr "已貼上的動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "粘貼動畫" +msgstr "貼上動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "No animation to edit!" -msgstr "沒有è¦ç·¨è¼¯çš„å‹•ç•«!" +msgstr "ç„¡å‹•ç•«å¯ç·¨è¼¯ï¼" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "從當å‰ä½ç½®å‘後æ’放所é¸å‹•ç•«ã€‚(A)" +msgstr "自目å‰ä½ç½®é–‹å§‹å€’放所é¸çš„動畫。 (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "從çµå°¾å‘後æ’放é¸å®šçš„動畫。(Shift+a)" +msgstr "自çµå°¾å€’放所é¸å‹•ç•«ã€‚(Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "åœæ¢å‹•ç•«å›žæ”¾ã€‚(S)" +msgstr "åœæ¢æ’放動畫。(S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "從é 開始æ’放é¸å–ä¸çš„動畫。(Shift+D)" +msgstr "從é æ’放所é¸å‹•ç•«ã€‚(Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "從當å‰ä½ç½®æ’放é¸å®šçš„動畫。(D)" +msgstr "自目å‰ä½ç½®é–‹å§‹æ’放所é¸å‹•ç•«ã€‚(D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." @@ -4719,7 +4450,7 @@ msgstr "å‹•ç•«ä½ç½®ï¼ˆç§’)。" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "在全域範åœå…§ç¸®æ”¾ç¯€é»žçš„å‹•ç•«æ’放。" +msgstr "為節點全域縮放動畫æ’放。" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" @@ -4730,40 +4461,36 @@ msgid "Animation" msgstr "å‹•ç•«" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Edit Transitions..." -msgstr "è½‰å ´å‹•ç•«" +msgstr "ç·¨è¼¯è½‰å ´..." #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Open in Inspector" -msgstr "開啟資料夾" +msgstr "在屬性é¢æ¿ä¸é–‹å•Ÿ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "在æ’放機ä¸é¡¯ç¤ºå‹•ç•«æ¸…單。" +msgstr "在æ’放器ä¸é¡¯ç¤ºå‹•ç•«åˆ—表。" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "載入åŽè‡ªå‹•æ’放" +msgstr "載入後自動æ’放" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "啟用洋葱皮" +msgstr "啟用洋蔥皮化 (Onion Skinning)" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Onion Skinning Options" -msgstr "洋葱皮" +msgstr "洋蔥皮化é¸é …" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "æè¿°:" +msgstr "æ–¹å‘" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "è·³éŽ" +msgstr "éŽåŽ»" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" @@ -4775,39 +4502,39 @@ msgstr "深度" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "1æ¥" +msgstr "1 æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "2æ¥" +msgstr "2 æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "3æ¥" +msgstr "3 æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "僅差異" +msgstr "僅顯示差異" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "強制白色調節" +msgstr "強制使用白色調整" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "包括3D控制器" +msgstr "åŒ…å« Gizmo (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pin AnimationPlayer" -msgstr "" +msgstr "固定動畫æ’放器" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "創建新動畫" +msgstr "建立新動畫" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "å‹•ç•«å稱:" +msgstr "å‹•ç•«å稱:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp @@ -4818,35 +4545,32 @@ msgstr "錯誤ï¼" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "æ··åˆæ™‚é–“:" +msgstr "æ··åˆæ™‚間:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "下一個(自動隊列):" +msgstr "下一個(自動佇列):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" msgstr "跨動畫混åˆæ™‚é–“" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" msgstr "移動節點" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition exists!" -msgstr "è½‰å ´: " +msgstr "è½‰å ´å·²å˜åœ¨ï¼" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "æ·»åŠ è½‰æ›" +msgstr "æ–°å¢žè½‰å ´" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Add Node" -msgstr "æ·»åŠ ç¯€é»ž" +msgstr "新增節點" #: editor/plugins/animation_state_machine_editor.cpp msgid "End" @@ -4862,7 +4586,7 @@ msgstr "åŒæ¥" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" -msgstr "在末尾" +msgstr "在çµå°¾" #: editor/plugins/animation_state_machine_editor.cpp msgid "Travel" @@ -4870,26 +4594,23 @@ msgstr "行程" #: editor/plugins/animation_state_machine_editor.cpp msgid "Start and end nodes are needed for a sub-transition." -msgstr "" +msgstr "åè½‰å ´å¿…é ˆè¦æœ‰é–‹å§‹èˆ‡çµæŸç¯€é»žã€‚" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "No playback resource set at path: %s." -msgstr "在資æºè·¯å¾‘ä¸æ‰¾ä¸åˆ°" +msgstr "路徑 %s ä¸æ²’有å¯æ’放的資æºã€‚" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" msgstr "已刪除節點" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "已刪除轉æ›" +msgstr "å·²åˆªé™¤è½‰å ´" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "è¨å®šé–‹å§‹ç¯€é»žï¼ˆè‡ªå‹•æ’放)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4897,38 +4618,37 @@ msgid "" "RMB to add new nodes.\n" "Shift+LMB to create connections." msgstr "" +"é¸æ“‡èˆ‡ç§»å‹•ç¯€é»žã€‚\n" +"å³éµé»žæ“Šä»¥æ–°å¢žç¯€é»žã€‚\n" +"Shift+å·¦éµé»žæ“Šä»¥å»ºç«‹é€£æŽ¥ã€‚" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Create new nodes." -msgstr "新增 %s" +msgstr "建立新節點。" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Connect nodes." -msgstr "連接..." +msgstr "連接節點。" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Remove selected node or transition." -msgstr "移除é¸æ“‡çš„動畫軌。" +msgstr "移除所é¸çš„ç¯€é»žæˆ–è½‰å ´ã€‚" #: editor/plugins/animation_state_machine_editor.cpp msgid "Toggle autoplay this animation on start, restart or seek to zero." -msgstr "" +msgstr "é–‹å•Ÿï¼é—œé–‰è©²å‹•ç•«åœ¨é–‹å§‹ã€é‡æ–°å•Ÿå‹•æˆ–尋覓至 0 時的自動æ’放。" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set the end animation. This is useful for sub-transitions." -msgstr "" +msgstr "è¨å®šçµå°¾å‹•ç•«ã€‚å°æ–¼åè½‰å ´å¾ˆæœ‰ç”¨ã€‚" #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition: " -msgstr "è½‰å ´: " +msgstr "è½‰å ´ï¼š " #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Play Mode:" -msgstr "平移模å¼" +msgstr "æ’放模å¼ï¼š" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4937,16 +4657,16 @@ msgstr "動畫樹" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "New name:" -msgstr "æ–°å稱:" +msgstr "æ–°å稱:" #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "縮放:" +msgstr "縮放:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade In (s):" -msgstr "æ·¡å…¥(秒):" +msgstr "淡入(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Fade Out (s):" @@ -4954,23 +4674,23 @@ msgstr "淡出(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend" -msgstr "æ··åˆ" +msgstr "æ··åˆ (Blend)" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Mix" -msgstr "æ··åˆ" +msgstr "æ··åˆ (Mix)" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Auto Restart:" -msgstr "自動é‡æ–°é–‹å§‹:" +msgstr "自動é‡æ–°é–‹å§‹ï¼š" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Restart (s):" -msgstr "é‡æ–°é–‹å§‹(秒):" +msgstr "é‡æ–°é–‹å§‹ï¼ˆç§’):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "隨機é‡æ–°é–‹å§‹(秒):" +msgstr "隨機é‡æ–°é–‹å§‹ï¼ˆç§’):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Start!" @@ -4983,45 +4703,45 @@ msgstr "數é‡ï¼š" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend 0:" -msgstr "æ··åˆ 0:" +msgstr "æ··åˆ 0:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend 1:" -msgstr "æ··åˆ 1:" +msgstr "æ··åˆ 1:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "交å‰æ·¡åŒ– (X-Fade) 時間(秒):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Current:" -msgstr "當å‰ï¼š" +msgstr "ç›®å‰ï¼š" #: editor/plugins/animation_tree_player_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Add Input" -msgstr "æ·»åŠ è¼¸å…¥" +msgstr "新增輸入" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Clear Auto-Advance" -msgstr "清除Auto-Advance" +msgstr "清除自動 Advance" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Set Auto-Advance" -msgstr "è¨å®šè‡ªå‹•å‰é€²" +msgstr "è¨å®šè‡ªå‹• Advance" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Delete Input" -msgstr "刪除輸入事件" +msgstr "刪除輸入" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "動畫樹有效。" +msgstr "有效動畫樹。" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "動畫樹無效。" +msgstr "無效的動畫樹。" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation Node" @@ -5037,23 +4757,23 @@ msgstr "æ··åˆç¯€é»ž" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend2 Node" -msgstr "æ··åˆ2 節點" +msgstr "æ··åˆ 2 節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend3 Node" -msgstr "æ··åˆ3 節點" +msgstr "æ··åˆ 3 節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend4 Node" -msgstr "æ··åˆ4 節點" +msgstr "æ··åˆ 4 節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" -msgstr "時間尺度節點" +msgstr "時間縮放節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "時間æœç´¢ç¯€é»ž" +msgstr "時間尋覓節點" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Transition Node" @@ -5061,123 +4781,115 @@ msgstr "è½‰å ´ç¯€é»ž" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Import Animations..." -msgstr "導入動畫…" +msgstr "匯入動畫…" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "編輯節點篩é¸" +msgstr "編輯節點éŽæ¿¾" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Filters..." -msgstr "篩é¸â€¦" +msgstr "éŽæ¿¾..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" msgstr "內容:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "View Files" -msgstr "查看檔案" +msgstr "檢視檔案" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "連接錯誤, è«‹é‡è©¦ã€‚" +msgstr "連線錯誤,請é‡è©¦ã€‚" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "無法連接到主機:" +msgstr "無法連線至主機:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "主機沒有響應:" +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 "請求失敗." +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 "下載雜湊錯誤,檔案å¯èƒ½è¢«ç¯¡æ”¹ã€‚" #: 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 "sha256哈希值檢查失敗" +msgstr "SHA-256 雜湊檢查失敗" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "資æºä¸‹è¼‰éŒ¯èª¤:" +msgstr "ç´ æ下載錯誤:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Downloading (%s / %s)..." 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" @@ -5189,46 +4901,43 @@ 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 "å稱(A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Name (Z-A)" -msgstr "" +msgstr "å稱(Z-A)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (A-Z)" -msgstr "授權" +msgstr "授權(A-Z)" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "License (Z-A)" -msgstr "授權" +msgstr "授權(Z-A)" #: 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" -msgstr "下一個" +msgstr "下一é " #: editor/plugins/asset_library_editor_plugin.cpp msgid "Last" @@ -5240,35 +4949,32 @@ 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 -#, fuzzy 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:" -msgstr "地å€:" +msgstr "網站:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support" -msgstr "支æŒâ€¦" +msgstr "支æ´" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" @@ -5279,13 +4985,12 @@ msgid "Testing" msgstr "測試" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Loading..." -msgstr "載入" +msgstr "æ£åœ¨è¼‰å…¥..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "ZIP資æºåŒ…" +msgstr "ç´ æ ZIP 檔" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "" @@ -5293,21 +4998,23 @@ msgid "" "Save your scene (for images to be saved in the same dir), or pick a save " "path from the BakedLightmap properties." msgstr "" +"無法判斷光照圖的ä¿å˜è·¯å¾‘。\n" +"è«‹å°‡å ´æ™¯ä¿å˜ï¼ˆåœ–片將ä¿å˜æ–¼ç›¸åŒè³‡æ–™å¤¾ï¼‰ï¼Œæˆ–是在 BackedLightmap 屬性內é¸æ“‡ä¸€å€‹" +"ä¿å˜è·¯å¾‘。" #: editor/plugins/baked_lightmap_editor_plugin.cpp -#, fuzzy msgid "" "No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " "Light' flag is on." -msgstr "沒有å¯ä¾›æ¸²æŸ“çš„Meshes,請確ä¿Mesh包å«UV2通é“並且勾é¸'Bake Light'é¸é …" +msgstr "æ²’æœ‰å¯ Bake çš„ç¶²æ ¼ã€‚è«‹ç¢ºä¿ç¶²æ ¼åŒ…å« UV2 通é“並已開啟「Bake 光照ã€æ——標。" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." -msgstr "創建光圖圖åƒå¤±æ•—, 請確ä¿è·¯å¾‘是å¯å¯«çš„。" +msgstr "建立光照圖失敗,請確ä¿è©²è·¯å¾‘å¯å¯«å…¥ã€‚" #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Bake Lightmaps" -msgstr "渲染光圖" +msgstr "Bake 光照圖" #: editor/plugins/camera_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/rename_dialog.cpp @@ -5316,81 +5023,71 @@ msgstr "é 覽" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "é…ç½®å¸é™„" +msgstr "è¨å®šå¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" -msgstr "ç¶²æ ¼å移é‡:" +msgstr "ç¶²æ ¼å移é‡ï¼š" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" -msgstr "ç¶²æ ¼å¤§å°:" +msgstr "ç¶²æ ¼å¤§å°ï¼š" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Primary Line Every:" -msgstr "" +msgstr "主è¦ç·šæ¢é–“隔:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "steps" -msgstr "2æ¥" +msgstr "æ¥é•·" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "旋轉å移é‡:" +msgstr "旋轉å移é‡ï¼š" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "旋轉æ¥é©Ÿ:" +msgstr "旋轉æ¥é•·ï¼š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale Step:" -msgstr "縮放:" +msgstr "縮放æ¥é•·ï¼š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Vertical Guide" -msgstr "垂直移動尺標" +msgstr "移動垂直åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Vertical Guide" -msgstr "創建新的垂直尺標" +msgstr "建立垂直åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Vertical Guide" -msgstr "刪除垂直尺標" +msgstr "移除垂直åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Horizontal Guide" -msgstr "移動水平尺標" +msgstr "移動水平åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Horizontal Guide" -msgstr "創建新的水平尺標" +msgstr "建立水平åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove Horizontal Guide" -msgstr "移除水平尺標" +msgstr "移除水平åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Horizontal and Vertical Guides" -msgstr "創建新的水平和垂直尺標" +msgstr "建立水平與垂直åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move pivot" -msgstr "移動樞軸" +msgstr "移動軸心" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate CanvasItem" -msgstr "旋轉CanvasItem" +msgstr "æ—‹è½‰ç•«å¸ƒé …ç›®" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move anchor" @@ -5398,112 +5095,99 @@ msgstr "移動錨點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Resize CanvasItem" -msgstr "調整CanvasItem的大å°" +msgstr "èª¿æ•´ç•«å¸ƒé …ç›®å¤§å°" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale CanvasItem" -msgstr "縮放CanvasItem" +msgstr "ç¸®æ”¾ç•«å¸ƒé …ç›®" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move CanvasItem" -msgstr "移動CanvasItem" +msgstr "ç§»å‹•ç•«å¸ƒé …ç›®" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "容器的å級的錨定值和é é‚Šè·å€¼è¢«å…¶çˆ¶ç´šè¦†è“‹ã€‚" +msgstr "容器åé …ç›®çš„éŒ¨é»žèˆ‡å¤–é‚Šè· (margin) 值被其æ¯é …目複寫。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "控制節點的錨點與外邊è·çš„ Preset。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "When active, moving Control nodes changes their anchors instead of their " "margins." -msgstr "" +msgstr "啟用時,移動控制節點將修改錨點而éžå¤–é‚Šè·ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Top Left" -msgstr "å·¦" +msgstr "左上" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Top Right" -msgstr "å³" +msgstr "å³ä¸Š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Bottom Right" -msgstr "å‘å³æ—‹è½‰" +msgstr "å³ä¸‹" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Bottom Left" -msgstr "底部視圖" +msgstr "左下" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Center Left" -msgstr "å‘左縮進" +msgstr "ä¸å·¦" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Center Top" -msgstr "å±…ä¸é¸æ“‡" +msgstr "ä¸ä¸Š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Center Right" -msgstr "å‘å³ç¸®é€²" +msgstr "ä¸å³" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Center Bottom" -msgstr "底部" +msgstr "ä¸ä¸‹" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center" -msgstr "" +msgstr "ä¸å¤®" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Left Wide" -msgstr "左視圖" +msgstr "左延長" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Top Wide" -msgstr "俯視圖" +msgstr "上延長" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Right Wide" -msgstr "å³è¦–圖" +msgstr "å³å»¶é•·" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Bottom Wide" -msgstr "底部視圖" +msgstr "下延長" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "VCenter Wide" -msgstr "" +msgstr "åž‚ç›´ä¸å¤®å»¶é•·" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "HCenter Wide" -msgstr "" +msgstr "æ°´å¹³ä¸å¤®å»¶é•·" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Full Rect" -msgstr "" +msgstr "全矩形" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Keep Ratio" -msgstr "縮放比例:" +msgstr "ä¿æŒæ¯”例" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -5511,11 +5195,11 @@ msgstr "僅é™éŒ¨é»ž" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "改變錨點和邊è·" +msgstr "修改錨點與外邊è·" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "改變錨點" +msgstr "修改錨點" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5523,6 +5207,8 @@ msgid "" "Game Camera Override\n" "Overrides game camera with editor viewport camera." msgstr "" +"éŠæˆ²ç›¸æ©Ÿè¦†è“‹\n" +"以檢視å€ç›¸æ©Ÿå–代éŠæˆ²ç›¸æ©Ÿã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5530,69 +5216,64 @@ msgid "" "Game Camera Override\n" "No game instance running." msgstr "" +"éŠæˆ²ç›¸æ©Ÿè¦†è“‹\n" +"ç„¡æ£åœ¨åŸ·è¡Œçš„éŠæˆ²å¯¦é«”。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Lock Selected" -msgstr "工具é¸æ“‡" +msgstr "鎖定所é¸" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Unlock Selected" -msgstr "工具é¸æ“‡" +msgstr "å–消鎖定所é¸" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Group Selected" -msgstr "複製é¸æ“‡" +msgstr "為所é¸çš„é …ç›®å»ºç«‹ç¾¤çµ„" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Ungroup Selected" -msgstr "複製é¸æ“‡" +msgstr "移除所é¸é …目的群組" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "粘貼姿勢" +msgstr "貼上姿勢" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Guides" -msgstr "清除姿勢" +msgstr "清除åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create Custom Bone(s) from Node(s)" -msgstr "從節點製作自定義骨骼" +msgstr "å節點建立自定骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Bones" -msgstr "清除姿勢" +msgstr "清除骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "製作IKéˆ" +msgstr "建立 IK éˆ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "清除IKéˆ" +msgstr "清除 IK éˆ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." -msgstr "è¦å‘Šï¼šå®¹å™¨çš„åç´šåªèƒ½ç”±å…¶çˆ¶ç´šç¢ºå®šå…¶ä½ç½®å’Œå¤§å°ã€‚" +msgstr "è¦å‘Šï¼šå®¹å™¨çš„åé …ç›®çš„ä½ç½®èˆ‡å¤§å°æœ‰å…¶æ¯é …目決定。" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom Reset" -msgstr "é‡ç½®ç¸®æ”¾" +msgstr "é‡è¨ç¸®æ”¾" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5601,19 +5282,19 @@ msgstr "é¸æ“‡æ¨¡å¼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "æ‹–å‹•: 旋轉" +msgstr "拖移:旋轉" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "Alt+Drag:移動" +msgstr "Alt+拖移:移動" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." -msgstr "按 \"v\" 更改樞軸, \"Shift + v\" 以拖動樞軸 (移動時)。" +msgstr "按「vã€ä»¥ä¿®æ”¹æ¨žç´ï¼Œã€ŒShift+vã€ä»¥ç§»å‹•æ¨žç´ï¼ˆç§»å‹•æ™‚)。" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "Alt+æ»‘é¼ å³éµ:é¡¯ç¤ºé¼ æ¨™é»žæ“Šä½ç½®ä¸‹æ‰€æœ‰çš„節點清單" +msgstr "Alt+æ»‘é¼ å³éµï¼šå±•é–‹æ‰€é¸æ¸…å–®" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5627,7 +5308,6 @@ msgstr "旋轉模å¼" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scale Mode" msgstr "縮放模å¼" @@ -5636,129 +5316,112 @@ msgstr "縮放模å¼" msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." -msgstr "在按一下的ä½ç½®é¡¯ç¤ºæ‰€æœ‰ç‰©ä»¶çš„清單 (在é¸æ“‡æ¨¡å¼ä¸‹èˆ‡ Alt + RMB 相åŒ)。" +msgstr "" +"顯示該點擊ä½ç½®æ‰€æœ‰ç‰©ä»¶çš„列表\n" +"(åŒé¸æ“‡æ¨¡å¼ä¸çš„ Alt+æ»‘é¼ å³éµï¼‰ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "點擊以更改物件的旋轉樞軸。" +msgstr "點擊以更改物件的旋轉樞ç´ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" msgstr "平移模å¼" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Ruler Mode" -msgstr "縮放模å¼" +msgstr "å°ºè¦æ¨¡å¼" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle smart snapping." -msgstr "切æ›å¸é™„。" +msgstr "é–‹å•Ÿï¼é—œé–‰æ™ºæ…§åž‹å¸é™„。" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Smart Snap" -msgstr "使用å¸é™„" +msgstr "使用智慧型å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle grid snapping." -msgstr "切æ›å¸é™„。" +msgstr "é–‹å•Ÿï¼é—œé–‰ç¶²æ ¼å¸é™„。" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Grid Snap" -msgstr "ç¶²æ ¼å¸é™„" +msgstr "ä½¿ç”¨ç¶²æ ¼å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" msgstr "å¸é™„é¸é …" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Rotation Snap" msgstr "使用旋轉å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Scale Snap" -msgstr "使用å¸é™„" +msgstr "使用縮放å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap Relative" msgstr "相å°å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Use Pixel Snap" msgstr "使用åƒç´ å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Smart Snapping" -msgstr "智慧å¸é™„" +msgstr "智慧型å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Configure Snap..." -msgstr "é…ç½®å¸é™„…" +msgstr "è¨å®šå¸é™„..." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Parent" -msgstr "å¸é™„到父級節點" +msgstr "å¸é™„至æ¯ç´š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Node Anchor" -msgstr "å¸é™„到節點的錨點" +msgstr "å¸é™„至節點錨點" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Node Sides" -msgstr "æ•æ‰åˆ°ç¯€é»žé‚Š" +msgstr "å¸é™„至節點å´é‚Š" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Node Center" -msgstr "å¸é™„到節點的ä¸å¿ƒ" +msgstr "å¸é™„至節點ä¸å¤®" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Other Nodes" -msgstr "å¸é™„到其他的節點" +msgstr "å¸é™„至其他節點" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to Guides" -msgstr "å¸é™„到尺標" +msgstr "å¸é™„至åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "將所é¸ç‰©ä»¶éŽ–定到ä¸å¿ƒ (無法移動)。" +msgstr "在其ä½ç½®ä¸ŠéŽ–定所é¸ç‰©ä»¶ï¼ˆç„¡æ³•ç§»å‹•ï¼‰ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Unlock the selected object (can be moved)." -msgstr "解鎖所é¸ç‰©ä»¶ (å¯ä»¥ç§»å‹•)。" +msgstr "解鎖所é¸ç‰©ä»¶ï¼ˆå¯ç§»å‹•ï¼‰ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "確ä¿å°è±¡çš„åç´šä¸å¯é¸ã€‚" +msgstr "確ä¿ç‰©ä»¶çš„åç´šé …ç›®ç„¡æ³•è¢«é¸æ“‡ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "æ¢å¾©å°è±¡çš„åç´šé¸æ“‡èƒ½åŠ›ã€‚" +msgstr "æ¢å¾©è®“物件的åç´šé …ç›®å¯é¸æ“‡ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Skeleton Options" msgstr "骨架é¸é …" @@ -5768,7 +5431,7 @@ msgstr "顯示骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "從節點製作自定義骨骼" +msgstr "自節點建立自定骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Custom Bones" @@ -5777,16 +5440,15 @@ msgstr "清除自定義骨骼" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "視圖" +msgstr "檢視" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Always Show Grid" -msgstr "é¡¯ç¤ºç¶²æ ¼" +msgstr "æ°¸é é¡¯ç¤ºç¶²æ ¼" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" -msgstr "顯示輔助線" +msgstr "顯示輔助資訊" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" @@ -5794,7 +5456,7 @@ msgstr "顯示尺è¦" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "顯示引導" +msgstr "顯示åƒè€ƒç·š" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Origin" @@ -5802,40 +5464,39 @@ msgstr "顯示原點" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Viewport" -msgstr "顯示視å£" +msgstr "顯示檢視å€" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" -msgstr "顯示組和鎖定圖標" +msgstr "顯示群組與鎖定圖示" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "å±…ä¸é¸æ“‡" +msgstr "ç½®ä¸æ‰€é¸" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "å¹€é¸æ“‡" +msgstr "完整顯示所é¸" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Preview Canvas Scale" -msgstr "" +msgstr "é 覽畫布比例" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Translation mask for inserting keys." -msgstr "" +msgstr "轉æ›é®ç½©ä»¥æ’入關éµå½±æ ¼ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation mask for inserting keys." -msgstr "" +msgstr "旋轉é®ç½©ä»¥æ’入關éµå½±æ ¼ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Scale mask for inserting keys." -msgstr "" +msgstr "縮放é®ç½©ä»¥æ’入關éµå½±æ ¼ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Insert keys (based on mask)." -msgstr "æ’入幀 (ç¾æœ‰è»Œé“)" +msgstr "(基於é®ç½©ï¼‰æ’入關éµå½±æ ¼ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -5844,20 +5505,21 @@ msgid "" "Keys are only added to existing tracks, no new tracks will be created.\n" "Keys must be inserted manually for the first time." msgstr "" +"檔物件被轉æ›ã€æ—‹è½‰ã€æˆ–(基於é®ç½©ï¼‰ç¸®æ”¾æ™‚自動æ’入關éµå½±æ ¼ã€‚\n" +"é—œéµå½±æ ¼åªæœƒè¢«æ–°å¢žè‡³ç¾å˜çš„軌é“,將ä¸æœƒå»ºç«‹æ–°çš„軌é“。\n" +"ç¬¬ä¸€æ¬¡å¿…é ˆå…ˆæ‰‹å‹•æ’入關éµå½±æ ¼ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Auto Insert Key" -msgstr "新增關éµç•«æ ¼" +msgstr "自動æ’入關éµå½±æ ¼" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation Key and Pose Options" -msgstr "動畫長度(秒)" +msgstr "å‹•ç•«é—œéµå½±æ ¼èˆ‡å§¿å‹¢é¸é …" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "æ’入幀 (ç¾æœ‰è»Œé“)" +msgstr "æ’入關éµå½±æ ¼ï¼ˆåœ¨ç¾æœ‰è»Œé“)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" @@ -5869,53 +5531,53 @@ msgstr "清除姿勢" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "å°‡ç¶²æ ¼æ¥æ•¸ä¹˜ä»¥2" +msgstr "å°‡ç¶²æ ¼æ¥æ•¸ä¹˜ä»¥ 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "å°‡ç¶²æ ¼æ¥æ•¸é™¤ä»¥2" +msgstr "å°‡ç¶²æ ¼æ¥æ•¸é™¤ä»¥ 2" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Pan View" -msgstr "後視圖" +msgstr "平移檢視" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "æ·»åŠ %s" +msgstr "新增 %" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "æ·»åŠ %s…" +msgstr "æ£åœ¨æ–°å¢ž %s…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Cannot instantiate multiple nodes without root." -msgstr "無法具ç¾åŒ–æ²’æœ‰æ ¹çš„å¤šå€‹ç¯€é»žã€‚" +msgstr "æ²’æœ‰æ ¹ç¯€é»žç„¡æ³•å¯¦é«”åŒ–å¤šå€‹ç¯€é»žã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "創建節點" +msgstr "建立節點" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "%s ä¸çš„å…·ç¾åŒ–å ´æ™¯å‡ºéŒ¯" +msgstr "自 %s å¯¦é«”åŒ–å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Change Default Type" -msgstr "更改é è¨é¡žåž‹" +msgstr "更改é è¨åž‹åˆ¥" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"拖放 + Shift:新增åŒç´šç¯€é»ž\n" +"拖放 + Alt:修改節點型別" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Polygon3D" -msgstr "創建3D多邊形" +msgstr "建立多邊形 3D" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly" @@ -5923,29 +5585,28 @@ msgstr "編輯多邊形" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "編輯多邊形 (åˆªé™¤é ‚é»ž)" +msgstr "ç·¨è¼¯å¤šé‚Šå½¢ï¼ˆç§»é™¤é ‚é»žï¼‰" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "è¨ç½®æŽ§åˆ¶ç¨‹åº" +msgstr "è¨å®šè™•ç†ç¨‹å¼" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" -msgstr "" +msgstr "載入發射é®ç½©" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Restart" -msgstr "é‡æ–°é–‹å§‹(秒):" +msgstr "é‡æ–°å•Ÿå‹•" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Clear Emission Mask" -msgstr "" +msgstr "清除發射é®ç½©" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5956,141 +5617,131 @@ msgstr "ç²’å" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "å·²ç”¢ç”Ÿçš„é ‚é»žæ•¸é‡ï¼š" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "" +msgstr "發射é®ç½©" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Solid Pixels" -msgstr "擴展(åƒç´ ): " +msgstr "實體åƒç´ " #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Border Pixels" -msgstr "" +msgstr "é‚Šç•Œåƒç´ " #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Directed Border Pixels" -msgstr "資料夾 & 檔案:" +msgstr "有å‘é‚Šç•Œåƒç´ " #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Capture from Pixel" -msgstr "" +msgstr "自åƒç´ ä¸æ•æ‰" #: editor/plugins/cpu_particles_2d_editor_plugin.cpp #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" -msgstr "" +msgstr "發射色彩" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" -msgstr "CPUç²’å" +msgstr "CPUParticles" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Mesh" -msgstr "å¾žç¶²æ ¼å‰µå»ºç™¼å°„é»ž" +msgstr "è‡ªç¶²æ ¼å»ºç«‹ç™¼å°„é»ž" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Node" -msgstr "從節點創建發射點" +msgstr "自節點建立發射點" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Flat 0" -msgstr "å¹³é¢0" +msgstr "Flat 0" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Flat 1" -msgstr "å¹³é¢1" +msgstr "Flat 1" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease In" -msgstr "" +msgstr "ç·©å…¥" #: editor/plugins/curve_editor_plugin.cpp editor/property_editor.cpp msgid "Ease Out" -msgstr "" +msgstr "緩出" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "平滑æ¥é•·" +msgstr "平滑æ’值" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "修改曲線點" +msgstr "修改曲線控制點" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "修改曲線切角" +msgstr "修改曲線切線" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "åŠ è¼‰æ›²ç·šé è¨" +msgstr "åŠ è¼‰æ›²ç·š Preset" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add Point" -msgstr "æ·»åŠ é»ž" +msgstr "新增控制點" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Point" -msgstr "刪除點" +msgstr "移除控制點" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Left Linear" msgstr "左線性" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right Linear" msgstr "å³ç·šæ€§" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load Preset" -msgstr "載入é è¨" +msgstr "載入 Preset" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "刪除曲線點" +msgstr "移除曲線控制點" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "切æ›æ›²ç·šç›´ç·šåˆ‡ç·š" +msgstr "é–‹å•Ÿï¼é—œé–‰æ›²ç·šç·šæ€§åˆ‡ç·š" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "æŒ‰ä½ Shift éµå¯å–®ç¨ç·¨è¼¯åˆ‡ç·š" +msgstr "æŒ‰ä½ Shift éµä»¥å–®ç¨ç·¨è¼¯åˆ‡ç·š" #: editor/plugins/curve_editor_plugin.cpp msgid "Right click to add point" -msgstr "" +msgstr "å³éµé»žæ“Šä»¥æ–°å¢žæŽ§åˆ¶é»ž" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "渲染 GI Probe" +msgstr "Bake GI 探é‡" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "漸變編輯" +msgstr "漸層編輯" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "é …ç›® %d" +msgstr "第 %d é …" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" @@ -6098,100 +5749,95 @@ msgstr "é …ç›®" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "é …ç›®æ¸…å–®ç·¨è¼¯å™¨" +msgstr "é …ç›®åˆ—è¡¨ç·¨è¼¯å™¨" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "創建é®å…‰å¤šé‚Šå½¢" +msgstr "建立é®å…‰å¤šé‚Šå½¢" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "ç¶²æ ¼æ˜¯ç©ºçš„ï¼" +msgstr "ç©ºç¶²æ ¼ï¼" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Couldn't create a Trimesh collision shape." -msgstr "無法新增資料夾." +msgstr "ç„¡æ³•å»ºç«‹ä¸‰è§’ç¶²æ ¼ç¢°æ’žå½¢ç‹€ã€‚" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" -msgstr "" +msgstr "建立éœæ…‹ä¸‰è§’ç¶²æ ¼å½¢é«”" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "這å°å ´æ™¯æ ¹ç›®éŒ„ä¸èµ·ä½œç”¨ï¼" +msgstr "ç„¡æ³•ç”¨æ–¼å ´æ™¯æ ¹ç¯€é»žï¼" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Trimesh Static Shape" -msgstr "創建凸形éœæ…‹é«”" +msgstr "å»ºç«‹ä¸‰è§’ç¶²æ ¼éœæ…‹å½¢ç‹€" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Can't create a single convex collision shape for the scene root." -msgstr "" +msgstr "ç„¡æ³•ç‚ºè©²å ´æ™¯æ ¹ç¯€é»žå»ºç«‹å–®ä¸€å‡¸ç¢°æ’žå½¢ç‹€ã€‚" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Couldn't create a single convex collision shape." -msgstr "" +msgstr "無法建立單一凸碰撞形狀。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Single Convex Shape" -msgstr "創建凸é¢å½¢ç‹€" +msgstr "建立單一凸é¢å½¢ç‹€" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Can't create multiple convex collision shapes for the scene root." -msgstr "" +msgstr "ç„¡æ³•ç‚ºå ´æ™¯æ ¹ç¯€é»žå»ºç«‹å¤šå€‹å‡¸ç¢°æ’žå½¢ç‹€ã€‚" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Couldn't create any collision shapes." -msgstr "無法新增資料夾." +msgstr "無法建立任何碰撞形狀。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Multiple Convex Shapes" -msgstr "創建凸é¢å½¢ç‹€" +msgstr "建立多個凸é¢å½¢ç‹€" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" -msgstr "å‰µå»ºå°Žèˆªç¶²æ ¼" +msgstr "å»ºç«‹å°Žèˆªç¶²æ ¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Contained Mesh is not of type ArrayMesh." -msgstr "包å«çš„ç¶²æ ¼ä¸æ˜¯ArrayMesh類型。" +msgstr "包å«çš„ç¶²æ ¼çš„åž‹åˆ¥ä¸æ˜¯é™£åˆ—ç¶²æ ¼ (ArrayMesh)。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "" +msgstr "UV å±•é–‹å¤±æ•—ï¼Œè©²ç¶²æ ¼å¯èƒ½ä¸¦éžæµå½¢ï¼Ÿ" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "No mesh to debug." -msgstr "沒有è¦èª¿è©¦çš„ç¶²æ ¼ã€‚" +msgstr "沒有å¯é™¤éŒ¯çš„ç¶²æ ¼ã€‚" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Model has no UV in this layer" -msgstr "" +msgstr "模型在該圖層上無 UV" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" -msgstr "ç¶²æ ¼å¯¦ä¾‹ç¼ºå°‘ç¶²æ ¼ï¼" +msgstr "ç¶²æ ¼å¯¦é«” (MeshInstance) 缺ä¹ç¶²æ ¼ï¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "ç¶²æ ¼æ²’æœ‰è¡¨é¢ä¾†å‰µå»ºè¼ªå»“ï¼" +msgstr "ç¶²æ ¼æœªåŒ…å«å¯å»ºç«‹è¼ªå»“的表é¢ï¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES!" -msgstr "" +msgstr "ç¶²æ ¼çš„åŽŸå§‹é¡žåž‹ä¸æ˜¯ PRIMITIVE_TRIANGLESï¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "無法建立輪廓ï¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "創建輪廓" +msgstr "建立輪廓" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" @@ -6199,7 +5845,7 @@ msgstr "ç¶²æ ¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" -msgstr "" +msgstr "å»ºç«‹ä¸‰è§’ç¶²æ ¼éœæ…‹å½¢é«”" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6207,42 +5853,48 @@ msgid "" "automatically.\n" "This is the most accurate (but slowest) option for collision detection." msgstr "" +"建立éœæ…‹å½¢é«” (StaticBody) 並自動指派一個基於多邊形的碰撞形體。\n" +"å°æ–¼ç¢°æ’žåµæ¸¬ï¼Œé€™æ˜¯æœ€ç²¾ç¢ºï¼ˆä½†æœ€æ…¢ï¼‰çš„é¸é …。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" -msgstr "" +msgstr "å»ºç«‹ä¸‰è§’ç¶²æ ¼ç¢°æ’žåŒç´š" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" "Creates a polygon-based collision shape.\n" "This is the most accurate (but slowest) option for collision detection." msgstr "" +"建立基於多邊形的碰撞形狀。\n" +"å°æ–¼ç¢°æ’žåµæ¸¬ï¼Œé€™æ˜¯æœ€ç²¾ç¢ºï¼ˆä½†æœ€æ…¢ï¼‰çš„é¸é …。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Single Convex Collision Sibling" -msgstr "創建碰撞多邊形" +msgstr "建立單一凸é¢ç¢°æ’žåŒç´š" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" "Creates a single convex collision shape.\n" "This is the fastest (but least accurate) option for collision detection." msgstr "" +"建立單一凸é¢ç¢°æ’žå½¢ç‹€ã€‚\n" +"å°æ–¼ç¢°æ’žåµæ¸¬ï¼Œé€™æ˜¯æœ€å¿«ï¼ˆä½†æœ€ä¸ç²¾ç¢ºï¼‰çš„é¸é …。" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Multiple Convex Collision Siblings" -msgstr "創建碰撞多邊形" +msgstr "建立碰撞多邊形åŒç´š" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" "Creates a polygon-based collision shape.\n" "This is a performance middle-ground between the two above options." msgstr "" +"建立基於多邊形的碰撞å€åŸŸã€‚\n" +"這是效能ä½æ–¼ä¸Šé¢å…©å€‹æ–¹æ³•ä¸é–“çš„é¸é …。" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh..." -msgstr "å‰µå»ºè¼ªå»“ç¶²æ ¼â€¦" +msgstr "å»ºç«‹è¼ªå»“ç¶²æ ¼..." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "" @@ -6251,24 +5903,24 @@ msgid "" "This can be used instead of the SpatialMaterial Grow property when using " "that property isn't possible." msgstr "" +"建立éœæ…‹è¼ªå»“ç¶²æ ¼ã€‚è¼ªå»“ç¶²æ ¼çš„æ³•ç·šæœƒè‡ªå‹•ç¿»è½‰ã€‚\n" +"當無法使用 SpatialMetarial çš„ Grow 屬性時å¯ä»¥ä½¿ç”¨é€™å€‹ã€‚" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "View UV1" -msgstr "éŽæ¿¾æª”案..." +msgstr "檢視 UV1" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "View UV2" -msgstr "éŽæ¿¾æª”案..." +msgstr "檢視 UV2" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Unwrap UV2 for Lightmap/AO" -msgstr "" +msgstr "為光照圖ï¼AO 打開 UV2" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" -msgstr "å‰µå»ºè¼ªå»“ç¶²æ ¼" +msgstr "å»ºç«‹è¼ªå»“ç¶²æ ¼" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" @@ -6276,100 +5928,100 @@ msgstr "輪廓尺寸:" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "UV Channel Debug" -msgstr "" +msgstr "UV 通é“åµéŒ¯" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove item %d?" -msgstr "åˆ é™¤é …ç›®%d?" +msgstr "是å¦ç§»é™¤é …ç›® %d?" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "" "Update from existing scene?:\n" "%s" -msgstr "å¾žå ´æ™¯æ›´æ–°" +msgstr "" +"自ç¾æœ‰å ´æ™¯ä¸æ›´æ–°ï¼Ÿ\n" +"%s" #: editor/plugins/mesh_library_editor_plugin.cpp -#, fuzzy msgid "Mesh Library" -msgstr "網狀資料庫(MeshLibrary)…" +msgstr "ç¶²æ ¼åº« (Mesh Library)" #: editor/plugins/mesh_library_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Add Item" -msgstr "æ·»åŠ é …ç›®" +msgstr "æ–°å¢žé …ç›®" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "åˆ é™¤æ‰€é¸é …" +msgstr "移除所é¸é …ç›®" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import from Scene" -msgstr "å¾žå ´æ™¯å°Žå…¥" +msgstr "è‡ªå ´æ™¯åŒ¯å…¥" #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Update from Scene" -msgstr "å¾žå ´æ™¯æ›´æ–°" +msgstr "è‡ªå ´æ™¯æ›´æ–°" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." -msgstr "æœªæŒ‡å®šç¶²æ ¼æºï¼ˆç¯€é»žä¸æ²’æœ‰å¤šç¶²æ ¼é›†ï¼‰ã€‚" +msgstr "æœªæŒ‡å®šç¶²æ ¼ä¾†æºï¼ˆä¸”節點ä¸æ²’æœ‰å¤šç¶²æ ¼é›† (MultiMesh Set))。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and MultiMesh contains no Mesh)." -msgstr "" +msgstr "æœªæŒ‡å®šç¶²æ ¼ä¾†æºï¼ˆä¸”å¤šç¶²æ ¼ (MultiMesh) 未包å«ç¶²æ ¼ (Mesh))。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "ç¶²æ ¼æºç„¡æ•ˆï¼ˆè·¯å¾‘無效)。" +msgstr "ç¶²æ ¼ä¾†æºç„¡æ•ˆï¼ˆç„¡æ•ˆçš„路徑)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." -msgstr "ç¶²æ ¼æºç„¡æ•ˆ (ä¸æ˜¯ç¶²æ ¼å¯¦ä¾‹)。" +msgstr "ç¶²æ ¼ä¾†æºç„¡æ•ˆï¼ˆä¸æ˜¯ç¶²æ ¼å¯¦é«” (MeshInstance))。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (contains no Mesh resource)." -msgstr "ç¶²æ ¼æºç„¡æ•ˆï¼ˆä¸åŒ…å«ç¶²æ ¼è³‡æºï¼‰ã€‚" +msgstr "ç¶²æ ¼ä¾†æºç„¡æ•ˆï¼ˆæœªåŒ…å«ç¶²æ ¼ (Mesh) 資æºï¼‰ã€‚" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No surface source specified." -msgstr "未指定表é¢æºã€‚" +msgstr "未指定表é¢ä¾†æºã€‚" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "表é¢æºç„¡æ•ˆï¼ˆè·¯å¾‘無效)。" +msgstr "表é¢ä¾†æºç„¡æ•ˆï¼ˆç„¡æ•ˆçš„路徑)。" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." -msgstr "表é¢æºç„¡æ•ˆï¼ˆæ²’有幾何圖形)。" +msgstr "表é¢ä¾†æºç„¡æ•ˆï¼ˆç„¡å¹¾ä½•ï¼‰ã€‚" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no faces)." -msgstr "表é¢æºç„¡æ•ˆï¼ˆæ²’有é¢ï¼‰ã€‚" +msgstr "表é¢ä¾†æºç„¡æ•ˆï¼ˆç„¡é¢ï¼‰ã€‚" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "é¸æ“‡æºç¶²æ ¼ï¼š" +msgstr "é¸æ“‡ä¾†æºç¶²æ ¼ï¼š" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "é¸æ“‡ç›®æ¨™æ›²é¢ï¼š" +msgstr "é¸æ“‡ç›®æ¨™ç¶²æ ¼ï¼š" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" -msgstr "填充曲é¢" +msgstr "填充表é¢" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate MultiMesh" -msgstr "å¡«å……å¤šç¶²æ ¼" +msgstr "å¡«å……å¤šç¶²æ ¼ (MultiMesh)" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Target Surface:" -msgstr "目標表é¢:" +msgstr "目標表é¢ï¼š" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Source Mesh:" -msgstr "æºç¶²æ ¼:" +msgstr "來æºç¶²æ ¼ï¼š" #: editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" @@ -6385,7 +6037,7 @@ msgstr "Z 軸" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" -msgstr "" +msgstr "ç¶²æ ¼ä¸Šè»¸ï¼š" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" @@ -6397,7 +6049,7 @@ msgstr "隨機傾斜:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "隨機縮放:" +msgstr "隨機縮放:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" @@ -6406,69 +6058,65 @@ msgstr "å¡«å……" #: editor/plugins/navigation_polygon_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create Navigation Polygon" -msgstr "創建導航多邊形" +msgstr "建立導航多邊形" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Convert to CPUParticles" -msgstr "轉æ›æˆ..." +msgstr "轉æ›ç‚º CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generating Visibility Rect" -msgstr "生æˆå¯è¦‹æ€§çŸ©å½¢" +msgstr "æ£åœ¨ç”¢ç”ŸçŸ©å½¢å¯è¦‹æ€§" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" -msgstr "生æˆå¯è¦‹æ€§çŸ©å½¢" +msgstr "產生矩形å¯è¦‹æ€§" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" -msgstr "" +msgstr "僅é™æŒ‡å‘ç²’åæ料的處ç†ææ–™ (ParticlesMaterial Process Material)" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "生æˆæ™‚é–“ (秒):" +msgstr "產生時間(秒):" #: editor/plugins/particles_editor_plugin.cpp msgid "The geometry's faces don't contain any area." -msgstr "" +msgstr "幾何體的é¢æœªåŒ…å«ä»»ä½•å€åŸŸã€‚" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "The geometry doesn't contain any faces." -msgstr "節點ä¸åŒ…å«å¹¾ä½•åœ–å½¢ (é¢)。" +msgstr "幾何體未包å«ä»»ä½•é¢ã€‚" #: editor/plugins/particles_editor_plugin.cpp msgid "\"%s\" doesn't inherit from Spatial." -msgstr "" +msgstr "「%sã€éžè‡ª Spatial 繼承。" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "\"%s\" doesn't contain geometry." -msgstr "節點ä¸åŒ…å«å¹¾ä½•åœ–形。" +msgstr "「%sã€æœªåŒ…å«å¹¾ä½•é«”。" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "\"%s\" doesn't contain face geometry." -msgstr "節點ä¸åŒ…å«å¹¾ä½•åœ–形。" +msgstr "「%sã€æœªåŒ…å«é¢å¹¾ä½•é«”。" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "創建發射器" +msgstr "建立發射器" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "排放點:" +msgstr "發射點:" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "表é¢é»ž" +msgstr "表é¢é ‚點" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "表é¢é»ž + 法線 (定å‘)" +msgstr "表é¢é»ž + 法線(有å‘)" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" @@ -6476,330 +6124,320 @@ msgstr "é«”ç©" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "排放æºï¼š " +msgstr "發射æºï¼š " #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "需è¦â€œé¡†ç²’資料â€é¡žåž‹çš„處ç†å™¨è³‡æ–™ã€‚" +msgstr "需è¦ã€Œç²’åææ–™ (ParticlesMaterial)ã€åž‹åˆ¥çš„處ç†å™¨æ料。" #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" -msgstr "ç”Ÿæˆ AABB" +msgstr "æ£åœ¨ç”¢ç”Ÿ AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" -msgstr "生æˆå¯è¦‹æ€§AABB" +msgstr "產生å¯è¦‹æ€§ AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate AABB" -msgstr "ç”Ÿæˆ AABB" +msgstr "產生 AABB" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "從曲線ä¸åˆ 除點" +msgstr "自曲線ä¸åˆªé™¤æŽ§åˆ¶é»ž" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "" +msgstr "自曲線移除外控制點" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "" +msgstr "自曲線移除內控制點" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "新增控制點至曲線" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Split Curve" -msgstr "編輯節點曲線" +msgstr "拆分控制點" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "移動控制點至曲線" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "" +msgstr "移動曲線的內控制點" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "" +msgstr "移動曲線的外控制點" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "é¸æ“‡æŽ§åˆ¶é»ž" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+拖移:é¸æ“‡æŽ§åˆ¶é»ž" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "點擊:新增控制點" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Left Click: Split Segment (in curve)" -msgstr "" +msgstr "å·¦éµé»žæ“Šï¼šï¼ˆåœ¨æ›²ç·šå…§ï¼‰æ‹†åˆ†ç·šæ®µ" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "å³éµé»žæ“Šï¼šåˆªé™¤æŽ§åˆ¶é»ž" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "é¸æ“‡æŽ§åˆ¶é»žï¼ˆShift+拖移)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "新增控制點(在空白處)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "刪除控制點" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "關閉曲線" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "é¸é …" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Mirror Handle Angles" -msgstr "" +msgstr "é¡åƒæ‰‹æŸ„角度" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Mirror Handle Lengths" -msgstr "" +msgstr "é¡åƒæ‰‹æŸ„長度" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "曲線控制點 #" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Point Position" -msgstr "移除" +msgstr "è¨å®šæ›²ç·šæŽ§åˆ¶é»žçš„ä½ç½®" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve In Position" -msgstr "移除" +msgstr "è¨å®šæ›²ç·šçš„內控制點ä½ç½®" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Out Position" -msgstr "移除" +msgstr "è¨å®šæ›²ç·šçš„外控制點ä½ç½®" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" -msgstr "" +msgstr "拆分路徑" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Path Point" -msgstr "" +msgstr "移除路徑控制點" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Out-Control Point" -msgstr "" +msgstr "移除外控制點" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" -msgstr "" +msgstr "移除內控制點" #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "拆分線段(在曲線ä¸ï¼‰" #: editor/plugins/physical_bone_plugin.cpp -#, fuzzy msgid "Move Joint" -msgstr "移除" +msgstr "移動關節" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" -msgstr "" +msgstr "多邊形 2D (Polygon2D) 的骨架屬性未指å‘骨架 2D (Skeleton2D) 節點" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones" -msgstr "" +msgstr "åŒæ¥éª¨éª¼" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "No texture in this polygon.\n" "Set a texture to be able to edit UV." msgstr "" +"該多邊形沒有紋ç†è²¼åœ–。\n" +"è«‹å…ˆè¨å®šç´‹ç†ä»¥ç·¨è¼¯ UV。" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" -msgstr "" +msgstr "建立 UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." -msgstr "" +msgstr "多邊形 2D æœ‰å…§éƒ¨é ‚é»žï¼Œå°‡ç„¡æ³•åœ¨æª¢è¦–å€ç·¨è¼¯ã€‚" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" -msgstr "" +msgstr "建立多邊形與 UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Internal Vertex" -msgstr "" +msgstr "å»ºç«‹å…§éƒ¨é ‚é»ž" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Remove Internal Vertex" -msgstr "" +msgstr "ç§»é™¤å…§éƒ¨é ‚é»ž" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" +msgstr "無效的多邊形(需è¦ä¸‰å€‹ä¸åŒçš„é ‚é»žï¼‰" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Add Custom Polygon" -msgstr "新增資料夾" +msgstr "新增自定多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Polygon" -msgstr "移除" +msgstr "移除自定多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "" +msgstr "è½‰æ› UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Transform Polygon" -msgstr "新增資料夾" +msgstr "轉æ›å¤šé‚Šå½¢" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint Bone Weights" -msgstr "" +msgstr "æ繪骨骼權é‡" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Open Polygon 2D UV editor." -msgstr "" +msgstr "開啟多邊形 2D UV 編輯器。" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "" +msgstr "多邊形 2D UV 編輯器" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV" -msgstr "" +msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Points" -msgstr "移除" +msgstr "點" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Polygons" -msgstr "新增資料夾" +msgstr "多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Bones" -msgstr "" +msgstr "骨骼" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Move Points" -msgstr "移除" +msgstr "移動點" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl:旋轉" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift:移動全部" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" -msgstr "" +msgstr "Shift+Ctrl:縮放" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "移動多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "旋轉多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "縮放多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create a custom polygon. Enables custom polygon rendering." -msgstr "" +msgstr "建立自定多邊形。啟用自定多邊形算圖。" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "Remove a custom polygon. If none remain, custom polygon rendering is " "disabled." -msgstr "" +msgstr "移除自定多邊形。若無剩餘多邊形,將ç¦ç”¨è‡ªå®šå¤šé‚Šå½¢ç®—圖。" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint weights with specified intensity." -msgstr "" +msgstr "以指定的強度來繪製權é‡ã€‚" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Unpaint weights with specified intensity." -msgstr "" +msgstr "以指定的強度來å–消繪製權é‡ã€‚" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" -msgstr "" +msgstr "åŠå¾‘:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" -msgstr "" +msgstr "多邊形 -> UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV->Polygon" -msgstr "" +msgstr "UV -> 多邊形" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" -msgstr "" +msgstr "清除 UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Settings" -msgstr "專案è¨å®š" +msgstr "ç¶²æ ¼è¨å®š" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Snap" -msgstr "" +msgstr "å¸é™„" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Enable Snap" -msgstr "" +msgstr "啟用å¸é™„" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" -msgstr "" +msgstr "ç¶²æ ¼" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" @@ -6807,48 +6445,48 @@ msgstr "é¡¯ç¤ºç¶²æ ¼" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Configure Grid:" -msgstr "" +msgstr "è¨å®šç¶²æ ¼ï¼š" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" -msgstr "" +msgstr "ç¶²æ ¼ X å移:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset Y:" -msgstr "" +msgstr "ç¶²æ ¼ Y å移:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step X:" -msgstr "" +msgstr "ç¶²æ ¼ X æ¥é€²å€¼ï¼š" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step Y:" -msgstr "" +msgstr "ç¶²æ ¼ Y æ¥é€²å€¼ï¼š" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones to Polygon" -msgstr "" +msgstr "åŒæ¥éª¨éª¼åˆ°å¤šé‚Šå½¢" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "錯誤:無法載入資æºï¼" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "新增資æº" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "é‡æ–°å‘½å資æº" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "刪除資æº" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "" +msgstr "資æºå‰ªè²¼æ¿ç‚ºç©ºï¼" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" @@ -6857,119 +6495,108 @@ msgstr "貼上資æº" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_editor.cpp msgid "Instance:" -msgstr "" +msgstr "實體:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Type:" -msgstr "" +msgstr "型別:" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "" +msgstr "在編輯器ä¸é–‹å•Ÿ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Load Resource" -msgstr "" +msgstr "載入資æº" #: editor/plugins/resource_preloader_editor_plugin.cpp -#, fuzzy msgid "ResourcePreloader" -msgstr "資æºè·¯å¾‘" +msgstr "資æºé åŠ è¼‰ (ResourcePreloader)" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" -msgstr "" +msgstr "動畫樹 (AnimationTree) 未è¨å®šè‡³å‹•ç•«æ’放器 (AnimationPlayer) 的路徑" #: editor/plugins/root_motion_editor_plugin.cpp msgid "Path to AnimationPlayer is invalid" -msgstr "" +msgstr "至 AnimationPlayer 的路徑無效" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "" +msgstr "清除最近的檔案" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Close and save changes?" -msgstr "沒有儲å˜çš„變更都會éºå¤±, 確定è¦é—œé–‰?" +msgstr "關閉並ä¿å˜ä¿®æ”¹å—Žï¼Ÿ" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error writing TextFile:" -msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" +msgstr "寫入文å—檔案 (TextFile) 時發生錯誤:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Could not load file at:" -msgstr "無法新增資料夾" +msgstr "無法載入檔案於:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error saving file!" -msgstr "儲å˜è³‡æºéŒ¯èª¤!" +msgstr "ä¿å˜æª”案時發生錯誤ï¼" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error while saving theme." -msgstr "儲å˜ä¸ç™¼ç”Ÿäº†éŒ¯èª¤ã€‚" +msgstr "ä¿å˜ä¸»é¡Œæ™‚發生錯誤。" #: editor/plugins/script_editor_plugin.cpp msgid "Error Saving" -msgstr "ä¿å˜éŒ¯èª¤" +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 -#, fuzzy msgid "New Text File..." -msgstr "新增資料夾..." +msgstr "新增文å—檔案..." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Open File" msgstr "開啟檔案" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save File As..." -msgstr "å¦å˜å ´æ™¯ç‚º..." +msgstr "å¦å˜æª”案為..." #: editor/plugins/script_editor_plugin.cpp msgid "Can't obtain the script for running." -msgstr "" +msgstr "無法å–å¾—è¦åŸ·è¡Œçš„腳本。" #: editor/plugins/script_editor_plugin.cpp msgid "Script failed reloading, check console for errors." -msgstr "" +msgstr "腳本é‡æ–°è¼‰å…¥å¤±æ•—,請檢查主控å°ä»¥ç¢ºèªéŒ¯èª¤ã€‚" #: editor/plugins/script_editor_plugin.cpp msgid "Script is not in tool mode, will not be able to run." -msgstr "" +msgstr "腳本ä¸åœ¨å·¥å…·æ¨¡å¼ä¸‹ï¼Œç„¡æ³•åŸ·è¡Œã€‚" #: editor/plugins/script_editor_plugin.cpp msgid "" "To run this script, it must inherit EditorScript and be set to tool mode." -msgstr "" +msgstr "æ¬²åŸ·è¡Œè©²è…³æœ¬ï¼Œå…¶å¿…é ˆç¹¼æ‰¿è‡ªç·¨è¼¯å™¨è…³æœ¬ (EditorScript) 並è¨ç‚ºå·¥å…·æ¨¡å¼ã€‚" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "導入主題" +msgstr "匯入主題" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "ä¿å˜ä¸»é¡Œæ™‚出錯" +msgstr "ä¿å˜ä¸»é¡Œæ™‚發生錯誤" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" @@ -6977,41 +6604,37 @@ msgstr "ä¿å˜éŒ¯èª¤" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As..." -msgstr "將主題å¦å˜ç‚º..。" +msgstr "ä¿å˜ä¸»é¡Œç‚º..." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "%s Class Reference" -msgstr " 類引用" +msgstr "%s 類別åƒç…§" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "查找下一個" +msgstr "尋找下一個" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "查找上一個" +msgstr "尋找上一個" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Filter scripts" -msgstr "éŽæ¿¾æª”案..." +msgstr "éŽæ¿¾è…³æœ¬" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." -msgstr "" +msgstr "é–‹å•Ÿï¼é—œé–‰æŒ‰ç…§å—æ¯é †åºæŽ’列方法列表。" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Filter methods" -msgstr "éŽæ¿¾æª”案..." +msgstr "éŽæ¿¾æ–¹æ³•" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Sort" -msgstr "排åº:" +msgstr "排åº" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp @@ -7038,14 +6661,12 @@ msgid "File" msgstr "檔案" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Open..." msgstr "開啟…" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reopen Closed Script" -msgstr "開啟最近å˜å–" +msgstr "é‡æ–°æ‰“開關閉的腳本" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" @@ -7053,20 +6674,19 @@ msgstr "全部ä¿å˜" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "軟é‡æ–°åŠ 載腳本" +msgstr "軟é‡æ–°è¼‰å…¥è…³æœ¬" #: editor/plugins/script_editor_plugin.cpp msgid "Copy Script Path" msgstr "複製腳本路徑" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "History Previous" -msgstr "上個分é " +msgstr "上一個æ·å²è¨˜éŒ„" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "下一個æ·å²è¨˜éŒ„" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -7074,9 +6694,8 @@ msgid "Theme" msgstr "主題" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Import Theme..." -msgstr "導入主題..。" +msgstr "匯入主題..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -7092,11 +6711,11 @@ msgstr "全部關閉" #: editor/plugins/script_editor_plugin.cpp msgid "Close Docs" -msgstr "關閉檔案" +msgstr "關閉說明文件" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "é‹è¡Œ" +msgstr "執行" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" @@ -7104,11 +6723,11 @@ msgstr "æ¥å…¥" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "è·¨éŽ" +msgstr "æ¥éŽ" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" -msgstr "è·³éŽ" +msgstr "ä¸æ–·" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/script_editor_debugger.cpp @@ -7117,39 +6736,39 @@ msgstr "繼續" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "ä¿æŒèª¿è©¦å™¨æ‰“é–‹" +msgstr "ä¿æŒé–‹å•Ÿé™¤éŒ¯å·¥å…·" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Debug with External Editor" -msgstr "使用外部編輯器進行調試" +msgstr "使用外部編輯器進行除錯" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Open Godot online documentation." -msgstr "打開 Godot 線上文檔" +msgstr "打開 Godot 線上說明文件。" #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "æœç´¢åƒè€ƒæ–‡æª”。" +msgstr "æœå°‹åƒç…§æ–‡ä»¶ã€‚" #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "轉到上一個編輯的檔案。" +msgstr "跳至上一個編輯的文件。" #: editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "轉到下一個編輯的檔案。" +msgstr "跳至下一個編輯的文件。" #: editor/plugins/script_editor_plugin.cpp msgid "Discard" -msgstr "棄置" +msgstr "放棄" #: editor/plugins/script_editor_plugin.cpp msgid "" "The following files are newer on disk.\n" "What action should be taken?:" msgstr "" +"ç£ç¢Ÿä¸çš„下列檔案已更新。\n" +"è¦åŸ·è¡Œä»€éº¼ï¼Ÿï¼š" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/shader_editor_plugin.cpp @@ -7163,73 +6782,65 @@ msgstr "é‡æ–°ä¿å˜" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "調試器" +msgstr "除錯工具" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Search Results" msgstr "æœå°‹çµæžœ" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Clear Recent Scripts" -msgstr "æ¸…é™¤æœ€è¿‘é–‹å•Ÿçš„å ´æ™¯" +msgstr "清除最近開啟的腳本" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Connections to method:" -msgstr "連接到節點:" +msgstr "連接至方法:" #: editor/plugins/script_text_editor.cpp editor/script_editor_debugger.cpp -#, fuzzy msgid "Source" -msgstr "資æº" +msgstr "來æº" #: editor/plugins/script_text_editor.cpp msgid "Target" -msgstr "" +msgstr "目標" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "" "Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." -msgstr "å°‡ '%s' 從 '%s' ä¸æ–·é€£æŽ¥" +msgstr "找ä¸åˆ°æ–¹æ³•ã€Œ%sã€ï¼ˆè‡ªè¨Šè™Ÿã€Œ%sã€ï¼‰ï¼Œç¯€é»žã€Œ%sã€è‡³ã€Œ%sã€çš„連接已ä¸æ–·ã€‚" #: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Line" -msgstr "è¡Œ:" +msgid "[Ignore]" +msgstr "[忽略]" #: editor/plugins/script_text_editor.cpp -msgid "(ignore)" -msgstr "(忽略)" +msgid "Line" +msgstr "è¡Œ" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function" -msgstr "轉到函數" +msgstr "跳至函å¼" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "åªèƒ½æ‹–拽檔案系統ä¸çš„資æºã€‚" +msgstr "åªå¯æ‹–移來自檔案系統的資æºã€‚" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Can't drop nodes because script '%s' is not used in this scene." -msgstr "" +msgstr "無法防æ¢ç¯€é»žï¼Œç”±æ–¼è…³æœ¬ã€Œ%sã€ä¸¦æœªåœ¨è©²å ´æ™¯ä¸ä½¿ç”¨ã€‚" #: editor/plugins/script_text_editor.cpp msgid "Lookup Symbol" -msgstr "查找符號" +msgstr "æœå°‹ç¬¦è™Ÿ" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" msgstr "é¸æ“‡é¡è‰²" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp -#, fuzzy msgid "Convert Case" -msgstr "轉æ›æˆ..." +msgstr "轉æ›å¤§å°å¯«" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Uppercase" @@ -7250,53 +6861,50 @@ msgstr "高亮顯示語法" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Go To" -msgstr "" +msgstr "跳至" #: editor/plugins/script_text_editor.cpp #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp msgid "Bookmarks" -msgstr "" +msgstr "書籤" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Breakpoints" -msgstr "刪除" +msgstr "ä¸æ–·é»ž" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "剪切" +msgstr "剪下" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "é¸æ“‡å…¨éƒ¨" +msgstr "全部é¸æ“‡" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Delete Line" msgstr "åˆ é™¤è¡Œ" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "å‘左縮進" +msgstr "å‘左縮排" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "å‘å³ç¸®é€²" +msgstr "å‘å³ç¸®æŽ’" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "切æ›æ³¨é‡‹" +msgstr "展開ï¼æ”¶èµ·è¨»è§£" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Fold/Unfold Line" -msgstr "å‰å¾€ç¬¬...è¡Œ" +msgstr "展開ï¼æ”¶èµ·è¡Œ" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "折疊所有行" +msgstr "收起所有行" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" @@ -7304,97 +6912,88 @@ msgstr "展開所有行" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "æ‹·è²åˆ°ä¸‹ä¸€è¡Œ" +msgstr "複製到下一行" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "補全符號" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Evaluate Selection" -msgstr "縮放所é¸" +msgstr "å–值所é¸å…§å®¹" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "" +msgstr "移除後方空白å—å…ƒ" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert Indent to Spaces" -msgstr "轉æ›æˆ..." +msgstr "轉æ›ç¸®æŽ’為空白" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert Indent to Tabs" -msgstr "轉æ›æˆ..." +msgstr "轉æ›ç¸®æŽ’為 Tab" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" -msgstr "自動縮進" +msgstr "自動縮排" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Find in Files..." -msgstr "在檔ä¸æŸ¥æ‰¾..。" +msgstr "在檔案ä¸æœå°‹..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" -msgstr "" +msgstr "上下文說明" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Toggle Bookmark" -msgstr "切æ›è‡ªç”±è§€å¯Ÿæ¨¡å¼" +msgstr "新增ï¼ç§»é™¤æ›¸ç±¤" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Next Bookmark" -msgstr "轉到下一個ä¸æ–·é»ž" +msgstr "跳至下一個書籤" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Previous Bookmark" -msgstr "轉到上一個ä¸æ–·é»ž" +msgstr "跳至上一個書籤" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Remove All Bookmarks" -msgstr "åˆ é™¤æ‰€æœ‰é …ç›®" +msgstr "刪除所有書籤" #: editor/plugins/script_text_editor.cpp msgid "Go to Function..." -msgstr "轉到函數…" +msgstr "跳至函å¼..." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Line..." -msgstr "å‰å¾€ç¬¬...è¡Œ" +msgstr "跳至第...è¡Œ" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "è¨ç½®ä¸æ–·é»ž" +msgstr "è¨å®šï¼ç§»é™¤ä¸æ–·é»ž" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "刪除所有ä¸æ–·é»ž" +msgstr "移除所有ä¸æ–·é»ž" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Next Breakpoint" -msgstr "轉到下一個ä¸æ–·é»ž" +msgstr "跳至下一個ä¸æ–·é»ž" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Previous Breakpoint" -msgstr "轉到上一個ä¸æ–·é»ž" +msgstr "跳至上一個ä¸æ–·é»ž" #: editor/plugins/shader_editor_plugin.cpp msgid "" "This shader has been modified on on disk.\n" "What action should be taken?" msgstr "" +"ç£ç¢Ÿä¸Šè©²è‘—色器已被修改。\n" +"該執行什麼?" #: editor/plugins/shader_editor_plugin.cpp msgid "Shader" @@ -7402,45 +7001,43 @@ msgstr "著色器" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "æ¤éª¨æž¶æ²’有骨骼ç¶å®šï¼Œè«‹å‰µå»ºä¸€äº› Bone2d 骨骼å節點。" +msgstr "æ¤éª¨æž¶æœªåŒ…å«éª¨éª¼ï¼Œè«‹å»ºç«‹ä¸€äº›å骨骼 2D (Bone2D) 節點。" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Create Rest Pose from Bones" -msgstr "從骨骼創建休æ¯å§¿å‹¢" +msgstr "自骨骼建立放鬆姿勢" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Rest Pose to Bones" -msgstr "將休æ¯å§¿å‹¢è¨ç½®ç‚ºéª¨éª¼" +msgstr "è¨å®šæ”¾é¬†å§¿å‹¢è‡³éª¨éª¼" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" -msgstr "2D骨骼節點" +msgstr "骨架2D (Sekeleton2D)" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Make Rest Pose (From Bones)" -msgstr "創建休æ¯å§¿å‹¢ (從骨骼)" +msgstr "製作放鬆姿勢(自骨骼)" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Bones to Rest Pose" -msgstr "將骨骼è¨å®šç‚ºéœæ¢å§¿å‹¢" +msgstr "è¨å®šéª¨éª¼ç‚ºæ”¾é¬†å§¿å‹¢" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical bones" -msgstr "創建物ç†éª¨éª¼" +msgstr "建立物ç†éª¨éª¼" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Skeleton" msgstr "骨架" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical skeleton" -msgstr "創建物ç†éª¨æž¶" +msgstr "建立物ç†éª¨æž¶" #: editor/plugins/skeleton_ik_editor_plugin.cpp -#, fuzzy msgid "Play IK" -msgstr "æ’放 IK" +msgstr "執行 IK" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" @@ -7452,15 +7049,15 @@ msgstr "é€è¦–" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." -msgstr "" +msgstr "å·²ä¸æ¢è®Šæ›ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "X軸變æ›ã€‚" +msgstr "X 軸變æ›ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "Y軸變æ›ã€‚" +msgstr "Y 軸變æ›ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." @@ -7468,7 +7065,7 @@ msgstr "Z 軸變æ›ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "查看平é¢è½‰æ›ã€‚" +msgstr "檢視平é¢è½‰æ›ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -7476,7 +7073,7 @@ msgstr "縮放: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "ç¿»è¯ï¼š " +msgstr "移動: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -7484,15 +7081,15 @@ msgstr "旋轉 %s 度。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "" +msgstr "éµå·²è¢«ç¦ç”¨ï¼ˆæœªæ’å…¥éµï¼‰ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "" +msgstr "å·²æ’入動畫éµã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pitch" -msgstr "" +msgstr "仰角" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw" @@ -7516,7 +7113,7 @@ msgstr "表é¢è®Šæ›´" #: editor/plugins/spatial_editor_plugin.cpp msgid "Draw Calls" -msgstr "繪製調用" +msgstr "繪製呼å«" #: editor/plugins/spatial_editor_plugin.cpp msgid "Vertices" @@ -7528,7 +7125,7 @@ msgstr "俯視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "底視圖。" +msgstr "仰視圖。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" @@ -7567,35 +7164,32 @@ msgid "Rear" msgstr "後" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align Transform with View" -msgstr "與視圖å°é½Š" +msgstr "將變æ›èˆ‡è¦–圖å°é½Š" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align Rotation with View" -msgstr "將所é¸å…§å®¹èˆ‡è¦–圖å°é½Š" +msgstr "將旋轉與視圖å°é½Š" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." -msgstr "" +msgstr "ç„¡æ¯ç¯€é»žå¯ç”¨ä¾†å¯¦é«”化å節點。" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "æ¤æ“作需è¦å–®å€‹é¸å®šçš„節點。" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Auto Orthogonal Enabled" -msgstr "æ£äº¤" +msgstr "已啟用自動æ£äº¤" #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" -msgstr "鎖定視圖旋轉" +msgstr "鎖定視角旋轉" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" -msgstr "" +msgstr "顯示法線" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Wireframe" @@ -7611,41 +7205,39 @@ msgstr "顯示無陰影" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "查看環境" +msgstr "檢視環境" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "查看 Gizmos" +msgstr "檢視 Gizmo" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" -msgstr "查看資訊" +msgstr "檢視資訊" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View FPS" -msgstr "查看FPS" +msgstr "檢視 FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Half Resolution" -msgstr "åŠåˆ†è¾¯çŽ‡" +msgstr "åŠè§£æžåº¦" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" msgstr "音訊監è½å™¨" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Enable Doppler" -msgstr "啟用篩é¸" +msgstr "啟用都åœå‹’效應" #: editor/plugins/spatial_editor_plugin.cpp msgid "Cinematic Preview" -msgstr "影片é 覽" +msgstr "效果é 覽" #: editor/plugins/spatial_editor_plugin.cpp msgid "Not available when using the GLES2 renderer." -msgstr "" +msgstr "使用 GLES2 算圖器時無法使用。" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" @@ -7661,7 +7253,7 @@ msgstr "自由視圖 å‰" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "自由視圖 åŽ" +msgstr "自由視圖 後" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" @@ -7673,12 +7265,11 @@ msgstr "自由視圖 下" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "自由視圖速度調節" +msgstr "åŠ é€Ÿè‡ªç”±è¦–åœ–é€Ÿåº¦" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Freelook Slow Modifier" -msgstr "自由視圖速度調節" +msgstr "放慢自由視圖速度" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -7688,19 +7279,35 @@ msgstr "視圖旋轉已鎖定" msgid "" "Note: The FPS value displayed is the editor's framerate.\n" "It cannot be used as a reliable indication of in-game performance." -msgstr "注æ„: 顯示的FPS值是編輯器的幀率。 它ä¸èƒ½ç”¨äºŽè¡¨ç¾éŠæˆ²å…§çš„實際性能" +msgstr "" +"注æ„:顯示的 FPS 值時編輯器的畫é¢é€ŸçŽ‡ã€‚\n" +"無法實際åæ˜ ç‚ºéŠæˆ²ä¸çš„效能。" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "XFormå°è©±æ¡†" +msgstr "XForm å°è©±æ¡†" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"點擊以切æ›è¦–覺狀態。\n" +"\n" +"眼é¡åœ–示:Gizmo å¯è¦‹ã€‚\n" +"眼é¡åœ–示:Gizmo éš±è—。\n" +"åŠé–‹çœ¼é¡ï¼šGizmo 也å¯ä»¥é€šéŽ Opaque Surface(「X-Ray - Xå…‰ã€ï¼‰å¯è¦‹ã€‚" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Nodes To Floor" -msgstr "將節點æ•æ‰åˆ°åœ°é¢" +msgstr "å¸é™„節點至地é¢" #: editor/plugins/spatial_editor_plugin.cpp msgid "Couldn't find a solid floor to snap the selection to." -msgstr "" +msgstr "找ä¸åˆ°å¯å¸é™„所é¸é …ç›®çš„å …å›ºåœ°æ¿ (Solid Floor)。" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -7708,11 +7315,13 @@ msgid "" "Alt+Drag: Move\n" "Alt+RMB: Depth list selection" msgstr "" +"拖移:旋轉\n" +"Alt+拖移:移動\n" +"Alt+å³éµé»žæ“Šï¼šå±•é–‹é¸æ“‡åˆ—表" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Use Local Space" -msgstr "本地空間模å¼ï¼ˆ%s)" +msgstr "使用本機空間" #: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" @@ -7720,7 +7329,7 @@ msgstr "使用å¸é™„" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "底部視圖" +msgstr "仰視圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" @@ -7743,25 +7352,24 @@ msgid "Right View" msgstr "å³è¦–圖" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Switch Perspective/Orthogonal View" -msgstr "åˆ‡æ› æŠ•å½±/æ£äº¤ 視圖" +msgstr "切æ›æŠ•å½±æˆ–æ£äº¤è¦–圖" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "æ’入動畫幀" +msgstr "æ’入動畫關éµå½±æ ¼" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "èšç„¦åŽŸé»ž" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "èšç„¦æ‰€é¸" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" -msgstr "切æ›è‡ªç”±è§€å¯Ÿæ¨¡å¼" +msgstr "é–‹å•Ÿï¼é—œé–‰è‡ªç”±è¦–圖" #: editor/plugins/spatial_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -7769,41 +7377,40 @@ msgid "Transform" msgstr "變æ›" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Object to Floor" -msgstr "å°‡å°è±¡å¸é™„到地æ¿" +msgstr "å¸é™„物件至地æ¿" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." -msgstr "轉æ›å°è©±æ¡†..。" +msgstr "變æ›å°è©±æ¡†..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "1個視å£" +msgstr "1 個檢視å€" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "2個視å£" +msgstr "2 個檢視å€" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "2å€‹è¦–å£ (Alt)" +msgstr "2 個檢視å€ï¼ˆæ›¿ä»£ï¼‰" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "3個視å£" +msgstr "3 個檢視å€" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "3å€‹è¦–å£ (Alt)" +msgstr "3 個檢視å€ï¼ˆæ›¿ä»£ï¼‰" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "4個視å£" +msgstr "4 個檢視å€" #: editor/plugins/spatial_editor_plugin.cpp msgid "Gizmos" -msgstr "" +msgstr "Gizmo" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -7815,9 +7422,8 @@ msgstr "é¡¯ç¤ºç¶²æ ¼" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Settings..." -msgstr "è¨å®š" +msgstr "è¨å®š..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" @@ -7825,7 +7431,7 @@ msgstr "å¸é™„è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "移動å¸é™„" +msgstr "移動å¸é™„:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" @@ -7833,11 +7439,11 @@ msgstr "旋轉å¸é™„(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "縮放å¸é™„ (%):" +msgstr "縮放å¸é™„(%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "視å€è¨å®š" +msgstr "檢視å€è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" @@ -7845,27 +7451,27 @@ msgstr "é€è¦–視角(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "查看Z-Near:" +msgstr "檢視 Z-Near:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "查看 Z-Far:" +msgstr "檢視 Z-Far:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" -msgstr "" +msgstr "修改變æ›" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "" +msgstr "移動:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "旋轉 (度):" +msgstr "旋轉(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "縮放(比例):" +msgstr "縮放(比例):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" @@ -7873,186 +7479,163 @@ msgstr "轉æ›é¡žåž‹" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "å‰" +msgstr "å‰ç½®" #: editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "發佈" +msgstr "後置" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "未命åçš„gizmo" +msgstr "未命åçš„ Gizmo" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create Mesh2D" -msgstr "創建2Dç¶²æ ¼" +msgstr "å»ºç«‹ç¶²æ ¼ 2D (Mesh2D)" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Mesh2D Preview" -msgstr "å‰µå»ºç¶²æ ¼é 覽" +msgstr "å»ºç«‹ç¶²æ ¼ 2D (Mesh2D) é 覽" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create Polygon2D" -msgstr "創建3D多邊形" +msgstr "建立多邊形 2D (Polygon2D)" #: editor/plugins/sprite_editor_plugin.cpp msgid "Polygon2D Preview" -msgstr "" +msgstr "é 覽多邊形 2D (Polygon2D)" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create CollisionPolygon2D" -msgstr "創建碰撞多邊形" +msgstr "建立碰撞多邊形 2D (CollisionPolygon2D)" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "CollisionPolygon2D Preview" -msgstr "創建碰撞多邊形" +msgstr "碰撞多邊形 2D (CollisionPolygon2D) é 覽" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create LightOccluder2D" -msgstr "創建é®å…‰å¤šé‚Šå½¢" +msgstr "建立é®å…‰ 2D (LightOccluder2D)" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "LightOccluder2D Preview" -msgstr "創建é®å…‰å¤šé‚Šå½¢" +msgstr "é®å…‰ 2D (LightOccluder2D) é 覽" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" -msgstr "Sprite 是空的ï¼" +msgstr "Sprite 為空ï¼" #: editor/plugins/sprite_editor_plugin.cpp msgid "Can't convert a sprite using animation frames to mesh." -msgstr "" +msgstr "ç„¡æ³•ä½¿ç”¨å‹•ç•«å½±æ ¼å°‡ Sprite 轉æ›ç‚ºç¶²æ ¼ã€‚" #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't replace by mesh." -msgstr "ç„¡æ•ˆçš„å¹¾ä½•åœ–å½¢ï¼Œç„¡æ³•ç”¨ç¶²æ ¼æ›¿æ›ã€‚" +msgstr "ç„¡æ•ˆçš„å¹¾ä½•åœ–å½¢ï¼Œç„¡æ³•ä»¥ç¶²æ ¼å–代。" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Convert to Mesh2D" -msgstr "轉æ›ç‚º2Dç¶²æ ¼" +msgstr "轉æ›ç‚ºç¶²æ ¼ 2D (Mesh2D)" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Invalid geometry, can't create polygon." -msgstr "ç„¡æ•ˆçš„å¹¾ä½•åœ–å½¢ï¼Œç„¡æ³•ç”¨ç¶²æ ¼æ›¿æ›ã€‚" +msgstr "無效的幾何圖形,無法建立多邊形。" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Convert to Polygon2D" -msgstr "轉æ›ç‚º2Dç¶²æ ¼" +msgstr "轉æ›ç‚ºå¤šé‚Šå½¢ 2D (Polygon2D)" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Invalid geometry, can't create collision polygon." -msgstr "ç„¡æ•ˆçš„å¹¾ä½•åœ–å½¢ï¼Œç„¡æ³•ç”¨ç¶²æ ¼æ›¿æ›ã€‚" +msgstr "無效的幾何圖形,無法建立碰撞多邊形。" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create CollisionPolygon2D Sibling" -msgstr "創建碰撞多邊形" +msgstr "建立碰撞多邊形 2D (CollisionPolygon2D) åŒç´š" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Invalid geometry, can't create light occluder." -msgstr "ç„¡æ•ˆçš„å¹¾ä½•åœ–å½¢ï¼Œç„¡æ³•ç”¨ç¶²æ ¼æ›¿æ›ã€‚" +msgstr "無效的幾何圖形,無法建立é®å…‰ã€‚" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create LightOccluder2D Sibling" -msgstr "創建é®å…‰å¤šé‚Šå½¢" +msgstr "建立é®å…‰ 2D (LightOccluder2D) åŒç´š" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite" -msgstr "" +msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " msgstr "簡化: " #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Shrink (Pixels): " -msgstr "擴展(åƒç´ ): " +msgstr "收縮(åƒç´ ): " #: editor/plugins/sprite_editor_plugin.cpp msgid "Grow (Pixels): " -msgstr "擴展(åƒç´ ): " +msgstr "擴展(åƒç´ ): " #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Update Preview" msgstr "æ›´æ–°é 覽" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Settings:" msgstr "è¨å®šï¼š" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "No Frames Selected" -msgstr "å¹€é¸æ“‡" +msgstr "未é¸æ“‡å½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Add %d Frame(s)" -msgstr "æ·»åŠ å¹€" +msgstr "新增 %d å€‹å½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "æ·»åŠ å¹€" +msgstr "新增幀" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Unable to load images" -msgstr "載入資æºå¤±æ•—。" +msgstr "無法載入圖片" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "éŒ¯èª¤ï¼šç„¡æ³•åŠ è¼‰å¹€è³‡æºï¼" +msgstr "éŒ¯èª¤ï¼šç„¡æ³•è¼‰å…¥å½±æ ¼è³‡æºï¼" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "資æºå‰ªè²¼æ¿ç‚ºç©ºæˆ–ä¸æ˜¯ç´‹ç†ï¼" +msgstr "資æºå‰ªè²¼ç°¿ç‚ºç©ºæˆ–éžç´‹ç†è²¼åœ–ï¼" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" -msgstr "粘貼幀" +msgstr "è²¼ä¸Šå½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "æ·»åŠ ç©ºç™½å¹€" +msgstr "新增空白" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "更改動畫fps" +msgstr "更改動畫 FPS" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" msgstr "(空)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Move Frame" -msgstr "粘貼幀" +msgstr "è²¼ä¸Šå½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" msgstr "動畫:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "æ–°å‹•ç•«" +msgstr "新增動畫" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -8063,75 +7646,68 @@ msgid "Loop" msgstr "循環" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" msgstr "動畫幀:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Add a Texture from File" -msgstr "將紋ç†æ·»åŠ 到ç£è²¼é›†ã€‚" +msgstr "自檔案新增紋ç†" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frames from a Sprite Sheet" -msgstr "" +msgstr "自 Sprite è¡¨æ–°å¢žå½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" -msgstr "æ’入空白幀(之å‰ï¼‰" +msgstr "在å‰é¢æ’入空白" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (After)" -msgstr "æ’入空白幀(之åŽï¼‰" +msgstr "在後é¢æ’入空白" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (Before)" -msgstr "移動(以å‰ï¼‰" +msgstr "å‘å‰ç§»å‹•" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (After)" -msgstr "移動(之後)" +msgstr "å‘後移動" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Select Frames" -msgstr "é¸æ“‡æ¨¡å¼" +msgstr "é¸æ“‡å½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Horizontal:" -msgstr "水平翻轉" +msgstr "水平:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Vertical:" -msgstr "é ‚é»ž" +msgstr "垂直:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Select/Clear All Frames" -msgstr "é¸æ“‡å…¨éƒ¨" +msgstr "é¸æ“‡ï¼æ¸…é™¤æ‰€æœ‰å½±æ ¼" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Create Frames from Sprite Sheet" -msgstr "å¾žå ´æ™¯å‰µå»º" +msgstr "自 Sprite 表建立幀" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "SpriteFrames" -msgstr "" +msgstr "SpriteFrames(Sprite å½±æ ¼ï¼‰" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Region Rect" -msgstr "è¨ç½®ç´‹ç†å€åŸŸ" +msgstr "è¨å®šå€åŸŸçŸ©å½¢ (Region Rect)" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Margin" -msgstr "è¨ç½®é‚Šè·" +msgstr "è¨ç½®å¤–é‚Šè·" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "å¸é™„模å¼:" +msgstr "å¸é™„模å¼ï¼š" #: editor/plugins/texture_region_editor_plugin.cpp #: scene/resources/visual_shader.cpp @@ -8148,11 +7724,11 @@ msgstr "ç¶²æ ¼å¸é™„" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "自動剪切" +msgstr "自動剪è£" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "å移:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" @@ -8160,76 +7736,71 @@ msgstr "æ¥é©Ÿï¼š" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" -msgstr "" +msgstr "分隔線:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "TextureRegion" -msgstr "" +msgstr "ç´‹ç†å€åŸŸ (TextureRegion)" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "æ·»åŠ æ‰€æœ‰é …ç›®" +msgstr "æ–°å¢žæ‰€æœ‰é …ç›®" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" -msgstr "å…¨éƒ¨æ·»åŠ " +msgstr "新增全部" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "åˆ é™¤æ‰€æœ‰é …ç›®" +msgstr "ç§»é™¤æ‰€æœ‰é …ç›®" #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp -#, fuzzy msgid "Remove All" -msgstr "å…¨éƒ¨åˆ é™¤" +msgstr "移除全部" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Edit Theme" -msgstr "編輯主題…" +msgstr "編輯主題" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "主題編輯èœå–®ã€‚" +msgstr "主題編輯é¸å–®ã€‚" #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "æ·»åŠ é¡žé …" +msgstr "æ–°å¢žé¡žåˆ¥é …ç›®" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "åˆ é™¤é¡žé …" +msgstr "åˆªé™¤é¡žåˆ¥é …ç›®" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" -msgstr "" +msgstr "建立空白樣æ¿" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "建立空白編輯器樣æ¿" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "從當å‰ç·¨è¼¯å™¨ä¸»é¡Œæ¨¡æ¿å‰µå»º" +msgstr "自目å‰ç·¨è¼¯å™¨ä¸»é¡Œå»ºç«‹" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Toggle Button" -msgstr "切æ›è‡ªå‹•æ’放" +msgstr "é–‹å•Ÿï¼é—œé–‰æŒ‰éˆ•" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Disabled Button" -msgstr "å·²åœç”¨" +msgstr "å·²åœç”¨çš„按鈕" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" msgstr "é …ç›®" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Disabled Item" -msgstr "å·²åœç”¨" +msgstr "å·²åœç”¨çš„é …ç›®" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" @@ -8241,29 +7812,27 @@ msgstr "å·²æª¢æŸ¥çš„é …ç›®" #: editor/plugins/theme_editor_plugin.cpp msgid "Radio Item" -msgstr "å–®é¸é …ç›®" +msgstr "å–®é¸é …" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Radio Item" -msgstr "é¸ä¸çš„å–®é¸é …ç›®" +msgstr "å·²é¸ä¸çš„å–®é¸é …" #: editor/plugins/theme_editor_plugin.cpp msgid "Named Sep." -msgstr "" +msgstr "帶å稱的分隔線" #: editor/plugins/theme_editor_plugin.cpp msgid "Submenu" -msgstr "" +msgstr "åé¸å–®" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Subitem 1" -msgstr "é …ç›®" +msgstr "åé …ç›® 1" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Subitem 2" -msgstr "é …ç›®" +msgstr "åé …ç›® 2" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" @@ -8274,9 +7843,8 @@ msgid "Many" msgstr "許多" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Disabled LineEdit" -msgstr "å·²åœç”¨" +msgstr "å·²åœç”¨çš„行編輯" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" @@ -8291,13 +7859,12 @@ msgid "Tab 3" msgstr "標籤 3" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Editable Item" -msgstr "編輯主題…" +msgstr "å¯ç·¨è¼¯çš„é …ç›®" #: editor/plugins/theme_editor_plugin.cpp msgid "Subtree" -msgstr "" +msgstr "å樹" #: editor/plugins/theme_editor_plugin.cpp msgid "Has,Many,Options" @@ -8305,12 +7872,12 @@ msgstr "有, 許多, é¸é …" #: editor/plugins/theme_editor_plugin.cpp msgid "Data Type:" -msgstr "數據類型:" +msgstr "資料類型:" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Icon" -msgstr "圖標" +msgstr "圖示" #: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp msgid "Style" @@ -8325,27 +7892,25 @@ msgid "Color" msgstr "é¡è‰²" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Theme File" -msgstr "主題" +msgstr "主題檔" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "擦除é¸ä¸" +msgstr "清除所é¸" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Fix Invalid Tiles" -msgstr "修復無效的ç£è²¼" +msgstr "ä¿®æ£ç„¡æ•ˆçš„圖塊" #: editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cut Selection" -msgstr "切割é¸æ“‡" +msgstr "剪下所é¸" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "繪製磚塊地圖" +msgstr "繪製圖塊地圖" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" @@ -8353,111 +7918,103 @@ msgstr "線性繪製" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "繪製矩形" +msgstr "矩形繪製" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "油漆桶填充" +msgstr "油漆桶填滿" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "擦除磚塊地圖" +msgstr "清除圖塊地圖" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find Tile" -msgstr "查找ç£è²¼" +msgstr "æœå°‹åœ–å¡Š" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" -msgstr "轉置" +msgstr "切æ›è¡Œåˆ—(縱橫)顯示" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Disable Autotile" -msgstr "" +msgstr "ç¦ç”¨è‡ªå‹•åœ–å¡Š" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Enable Priority" -msgstr "編輯ç£è²¼å„ªå…ˆç´š" +msgstr "啟用優先級" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Filter tiles" -msgstr "篩é¸æª”案..." +msgstr "éŽæ¿¾åœ–å¡Š" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Give a TileSet resource to this TileMap to use its tiles." -msgstr "" +msgstr "為圖塊地圖è¨å®šåœ–塊集資æºä»¥ä½¿ç”¨å…¶åœ–塊。" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "繪製ç£è²¼" +msgstr "繪製圖塊" #: editor/plugins/tile_map_editor_plugin.cpp msgid "" "Shift+LMB: Line Draw\n" "Shift+Ctrl+LMB: Rectangle Paint" msgstr "" +"Shift+å·¦éµï¼šç›´ç·šç¹ªè£½\n" +"Shift+Ctrl+å·¦éµï¼šçŸ©å½¢ç¹ªåœ–" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "é¸æ“‡ç£è²¼" +msgstr "é¸æ“‡åœ–å¡Š" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Rotate Left" msgstr "å‘左旋轉" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Rotate Right" msgstr "å‘å³æ—‹è½‰" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Flip Horizontally" msgstr "水平翻轉" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Flip Vertically" msgstr "垂直翻轉" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Clear Transform" msgstr "清除變æ›" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Texture(s) to TileSet." -msgstr "將紋ç†æ·»åŠ 到ç£è²¼é›†ã€‚" +msgstr "新增紋ç†è‡³åœ–塊集。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove selected Texture from TileSet." -msgstr "從ç£è²¼é›†ä¸åˆªé™¤é¸å®šçš„ç´‹ç†ã€‚" +msgstr "自圖塊集移除所é¸çš„ç´‹ç†ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "å¾žå ´æ™¯å‰µå»º" +msgstr "è‡ªå ´æ™¯å»ºç«‹" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "å¾žå ´æ™¯åˆä½µ" +msgstr "è‡ªå ´æ™¯åˆä½µ" #: editor/plugins/tile_set_editor_plugin.cpp msgid "New Single Tile" -msgstr "" +msgstr "新增單一圖塊" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "New Autotile" -msgstr "éŽæ¿¾æª”案..." +msgstr "新增自動圖塊" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "New Atlas" -msgstr "新建 %s" +msgstr "新增åˆé›†" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Next Coordinate" @@ -8465,188 +8022,172 @@ msgstr "下一個座標" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the next shape, subtile, or Tile." -msgstr "é¸æ“‡ä¸‹ä¸€å€‹å½¢ç‹€ã€åç£è²¼æˆ–ç£è²¼ã€‚" +msgstr "é¸æ“‡ä¸‹ä¸€å€‹å½¢ç‹€ã€å圖塊ã€æˆ–圖塊。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Previous Coordinate" msgstr "上一個座標" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Select the previous shape, subtile, or Tile." -msgstr "é¸æ“‡ä¸Šä¸€å€‹å½¢ç‹€ã€åç£è²¼æˆ–ç£è²¼ã€‚" +msgstr "é¸æ“‡å‰ä¸€å€‹å½¢ç‹€ã€å圖塊ã€æˆ–圖塊。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Region" -msgstr "旋轉模å¼" +msgstr "å€åŸŸ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Collision" -msgstr "æ’值模å¼" +msgstr "碰撞" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occlusion" -msgstr "編輯é®æ“‹å¤šé‚Šå½¢" +msgstr "é®æ“‹" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation" -msgstr "å‰µå»ºå°Žèˆªç¶²æ ¼" +msgstr "導航" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Bitmask" -msgstr "旋轉模å¼" +msgstr "é®ç½©" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Priority" -msgstr "導出模å¼:" +msgstr "優先級" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Z Index" -msgstr "平移模å¼" +msgstr "Z 索引" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Region Mode" -msgstr "旋轉模å¼" +msgstr "å€åŸŸæ¨¡å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Collision Mode" -msgstr "æ’值模å¼" +msgstr "碰撞模å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Occlusion Mode" -msgstr "編輯é®æ“‹å¤šé‚Šå½¢" +msgstr "é®æ“‹æ¨¡å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Navigation Mode" -msgstr "å‰µå»ºå°Žèˆªç¶²æ ¼" +msgstr "導航模å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Bitmask Mode" -msgstr "旋轉模å¼" +msgstr "優先模å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Priority Mode" -msgstr "導出模å¼:" +msgstr "優先模å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Icon Mode" -msgstr "平移模å¼" +msgstr "圖示模å¼" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Z Index Mode" -msgstr "平移模å¼" +msgstr "Z 索引模å¼" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." -msgstr "複製ä½æŽ©ç¢¼ã€‚" +msgstr "複製ä½å…ƒé®ç½©ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste bitmask." -msgstr "貼上åƒæ•¸" +msgstr "貼上ä½å…ƒé®ç½©ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Erase bitmask." -msgstr "擦除ä½æŽ©ç¢¼." +msgstr "清除ä½å…ƒé®ç½©ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "創建新矩形。" +msgstr "建立新矩形。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new polygon." -msgstr "創建新多邊形。" +msgstr "建立新多邊形。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." -msgstr "將多邊形ä¿ç•™åœ¨å€åŸŸå…§ã€‚" +msgstr "ä¿æŒå¤šé‚Šå½¢åœ¨å€åŸŸçŸ©å½¢ (Rect) 內。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Enable snap and show grid (configurable via the Inspector)." -msgstr "啟用å¸é™„å’Œé¡¯ç¤ºç¶²æ ¼ (å¯é€šéŽå±¬æ€§é¢æ¿é…ç½®)。" +msgstr "啟用å¸é™„èˆ‡é¡¯ç¤ºç¶²æ ¼ï¼ˆå¯é€šéŽå±¬æ€§é¢æ¿è¨å®šï¼‰ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Display Tile Names (Hold Alt Key)" -msgstr "顯示ç£è²¼å稱 (æŒ‰ä½ ALT éµ)" +msgstr "顯示圖塊åç¨±ï¼ˆæŒ‰ä½ Alt éµï¼‰" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Add or select a texture on the left panel to edit the tiles bound to it." -msgstr "" +msgstr "在左å´é¢æ¿æ–°å¢žæˆ–é¸æ“‡ç´‹ç†ä»¥ç·¨è¼¯èˆ‡å…¶ç¶å®šçš„圖塊。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "刪除é¸å®šçš„ç´‹ç†ï¼Ÿé€™å°‡åˆªé™¤ä½¿ç”¨å®ƒçš„所有ç£è²¼ã€‚" +msgstr "是å¦åˆªé™¤æ‰€é¸ç´‹ç†ï¼Ÿå°‡ä¸€ä½µç§»é™¤æ‰€æœ‰ä½¿ç”¨å…¶ä¹‹åœ–塊。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." -msgstr "您尚未é¸æ“‡è¦åˆªé™¤çš„ç´‹ç†ã€‚" +msgstr "尚未é¸æ“‡æ¬²ç§»é™¤ä¹‹ç´‹ç†ã€‚" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." -msgstr "å¾žå ´æ™¯å‰µå»ºï¼Ÿé€™å°‡è¦†è“‹æ‰€æœ‰ç•¶å‰ç£è²¼ã€‚" +msgstr "è¦è‡ªå ´æ™¯å»ºç«‹å—Žï¼Ÿå°‡è¤‡å¯«ç›®å‰çš„圖塊。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "確定åˆä½µå ´æ™¯ï¼Ÿ" +msgstr "è¦è‡ªå ´æ™¯åˆä½µå—Žï¼Ÿ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Texture" -msgstr "刪除紋ç†" +msgstr "移除紋ç†" #: editor/plugins/tile_set_editor_plugin.cpp msgid "%s file(s) were not added because was already on the list." -msgstr "" +msgstr "由於有 %s 個檔案已在列表上,未被新增。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Drag handles to edit Rect.\n" "Click on another Tile to edit it." msgstr "" +"拖移手柄以編輯矩形 (Rect)。\n" +"點擊其他圖塊以進行編輯。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete selected Rect." -msgstr "åˆ é™¤æ‰€é¸çš„Rect。" +msgstr "åˆ é™¤æ‰€é¸çš„矩形 (Rect)。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "Select current edited sub-tile.\n" "Click on another Tile to edit it." -msgstr "新增資料夾" +msgstr "" +"é¸æ“‡ç›®å‰ç·¨è¼¯çš„å圖塊。\n" +"點擊å¦ä¸€å€‹åœ–塊以進行編輯。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete polygon." msgstr "刪除多邊形。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "LMB: Set bit on.\n" "RMB: Set bit off.\n" "Shift+LMB: Set wildcard bit.\n" "Click on another Tile to edit it." -msgstr "新增資料夾" +msgstr "" +"å·¦éµé»žæ“Šï¼šé–‹å•Ÿä½å…ƒã€‚\n" +"å³éµé»žæ“Šï¼šé—œé–‰ä½å…ƒã€‚\n" +"Shift+å·¦éµé»žæ“Šï¼šè¨å®šé€šé…ä½å…ƒã€‚\n" +"點擊å¦ä¸€å€‹åœ–塊以進行編輯。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -8654,59 +8195,60 @@ msgid "" "bindings.\n" "Click on another Tile to edit it." msgstr "" +"é¸æ“‡æ¬²ä½œç‚ºåœ–示使用的å圖塊,亦將用於無效的自動圖塊ç¶å®šä¸Šã€‚\n" +"點擊å¦ä¸€å€‹åœ–塊以進行編輯。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Select sub-tile to change its priority.\n" "Click on another Tile to edit it." msgstr "" +"é¸æ“‡å圖塊以更改其優先級。\n" +"點擊å¦ä¸€å€‹åœ–塊以進行編輯。" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "Select sub-tile to change its z index.\n" "Click on another Tile to edit it." -msgstr "新增資料夾" +msgstr "" +"é¸æ“‡å圖塊以修改其 Z 索引。\n" +"點擊å¦ä¸€å€‹åœ–塊以進行編輯。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Region" -msgstr "è¨ç½®ç£è²¼å€åŸŸ" +msgstr "é¸æ“‡åœ–å¡Šå€åŸŸ" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Tile" -msgstr "創建ç£è²¼" +msgstr "建立圖塊" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "è¨å®šç£è²¼åœ–標" +msgstr "è¨å®šç£è²¼åœ–示" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Bitmask" -msgstr "編輯ç£è²¼ä½æŽ©ç¢¼" +msgstr "編輯圖塊ä½å…ƒé®ç½©" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Collision Polygon" msgstr "編輯碰撞多邊形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Occlusion Polygon" msgstr "編輯é®æ“‹å¤šé‚Šå½¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Navigation Polygon" -msgstr "新增資料夾" +msgstr "編輯導航多邊形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Paste Tile Bitmask" -msgstr "粘貼ç£è²¼ä½æŽ©ç¢¼" +msgstr "貼上圖塊ä½å…ƒé®ç½©" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "清除ç£è²¼ä½æŽ©ç¢¼" +msgstr "清除圖塊ä½å…ƒé®ç½©" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Make Polygon Concave" @@ -8718,12 +8260,11 @@ msgstr "使多邊形凸起" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" -msgstr "移除ç£è²¼" +msgstr "移除圖塊" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Collision Polygon" -msgstr "刪除碰撞多邊形" +msgstr "移除碰撞多邊形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Occlusion Polygon" @@ -8735,255 +8276,227 @@ msgstr "刪除導航多邊形" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Priority" -msgstr "編輯ç£è²¼å„ªå…ˆç´š" +msgstr "編輯圖塊優先級" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" -msgstr "" +msgstr "編輯圖塊 Z 索引" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Convex" -msgstr "使多邊形凸起" +msgstr "製作凸多邊形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Make Concave" -msgstr "使多邊形塌陷" +msgstr "製作凹多邊形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Collision Polygon" -msgstr "創建碰撞多邊形" +msgstr "建立碰撞多邊形" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Occlusion Polygon" -msgstr "創建é®æ“‹å¤šé‚Šå½¢" +msgstr "建立é®æ“‹å¤šé‚Šå½¢" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "This property can't be changed." -msgstr "無法更改æ¤å±¬æ€§ã€‚" +msgstr "該屬性無法修改。" #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" -msgstr "" +msgstr "圖塊集" #: editor/plugins/version_control_editor_plugin.cpp msgid "No VCS addons are available." -msgstr "" +msgstr "ç„¡å¯ç”¨çš„版本控制 (VCS) 擴充功能。" #: editor/plugins/version_control_editor_plugin.cpp msgid "Error" -msgstr "" +msgstr "錯誤" #: editor/plugins/version_control_editor_plugin.cpp msgid "No commit message was provided" -msgstr "" +msgstr "未æä¾›æ交訊æ¯" #: editor/plugins/version_control_editor_plugin.cpp msgid "No files added to stage" -msgstr "" +msgstr "é å˜å€ç„¡æª”案" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Commit" -msgstr "社å€" +msgstr "æ交" #: editor/plugins/version_control_editor_plugin.cpp msgid "VCS Addon is not initialized" -msgstr "" +msgstr "VCS 擴充功能尚未åˆå§‹åŒ–" #: editor/plugins/version_control_editor_plugin.cpp msgid "Version Control System" -msgstr "" +msgstr "版本控制系統 (VCS)" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Initialize" -msgstr "首å—æ¯å¤§å¯«" +msgstr "åˆå§‹åŒ–" #: editor/plugins/version_control_editor_plugin.cpp msgid "Staging area" -msgstr "" +msgstr "é å˜å€" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Detect new changes" -msgstr "創建新矩形。" +msgstr "åµæ¸¬æ–°æ”¹å‹•" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Changes" -msgstr "æ›´æ›" +msgstr "改動" #: editor/plugins/version_control_editor_plugin.cpp msgid "Modified" -msgstr "" +msgstr "已修改" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Renamed" -msgstr "é‡å‘½å" +msgstr "é‡æ–°å‘½å" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Deleted" -msgstr "刪除" +msgstr "已刪除" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Typechange" -msgstr "æ›´æ›" +msgstr "æ ¼å¼æ›´æ”¹" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Stage Selected" -msgstr "縮放所é¸" +msgstr "é å˜æ‰€é¸" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Stage All" -msgstr "全部ä¿å˜" +msgstr "é å˜å…¨éƒ¨" #: editor/plugins/version_control_editor_plugin.cpp msgid "Add a commit message" -msgstr "" +msgstr "新增一個æ交訊æ¯" #: editor/plugins/version_control_editor_plugin.cpp -#, fuzzy msgid "Commit Changes" -msgstr "åŒæ¥è…³æœ¬çš„變更" +msgstr "æ交改動" #: editor/plugins/version_control_editor_plugin.cpp #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" -msgstr "" +msgstr "狀態" #: editor/plugins/version_control_editor_plugin.cpp msgid "View file diffs before committing them to the latest version" -msgstr "" +msgstr "在æ交至最新版本å‰æª¢è¦–檔案的差異" #: editor/plugins/version_control_editor_plugin.cpp msgid "No file diff is active" -msgstr "" +msgstr "無有效的檔案差異" #: editor/plugins/version_control_editor_plugin.cpp msgid "Detect changes in file diff" -msgstr "" +msgstr "在檔案差異ä¸åµæ¸¬æ”¹å‹•" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(GLES3 only)" -msgstr "" +msgstr "ï¼ˆåƒ…é™ GLES3)" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Output" -msgstr "æ·»åŠ è¼¸å…¥" +msgstr "新增輸出" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar" -msgstr "縮放:" +msgstr "ç´”é‡ Scalar" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Vector" -msgstr "屬性é¢æ¿" +msgstr "å‘é‡ Vector" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Boolean" -msgstr "" +msgstr "布林 Boolean" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Sampler" -msgstr "" +msgstr "採樣 Sampler" #: 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" -msgstr "" +msgstr "æ–°å¢žè¼¸å‡ºåŸ å£" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Change input port type" -msgstr "更改é è¨é¡žåž‹" +msgstr "ä¿®æ”¹è¼¸å…¥åŸ å£é¡žåž‹" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Change output port type" -msgstr "更改é è¨é¡žåž‹" +msgstr "ä¿®æ”¹è¼¸å‡ºåŸ å£é¡žåž‹" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Change input port name" -msgstr "更改動畫å稱:" +msgstr "ä¿®æ”¹è¼¸å…¥åŸ å£å稱" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Change output port name" -msgstr "" +msgstr "ä¿®æ”¹è¼¸å‡ºåŸ å£å稱" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Remove input port" -msgstr "刪除點" +msgstr "ç§»é™¤è¼¸å…¥åŸ å£" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Remove output port" -msgstr "刪除點" +msgstr "ç§»é™¤è¼¸å‡ºåŸ å£" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set expression" -msgstr "è¨ç½®ç£è²¼å€åŸŸ" +msgstr "è¨å®šè¡¨ç¤ºå¼" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Resize VisualShader node" -msgstr "視覺化著色器" +msgstr "調整視覺著色器 (VisualShader) 節點大å°" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "è¨ç½®çµ±ä¸€å稱" +msgstr "è¨å®šå‡å‹»å稱" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Input Default Port" -msgstr "è¨ç½®è¼¸å…¥é è¨ç«¯å£" +msgstr "è¨å®šè¼¸å…¥é è¨åŸ å£" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add Node to Visual Shader" -msgstr "å°‡ç¯€é»žæ·»åŠ åˆ°å¯è¦–化著色器" +msgstr "將節點新增至視覺著色器" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Duplicate Nodes" -msgstr "複製節點" +msgstr "é‡è¤‡ç¯€é»ž" #: editor/plugins/visual_shader_editor_plugin.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Paste Nodes" -msgstr "" +msgstr "貼上節點" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Nodes" -msgstr "刪除" +msgstr "刪除節點" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "視覺著色器輸入類型已更改" +msgstr "已修改視覺著色器輸入類型" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" msgstr "é ‚é»ž" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Fragment" msgstr "片段" @@ -8992,380 +8505,368 @@ msgid "Light" msgstr "燈光" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Show resulted shader code." -msgstr "創建節點" +msgstr "顯示產生的著色器程å¼ç¢¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Create Shader Node" -msgstr "創建節點" +msgstr "建立著色器節點" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Color function." -msgstr "轉到函數" +msgstr "é¡è‰²å‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Color operator." -msgstr "" +msgstr "色彩é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Grayscale function." -msgstr "建立函å¼" +msgstr "ç°éšŽå‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts HSV vector to RGB equivalent." -msgstr "" +msgstr "å°‡ HSV å‘é‡è½‰ç‚ºåŒç‰ä¹‹ RGB。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts RGB vector to HSV equivalent." -msgstr "" +msgstr "å°‡ RGB å‘é‡è½‰ç‚ºåŒç‰è‡³ HSV。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Sepia function." -msgstr "建立函å¼" +msgstr "æ·±è¤å‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Burn operator." -msgstr "" +msgstr "åŠ æ·± (Burn) é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Darken operator." -msgstr "" +msgstr "暗化é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Difference operator." -msgstr "僅差異" +msgstr "差異é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Dodge operator." -msgstr "" +msgstr "åŠ äº® (Dodge) é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "HardLight operator." -msgstr "縮放(比例):" +msgstr "å¼·å…‰ (HardLight) é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Lighten operator." -msgstr "" +msgstr "亮化é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Overlay operator." -msgstr "" +msgstr "ç–ŠåŠ é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Screen operator." -msgstr "" +msgstr "濾色é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "SoftLight operator." -msgstr "" +msgstr "柔光é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Color constant." -msgstr "固定" +msgstr "色彩常數。" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Color uniform." -msgstr "清除變æ›" +msgstr "色彩å‡å‹»ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the boolean result of the %s comparison between two parameters." -msgstr "" +msgstr "回傳兩個åƒæ•¸é–“ %s 比較的布林çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Equal (==)" -msgstr "" +msgstr "ç‰æ–¼ (==)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Greater Than (>)" -msgstr "" +msgstr "大於 (>)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Greater Than or Equal (>=)" -msgstr "" +msgstr "大於ç‰æ–¼ (>=)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns an associated vector if the provided scalars are equal, greater or " "less." -msgstr "" +msgstr "è‹¥æ供的純é‡ç›¸ç‰ã€å¤§æ–¼ã€æˆ–å°æ–¼ï¼Œå‰‡å›žå‚³ç›¸é—œçš„å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns the boolean result of the comparison between INF and a scalar " "parameter." -msgstr "" +msgstr "回傳在 INF 與純é‡åƒæ•¸é–“比較的布林çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns the boolean result of the comparison between NaN and a scalar " "parameter." -msgstr "" +msgstr "回傳在 NaN 與純é‡åƒæ•¸é–“比較的布林çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Less Than (<)" -msgstr "" +msgstr "å°æ–¼ (<)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Less Than or Equal (<=)" -msgstr "" +msgstr "å°æ–¼ç‰æ–¼ (<=)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Not Equal (!=)" -msgstr "" +msgstr "ä¸ç‰æ–¼ (!=)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns an associated vector if the provided boolean value is true or false." -msgstr "" +msgstr "è‹¥æ供的布林值為 true 或 false,則回傳相關的å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns an associated scalar if the provided boolean value is true or false." -msgstr "" +msgstr "è‹¥æ供的布林值為 true 或 false,則回傳相關的純é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the boolean result of the comparison between two parameters." -msgstr "" +msgstr "回傳兩個åƒæ•¸é–“比較的布林çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns the boolean result of the comparison between INF (or NaN) and a " "scalar parameter." -msgstr "" +msgstr "回傳 INF(或 NaN)與一個純é‡é–“比較的布林çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Boolean constant." -msgstr "" +msgstr "布林常數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Boolean uniform." -msgstr "" +msgstr "布林å‡å‹»ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for all shader modes." -msgstr "" +msgstr "所有的著色器模å¼çš„「%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Input parameter." -msgstr "å¸é™„到父級節點" +msgstr "輸入åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for vertex and fragment shader modes." -msgstr "" +msgstr "é ‚é»žèˆ‡ç‰‡æ®µæ¨¡å¼çš„「%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for fragment and light shader modes." -msgstr "" +msgstr "片段與燈光著色器模å¼çš„「%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for fragment shader mode." -msgstr "" +msgstr "片段著色器模å¼çš„「%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for light shader mode." -msgstr "" +msgstr "燈光著色器模å¼çš„「%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for vertex shader mode." -msgstr "" +msgstr "é ‚é»žè‘—è‰²å™¨çš„ã€Œ%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "'%s' input parameter for vertex and fragment shader mode." -msgstr "" +msgstr "é ‚é»žæˆ–ç‰‡æ®µè‘—è‰²å™¨çš„ã€Œ%sã€è¼¸å…¥åƒæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar function." -msgstr "縮放所é¸" +msgstr "ç´”é‡å‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar operator." -msgstr "縮放(比例):" +msgstr "ç´”é‡é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "E constant (2.718282). Represents the base of the natural logarithm." -msgstr "" +msgstr "E 常數(2.718282)。表示自然å°æ•¸çš„底數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Epsilon constant (0.00001). Smallest possible scalar number." -msgstr "" +msgstr "ε (eplison) 常數 (0.00001)。最å°å¯ç”¨çš„ç´”é‡æ•¸å—。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Phi constant (1.618034). Golden ratio." -msgstr "" +msgstr "Φ(Phi) 常數 (1.618034)。黃金比例。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Pi/4 constant (0.785398) or 45 degrees." -msgstr "" +msgstr "Ï€ (Pi)/4 常數 (0.785398) 或 45 度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Pi/2 constant (1.570796) or 90 degrees." -msgstr "" +msgstr "Ï€ (Pi)/2 常數 (1.570796) 或 95 度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Pi constant (3.141593) or 180 degrees." -msgstr "" +msgstr "Ï€ (Pi) 常數 (3.141593) 或 180 度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Tau constant (6.283185) or 360 degrees." -msgstr "" +msgstr "Ï„ 常數 (6.283185) 或 360 度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Sqrt2 constant (1.414214). Square root of 2." -msgstr "" +msgstr "Sqrt2 常數 (1.414214)。2 çš„å¹³æ–¹æ ¹ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the absolute value of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„絕å°å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-cosine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„å餘弦值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic cosine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„å雙曲餘弦值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-sine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„åæ£å¼¦å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic sine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„å雙曲æ£å¼¦å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-tangent of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„åæ£åˆ‡å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the arc-tangent of the parameters." -msgstr "" +msgstr "回傳åƒæ•¸çš„åæ£åˆ‡å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse hyperbolic tangent of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„å雙曲æ£åˆ‡å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Finds the nearest integer that is greater than or equal to the parameter." -msgstr "" +msgstr "尋找大於或ç‰æ–¼è©²åƒæ•¸æœ€è¿‘的整數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Constrains a value to lie between two further values." -msgstr "" +msgstr "將值é™åˆ¶æ¬²å…©å€‹å€¼ä¹‹é–“。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the cosine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„餘弦值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the hyperbolic cosine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„雙曲餘弦值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts a quantity in radians to degrees." -msgstr "" +msgstr "將弧度轉æ›ç‚ºåº¦ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-e Exponential." -msgstr "" +msgstr "e 為底數的指數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-2 Exponential." -msgstr "" +msgstr "2 為底數的指數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the nearest integer less than or equal to the parameter." -msgstr "" +msgstr "尋找å°æ–¼æˆ–ç‰æ–¼åƒæ•¸æœ€è¿‘的整數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Computes the fractional part of the argument." -msgstr "" +msgstr "計算引數的å°æ•¸éƒ¨åˆ†ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the inverse of the square root of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„å¹³æ–¹æ ¹çš„å€’æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Natural logarithm." -msgstr "" +msgstr "自然å°æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Base-2 logarithm." -msgstr "" +msgstr "2 為底數的å°æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the greater of two values." -msgstr "" +msgstr "回傳兩個值ä¸è¼ƒå¤§çš„值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the lesser of two values." -msgstr "" +msgstr "回傳兩個值ä¸è¼ƒå°çš„值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Linear interpolation between two scalars." -msgstr "" +msgstr "在兩個純é‡é–“åšç·šæ€§æ’值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the opposite value of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„相å值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 - scalar" -msgstr "" +msgstr "1.0 - ç´”é‡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns the value of the first parameter raised to the power of the second." -msgstr "" +msgstr "回傳第一個åƒæ•¸çš„第二個åƒæ•¸å†ªæ¬¡çš„值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Converts a quantity in degrees to radians." -msgstr "" +msgstr "將度數轉æ›ç‚ºå¼§åº¦ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 / scalar" -msgstr "" +msgstr "1.0 / ç´”é‡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the nearest integer to the parameter." -msgstr "" +msgstr "尋找åƒæ•¸æœ€è¿‘的整數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the nearest even integer to the parameter." -msgstr "" +msgstr "尋找åƒæ•¸æœ€è¿‘的整數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Clamps the value between 0.0 and 1.0." -msgstr "" +msgstr "將數值é™åˆ¶åœ¨ 0.0 與 1.0 之間。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Extracts the sign of the parameter." -msgstr "" +msgstr "抽å–åƒæ•¸çš„號(æ£è™Ÿï¼è² 號)。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the sine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„æ£å¼¦å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the hyperbolic sine of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„雙曲æ£å¼¦å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the square root of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„å¹³æ–¹æ ¹ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9375,6 +8876,10 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"SmoothStep 函å¼( scalar(edge0),scalar(edge1),scalar(x) )。\n" +"\n" +"若「xã€å°æ–¼ã€Œedge0ã€å‰‡å›žå‚³ 0.0,若 x 大於「edge1ã€å‰‡å›žå‚³ 1.0。其餘值則回傳在 " +"0.0 與 1.0 ä¹‹é–“ä½¿ç”¨åŽ„ç±³å¤šé …å¼é€²è¡Œæ’值的çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9382,72 +8887,73 @@ msgid "" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Step 函å¼( scalar(edge), scalar(x) )。\n" +"\n" +"若「xã€å°æ–¼ã€Œedgeã€å‰‡å›žå‚³ 0.0,å¦å‰‡å›žå‚³ 1.0。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the tangent of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„æ£åˆ‡å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the hyperbolic tangent of the parameter." -msgstr "" +msgstr "回傳åƒæ•¸çš„雙曲æ£åˆ‡å€¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Finds the truncated value of the parameter." -msgstr "" +msgstr "尋找åƒæ•¸çš„截斷值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Adds scalar to scalar." -msgstr "" +msgstr "將純é‡æ–°å¢žè‡³ç´”é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Divides scalar by scalar." -msgstr "" +msgstr "以純é‡é™¤ä»¥ç´”é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies scalar by scalar." -msgstr "" +msgstr "以純é‡ä¹˜ä»¥ç´”é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the remainder of the two scalars." -msgstr "" +msgstr "回傳兩個純é‡ç›¸é™¤çš„餘數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Subtracts scalar from scalar." -msgstr "" +msgstr "以純é‡æ¸›åŽ»ç´”é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Scalar constant." -msgstr "" +msgstr "ç´”é‡å¸¸æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Scalar uniform." -msgstr "清除變æ›" +msgstr "ç´”é‡å‡å‹»ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Perform the cubic texture lookup." -msgstr "" +msgstr "進行立方體紋ç†æœå°‹ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Perform the texture lookup." -msgstr "" +msgstr "進行紋ç†æœå°‹ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Cubic texture uniform lookup." -msgstr "" +msgstr "立方體紋ç†å‡å‹»æœå°‹ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "2D texture uniform lookup." -msgstr "" +msgstr "2D ç´‹ç†å‡å‹»æœå°‹ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "2D texture uniform lookup with triplanar." -msgstr "" +msgstr "以三平é¢é€²è¡Œ 2D ç´‹ç†å‡å‹»å°‹æ‰¾ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform function." -msgstr "轉æ›å°è©±æ¡†..。" +msgstr "轉æ›å‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9459,73 +8965,75 @@ msgid "" "whose number of rows is the number of components in 'c' and whose number of " "columns is the number of components in 'r'." msgstr "" +"計算一å°å‘é‡çš„外ç©ã€‚\n" +"\n" +"OuterProduct 將第一個åƒæ•¸ã€Œcã€è¦–為列å‘é‡ï¼ˆç”±ä¸€å€‹åˆ—的矩陣),第二個åƒæ•¸ã€Œrã€è¦–" +"為行å‘é‡ï¼ˆç”±ä¸€å€‹è¡Œçš„矩陣),並ä¾ç·šæ€§ä»£æ•¸çŸ©é™£ä¹˜ä»¥ã€Œc * rã€ï¼Œç”¢ç”Ÿä¸€å€‹çŸ©é™£å…¶è¡Œæ•¸" +"為「cã€ä¸çš„組件,列數為「rã€çš„組件。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes transform from four vectors." -msgstr "" +msgstr "由四個å‘é‡æ§‹æˆè®Šæ›ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Decomposes transform to four vectors." -msgstr "" +msgstr "由四個å‘é‡åˆ†è§£è®Šæ›ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the determinant of a transform." -msgstr "" +msgstr "計算變æ›çš„行列å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the inverse of a transform." -msgstr "" +msgstr "計算變æ›çš„逆矩陣。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the transpose of a transform." -msgstr "" +msgstr "計算一個變æ›çš„轉置。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies transform by transform." -msgstr "" +msgstr "變æ›ä¹˜ä»¥è®Šæ›ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies vector by transform." -msgstr "" +msgstr "å‘é‡ä¹˜ä»¥è®Šæ›ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform constant." -msgstr "新增資料夾" +msgstr "變æ›å¸¸æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Transform uniform." -msgstr "轉æ›å°è©±æ¡†..。" +msgstr "變æ›å‡å‹»ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Vector function." -msgstr "轉到函數…" +msgstr "å‘é‡å‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector operator." -msgstr "" +msgstr "å‘é‡é‹ç®—å。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Composes vector from three scalars." -msgstr "" +msgstr "由三個純é‡çµ„æˆå‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Decomposes vector to three scalars." -msgstr "" +msgstr "將一個å‘é‡æ‹†è§£ç‚ºä¸‰å€‹ç´”é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the cross product of two vectors." -msgstr "" +msgstr "計算兩個å‘é‡çš„外ç©ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the distance between two points." -msgstr "" +msgstr "回傳兩個點間的è·é›¢ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the dot product of two vectors." -msgstr "" +msgstr "計算兩個å‘é‡çš„å…§ç©ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9534,40 +9042,43 @@ msgid "" "incident vector, and Nref, the reference vector. If the dot product of I and " "Nref is smaller than zero the return value is N. Otherwise -N is returned." msgstr "" +"回傳一個與åƒç…§å‘é‡æŒ‡å‘相åŒæ–¹å‘çš„å‘é‡ã€‚該函å¼ç”±ä¸‰å€‹å‘é‡åƒæ•¸ï¼šN,方å‘å‘é‡ï¼›I," +"入射å‘é‡ï¼Œä»¥åŠ Nref,åƒç…§å‘é‡ã€‚è‹¥ I 與 Nref çš„å…§ç©å°æ–¼ 0,則回傳值為 N。å¦å‰‡" +"將回傳 -N。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the length of a vector." -msgstr "" +msgstr "計算å‘é‡çš„長度。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Linear interpolation between two vectors." -msgstr "" +msgstr "在兩個å‘é‡é–“åšç·šæ€§æ’值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Linear interpolation between two vectors using scalar." -msgstr "" +msgstr "使用純é‡åœ¨å…©å€‹å‘é‡é–“åšç·šæ€§æ’值。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Calculates the normalize product of vector." -msgstr "" +msgstr "計算å‘é‡çš„æ£è¦åŒ–ç©ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 - vector" -msgstr "" +msgstr "1.0 - å‘é‡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "1.0 / vector" -msgstr "" +msgstr "1.0 / å‘é‡" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns the vector that points in the direction of reflection ( a : incident " "vector, b : normal vector )." -msgstr "" +msgstr "回傳指å‘åå°„æ–¹å‘çš„å‘é‡ï¼ˆa:入射å‘é‡ï¼Œb:法å‘é‡ï¼‰ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the vector that points in the direction of refraction." -msgstr "" +msgstr "回傳指å‘折射方å‘çš„å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9577,6 +9088,10 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"SmoothStep 函å¼( vector(edge0), vector(edge1), vector(x) ).\n" +"\n" +"若「xã€å°æ–¼ã€Œedge0ã€å‰‡å›žå‚³ 0.0,若「xã€å¤§æ–¼ã€Œedge1ã€å‰‡å›žå‚³ 1.0。其餘值則回傳" +"在 0.0 與 1.0 ä¹‹é–“ä½¿ç”¨åŽ„ç±³å¤šé …å¼é€²è¡Œæ’值的çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9586,6 +9101,10 @@ msgid "" "'edge1'. Otherwise the return value is interpolated between 0.0 and 1.0 " "using Hermite polynomials." msgstr "" +"SmoothStep 函å¼( scalar(edge0), scalar(edge1), vector(x) ).\n" +"\n" +"若「xã€å°æ–¼ã€Œedge0ã€å‰‡å›žå‚³ 0.0,若「xã€å¤§æ–¼ã€Œedge1ã€å‰‡å›žå‚³ 1.0。其餘值則回傳" +"在 0.0 與 1.0 ä¹‹é–“ä½¿ç”¨åŽ„ç±³å¤šé …å¼é€²è¡Œæ’值的çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9593,6 +9112,9 @@ msgid "" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Step 函å¼( vector(edge), vector(x) ).\n" +"\n" +"若「xã€å°æ–¼ã€Œedgeã€å‰‡å›žå‚³ 0.0,å¦å‰‡å›žå‚³ 1.0。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9600,34 +9122,37 @@ msgid "" "\n" "Returns 0.0 if 'x' is smaller than 'edge' and otherwise 1.0." msgstr "" +"Step 函å¼( scalar(edge), vector(x) ).\n" +"\n" +"若「xã€å°æ–¼ã€Œedgeã€å‰‡å›žå‚³ 1.0,å¦å‰‡å›žå‚³ 1.0。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Adds vector to vector." -msgstr "" +msgstr "å°‡å‘é‡åŠ 上å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Divides vector by vector." -msgstr "" +msgstr "以å‘é‡é™¤ä»¥å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Multiplies vector by vector." -msgstr "" +msgstr "以å‘é‡ä¹˜ä»¥å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Returns the remainder of the two vectors." -msgstr "" +msgstr "回傳兩個å‘é‡ç›¸é™¤çš„餘數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Subtracts vector from vector." -msgstr "" +msgstr "å°‡å‘é‡æ¸›åŽ»å‘é‡ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector constant." -msgstr "" +msgstr "å‘é‡å¸¸æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vector uniform." -msgstr "" +msgstr "å‘é‡å‡å‹»ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9635,12 +9160,14 @@ msgid "" "output ports. This is a direct injection of code into the vertex/fragment/" "light function, do not use it to write the function declarations inside." msgstr "" +"自定 Godot 著色器語言表示å¼ï¼Œä½¿ç”¨è‡ªå®šæ•¸é‡çš„è¼¸å…¥èˆ‡è¼¸å‡ºåŸ å£ã€‚這是通éŽç›´æŽ¥æ’å‘é ‚" +"點ï¼ç‰‡æ®µï¼å…‰ç…§å‡½å¼æ’入程å¼ç¢¼ä¾†å¯¦ç¾çš„,請勿在其ä¸è²æ˜Žå‡½å¼ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "Returns falloff based on the dot product of surface normal and view " "direction of camera (pass associated inputs to it)." -msgstr "" +msgstr "ä¾æ“šè¡¨é¢æ³•ç·šèˆ‡ç›¸æ©Ÿæª¢è¦–æ–¹å‘çš„å…§ç©ä¾†å›žå‚³ä¸‹é™çŽ‡ï¼ˆå°‡å…¶ç›¸é—œè¼¸å…¥å‚³å…¥ï¼‰ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" @@ -9649,90 +9176,92 @@ msgid "" "it later in the Expressions. You can also declare varyings, uniforms and " "constants." msgstr "" +"自定 Godot 著色器語言表示å¼ï¼Œå°‡è¢«æ”¾å…¥æœ€çµ‚çš„è‘—è‰²å™¨é ‚éƒ¨ã€‚å¯ä»¥æ”¾å…¥æ•¸å€‹å‡½æ•¸è²æ˜Žåœ¨" +"裡é¢ï¼Œä¸¦æ–¼ç¨å¾Œåœ¨è¡¨ç¤ºå¼ä¸å‘¼å«ã€‚也å¯ä»¥è²æ˜Ž Varyingã€Uniform 與常數。" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Scalar derivative function." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ç´”é‡å°Žå‡½æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "(Fragment/Light mode only) Vector derivative function." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰å‘é‡å°Žå‡½æ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'x' using local " "differencing." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ï¼ˆå‘é‡ï¼‰ä»¥ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„「xã€é€²è¡Œå°Žæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'x' using local " "differencing." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ï¼ˆç´”é‡ï¼‰ä»¥ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„「xã€é€²è¡Œå°Žæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Derivative in 'y' using local " "differencing." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ï¼ˆå‘é‡ï¼‰ä»¥ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„「yã€é€²è¡Œå°Žæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Derivative in 'y' using local " "differencing." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ï¼ˆç´”é‡ï¼‰ä»¥ä½¿ç”¨å±€éƒ¨å·®åˆ†çš„「yã€é€²è¡Œå°Žæ•¸ã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Vector) Sum of absolute derivative in 'x' and " "'y'." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ï¼ˆå‘é‡ï¼‰åŠ 總「xã€èˆ‡ã€Œyã€é€²è¡Œçµ•å°å°Žæ•¸çš„çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "" "(Fragment/Light mode only) (Scalar) Sum of absolute derivative in 'x' and " "'y'." -msgstr "" +msgstr "(é™ç‰‡æ®µï¼å…‰ç…§æ¨¡å¼ï¼‰ï¼ˆç´”é‡ï¼‰åŠ 總「xã€èˆ‡ã€Œyã€é€²è¡Œçµ•å°å°Žæ•¸çš„çµæžœã€‚" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" -msgstr "視覺化著色器" +msgstr "視覺著色器 (VisualShader)" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "編輯å¯è¦–屬性" +msgstr "編輯視覺屬性" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Mode Changed" -msgstr "視覺著色器模å¼å·²æ›´æ”¹" +msgstr "已修改視覺著色器模å¼" #: editor/project_export.cpp msgid "Runnable" -msgstr "å¯é‹è¡Œçš„" +msgstr "å¯åŸ·è¡Œ" #: editor/project_export.cpp -#, fuzzy msgid "Add initial export..." -msgstr "æ·»åŠ è¼¸å…¥" +msgstr "新增åˆå§‹åŒ¯å‡º..." #: editor/project_export.cpp msgid "Add previous patches..." -msgstr "" +msgstr "新增上回修æ£æª”..." #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "" +msgstr "是å¦è¦è‡ªåˆ—表ä¸åˆªé™¤ã€Œ%sã€ä¿®æ£æª”?" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "是å¦åˆ 除é è¨â€œ%sâ€ï¼Ÿ" +msgstr "確定è¦åˆªé™¤ Preset「%sã€ï¼Ÿ" #: editor/project_export.cpp msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"為平å°ã€Œ%sã€åŒ¯å‡ºå°ˆæ¡ˆå¤±æ•—。\n" +"匯出樣æ¿ä¼¼ä¹Žå·²éºå¤±æˆ–無效。" #: editor/project_export.cpp msgid "" @@ -9740,40 +9269,44 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"為平å°ã€Œ%sã€åŒ¯å‡ºå°ˆæ¡ˆå¤±æ•—。\n" +"å¯èƒ½ä½¿ç”±æ–¼åŒ¯å‡º Preset 或匯出è¨å®šä¸çš„組態è¨å®šæœ‰å•é¡Œå°Žè‡´ã€‚" #: editor/project_export.cpp msgid "Release" -msgstr "釋放" +msgstr "釋出" #: editor/project_export.cpp msgid "Exporting All" -msgstr "全部導出" +msgstr "全部匯出" #: editor/project_export.cpp msgid "The given export path doesn't exist:" -msgstr "給定的導出路徑ä¸å˜åœ¨:" +msgstr "給定的匯出路徑ä¸å˜åœ¨ï¼š" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "ç„¡æ¤å¹³è‡ºçš„導出範本:" +msgstr "該平å°çš„匯出範本éºå¤±ï¼æ毀:" #: editor/project_export.cpp msgid "Presets" -msgstr "é è¨" +msgstr "Preset" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add..." -msgstr "æ·»åŠ â€¦" +msgstr "新增…" #: editor/project_export.cpp msgid "" "If checked, the preset will be available for use in one-click deploy.\n" "Only one preset per platform may be marked as runnable." msgstr "" +"è‹¥é¸ä¸ï¼Œå‰‡ Preset å°‡å¯ä½¿ç”¨ä¸€éµéƒ¨ç½²ã€‚\n" +"æ¯å€‹å¹³å°åªå¯å°‡ä¸€å€‹ Preset è¨ç‚ºå¯åŸ·è¡Œã€‚" #: editor/project_export.cpp msgid "Export Path" -msgstr "導出路徑" +msgstr "匯出路徑" #: editor/project_export.cpp msgid "Resources" @@ -9781,48 +9314,51 @@ msgstr "資æº" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "å°Žå‡ºé …ç›®ä¸çš„所有資æº" +msgstr "匯出專案內所有資æº" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "導出é¸å®šçš„å ´æ™¯ (å’Œä¾è³´é …)" +msgstr "匯出所é¸å ´æ™¯ï¼ˆèˆ‡å…¶æ‰€æœ‰ç›¸ä¾æ€§ï¼‰" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "導出é¸å®šçš„è³‡æº (å’Œä¾è³´é …)" +msgstr "匯出所é¸è³‡æºï¼ˆèˆ‡å…¶æ‰€æœ‰ç›¸ä¾æ€§ï¼‰" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "導出模å¼:" +msgstr "匯出模å¼ï¼š" #: editor/project_export.cpp msgid "Resources to export:" -msgstr "è¦è¼¸å‡ºçš„資æº:" +msgstr "匯出的資æºï¼š" #: editor/project_export.cpp msgid "" "Filters to export non-resource files/folders\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" +"éŽæ¿¾éžè³‡æºçš„檔案ï¼è³‡æ–™å¤¾ä»¥åŒ¯å‡º\n" +"(以åŠå½¢é€—號å€åˆ†ï¼Œå¦‚: *.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "" "Filters to exclude files/folders from project\n" "(comma-separated, e.g: *.json, *.txt, docs/*)" msgstr "" +"éŽæ¿¾ä»¥åœ¨å°ˆæ¡ˆå…§æŽ’除檔案ï¼è³‡æ–™å¤¾\n" +"(以åŠå½¢é€—號å€åˆ†ï¼Œå¦‚: *.json, *.txt, docs/*)" #: editor/project_export.cpp msgid "Patches" -msgstr "補ä¸" +msgstr "ä¿®æ£æª”" #: editor/project_export.cpp msgid "Make Patch" -msgstr "製作補ä¸" +msgstr "製作修æ£æª”" #: editor/project_export.cpp -#, fuzzy msgid "Pack File" -msgstr " 資料夾" +msgstr "打包檔案" #: editor/project_export.cpp msgid "Features" @@ -9830,25 +9366,23 @@ msgstr "功能" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "自訂 (逗號分隔):" +msgstr "自訂(以逗號分隔):" #: editor/project_export.cpp -#, fuzzy msgid "Feature List:" -msgstr "功能清單:" +msgstr "功能清單:" #: editor/project_export.cpp -#, fuzzy msgid "Script" msgstr "腳本" #: editor/project_export.cpp msgid "Script Export Mode:" -msgstr "腳本導出模å¼:" +msgstr "腳本匯出模å¼ï¼š" #: editor/project_export.cpp msgid "Text" -msgstr "文本" +msgstr "純文å—" #: editor/project_export.cpp msgid "Compiled" @@ -9856,173 +9390,162 @@ msgstr "ç·¨è¯" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" -msgstr "åŠ å¯† (使用以下密碼)" +msgstr "åŠ å¯†ï¼ˆä½¿ç”¨ä»¥ä¸‹å¯†é‘°ï¼‰" #: editor/project_export.cpp msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "ä¸æ£ç¢ºåŠ 密金鑰 (é•·åº¦å¿…é ˆç‚º64個å—å…ƒ)" +msgstr "ç„¡æ•ˆçš„åŠ å¯†å¯†é‘°ï¼ˆé•·åº¦éœ€ç‚º 64 個å—元)" #: editor/project_export.cpp msgid "Script Encryption Key (256-bits as hex):" -msgstr "è…³æœ¬åŠ å¯†é‡‘é‘° (256ä½åå…進ä½ç¢¼):" +msgstr "è…³æœ¬åŠ å¯†å¯†é‘°ï¼ˆ256 ä½å…ƒçš„ 16 進ä½ï¼‰ï¼š" #: editor/project_export.cpp msgid "Export PCK/Zip" -msgstr "導出 PCK/ZIP" +msgstr "匯出 PCK/ZIP" #: editor/project_export.cpp msgid "Export Project" -msgstr "輸出專案" +msgstr "匯出專案" #: editor/project_export.cpp -#, fuzzy msgid "Export mode?" -msgstr "導出模å¼:" +msgstr "匯出模å¼ï¼Ÿ" #: editor/project_export.cpp -#, fuzzy msgid "Export All" -msgstr "全部導出" +msgstr "全部匯出" #: editor/project_export.cpp editor/project_manager.cpp -#, fuzzy msgid "ZIP File" -msgstr " 資料夾" +msgstr "ZIP 檔案" #: editor/project_export.cpp msgid "Godot Game Pack" -msgstr "" +msgstr "Godot éŠæˆ²åŒ…" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "缺少æ¤å¹³è‡ºçš„導出範本:" +msgstr "缺少匯出該平å°ç”¨çš„樣æ¿ï¼š" #: editor/project_export.cpp msgid "Manage Export Templates" -msgstr "管ç†è¼¸å‡ºæ¨¡æ¿" +msgstr "管ç†åŒ¯å‡ºæ¨£æ¿" #: editor/project_export.cpp msgid "Export With Debug" -msgstr "導出為調試" +msgstr "以åµéŒ¯æ¨¡å¼åŒ¯å‡º" #: editor/project_manager.cpp -#, fuzzy msgid "The path specified doesn't exist." -msgstr "路徑ä¸å˜åœ¨." +msgstr "指定的路徑ä¸å˜åœ¨ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "Error opening package file (it's not in ZIP format)." -msgstr "é–‹å•Ÿå¥—ä»¶æª”æ¡ˆå‡ºéŒ¯ï¼Œéž zip æ ¼å¼ã€‚" +msgstr "é–‹å•Ÿå¥—ä»¶æª”æ¡ˆæ™‚ç™¼ç”ŸéŒ¯èª¤ï¼ˆéž ZIP æ ¼å¼ï¼‰ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "" "Invalid \".zip\" project file; it doesn't contain a \"project.godot\" file." -msgstr "“.zipâ€é …目檔案無效,ä¸åŒ…å«â€œproject.godotâ€æª”案。" +msgstr "無效的「.zipã€å°ˆæ¡ˆæª”;未包å«ã€Œproject.godotã€æª”案。" #: editor/project_manager.cpp msgid "Please choose an empty folder." msgstr "è«‹é¸æ“‡ä¸€å€‹ç©ºè³‡æ–™å¤¾ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "Please choose a \"project.godot\" or \".zip\" file." -msgstr "è«‹é¸æ“‡â€œproject.godotâ€æˆ–“.zipâ€æª”案。" +msgstr "è«‹é¸æ“‡ä¸€å€‹ã€Œproject.godotã€æˆ–「.zipã€æª”案。" #: editor/project_manager.cpp -#, fuzzy msgid "This directory already contains a Godot project." -msgstr "目錄已包å«ä¸€å€‹godoté …ç›®ã€‚" +msgstr "該目錄已經包å«äº†ä¸€å€‹ Godot 專案。" #: editor/project_manager.cpp msgid "New Game Project" -msgstr "æ–°éŠæˆ²é …ç›®" +msgstr "æ–°éŠæˆ²å°ˆæ¡ˆ" #: editor/project_manager.cpp msgid "Imported Project" -msgstr "å·²å°Žå…¥çš„é …ç›®" +msgstr "å·²åŒ¯å…¥çš„é …ç›®" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid Project Name." -msgstr "é …ç›®å稱無效。" +msgstr "無效的專案å。" #: editor/project_manager.cpp msgid "Couldn't create folder." -msgstr "無法新增資料夾." +msgstr "無法建立資料夾。" #: editor/project_manager.cpp msgid "There is already a folder in this path with the specified name." -msgstr "æ¤è·¯å¾‘ä¸å·²å˜åœ¨å…·æœ‰æŒ‡å®šå稱的資料夾。" +msgstr "該路徑下已有相åŒå稱的資料夾。" #: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "çµ¦ä½ çš„é …ç›®å‘½å是個好主æ„。" +msgstr "æœ€å¥½å¹«ä½ çš„å°ˆæ¡ˆèµ·å€‹åå—。" #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." -msgstr "ä¸æ£ç¢ºé …目路徑 (更改了任何內容?)。" +msgstr "ä¸æ£ç¢ºçš„專案路徑(有修改了什麼嗎?)。" #: editor/project_manager.cpp msgid "" "Couldn't load project.godot in project path (error %d). It may be missing or " "corrupted." -msgstr "ç„¡æ³•åœ¨é …ç›®è·¯å¾‘ä¸åŠ 載project.godot(錯誤%d)。它å¯èƒ½éºå¤±æˆ–æ壞。" +msgstr "無法自專案路徑內載入 project.godot(錯誤 %d)。檔案å¯èƒ½éºå¤±æˆ–æ毀。" #: editor/project_manager.cpp msgid "Couldn't edit project.godot in project path." -msgstr "ç„¡æ³•åœ¨é …ç›®è·¯å¾‘ä¸ç·¨è¼¯project.godot。" +msgstr "無法在專案路徑ä¸ç·¨è¼¯ project.godot。" #: editor/project_manager.cpp msgid "Couldn't create project.godot in project path." -msgstr "ç„¡æ³•åœ¨é …ç›®è·¯å¾‘ä¸å‰µå»ºproject.godot。" +msgstr "ç„¡æ³•åœ¨é …ç›®è·¯å¾‘ä¸å»ºç«‹ project.godot。" #: editor/project_manager.cpp -#, fuzzy msgid "Rename Project" -msgstr "é‡å‘½åé …ç›®" +msgstr "é‡æ–°å‘½åé …ç›®" #: editor/project_manager.cpp msgid "Import Existing Project" -msgstr "å°Žå…¥ç¾æœ‰é …ç›®" +msgstr "匯入ç¾æœ‰å°ˆæ¡ˆ" #: editor/project_manager.cpp msgid "Import & Edit" -msgstr "導入與編輯" +msgstr "匯入並編輯" #: editor/project_manager.cpp msgid "Create New Project" -msgstr "å‰µå»ºæ–°é …ç›®" +msgstr "建立新專案" #: editor/project_manager.cpp -#, fuzzy msgid "Create & Edit" -msgstr "創建和編輯" +msgstr "建立並編輯" #: editor/project_manager.cpp msgid "Install Project:" -msgstr "安è£é …目:" +msgstr "安è£å°ˆæ¡ˆï¼š" #: editor/project_manager.cpp msgid "Install & Edit" -msgstr "安è£å’Œç·¨è¼¯" +msgstr "安è£ä¸¦ç·¨è¼¯" #: editor/project_manager.cpp msgid "Project Name:" -msgstr "é …ç›®å稱:" +msgstr "專案å稱:" #: editor/project_manager.cpp msgid "Project Path:" -msgstr "é …ç›®è·¯å¾‘ï¼š" +msgstr "專案路徑:" #: editor/project_manager.cpp msgid "Project Installation Path:" -msgstr "é …ç›®å®‰è£è·¯å¾‘:" +msgstr "專案安è£è·¯å¾‘:" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "渲染器:" +msgstr "算圖器:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" @@ -10035,6 +9558,10 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"更好的視覺å“質\n" +"所有功能å¯ç”¨\n" +"與舊硬體ä¸ç›¸å®¹\n" +"ä¸æŽ¨è–¦ç”¨æ–¼ç¶²é éŠæˆ²" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" @@ -10047,34 +9574,36 @@ msgid "" "Works on most hardware\n" "Recommended for web games" msgstr "" +"較低的視覺å“質\n" +"有些功能ä¸å¯ç”¨\n" +"在大多數硬體上å¯ç”¨\n" +"推薦用於網é éŠæˆ²" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." -msgstr "渲染器å¯ä»¥ç„¶å¾Œæ›´æ”¹, ä½†å ´æ™¯å¯èƒ½éœ€è¦èª¿æ•´ã€‚" +msgstr "ç¨å¾Œä»å¯æ›´æ”¹ç®—圖器,但å¯èƒ½éœ€è¦å°å ´æ™¯é€²è¡Œèª¿æ•´ã€‚" #: editor/project_manager.cpp msgid "Unnamed Project" -msgstr "未命åé …ç›®" +msgstr "未命å專案" #: editor/project_manager.cpp -#, fuzzy msgid "Missing Project" -msgstr "å°Žå…¥ç¾æœ‰é …ç›®" +msgstr "éºå¤±å°ˆæ¡ˆ" #: editor/project_manager.cpp msgid "Error: Project is missing on the filesystem." -msgstr "" +msgstr "錯誤:專案在檔案系統上éºå¤±ã€‚" #: editor/project_manager.cpp msgid "Can't open project at '%s'." -msgstr "無法打開ä½æ–¼'%s'çš„é …ç›®ã€‚" +msgstr "無法在「%sã€ä¸æ‰“開專案。" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" -msgstr "您確定è¦æ‰“é–‹å¤šå€‹é …ç›®å—Žï¼Ÿ" +msgstr "確定è¦æ‰“開多個專案嗎?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -10086,15 +9615,14 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" -"ä»¥ä¸‹é …ç›®è¨å®šæª”案未指定通éŽå…¶å‰µå»ºçš„Godot的版本。\n" +"下列專案è¨å®šæª”未指定建立其之 Godot 版本。\n" "\n" "%s\n" "\n" -"如果繼續打開它, 它將被轉æ›ç‚º Godot 的當å‰é…ç½®æª”æ¡ˆæ ¼å¼ã€‚ \n" -"è¦å‘Š: 您將無法å†ä½¿ç”¨ä»¥å‰ç‰ˆæœ¬çš„å¼•æ“Žæ‰“é–‹é …ç›®ã€‚" +"若您繼續開啟,會將其轉æ›ç‚ºç›®å‰ Godot 版本的組態è¨å®šæª”æ¡ˆæ ¼å¼ã€‚\n" +"è¦å‘Šï¼šæ‚¨å°‡ä¸å†å¯ä½¿ç”¨éŽå¾€ç‰ˆæœ¬çš„引擎開啟該專案。" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file was generated by an older engine " "version, and needs to be converted for this version:\n" @@ -10105,18 +9633,18 @@ msgid "" "Warning: You won't be able to open the project with previous versions of the " "engine anymore." msgstr "" -"ä»¥ä¸‹é …ç›®è¨ç½®æª”案是由較舊的引擎版本生æˆçš„, 需è¦ç‚ºæ¤ç‰ˆæœ¬é€²è¡Œè½‰æ›:\n" +"下列專案è¨å®šæª”時由較舊版本的引擎所產生,且需è¦å°‡å…¶è½‰æ›ç‚ºç›®å‰çš„版本:\n" "\n" "%s\n" "\n" -"是å¦è¦å°‡å…¶è½‰æ›ï¼Ÿ\n" -"è¦å‘Š: 您將無法å†ä½¿ç”¨ä»¥å‰ç‰ˆæœ¬çš„引擎打開專案。" +"è¦é€²è¡Œè½‰æ›å—Žï¼Ÿ\n" +"è¦å‘Šï¼šæ‚¨å°‡ä¸å†å¯ä½¿ç”¨éŽå¾€ç‰ˆæœ¬çš„引擎開啟該專案。" #: editor/project_manager.cpp msgid "" "The project settings were created by a newer engine version, whose settings " "are not compatible with this version." -msgstr "æ¤é …ç›®è¨ç½®æ˜¯ç”±è¼ƒæ–°çš„引擎版本創建的, å…¶è¨ç½®èˆ‡æ¤ç‰ˆæœ¬ä¸ç›¸å®¹ã€‚" +msgstr "該專案è¨å®šæ˜¯ç”±æ–°ç‰ˆæœ¬çš„引擎所建立,其è¨å®šç„¡æ³•ç›¸å®¹æ–¼é€™å€‹ç‰ˆæœ¬ã€‚" #: editor/project_manager.cpp msgid "" @@ -10124,57 +9652,66 @@ msgid "" "Please edit the project and set the main scene in the Project Settings under " "the \"Application\" category." msgstr "" +"ç„¡æ³•åŸ·è¡Œå°ˆæ¡ˆï¼šæœªå®šç¾©ä¸»å ´æ™¯ã€‚\n" +"請編輯專案並在「應用程å¼ã€åˆ†é¡žä¸çš„專案è¨å®šå…§è¨å®šä¸»å ´æ™¯ã€‚" #: editor/project_manager.cpp msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"無法執行專案:需è¦åŒ¯å…¥ç´ æ\n" +"請編輯專案以觸發åˆå§‹åŒ¯å…¥ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "Are you sure to run %d projects at once?" -msgstr "您確定è¦é‹è¡Œå¤šå€‹é …目嗎?" +msgstr "確定è¦ä¸€æ¬¡åŸ·è¡Œ %d 個專案?" #: editor/project_manager.cpp -#, fuzzy msgid "" "Remove %d projects from the list?\n" "The project folders' contents won't be modified." -msgstr "是å¦å¾žæ¸…å–®ä¸åˆ é™¤é …ç›®ï¼Ÿï¼ˆè³‡æ–™å¤¾å…§å®¹å°‡ä¸è¢«ä¿®æ”¹ï¼‰" +msgstr "" +"確定è¦è‡ªæ¸…å–®ä¸ç§»é™¤ %d 個專案嗎?\n" +"專案資料夾的內容ä¸æœƒè¢«ä¿®æ”¹ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "" "Remove this project from the list?\n" "The project folder's contents won't be modified." -msgstr "是å¦å¾žæ¸…å–®ä¸åˆ é™¤é …ç›®ï¼Ÿï¼ˆè³‡æ–™å¤¾å…§å®¹å°‡ä¸è¢«ä¿®æ”¹ï¼‰" +msgstr "" +"確定è¦è‡ªåˆ—表移除該專案嗎?\n" +"專案資料夾的內容ä¸æœƒè¢«ä¿®æ”¹ã€‚" #: editor/project_manager.cpp -#, fuzzy msgid "" "Remove all missing projects from the list?\n" "The project folders' contents won't be modified." -msgstr "是å¦å¾žæ¸…å–®ä¸åˆ é™¤é …ç›®ï¼Ÿï¼ˆè³‡æ–™å¤¾å…§å®¹å°‡ä¸è¢«ä¿®æ”¹ï¼‰" +msgstr "" +"確定自清單移除所有éºå¤±çš„專案嗎?\n" +"專案資料夾的內容ä¸æœƒè¢«ä¿®æ”¹ã€‚" #: editor/project_manager.cpp msgid "" "Language changed.\n" "The interface will update after restarting the editor or project manager." msgstr "" +"語言已更改。\n" +"ç•Œé¢å°‡æœƒåœ¨é‡æ–°å•Ÿå‹•ç·¨è¼¯å™¨æˆ–專案管ç†å“¡å¾Œæ›´æ–°ã€‚" #: editor/project_manager.cpp msgid "" "Are you sure to scan %s folders for existing Godot projects?\n" "This could take a while." msgstr "" +"確定è¦ç‚ºç¾å˜çš„ Godot 專案掃æ %s 資料夾嗎?\n" +"這å¯èƒ½éœ€è¦ä¸€æ®µæ™‚間。" #: editor/project_manager.cpp msgid "Project Manager" -msgstr "" +msgstr "專案管ç†å“¡" #: editor/project_manager.cpp -#, fuzzy msgid "Projects" msgstr "專案" @@ -10188,35 +9725,35 @@ msgstr "掃æ" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "é¸æ“‡ä¸€å€‹è³‡æ–™å¤¾ä¾†æŽƒæ" +msgstr "é¸æ“‡è³‡æ–™å¤¾ä»¥é€²è¡ŒæŽƒæ" #: editor/project_manager.cpp msgid "New Project" -msgstr "" +msgstr "新增專案" #: editor/project_manager.cpp -#, fuzzy msgid "Remove Missing" -msgstr "刪除點" +msgstr "刪除éºå¤±" #: editor/project_manager.cpp msgid "Templates" -msgstr "模æ¿" +msgstr "樣æ¿" #: editor/project_manager.cpp msgid "Restart Now" -msgstr "" +msgstr "ç«‹å³é‡æ–°å•Ÿå‹•" #: editor/project_manager.cpp -#, fuzzy msgid "Can't run project" -msgstr "連接..." +msgstr "無法執行專案" #: editor/project_manager.cpp msgid "" "You currently don't have any projects.\n" "Would you like to explore official example projects in the Asset Library?" msgstr "" +"ç›®å‰æ²’有任何專案。\n" +"è¦åœ¨ç´ æ庫ä¸ç€è¦½å®˜æ–¹ç¯„例專案嗎?" #: editor/project_manager.cpp msgid "" @@ -10224,237 +9761,232 @@ msgid "" "To filter projects by name and full path, the query must contain at least " "one `/` character." msgstr "" +"æœå°‹æ¡†å¯ä»¥ç”¨ä¾†ä¾æ“šå稱與路徑ä¸çš„最後一部分來éŽæ¿¾å°ˆæ¡ˆã€‚\n" +"è‹¥è¦ä»¥å稱與完整路徑來éŽæ¿¾å°ˆæ¡ˆï¼Œæœå°‹å…§å®¹æ‡‰è©²è‡³å°‘包å«ä¸€å€‹ã€Œ/ã€å—元。" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "" +msgstr "éµ " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "" +msgstr "控制器按鈕" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "" +msgstr "控制器類比軸" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "æ»‘é¼ æŒ‰éˆ•" #: editor/project_settings_editor.cpp msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" -msgstr "" +msgstr "無效的æ“作å稱。ä¸èƒ½ç‚ºç©ºæˆ–包å«ã€Œ/ã€ã€ã€Œ:ã€ã€ã€Œ=ã€ã€ã€Œ\\ã€æˆ–「\"ã€" #: editor/project_settings_editor.cpp -#, fuzzy msgid "An action with the name '%s' already exists." -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "已有å稱「%sã€çš„æ“作。" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" -msgstr "" +msgstr "é‡æ–°å‘½å輸入æ“作事件" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Change Action deadzone" -msgstr "改變å—å…¸ value" +msgstr "修改æ“作盲å€" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" -msgstr "" +msgstr "新增輸入æ“作事件" #: editor/project_settings_editor.cpp msgid "All Devices" -msgstr "" +msgstr "所有è£ç½®" #: editor/project_settings_editor.cpp msgid "Device" -msgstr "" +msgstr "è£ç½®" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." -msgstr "" +msgstr "請按下按éµ..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "æ»‘é¼ æŒ‰éµç´¢å¼•ï¼š" #: editor/project_settings_editor.cpp msgid "Left Button" -msgstr "" +msgstr "å·¦éµ" #: editor/project_settings_editor.cpp msgid "Right Button" -msgstr "" +msgstr "å³éµ" #: editor/project_settings_editor.cpp msgid "Middle Button" -msgstr "" +msgstr "ä¸éµ" #: editor/project_settings_editor.cpp msgid "Wheel Up Button" -msgstr "" +msgstr "滾輪å‘上按éµ" #: editor/project_settings_editor.cpp msgid "Wheel Down Button" -msgstr "" +msgstr "滾輪å‘下按éµ" #: editor/project_settings_editor.cpp msgid "Wheel Left Button" -msgstr "" +msgstr "滾輪å‘左按éµ" #: editor/project_settings_editor.cpp msgid "Wheel Right Button" -msgstr "" +msgstr "滾輪å‘å³æŒ‰éµ" #: editor/project_settings_editor.cpp msgid "X Button 1" -msgstr "" +msgstr "X æŒ‰éµ 1" #: editor/project_settings_editor.cpp msgid "X Button 2" -msgstr "" +msgstr "X æŒ‰éµ 2" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "控制器類比æ–桿索引:" #: editor/project_settings_editor.cpp msgid "Axis" -msgstr "" +msgstr "類比軸" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "控制器按鈕索引:" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Erase Input Action" -msgstr "所有的é¸æ“‡" +msgstr "清除輸入æ“作" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "" +msgstr "清除輸入æ“作事件" #: editor/project_settings_editor.cpp msgid "Add Event" -msgstr "" +msgstr "新增事件" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "" +msgstr "Button(按鈕)" #: editor/project_settings_editor.cpp msgid "Left Button." -msgstr "" +msgstr "å·¦éµã€‚" #: editor/project_settings_editor.cpp msgid "Right Button." -msgstr "" +msgstr "å³éµã€‚" #: editor/project_settings_editor.cpp msgid "Middle Button." -msgstr "" +msgstr "ä¸éµã€‚" #: editor/project_settings_editor.cpp msgid "Wheel Up." -msgstr "" +msgstr "滾輪å‘上。" #: editor/project_settings_editor.cpp msgid "Wheel Down." -msgstr "" +msgstr "滾輪å‘下。" #: editor/project_settings_editor.cpp msgid "Add Global Property" -msgstr "" +msgstr "新增全域屬性" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "è«‹å…ˆé¸æ“‡ä¸€å€‹è¨å®šé …ç›®ï¼" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "" +msgstr "屬性「%sã€ä¸å˜åœ¨ã€‚" #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "「%sã€ç‚ºå…§éƒ¨è¨å®šï¼Œç„¡æ³•åˆªé™¤ã€‚" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Delete Item" -msgstr "刪除" +msgstr "åˆªé™¤é …ç›®" #: editor/project_settings_editor.cpp msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." -msgstr "" +msgstr "無效的æ“作å稱。ä¸èƒ½ç‚ºç©ºæˆ–包å«ã€Œ/ã€ã€ã€Œ:ã€ã€ã€Œ=ã€ã€ã€Œ\\ã€æˆ–「\"ã€ã€‚" #: editor/project_settings_editor.cpp msgid "Add Input Action" -msgstr "" +msgstr "新增輸入æ“作" #: editor/project_settings_editor.cpp msgid "Error saving settings." -msgstr "" +msgstr "ä¿å˜è¨å®šæ™‚發生錯誤。" #: editor/project_settings_editor.cpp msgid "Settings saved OK." -msgstr "" +msgstr "è¨å®šä¿å˜æˆåŠŸã€‚" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Moved Input Action Event" -msgstr "所有的é¸æ“‡" +msgstr "移動輸入æ“作事件" #: editor/project_settings_editor.cpp msgid "Override for Feature" -msgstr "" +msgstr "複寫功能" #: editor/project_settings_editor.cpp msgid "Add Translation" -msgstr "" +msgstr "新增翻è¯" #: editor/project_settings_editor.cpp msgid "Remove Translation" -msgstr "" +msgstr "移除翻è¯" #: editor/project_settings_editor.cpp msgid "Add Remapped Path" -msgstr "" +msgstr "新增é‡æ˜ 射路徑" #: editor/project_settings_editor.cpp msgid "Resource Remap Add Remap" -msgstr "" +msgstr "資æºé‡æ˜ 射新增é‡æ˜ å°„" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" -msgstr "" +msgstr "更改資æºé‡æ˜ 射語言" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap" -msgstr "" +msgstr "移除資æºé‡æ˜ å°„" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap Option" -msgstr "" +msgstr "移除資æºé‡æ˜ å°„é¸é …" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Changed Locale Filter" -msgstr "變更é¡é 尺寸" +msgstr "更改å€åŸŸéŽæ¿¾" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "更改å€åŸŸéŽæ¿¾æ¨¡å¼" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Project Settings (project.godot)" -msgstr "專案è¨å®š" +msgstr "專案è¨å®š (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" @@ -10462,929 +9994,893 @@ msgstr "一般" #: editor/project_settings_editor.cpp msgid "Override For..." -msgstr "" +msgstr "複寫..." #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "The editor must be restarted for changes to take effect." -msgstr "" +msgstr "å¿…é ˆé‡æ–°å•Ÿå‹•ç·¨è¼¯å™¨æ‰æœƒä½¿æ”¹å‹•ç”Ÿæ•ˆã€‚" #: editor/project_settings_editor.cpp msgid "Input Map" -msgstr "" +msgstr "è¼¸å…¥æ˜ å°„" #: editor/project_settings_editor.cpp msgid "Action:" -msgstr "" +msgstr "æ“作:" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Action" -msgstr "所有的é¸æ“‡" +msgstr "æ“作" #: editor/project_settings_editor.cpp msgid "Deadzone" -msgstr "" +msgstr "盲å€" #: editor/project_settings_editor.cpp msgid "Device:" -msgstr "" +msgstr "è¨å‚™ï¼š" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "" +msgstr "索引:" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "本地化" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "ç¿»è¯" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "ç¿»è¯ï¼š" #: editor/project_settings_editor.cpp msgid "Remaps" -msgstr "" +msgstr "é‡æ˜ å°„" #: editor/project_settings_editor.cpp msgid "Resources:" -msgstr "" +msgstr "資æºï¼š" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" -msgstr "" +msgstr "ä¾èªžè¨€é‡æ˜ 射:" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "語言" #: editor/project_settings_editor.cpp msgid "Locales Filter" -msgstr "" +msgstr "語言éŽæ¿¾" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show All Locales" -msgstr "顯示骨骼" +msgstr "顯示所有語言" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show Selected Locales Only" -msgstr "僅é¸æ“‡å€åŸŸ" +msgstr "僅顯示é¸å®šçš„語言" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Filter mode:" -msgstr "éŽæ¿¾æª”案..." +msgstr "éŽæ¿¾æ¨¡å¼ï¼š" #: editor/project_settings_editor.cpp msgid "Locales:" -msgstr "" +msgstr "語言:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "" +msgstr "Autoload" #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "挿件" +msgstr "外掛" #: editor/property_editor.cpp msgid "Preset..." -msgstr "é è¨ã€‚。。" +msgstr "Preset..." #: editor/property_editor.cpp msgid "Zero" -msgstr "" +msgstr "ç„¡" #: editor/property_editor.cpp msgid "Easing In-Out" -msgstr "" +msgstr "緩入緩出" #: editor/property_editor.cpp msgid "Easing Out-In" -msgstr "" +msgstr "緩入緩出(åå‘)" #: editor/property_editor.cpp msgid "File..." -msgstr "" +msgstr "檔案..." #: editor/property_editor.cpp msgid "Dir..." -msgstr "" +msgstr "資料夾..." #: editor/property_editor.cpp msgid "Assign" -msgstr "" +msgstr "指派" #: editor/property_editor.cpp msgid "Select Node" -msgstr "" +msgstr "é¸æ“‡ç¯€é»ž" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "載入檔案時發生錯誤:éžè³‡æºï¼" #: editor/property_editor.cpp msgid "Pick a Node" -msgstr "" +msgstr "é¸æ“‡ä¸€å€‹ç¯€é»ž" #: editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "ä½å…ƒ %d,值 %d。" #: editor/property_selector.cpp msgid "Select Property" -msgstr "" +msgstr "é¸æ“‡å±¬æ€§" #: editor/property_selector.cpp msgid "Select Virtual Method" -msgstr "" +msgstr "é¸æ“‡è™›æ“¬æ–¹æ³•" #: editor/property_selector.cpp msgid "Select Method" -msgstr "" +msgstr "é¸æ“‡æ–¹æ³•" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Batch Rename" -msgstr "符åˆå¤§å°å¯«" +msgstr "批次é‡æ–°å‘½å" #: editor/rename_dialog.cpp msgid "Prefix" -msgstr "" +msgstr "å‰ç½®" #: editor/rename_dialog.cpp msgid "Suffix" -msgstr "" +msgstr "後置" #: editor/rename_dialog.cpp -#, fuzzy msgid "Use Regular Expressions" -msgstr "è¨ç½®ç£è²¼å€åŸŸ" +msgstr "使用æ£è¦è¡¨ç¤ºå¼" #: editor/rename_dialog.cpp -#, fuzzy msgid "Advanced Options" -msgstr "å¸é™„é¸é …" +msgstr "進階é¸é …" #: editor/rename_dialog.cpp msgid "Substitute" -msgstr "" +msgstr "å–代" #: editor/rename_dialog.cpp -#, fuzzy msgid "Node name" -msgstr "節點å稱:" +msgstr "節點å稱" #: editor/rename_dialog.cpp msgid "Node's parent name, if available" -msgstr "" +msgstr "節點的æ¯ç´šç¯€é»žå(若有的話)" #: editor/rename_dialog.cpp -#, fuzzy msgid "Node type" -msgstr "節點å稱:" +msgstr "節點型別" #: editor/rename_dialog.cpp -#, fuzzy msgid "Current scene name" -msgstr "ç›®å‰çš„å ´æ™¯å°šæœªå˜æª”, ä¾ç„¶è¦é–‹å•Ÿå—Ž?" +msgstr "ç›®å‰å ´æ™¯å稱" #: editor/rename_dialog.cpp msgid "Root node name" -msgstr "" +msgstr "æ ¹ç¯€é»žå稱" #: editor/rename_dialog.cpp msgid "" "Sequential integer counter.\n" "Compare counter options." msgstr "" +"åºåˆ—整數計數器。\n" +"比較計數器é¸é …。" #: editor/rename_dialog.cpp msgid "Per-level Counter" -msgstr "" +msgstr "å„級別分別計數器" #: editor/rename_dialog.cpp msgid "If set the counter restarts for each group of child nodes" -msgstr "" +msgstr "若啟用則計數器將ä¾æ“šæ¯çµ„å節點é‡æ–°å•Ÿå‹•" #: editor/rename_dialog.cpp msgid "Initial value for the counter" -msgstr "" +msgstr "計數器起始值" #: editor/rename_dialog.cpp -#, fuzzy msgid "Step" -msgstr "æ¥é©Ÿ :" +msgstr "æ¥é•·" #: editor/rename_dialog.cpp msgid "Amount by which counter is incremented for each node" -msgstr "" +msgstr "å„ç¯€é»žçš„è¨ˆæ•¸å™¨çš„å¢žåŠ é‡" #: editor/rename_dialog.cpp msgid "Padding" -msgstr "" +msgstr "å¡«å……" #: editor/rename_dialog.cpp msgid "" "Minimum number of digits for the counter.\n" "Missing digits are padded with leading zeros." msgstr "" +"計數器的最å°ä½æ•¸ã€‚\n" +"缺少的ä½æ•¸æœƒä»¥å‰ç½® 0 填充。" #: editor/rename_dialog.cpp msgid "Post-Process" -msgstr "" +msgstr "後處ç†" #: editor/rename_dialog.cpp msgid "Keep" -msgstr "" +msgstr "ä¿æŒ" #: editor/rename_dialog.cpp msgid "PascalCase to snake_case" -msgstr "" +msgstr "將大é§å³°æ³• (PascalCase) 轉為底線 (snake_case)" #: editor/rename_dialog.cpp msgid "snake_case to PascalCase" -msgstr "" +msgstr "將底線 (snake_case) 轉為é§å³°æ³• (PascalCase)" #: editor/rename_dialog.cpp msgid "Case" -msgstr "" +msgstr "大å°å¯«" #: editor/rename_dialog.cpp -#, fuzzy msgid "To Lowercase" -msgstr "轉æ›æˆ..." +msgstr "轉為å°å¯«" #: editor/rename_dialog.cpp -#, fuzzy msgid "To Uppercase" -msgstr "轉æ›æˆ..." +msgstr "轉為大寫" #: editor/rename_dialog.cpp -#, fuzzy msgid "Reset" -msgstr "é‡è¨ç¸®æ”¾å¤§å°" +msgstr "é‡è¨" #: editor/rename_dialog.cpp msgid "Regular Expression Error" -msgstr "" +msgstr "æ£è¦è¡¨ç¤ºå¼éŒ¯èª¤" #: editor/rename_dialog.cpp -#, fuzzy msgid "At character %s" -msgstr "åˆæ³•å—å…ƒ:" +msgstr "ä½æ–¼å—å…ƒ %s" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" -msgstr "" +msgstr "é‡è¨æ¯ç¯€é»ž" #: editor/reparent_dialog.cpp msgid "Reparent Location (Select new Parent):" -msgstr "" +msgstr "é‡è¨æ¯ä½ç½®ï¼ˆé¸æ“‡æ–°çš„æ¯ç¯€é»žï¼‰ï¼š" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" -msgstr "" +msgstr "ä¿æŒå…¨åŸŸè®Šæ›" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent" -msgstr "" +msgstr "é‡è¨æ¯ç¯€é»ž" #: editor/run_settings_dialog.cpp msgid "Run Mode:" -msgstr "" +msgstr "執行模å¼ï¼š" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "ç›®å‰å ´æ™¯" #: editor/run_settings_dialog.cpp msgid "Main Scene" -msgstr "" +msgstr "ä¸»å ´æ™¯" #: editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "" +msgstr "ä¸»å ´æ™¯å¼•æ•¸ï¼š" #: editor/run_settings_dialog.cpp msgid "Scene Run Settings" -msgstr "" +msgstr "å ´æ™¯åŸ·è¡Œè¨å®š" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." -msgstr "" +msgstr "ç„¡å¯å¯¦é«”åŒ–å ´æ™¯çš„æ¯ç¯€é»žã€‚" #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" -msgstr "" +msgstr "自 %s ä¸è¼‰å…¥å ´æ™¯æ™‚發生錯誤" #: editor/scene_tree_dock.cpp msgid "" "Cannot instance the scene '%s' because the current scene exists within one " "of its nodes." -msgstr "" +msgstr "ç„¡æ³•å¯¦é«”åŒ–å ´æ™¯ã€Œ%sã€ï¼Œç”±æ–¼å…¶å·²å˜åœ¨æ–¼å…¶ä¸€å節點ä¸ã€‚" #: editor/scene_tree_dock.cpp msgid "Instance Scene(s)" -msgstr "" +msgstr "å¯¦é«”åŒ–å ´æ™¯" #: editor/scene_tree_dock.cpp msgid "Replace with Branch Scene" -msgstr "" +msgstr "å–ä»£åˆ†æ”¯å ´æ™¯" #: editor/scene_tree_dock.cpp msgid "Instance Child Scene" -msgstr "" +msgstr "實體化åå ´æ™¯" #: editor/scene_tree_dock.cpp -msgid "Clear Script" -msgstr "" +msgid "Detach Script" +msgstr "å–æ¶ˆé™„åŠ è…³æœ¬" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." -msgstr "" +msgstr "æ¤æ“ä½œç„¡æ³•åœ¨æ¨¹ç‹€æ ¹åŸ·è¡Œã€‚" #: editor/scene_tree_dock.cpp msgid "Move Node In Parent" -msgstr "" +msgstr "移動節點至其æ¯ç¯€é»ž" #: editor/scene_tree_dock.cpp msgid "Move Nodes In Parent" -msgstr "" +msgstr "移動節點至æ¯ç¯€é»ž" #: editor/scene_tree_dock.cpp msgid "Duplicate Node(s)" -msgstr "" +msgstr "é‡è¤‡ç¯€é»ž" #: editor/scene_tree_dock.cpp msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." -msgstr "" +msgstr "無法é‡æ–°è¨å®šç¹¼æ‰¿å ´æ™¯ç¯€é»žçš„æ¯ç¯€é»žï¼Œç¯€é»žçš„é †åºç„¡æ³•æ›´æ”¹ã€‚" #: editor/scene_tree_dock.cpp msgid "Node must belong to the edited scene to become root." -msgstr "" +msgstr "ç¯€é»žå¿…é ˆå±¬æ–¼å·²ç·¨è¼¯çš„å ´æ™¯æ‰èƒ½è½‰ç‚ºæ ¹ç¯€é»žã€‚" #: editor/scene_tree_dock.cpp msgid "Instantiated scenes can't become root" -msgstr "" +msgstr "å¯¦é«”åŒ–çš„å ´æ™¯ç„¡æ³•è½‰ç‚ºæ ¹ç¯€é»ž" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "儲å˜å ´æ™¯" +msgstr "將節點è¨ç‚ºæ ¹ç¯€é»ž" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete %d nodes?" -msgstr "刪除" +msgstr "刪除 %d 個節點?" #: editor/scene_tree_dock.cpp msgid "Delete the root node \"%s\"?" -msgstr "" +msgstr "確定è¦åˆªé™¤æ ¹ç¯€é»žã€Œ%sã€å—Žï¼Ÿ" #: editor/scene_tree_dock.cpp msgid "Delete node \"%s\" and its children?" -msgstr "" +msgstr "確定è¦åˆªé™¤ç¯€é»žã€Œ%sã€èˆ‡å…¶å節點嗎?" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete node \"%s\"?" -msgstr "刪除" +msgstr "確定è¦åˆªé™¤ç¯€é»žã€Œ%sã€å—Žï¼Ÿ" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." -msgstr "" +msgstr "ç„¡æ³•åœ¨æ ¹ç¯€é»žåŸ·è¡Œæ¤æ“作。" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on instanced scenes." -msgstr "" +msgstr "該æ“ä½œç„¡æ³•åœ¨å·²å¯¦é«”åŒ–å ´æ™¯ä¸åŸ·è¡Œã€‚" #: editor/scene_tree_dock.cpp msgid "Save New Scene As..." -msgstr "" +msgstr "å¦å˜æ–°å ´æ™¯ç‚º..." #: editor/scene_tree_dock.cpp msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." -msgstr "" +msgstr "ç¦ç”¨ã€Œeditable_instanceã€å°‡å°Žè‡´ç¯€é»žçš„所有屬性都被還原為其é è¨å€¼ã€‚" #: editor/scene_tree_dock.cpp msgid "" "Enabling \"Load As Placeholder\" will disable \"Editable Children\" and " "cause all properties of the node to be reverted to their default." msgstr "" +"啟用「載入為佔ä½ã€å°‡ç¦ç”¨ã€Œå¯ç·¨è¼¯å節點ã€ä¸¦å°Žè‡´å…¶æ‰€æœ‰ç¯€é»žéƒ½è¢«é‚„原為其é è¨å€¼ã€‚" #: editor/scene_tree_dock.cpp msgid "Make Local" -msgstr "" +msgstr "轉為本地" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "儲å˜å ´æ™¯" +msgstr "æ–°å ´æ™¯æ ¹" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Create Root Node:" -msgstr "新增資料夾" +msgstr "å»ºç«‹æ ¹ç¯€é»žï¼š" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "2D Scene" -msgstr "å ´æ™¯" +msgstr "2D å ´æ™¯" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "3D Scene" -msgstr "å ´æ™¯" +msgstr "3D å ´æ™¯" #: editor/scene_tree_dock.cpp msgid "User Interface" -msgstr "" +msgstr "使用者界é¢" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Other Node" -msgstr "刪除" +msgstr "其他節點" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes from a foreign scene!" -msgstr "" +msgstr "無法å°å¤–éƒ¨å ´æ™¯çš„ç¯€é»žé€²è¡Œæ“作ï¼" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" +msgstr "無法å°ç›®å‰å ´æ™¯ç¹¼æ‰¿ä¾†æºçš„節點進行æ“作ï¼" #: editor/scene_tree_dock.cpp msgid "Attach Script" -msgstr "" +msgstr "é™„åŠ è…³æœ¬" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" -msgstr "" +msgstr "移除節點" #: editor/scene_tree_dock.cpp msgid "Change type of node(s)" -msgstr "" +msgstr "更改節點的型別" #: editor/scene_tree_dock.cpp msgid "" "Couldn't save new scene. Likely dependencies (instances) couldn't be " "satisfied." -msgstr "" +msgstr "無法ä¿å˜æ–°å ´æ™¯ã€‚很å¯èƒ½ç”±æ–¼ç„¡æ³•æ»¿è¶³å…¶ä¾è³´æ€§ï¼ˆå¯¦é«”)。" #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "" +msgstr "ä¿å˜å ´æ™¯æ™‚發生錯誤。" #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "" +msgstr "è¤‡è£½å ´æ™¯ä»¥é€²è¡Œä¿å˜æ™‚發生錯誤。" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Sub-Resources" -msgstr "複製資æº" +msgstr "å資æº" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" -msgstr "" +msgstr "清除繼承" #: editor/scene_tree_dock.cpp msgid "Editable Children" -msgstr "" +msgstr "å¯ç·¨è¼¯å節點" #: editor/scene_tree_dock.cpp msgid "Load As Placeholder" -msgstr "" +msgstr "載入為佔ä½" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Open Documentation" -msgstr "開啟最近å˜å–" +msgstr "開啟說明文件" #: editor/scene_tree_dock.cpp -msgid "Add Child Node" +msgid "" +"Cannot attach a script: there are no languages registered.\n" +"This is probably because this editor was built with all language modules " +"disabled." msgstr "" +"ç„¡æ³•é™„åŠ è…³æœ¬ï¼šæœªè¨»å†Šä»»ä½•èªžè¨€ã€‚\n" +"有å¯èƒ½æ˜¯ç”±æ–¼ç·¨è¼¯å™¨åœ¨å»ºæ§‹æ™‚未啟用任何語言模組。" + +#: editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "新增å節點" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Expand/Collapse All" -msgstr "å–代全部" +msgstr "展開ï¼æ”¶åˆå…¨éƒ¨" #: editor/scene_tree_dock.cpp msgid "Change Type" -msgstr "" +msgstr "更改型別" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Reparent to New Node" -msgstr "新增 %s" +msgstr "é‡æ–°è¨å®šæ¯ç¯€é»žç‚ºæ–°ç¯€é»ž" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make Scene Root" -msgstr "儲å˜å ´æ™¯" +msgstr "è¨ç‚ºå ´æ™¯æ ¹ç¯€é»ž" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "" +msgstr "åˆä½µè‡ªå ´æ™¯" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp msgid "Save Branch as Scene" -msgstr "" +msgstr "ä¿å˜åˆ†æ”¯ç‚ºå ´æ™¯" #: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp msgid "Copy Node Path" -msgstr "" +msgstr "複製節點路徑" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" -msgstr "" +msgstr "刪除(無確èªï¼‰" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Add/Create a New Node." -msgstr "新增 %s" +msgstr "新增ï¼å»ºç«‹æ–°ç¯€é»žã€‚" #: editor/scene_tree_dock.cpp msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." -msgstr "" +msgstr "å°‡å ´æ™¯æª”æ¡ˆå¯¦é«”åŒ–ç‚ºç¯€é»žã€‚è‹¥ç„¡æ ¹ç¯€é»žå‰‡å»ºç«‹ä¸€å€‹ç¹¼æ‰¿å ´æ™¯ã€‚" #: editor/scene_tree_dock.cpp -msgid "Attach a new or existing script for the selected node." -msgstr "" +msgid "Attach a new or existing script to the selected node." +msgstr "é™„åŠ æ–°çš„æˆ–å·²å˜åœ¨ä¹‹è…³æœ¬è‡³æ‰€é¸ç¯€é»žã€‚" #: editor/scene_tree_dock.cpp -msgid "Clear a script for the selected node." -msgstr "" +msgid "Detach the script from the selected node." +msgstr "自所é¸ç¯€é»žå–æ¶ˆé™„åŠ è…³æœ¬ã€‚" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Remote" -msgstr "移除" +msgstr "é 端" #: editor/scene_tree_dock.cpp msgid "Local" -msgstr "" +msgstr "本機" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" -msgstr "" +msgstr "確定è¦æ¸…除繼承嗎?(無法復原ï¼ï¼‰" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Toggle Visible" -msgstr "切æ›é¡¯ç¤ºéš±è—檔案" +msgstr "切æ›å¯è¦‹ï¼éš±è—" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Unlock Node" -msgstr "å–®é …ç¯€é»ž" +msgstr "解鎖節點" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Button Group" -msgstr "æ·»åŠ åˆ°çµ„" +msgstr "按éµåˆ†çµ„" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "(Connecting From)" -msgstr "連接..." +msgstr "(連接自)" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" -msgstr "" +msgstr "節點組態è¨å®šè¦å‘Šï¼š" #: editor/scene_tree_editor.cpp msgid "" "Node has %s connection(s) and %s group(s).\n" "Click to show signals dock." msgstr "" +"節點有 %s 連接與 %s 分組。\n" +"點擊以顯示訊號 Dock。" #: editor/scene_tree_editor.cpp msgid "" "Node has %s connection(s).\n" "Click to show signals dock." msgstr "" +"節點有 %s 連接。\n" +"點擊以顯示訊號 Dock。" #: editor/scene_tree_editor.cpp msgid "" "Node is in %s group(s).\n" "Click to show groups dock." msgstr "" +"節點ä½æ–¼ %s 個群組ä¸ã€‚\n" +"點擊以顯示群組 Dock。" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Open Script:" -msgstr "開啟最近å˜å–" +msgstr "開啟腳本:" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock it." msgstr "" +"節點已鎖定。\n" +"點擊以解鎖。" #: editor/scene_tree_editor.cpp msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" +"å節點ä¸å¯é¸æ“‡ã€‚\n" +"點擊以令其å¯è¢«é¸æ“‡ã€‚" #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" -msgstr "" +msgstr "切æ›å¯è¦‹ï¼éš±è—" #: editor/scene_tree_editor.cpp msgid "" "AnimationPlayer is pinned.\n" "Click to unpin." msgstr "" +"已固定動畫æ’放器 (AnimationPlayer)。\n" +"點擊以å–消固定。" #: editor/scene_tree_editor.cpp msgid "Invalid node name, the following characters are not allowed:" -msgstr "" +msgstr "無效的節點å稱,å稱ä¸å¯åŒ…å«ä¸‹åˆ—å—元:" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "é‡æ–°å‘½å節點" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" -msgstr "å ´æ™¯æ¨¹ (節點):" +msgstr "å ´æ™¯æ¨¹ï¼ˆç¯€é»žï¼‰ï¼š" #: editor/scene_tree_editor.cpp msgid "Node Configuration Warning!" -msgstr "" +msgstr "節點組態è¨å®šè¦å‘Šï¼" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "é¸æ“‡ä¸€å€‹ç¯€é»ž" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Path is empty." -msgstr "ç¶²æ ¼æ˜¯ç©ºçš„ï¼" +msgstr "路徑為空。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Filename is empty." -msgstr "Sprite 是空的ï¼" +msgstr "檔案å稱為空。" #: editor/script_create_dialog.cpp msgid "Path is not local." -msgstr "" +msgstr "路徑ä¸åœ¨æœ¬æ©Ÿã€‚" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid base path." -msgstr "無效的路徑." +msgstr "無效的基礎路徑。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "A directory with the same name exists." -msgstr "具有æ¤å稱的檔或資料夾已å˜åœ¨ã€‚" +msgstr "已有資料夾具有相åŒå稱。" + +#: editor/script_create_dialog.cpp +msgid "File does not exist." +msgstr "檔案ä¸å˜åœ¨ã€‚" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid extension." -msgstr "å¿…é ˆä½¿ç”¨æœ‰æ•ˆçš„å‰¯æª”å。" +msgstr "無效的副檔å。" #: editor/script_create_dialog.cpp msgid "Wrong extension chosen." -msgstr "" +msgstr "é¸æ“‡äº†éŒ¯èª¤çš„副檔å。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Error loading template '%s'" -msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" +msgstr "載入樣æ¿ã€Œ%sã€æ™‚發生錯誤" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Error - Could not create script in filesystem." -msgstr "無法新增資料夾" +msgstr "錯誤 - 無法在檔案系統ä¸å»ºç«‹è…³æœ¬ã€‚" #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "" +msgstr "自 %s 載入腳本時發生錯誤" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Overrides" -msgstr "覆蓋" +msgstr "複寫" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "N/A" #: editor/script_create_dialog.cpp msgid "Open Script / Choose Location" -msgstr "" +msgstr "開啟腳本ï¼é¸æ“‡ä½ç½®" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script" -msgstr "開啟最近å˜å–" +msgstr "開啟腳本" #: editor/script_create_dialog.cpp -#, fuzzy msgid "File exists, it will be reused." -msgstr "檔案已經å˜åœ¨, è¦è¦†å¯«å—Ž?" +msgstr "檔案已å˜åœ¨ï¼Œå°‡è¢«é‡è¤‡ä½¿ç”¨ã€‚" + +#: editor/script_create_dialog.cpp +msgid "Invalid path." +msgstr "無效的路徑。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid class name." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的類型å稱。" #: editor/script_create_dialog.cpp msgid "Invalid inherited parent name or path." -msgstr "" +msgstr "繼承æ¯çš„å稱或路徑無效。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Script path/name is valid." -msgstr "動畫樹有效。" +msgstr "å¯ç”¨çš„腳本路徑ï¼å稱。" #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9, _ and ." -msgstr "" +msgstr "å¯ä½¿ç”¨ï¼ša-zã€A-Zã€0-9ã€_ ä»¥åŠ ." #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in script (into scene file)." -msgstr "æ“ä½œå ´æ™¯æ–‡ä»¶ã€‚" +msgstr "å…§å»ºè…³æœ¬ï¼ˆåˆ°å ´æ™¯æª”æ¡ˆä¸ï¼‰ã€‚" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Will create a new script file." -msgstr "創建新矩形。" +msgstr "將建立一個新的腳本檔案。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Will load an existing script file." -msgstr "讀å–ç¾å˜çš„ Bus é…置。" +msgstr "將讀å–一個ç¾å˜çš„腳本檔案。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Script file already exists." -msgstr "Autoload「%sã€å·²ç¶“å˜åœ¨!" +msgstr "腳本檔案已å˜åœ¨ã€‚" #: editor/script_create_dialog.cpp msgid "" "Note: Built-in scripts have some limitations and can't be edited using an " "external editor." -msgstr "" +msgstr "注æ„:內置腳本有些é™åˆ¶ï¼Œä¸”無法使用外部編輯器來編輯。" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Class Name:" -msgstr "Class:" +msgstr "類別å稱:" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Template:" -msgstr "移除範本" +msgstr "樣æ¿ï¼š" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Built-in Script:" -msgstr "開啟最近å˜å–" +msgstr "內建腳本:" #: editor/script_create_dialog.cpp msgid "Attach Node Script" -msgstr "" +msgstr "é™„åŠ ç¯€é»žè…³æœ¬" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote " -msgstr "移除" +msgstr "é 端 " #: editor/script_editor_debugger.cpp msgid "Bytes:" -msgstr "" +msgstr "ä½å…ƒçµ„:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Warning:" -msgstr "è¦å‘Š" +msgstr "è¦å‘Šï¼š" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Error:" -msgstr "錯誤ï¼" +msgstr "錯誤:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Error" -msgstr "連接..." +msgstr "C++ 錯誤" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Error:" -msgstr "連接..." +msgstr "C++ 錯誤:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Source" -msgstr "資æº" +msgstr "C++ 原始檔" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Source:" -msgstr "資æº" +msgstr "原始檔:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "C++ Source:" -msgstr "資æº" +msgstr "C++ 原始檔:" #: editor/script_editor_debugger.cpp msgid "Stack Trace" -msgstr "" +msgstr "å †ç–Šå›žæº¯" #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "錯誤" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Child process connected." -msgstr "æ–·ç·š" +msgstr "已連線至å處ç†ç¨‹åºã€‚" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Copy Error" -msgstr "連接..." +msgstr "複製錯誤" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Video RAM" -msgstr "影片記憶體" +msgstr "視訊記憶體" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Skip Breakpoints" -msgstr "刪除" +msgstr "è·³éŽä¸æ–·é»ž" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" -msgstr "" +msgstr "åµæŸ¥å‰ä¸€å€‹å¯¦é«”" #: editor/script_editor_debugger.cpp msgid "Inspect Next Instance" -msgstr "" +msgstr "åµæŸ¥ä¸‹ä¸€å€‹å¯¦é«”" #: editor/script_editor_debugger.cpp msgid "Stack Frames" -msgstr "" +msgstr "å †ç–Šæ¡†" #: editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "分æžå·¥å…·" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Network Profiler" -msgstr "輸出專案" +msgstr "網路分æžå·¥å…·" #: editor/script_editor_debugger.cpp msgid "Monitor" -msgstr "" +msgstr "檢視程å¼" #: editor/script_editor_debugger.cpp msgid "Value" msgstr "數值" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Monitors" -msgstr "監看畫é¢" +msgstr "監視程å¼" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "å列表ä¸é¸æ“‡ä¸€å€‹æˆ–å¤šå€‹é …ç›®ä»¥é¡¯ç¤ºåœ–è¡¨ã€‚" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "List of Video Memory Usage by Resource:" -msgstr "影片記憶體使用容é‡åˆ—表(ä¾è³‡æºåˆ¥):" +msgstr "ä¾æ“šè³‡æºåˆ—出視訊記憶體佔用:" #: editor/script_editor_debugger.cpp msgid "Total:" msgstr "總計:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Export list to a CSV file" -msgstr "輸出專案" +msgstr "匯出列表至 CSV 檔案" #: editor/script_editor_debugger.cpp msgid "Resource Path" @@ -11392,11 +10888,11 @@ msgstr "資æºè·¯å¾‘" #: editor/script_editor_debugger.cpp msgid "Type" -msgstr "é¡žåž‹" +msgstr "型別" #: editor/script_editor_debugger.cpp msgid "Format" -msgstr "" +msgstr "æ ¼å¼" #: editor/script_editor_debugger.cpp msgid "Usage" @@ -11407,41 +10903,36 @@ msgid "Misc" msgstr "é›œé …" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Clicked Control:" -msgstr "點擊控制:" +msgstr "已點擊的 Control:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Clicked Control Type:" -msgstr "點擊控制類型:" +msgstr "已點擊的 Control 型別:" #: editor/script_editor_debugger.cpp msgid "Live Edit Root:" -msgstr "" +msgstr "å³æ™‚ç·¨è¼¯æ ¹ç¯€é»žï¼š" #: editor/script_editor_debugger.cpp msgid "Set From Tree" -msgstr "" +msgstr "è‡ªå ´æ™¯æ¨¹ä¸è¨å®š" #: editor/script_editor_debugger.cpp msgid "Export measures as CSV" -msgstr "" +msgstr "匯出測é‡è³‡æ–™ç‚º CSV" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "æ·å¾‘" +msgstr "清除快æ·éµ" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "æ·å¾‘" +msgstr "é‡è¨å¿«æ·éµ" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "æ·å¾‘" +msgstr "更改快æ·éµ" #: editor/settings_config_dialog.cpp msgid "Editor Settings" @@ -11449,892 +10940,880 @@ msgstr "編輯器è¨å®š" #: editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "æ·å¾‘" +msgstr "å¿«æ·éµ" #: editor/settings_config_dialog.cpp msgid "Binding" -msgstr "" +msgstr "ç¶å®š" #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" -msgstr "變更光æºåŠå¾‘" +msgstr "更改光照åŠå¾‘" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "更改音訊串æµæ’放器 3D (AudioStreamPlayer3D) 發射角" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" -msgstr "變更é¡é 視野(FOV)" +msgstr "更改相機視角" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" -msgstr "變更é¡é 尺寸" +msgstr "更改相機尺寸" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier AABB" -msgstr "" +msgstr "更改通知器 AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" -msgstr "" +msgstr "更改粒å AABB" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Probe Extents" -msgstr "變更框型範åœ" +msgstr "更改探é‡ç¯„åœ" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Sphere Shape Radius" -msgstr "變更çƒåž‹åŠå¾‘" +msgstr "更改çƒå½¢åŠå¾‘" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "變更框型範åœ" +msgstr "更改框形範åœ" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "變更楕圓體åŠå¾‘" +msgstr "更改楕圓形åŠå¾‘" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "變更楕圓體高度" +msgstr "更改楕圓形高度" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Cylinder Shape Radius" -msgstr "變更楕圓體åŠå¾‘" +msgstr "更改圓柱形åŠå¾‘" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Cylinder Shape Height" -msgstr "變更楕圓體高度" +msgstr "更改圓柱形高度" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" -msgstr "" +msgstr "更改射線形長度" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Cylinder Radius" -msgstr "變更光æºåŠå¾‘" +msgstr "更改圓柱體åŠå¾‘" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Cylinder Height" -msgstr "變更楕圓體高度" +msgstr "更改圓柱體高度" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Torus Inner Radius" -msgstr "變更çƒåž‹åŠå¾‘" +msgstr "更改環é¢å…§åŠå¾‘" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Torus Outer Radius" -msgstr "變更光æºåŠå¾‘" +msgstr "更改環é¢å¤–åŠå¾‘" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select the dynamic library for this entry" -msgstr "" +msgstr "é¸æ“‡è©²é …目使用的動態函å¼åº«" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select dependencies of the library for this entry" -msgstr "" +msgstr "é¸æ“‡è©²é …目的函å¼åº«ç›¸ä¾æ€§" #: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy msgid "Remove current entry" -msgstr "移除" +msgstr "移除目å‰çš„é …ç›®" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Double click to create a new entry" -msgstr "" +msgstr "é»žå…©ä¸‹ä»¥å»ºç«‹æ–°é …ç›®" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform:" -msgstr "" +msgstr "å¹³å°ï¼š" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform" -msgstr "" +msgstr "å¹³å°" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dynamic Library" -msgstr "" +msgstr "動態函å¼åº«" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Add an architecture entry" -msgstr "" +msgstr "æ–°å¢žä¸€å€‹æž¶æ§‹é …ç›®" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "GDNativeLibrary" -msgstr "" +msgstr "GDNative 函å¼åº«" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Enabled GDNative Singleton" -msgstr "" +msgstr "啟用 GDNative 單例" #: modules/gdnative/gdnative_library_singleton_editor.cpp -#, fuzzy msgid "Disabled GDNative Singleton" -msgstr "ç¦æ¢è‡ªå‹•æ›´æ–°" +msgstr "ç¦ç”¨ GDNative 單例" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" -msgstr "" +msgstr "函å¼åº«" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "函å¼åº«ï¼š " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Step argument is zero!" -msgstr "step引數為0!" +msgstr "Step 引數為 0ï¼" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" -msgstr "éžç‚ºå–®ä¸€äº‹ä»¶è…³æœ¬" +msgstr "腳本沒有實體" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Not based on a script" -msgstr "未ä¾æ“šè…³æœ¬" +msgstr "éžåŸºæ–¼è…³æœ¬" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Not based on a resource file" -msgstr "未ä¾æ“šè³‡æºæª”案" +msgstr "éžåŸºæ–¼è³‡æºæª”案" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Invalid instance dictionary format (missing @path)" -msgstr "ç„¡æ•ˆçš„äº‹ä»¶è©žå…¸æ ¼å¼(éºå¤± @path)" +msgstr "無效的實體å—å…¸æ ¼å¼ï¼ˆç¼ºå°‘ @path)" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Invalid instance dictionary format (can't load script at @path)" -msgstr "ç„¡æ•ˆçš„äº‹ä»¶è©žå…¸æ ¼å¼(無法載入腳本 @path)" +msgstr "無效的實體å—å…¸æ ¼å¼ï¼ˆç„¡æ³•è‡ª @path 載入腳本)" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "ç„¡æ•ˆçš„äº‹ä»¶è©žå…¸æ ¼å¼(無效的腳本 @path)" +msgstr "無效的實體å—å…¸æ ¼å¼ï¼ˆä½æ–¼ @path 的腳本無效)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "" +msgstr "無效的實體å—典(無效的å類型)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "物件無法æ供長度。" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Next Plane" -msgstr "下個分é " +msgstr "下一個平é¢" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Previous Plane" -msgstr "上個分é " +msgstr "上一個平é¢" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Plane:" -msgstr "" +msgstr "å¹³é¢ï¼š" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "下一個地æ¿" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Previous Floor" -msgstr "上個分é " +msgstr "上一個地æ¿" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "地æ¿ï¼š" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Delete Selection" -msgstr "複製所é¸" +msgstr "ç¶²æ ¼åœ°åœ–åˆªé™¤æ‰€é¸ç¯„åœ" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Fill Selection" -msgstr "複製所é¸" +msgstr "ç¶²æ ¼åœ°åœ–å¡«å……æ‰€é¸ç¯„åœ" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paste Selection" -msgstr "複製所é¸" +msgstr "ç¶²æ ¼åœ°åœ–è²¼ä¸Šæ‰€é¸ç¯„åœ" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "專案è¨å®š" +msgstr "ç¶²æ ¼åœ°åœ–ç¹ªåœ–" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "" +msgstr "ç¶²æ ¼åœ°åœ–" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" -msgstr "" +msgstr "å¸é™„檢視" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Disabled" -msgstr "å·²åœç”¨" +msgstr "剪è£å·²ç¦ç”¨" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Above" -msgstr "" +msgstr "剪è£ä¸Šæ–¹" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Below" -msgstr "" +msgstr "剪è£ä¸‹æ–¹" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "編輯 X 軸" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "編輯 Y 軸" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "編輯 Z 軸" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate X" -msgstr "" +msgstr "以éŠæ¨™æ²¿ X 軸旋轉" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Y" -msgstr "" +msgstr "以éŠæ¨™æ²¿ Y 軸旋轉" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Z" -msgstr "" +msgstr "以éŠæ¨™æ²¿ Z 軸旋轉" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate X" -msgstr "" +msgstr "以éŠæ¨™æ²¿ X 軸åå‘旋轉" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "以éŠæ¨™æ²¿ Y 軸åå‘旋轉" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "以éŠæ¨™æ²¿ Z 軸åå‘旋轉" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Clear Rotation" -msgstr "" +msgstr "清除éŠæ¨™æ—‹è½‰" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Paste Selects" -msgstr "擦除é¸ä¸" +msgstr "貼上所é¸" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clear Selection" -msgstr "所有的é¸æ“‡" +msgstr "清除所é¸" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Fill Selection" -msgstr "所有的é¸æ“‡" +msgstr "填充所é¸" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Settings" -msgstr "專案è¨å®š" +msgstr "ç¶²æ ¼åœ°åœ–è¨å®š" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" -msgstr "" +msgstr "é¸æ“‡è·é›¢ï¼š" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Filter meshes" -msgstr "éŽæ¿¾æª”案..." +msgstr "éŽæ¿¾ç¶²æ ¼" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Give a MeshLibrary resource to this GridMap to use its meshes." -msgstr "" +msgstr "æä¾›ç¶²æ ¼åº«è³‡æºäºˆè©²ç¶²æ ¼åœ°åœ–ä»¥ä½¿ç”¨å…¶ç¶²æ ¼ã€‚" #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" -msgstr "" +msgstr "類別å稱ä¸èƒ½ç‚ºä¿ç•™é—œéµå—" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" -msgstr "" +msgstr "å…§éƒ¨ç•°å¸¸å †ç–Šå›žæº¯çµæŸ" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "渲染NavMesh" +msgstr "Bake å°Žèˆªç¶²æ ¼ (NavMesh)" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." -msgstr "" +msgstr "æ¸…é™¤å°Žèˆªç¶²æ ¼ (Navigation Mesh)。" #: modules/recast/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "æ£åœ¨è¨å®šçµ„æ…‹..." #: modules/recast/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "æ£åœ¨è¨ˆç®—ç¶²æ ¼å¤§å°..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating heightfield..." -msgstr "" +msgstr "æ£åœ¨å»ºç«‹ Heightfield..." #: modules/recast/navigation_mesh_generator.cpp -#, fuzzy msgid "Marking walkable triangles..." -msgstr "æ£åœ¨å„²å˜è®Šæ›´..." +msgstr "æ£åœ¨æ¨™è¨˜å¯ç§»å‹•çš„三角形..." #: modules/recast/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "æ£åœ¨å»ºæ§‹ç·Šæ¹Š Heightfield..." #: modules/recast/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "æ£åœ¨å»ºç«‹å¯ç§»å‹•å€åŸŸ..." #: modules/recast/navigation_mesh_generator.cpp msgid "Partitioning..." -msgstr "" +msgstr "æ£åœ¨åˆ†å‰²..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "æ£åœ¨å»ºç«‹è¼ªå»“..." #: modules/recast/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "æ£åœ¨å»ºç«‹å¤šé‚Šå½¢ç¶²æ ¼ (Polymesh)..." #: modules/recast/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." -msgstr "" +msgstr "æ£åœ¨è½‰æ›ç‚ºåŽŸç”Ÿå°Žèˆªç¶²æ ¼ (Native Navigation Mesh)..." #: modules/recast/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "å°Žèˆªç¶²æ ¼ (Navigation Mesh) 產生器è¨å®šï¼š" #: modules/recast/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "" +msgstr "æ£åœ¨è§£æžå¤šé‚Šå½¢..." #: modules/recast/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "完æˆï¼" #: modules/visual_script/visual_script.cpp msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" -msgstr "" +msgstr "節點在無工作記憶體的情æ³ä¸‹è¢«ç”¢ç”Ÿã€‚請閱讀說明文件以çžè§£å¦‚何æ£ç¢ºç”¢ç”Ÿï¼" #: modules/visual_script/visual_script.cpp msgid "" "Node yielded, but did not return a function state in the first working " "memory." -msgstr "" +msgstr "已產生節點,但未在最åˆçš„工作記憶體內回傳函å¼ç‹€æ…‹ã€‚" #: modules/visual_script/visual_script.cpp -#, fuzzy msgid "" "Return value must be assigned to first element of node working memory! Fix " "your node please." -msgstr "回傳值需被指定為é‹ç®—記憶體節點的第一è¦ç´ !è«‹ä¿®æ£è©²ç¯€é»žã€‚" +msgstr "回傳值需被指定為é‹ç®—è¨˜æ†¶é«”ç¯€é»žçš„ç¬¬ä¸€å€‹å…ƒç´ ï¼è«‹ä¿®æ£è©²ç¯€é»žã€‚" #: modules/visual_script/visual_script.cpp -#, fuzzy msgid "Node returned an invalid sequence output: " -msgstr "節點回傳一個無效的連續輸出: " +msgstr "節點回傳了一個無效的連續輸出: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" -msgstr "" +msgstr "發ç¾äº†é€£çºŒä½å…ƒ (Sequance Bit) 但並éžåœ¨å †ç–Šä¸çš„ç¯€é»žï¼Œè«‹å›žå ±è©²éŒ¯èª¤ï¼" #: modules/visual_script/visual_script.cpp msgid "Stack overflow with stack depth: " -msgstr "" +msgstr "å †ç–Šæ·±åº¦çš„å †ç–Šæº¢å‡ºï¼š " #: modules/visual_script/visual_script_editor.cpp msgid "Change Signal Arguments" -msgstr "" +msgstr "更改訊號引數" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument Type" -msgstr "" +msgstr "更改引數型別" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument name" -msgstr "" +msgstr "更改引數å稱" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" -msgstr "" +msgstr "è¨å®šè®Šæ•¸é è¨å€¼" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Type" -msgstr "" +msgstr "è¨å®šè®Šæ•¸åž‹åˆ¥" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Input Port" -msgstr "æ·»åŠ è¼¸å…¥" +msgstr "æ–°å¢žè¼¸å…¥åŸ å£" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Output Port" -msgstr "æ·»åŠ è¼¸å…¥" +msgstr "æ–°å¢žè¼¸å‡ºåŸ å£" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Override an existing built-in function." -msgstr "無效å稱.ä¸èƒ½èˆ‡ç¾æœ‰çš„內置類型å稱沖çª." +msgstr "複寫一個ç¾æœ‰çš„內建函å¼ã€‚" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create a new function." -msgstr "創建新矩形。" +msgstr "建立新函å¼ã€‚" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" -msgstr "" +msgstr "變數:" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create a new variable." -msgstr "創建新矩形。" +msgstr "建立新變數。" #: modules/visual_script/visual_script_editor.cpp msgid "Signals:" -msgstr "訊號:" +msgstr "訊號:" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create a new signal." -msgstr "創建新多邊形。" +msgstr "建立一個新的訊號。" #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" -msgstr "" +msgstr "å稱ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„è˜åˆ¥ç¬¦ï¼š" #: modules/visual_script/visual_script_editor.cpp msgid "Name already in use by another func/var/signal:" -msgstr "" +msgstr "å稱已被用於å¦ä¸€å€‹å‡½å¼ï¼è®Šæ•¸ï¼ä¿¡è™Ÿï¼š" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "" +msgstr "é‡æ–°å‘½å函å¼" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "" +msgstr "é‡æ–°å‘½å變數" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "" +msgstr "é‡æ–°å‘½å訊號" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "" +msgstr "新增函å¼" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Delete input port" -msgstr "刪除點" +msgstr "åˆªé™¤è¼¸å…¥åŸ å£" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "" +msgstr "新增變數" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" -msgstr "" +msgstr "新增訊號" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove Input Port" -msgstr "刪除點" +msgstr "ç§»é™¤è¼¸å…¥åŸ å£" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove Output Port" -msgstr "刪除點" +msgstr "ç§»é™¤è¼¸å‡ºåŸ å£" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "更改表示å¼" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Nodes" -msgstr "" +msgstr "更改視覺腳本 (VisualScript) 節點" #: modules/visual_script/visual_script_editor.cpp msgid "Duplicate VisualScript Nodes" -msgstr "" +msgstr "é‡è¤‡è¦–覺腳本 (VisualScript) 節點" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"æŒ‰ä½ %s 以拖移 Getter ç¯€é»žã€‚æŒ‰ä½ Shift ä»¥æ‹–ç§»ä¸€å€‹é€šç”¨çš„ç°½ç« (Signature)。" #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"æŒ‰ä½ Ctrl 以拖移 Getter ç¯€é»žã€‚æŒ‰ä½ Shift 以拖移一個通用的簽å (Signature)。" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a simple reference to the node." -msgstr "" +msgstr "æŒ‰ä½ %s 以拖移一個簡單åƒç…§ (Simple Reference) 至該節點。" #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" +msgstr "æŒ‰ä½ Ctrl 以拖移一個簡單åƒç…§ (Simple Reference) 至該節點。" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." -msgstr "" +msgstr "æŒ‰ä½ %s 以拖移一個變數 Setter 節點。" #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Variable Setter." -msgstr "" +msgstr "æŒ‰ä½ Ctrl 以拖動一個變數 Setter 節點。" #: modules/visual_script/visual_script_editor.cpp msgid "Add Preload Node" -msgstr "" +msgstr "新增餘載 (Preload) 節點" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" -msgstr "" +msgstr "自樹ä¸æ–°å¢žç¯€é»ž" #: modules/visual_script/visual_script_editor.cpp msgid "" "Can't drop properties because script '%s' is not used in this scene.\n" "Drop holding 'Shift' to just copy the signature." msgstr "" +"由於「%sã€æœªåœ¨è©²å ´æ™¯å…§ä½¿ç”¨ï¼Œç„¡æ³•æ‹–移屬性。\n" +"按ä½ã€ŒShiftã€æ‹–移以複製簽å (Signature)。" #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" -msgstr "" +msgstr "新增 Getter 屬性" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" -msgstr "" +msgstr "新增 Setter 屬性" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type" -msgstr "變更é¡é 尺寸" +msgstr "更改基礎型別" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" -msgstr "" +msgstr "移動節點" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Node" -msgstr "" +msgstr "移除視覺腳本 (VisualScript) 節點" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Nodes" -msgstr "連接..." +msgstr "連接節點" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Disconnect Nodes" -msgstr "連接..." +msgstr "斷開節點連接" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Node Data" -msgstr "連接..." +msgstr "連接節點資料" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Node Sequence" -msgstr "連接..." +msgstr "連接節點åºåˆ—" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "腳本已有函å¼ã€Œ%sã€" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "更改輸入值" #: modules/visual_script/visual_script_editor.cpp msgid "Resize Comment" -msgstr "" +msgstr "調整註解尺寸" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "無法複製函å¼ç¯€é»žã€‚" #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" -msgstr "" +msgstr "剪貼簿為空ï¼" #: modules/visual_script/visual_script_editor.cpp msgid "Paste VisualScript Nodes" -msgstr "" +msgstr "貼上視覺腳本 (VisualScript) 節點" #: modules/visual_script/visual_script_editor.cpp msgid "Can't create function with a function node." -msgstr "" +msgstr "無法通éŽå‡½å¼ç¯€é»žå»ºç«‹å‡½å¼ã€‚" #: modules/visual_script/visual_script_editor.cpp msgid "Can't create function of nodes from nodes of multiple functions." -msgstr "" +msgstr "無法自多個函å¼ç¯€é»žå»ºç«‹å‡½å¼ç¯€é»žã€‚" #: modules/visual_script/visual_script_editor.cpp msgid "Select at least one node with sequence port." -msgstr "" +msgstr "é¸æ“‡è‡³å°‘一個有åºåˆ—åŸ å£çš„節點。" #: modules/visual_script/visual_script_editor.cpp msgid "Try to only have one sequence input in selection." -msgstr "" +msgstr "è«‹åªé¸æ“‡ä¸€å€‹åºåˆ—輸入。" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Create Function" -msgstr "創建輪廓" +msgstr "建立函å¼" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" -msgstr "" +msgstr "移除函å¼" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" -msgstr "" +msgstr "移除變數" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" -msgstr "" +msgstr "編輯變數:" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" -msgstr "" +msgstr "移除訊號" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Signal:" -msgstr "" +msgstr "編輯訊號:" #: modules/visual_script/visual_script_editor.cpp msgid "Make Tool:" -msgstr "" +msgstr "製作工具:" #: modules/visual_script/visual_script_editor.cpp msgid "Members:" -msgstr "" +msgstr "æˆå“¡ï¼š" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type:" -msgstr "變更é¡é 尺寸" +msgstr "更改基本型別:" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Nodes..." -msgstr "æ·»åŠ ç¯€é»ž..。" +msgstr "新增節點..." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Function..." -msgstr "轉到函數…" +msgstr "新增函å¼â€¦" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "function_name" -msgstr "函數:" +msgstr "function_name" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit its graph." -msgstr "" +msgstr "é¸æ“‡æˆ–建立一個函å¼ä»¥ç·¨è¼¯å…¶åœ–表。" #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "" +msgstr "刪除所é¸" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "" +msgstr "尋找節點型別" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "" +msgstr "複製節點" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" -msgstr "" +msgstr "剪下節點" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Make Function" -msgstr "函數:" +msgstr "產生函å¼" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Refresh Graph" -msgstr "é‡æ–°æ•´ç†" +msgstr "é‡æ–°æ•´ç†åœ–表" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Edit Member" -msgstr "éŽæ¿¾æª”案..." +msgstr "編輯æˆå“¡" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " -msgstr "" +msgstr "輸入型別éžå¯è¿ä»£åž‹åˆ¥ï¼š " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" -msgstr "" +msgstr "è¿ä»£å™¨å·²ä¸å¯ç”¨" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "" +msgstr "è¿ä»£å™¨å·²ä¸å¯ç”¨ï¼š " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "" +msgstr "無效的索引屬性å稱。" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "" +msgstr "基礎物件ä¸æ˜¯ä¸€å€‹ç¯€é»žï¼" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" -msgstr "" +msgstr "路徑未指å‘節點ï¼" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "" +msgstr "無效的索引屬性å稱「%sã€ï¼Œæ–¼ç¯€é»žã€Œ%sã€ã€‚" #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr "" +msgstr ": 無效的引數型別 : " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " -msgstr "" +msgstr ": 無效的引數 : " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " -msgstr "" +msgstr "腳本ä¸æœªæ‰¾åˆ° VariableGet(å–得變數): " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableSet not found in script: " -msgstr "" +msgstr "腳本ä¸æœªæ‰¾åˆ° VariableSet(è¨å®šè®Šæ•¸ï¼‰ï¼š " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." -msgstr "" +msgstr "自定節點沒有 _step() 方法,無法產生圖表。" #: modules/visual_script/visual_script_nodes.cpp msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." -msgstr "" +msgstr "_step() çš„å›žå‚³å€¼ç„¡æ•ˆï¼Œå¿…é ˆç‚ºæ•´æ•¸ (Seq Out) 或å—串 (Error)。" #: modules/visual_script/visual_script_property_selector.cpp -#, fuzzy msgid "Search VisualScript" -msgstr "æœå°‹å¹«åŠ©" +msgstr "æœå°‹è¦–覺腳本 (VisualScript)" #: modules/visual_script/visual_script_property_selector.cpp msgid "Get %s" -msgstr "" +msgstr "å–å¾— %s" #: modules/visual_script/visual_script_property_selector.cpp msgid "Set %s" -msgstr "" +msgstr "è¨å®š %s" #: platform/android/export/export.cpp msgid "Package name is missing." -msgstr "" +msgstr "缺少套件å稱。" #: platform/android/export/export.cpp msgid "Package segments must be of non-zero length." -msgstr "" +msgstr "套件片段 (Segment) 的長度ä¸å¯ç‚º 0。" #: platform/android/export/export.cpp msgid "The character '%s' is not allowed in Android application package names." -msgstr "" +msgstr "Android 應用程å¼å¥—件å稱ä¸å¯ä½¿ç”¨å—元「%sã€ã€‚" #: platform/android/export/export.cpp msgid "A digit cannot be the first character in a package segment." -msgstr "" +msgstr "套件片段 (Segment) 的第一個å—å…ƒä¸å¯ç‚ºæ•¸å—。" #: platform/android/export/export.cpp msgid "The character '%s' cannot be the first character in a package segment." -msgstr "" +msgstr "套件片段 (Segment) 的第一個å—å…ƒä¸å¯ç‚ºã€Œ%sã€ã€‚" #: platform/android/export/export.cpp msgid "The package must have at least one '.' separator." -msgstr "" +msgstr "å¥—ä»¶å¿…é ˆè‡³å°‘æœ‰ä¸€å€‹ã€Œ.ã€åˆ†éš”å—元。" #: platform/android/export/export.cpp msgid "Select device from the list" -msgstr "從清單ä¸é¸æ“‡è¨å‚™" +msgstr "自清單ä¸é¸æ“‡è£ç½®" #: platform/android/export/export.cpp msgid "ADB executable not configured in the Editor Settings." -msgstr "" +msgstr "尚未於編輯器è¨å®šä¸è¨å®š ADB å¯åŸ·è¡Œæª”。" #: platform/android/export/export.cpp msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "" +msgstr "尚未於編輯器è¨å®šä¸è¨å®š OpenJDK Jarsigner。" #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." -msgstr "" +msgstr "尚未於編輯器è¨å®šæˆ– Preset ä¸è¨å®šé™¤éŒ¯é‘°åŒ™åœˆ (Keystore)。" + +#: platform/android/export/export.cpp +msgid "Release keystore incorrectly configured in the export preset." +msgstr "釋出 Keystore ä¸ä¸æ£ç¢ºä¹‹çµ„æ…‹è¨å®šè‡³åŒ¯å‡º Preset。" #: platform/android/export/export.cpp msgid "Custom build requires a valid Android SDK path in Editor Settings." -msgstr "" +msgstr "自定建構需è¦æœ‰åœ¨ç·¨è¼¯å™¨è¨å®šä¸è¨å®šä¸€å€‹æœ‰æ•ˆçš„ Android SDK ä½ç½®ã€‚" #: platform/android/export/export.cpp msgid "Invalid Android SDK path for custom build in Editor Settings." -msgstr "" +msgstr "編輯器è¨å®šä¸ç”¨æ–¼è‡ªå®šç¾©è¨å®šä¹‹ Android SDK 路徑無效。" #: platform/android/export/export.cpp msgid "" "Android build template not installed in the project. Install it from the " "Project menu." -msgstr "" +msgstr "尚未於專案ä¸å®‰è£ Android 建構樣æ¿ã€‚請先於專案目錄ä¸é€²è¡Œå®‰è£ã€‚" #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." -msgstr "" +msgstr "無效的 APK Expansion 公鑰。" #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的套件å稱:" + +#: platform/android/export/export.cpp +msgid "" +"Invalid \"GodotPaymentV3\" module included in the \"android/modules\" " +"project setting (changed in Godot 3.2.2).\n" +msgstr "" +"「andoird/modulesã€å°ˆæ¡ˆè¨å®šä¸åŒ…å«äº†ç„¡æ•ˆçš„「GodotPaymentV3ã€æ¨¡çµ„(更改於 " +"Godot 3.2.2)。\n" + +#: platform/android/export/export.cpp +msgid "\"Use Custom Build\" must be enabled to use the plugins." +msgstr "「使用自定建構ã€å¿…é ˆå•Ÿç”¨ä»¥ä½¿ç”¨æœ¬å¤–æŽ›ã€‚" + +#: platform/android/export/export.cpp +msgid "" +"\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR" +"\"." +msgstr "" +"「Degrees Of Freedomã€ï¼ˆè‡ªç”±è§’度)僅å¯åœ¨ã€ŒXr Modeã€ï¼ˆXR 模å¼ï¼‰è¨ç‚ºã€ŒOculus " +"Mobile VRã€æ™‚å¯ç”¨ã€‚" + +#: platform/android/export/export.cpp +msgid "" +"\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"「Hand Trackingã€ï¼ˆæ‰‹éƒ¨è¿½è¹¤ï¼‰åƒ…å¯åœ¨ã€ŒXr Modeã€ï¼ˆXR 模å¼ï¼‰è¨ç‚ºã€ŒOculus Mobile " +"VRã€æ™‚å¯ç”¨ã€‚" + +#: platform/android/export/export.cpp +msgid "" +"\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"." +msgstr "" +"「Focus Awarenessã€ï¼ˆæ高關注度)僅å¯åœ¨ã€ŒXr Modeã€ï¼ˆXR 模å¼ï¼‰è¨ç‚ºã€ŒOculus " +"Mobile VRã€æ™‚å¯ç”¨ã€‚" #: platform/android/export/export.cpp msgid "" "Trying to build from a custom built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" +"嘗試自自定建構樣æ¿é€²è¡Œå»ºæ§‹ï¼Œä½†ç„¡ç‰ˆæœ¬è³‡è¨Šå¯ç”¨ã€‚請自「專案ã€é¸å–®ä¸é‡æ–°å®‰è£ã€‚" #: platform/android/export/export.cpp msgid "" @@ -12343,155 +11822,150 @@ msgid "" " Godot Version: %s\n" "Please reinstall Android build template from 'Project' menu." msgstr "" +"Android 建構版本ä¸ç¬¦åˆï¼š\n" +" 已安è£çš„樣æ¿ï¼š%s\n" +" Godot 版本:%s\n" +"請自「專案ã€ç›®éŒ„ä¸é‡æ–°å®‰è£ Android 建構樣æ¿ã€‚" #: platform/android/export/export.cpp msgid "Building Android Project (gradle)" -msgstr "" +msgstr "建構 Android 專案(Gradle)" #: platform/android/export/export.cpp msgid "" "Building of Android project failed, check output for the error.\n" "Alternatively visit docs.godotengine.org for Android build documentation." msgstr "" +"建構 Android 專案失敗,請檢查輸出以確èªéŒ¯èª¤ã€‚\n" +"也å¯ä»¥ç€è¦½ docs.godotengine.org 以ç€è¦½ Android 建構說明文件。" #: platform/android/export/export.cpp msgid "No build apk generated at: " -msgstr "" +msgstr "無建構 APK 產生於: " #: platform/iphone/export/export.cpp msgid "Identifier is missing." -msgstr "" +msgstr "缺少è˜åˆ¥ç¬¦ã€‚" #: platform/iphone/export/export.cpp msgid "The character '%s' is not allowed in Identifier." -msgstr "" +msgstr "å—元「%sã€ä¸å¯ç”¨æ–¼è˜åˆ¥ç¬¦ä¸ã€‚" #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." -msgstr "" +msgstr "尚未è¨å®š App Store Team ID - 無法è¨å®šå°ˆæ¡ˆã€‚" #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "無效的å—體大å°ã€‚" +msgstr "無效的è˜åˆ¥ç¬¦ï¼š" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." -msgstr "" +msgstr "å¿…é ˆåœ¨ Preset ä¸æŒ‡å®šå¿…填圖示。" #: platform/javascript/export/export.cpp msgid "Stop HTTP Server" -msgstr "" +msgstr "åœæ¢ HTTP 伺æœå™¨" #: platform/javascript/export/export.cpp msgid "Run in Browser" -msgstr "" +msgstr "在ç€è¦½å™¨ä¸åŸ·è¡Œ" #: platform/javascript/export/export.cpp msgid "Run exported HTML in the system's default browser." -msgstr "" +msgstr "在系統的é è¨ç€è¦½å™¨ä¸åŸ·è¡Œå·²åŒ¯å‡ºçš„ HTML。" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not write file:" -msgstr "無法新增資料夾" +msgstr "無法寫入檔案:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not open template for export:" -msgstr "無法新增資料夾" +msgstr "無法開啟樣æ¿ä»¥è¼¸å‡ºï¼š" #: platform/javascript/export/export.cpp msgid "Invalid export template:" -msgstr "" +msgstr "無效的輸出樣æ¿ï¼š" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read custom HTML shell:" -msgstr "無法新增資料夾" +msgstr "無法讀å–自定 HTML Shell:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read boot splash image file:" -msgstr "無法新增資料夾" +msgstr "無法讀å–å•Ÿå‹•ç•«é¢åœ–檔:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Using default boot splash image." -msgstr "無法新增資料夾" +msgstr "使用é è¨å•Ÿå‹•ç•«é¢åœ–檔。" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package short name." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的套件段å稱。" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package unique name." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的套件唯一å稱。" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package publisher display name." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的套件發佈者顯示å稱。" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid product GUID." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "ç„¡æ•ˆçš„ç”¢å“ GUID。" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid publisher GUID." -msgstr "無效的路徑" +msgstr "無效的發佈者 GUID。" #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid background color." -msgstr "ä¸èƒ½ä½¿ç”¨çš„å稱。" +msgstr "無效的背景é¡è‰²ã€‚" #: platform/uwp/export/export.cpp msgid "Invalid Store Logo image dimensions (should be 50x50)." -msgstr "" +msgstr "無效的商店 LOGO 圖片尺寸(需為 50x50)。" #: platform/uwp/export/export.cpp msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." -msgstr "" +msgstr "無效的矩形 44x44 LOGO 圖片尺寸(需為 44x44)。" #: platform/uwp/export/export.cpp msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." -msgstr "" +msgstr "無效的矩形 71x71 LOGO 圖片尺寸(需為 71x71)。" #: platform/uwp/export/export.cpp msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." -msgstr "" +msgstr "無效的矩形 150x150 LOGO 圖片尺寸(需為 150x150)。" #: platform/uwp/export/export.cpp msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." -msgstr "" +msgstr "無效的矩形 310x310 LOGO 圖片尺寸(需為 310x310)。" #: platform/uwp/export/export.cpp msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." -msgstr "" +msgstr "無效的寬 310x150 LOGO 圖片尺寸(需為 310x150)。" #: platform/uwp/export/export.cpp msgid "Invalid splash screen image dimensions (should be 620x300)." -msgstr "" +msgstr "無效的啟動畫é¢åœ–片尺寸(應為 620x300)。" #: scene/2d/animated_sprite.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the \"Frames\" property in " "order for AnimatedSprite to display frames." -msgstr "SpriteFrames資æºå¿…é ˆåœ¨Frames屬性ä¸è¢«å‰µå»ºæˆ–è¨ç½®æ‰èƒ½å¤ é¡¯ç¤ºå‹•ç•«æ ¼ã€‚" +msgstr "" +"å¿…é ˆå…ˆç‚ºã€ŒFramesã€å±¬æ€§å»ºç«‹æˆ–è¨å®š SpriteFrames 資æºä»¥ä»¤ AnimatedSprite 顯示影" +"æ ¼ã€‚" #: scene/2d/canvas_modulate.cpp msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" -"æ¯å€‹å ´æ™¯ä¸åƒ…å…許一個å¯è¦‹çš„CanvasModulate,åªæœ‰ç¬¬ä¸€å€‹CanvasModulate會有作用," -"其餘的將被忽略。" +"æ¯å€‹å ´æ™¯ï¼ˆæˆ–å¯¦é«”åŒ–çš„å ´æ™¯é›†ï¼‰ä¸åƒ…å…許一個å¯è¦‹çš„ CanvasModulate。åªæœ‰ç¬¬ä¸€å€‹å»ºç«‹" +"çš„ CanvasModulate 有用,其餘的將被忽略。" #: scene/2d/collision_object_2d.cpp msgid "" @@ -12499,6 +11973,9 @@ msgid "" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " "define its shape." msgstr "" +"該節點無形狀,故無法與其他物件碰撞或互動。\n" +"請考慮新增一個 CollisionShape2D 或 CollisionPolygon2D 為其å節點以定義其形" +"狀。" #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -12506,12 +11983,13 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" -"CollisionPolygon2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æ供碰撞形狀資訊,請將其使" -"用於Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。" +"CollisionPolygon2D åªèƒ½ç‚º CollisionObject2D è¡ç”Ÿçš„節點æ供碰撞形狀資訊。請僅" +"æ–¼ Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D…ç‰ç¯€é»žä¸‹ä½œç‚ºå節點使" +"用。" #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "空白的CollisionPolygon2Dä¸èµ·ç¢°æ’žåµæ¸¬çš„作用。" +msgstr "空白的 CollisionPolygon2D ä¸æœƒç”¢ç”Ÿä»»ä½•ç¢°æ’žæ•ˆæžœã€‚" #: scene/2d/collision_shape_2d.cpp msgid "" @@ -12519,54 +11997,59 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" -"CollisionShape2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æ供碰撞形狀資訊,請將其使用" -"æ–¼Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。" +"CollisionShape2D åªèƒ½ç‚º CollisionObject2D è¡ç”Ÿçš„節點æ供碰撞形狀資訊。請僅於 " +"Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D…ç‰ç¯€é»žä¸‹ä½œç‚ºå節點使用以æ" +"供形狀。" #: scene/2d/collision_shape_2d.cpp msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" -msgstr "CollisionShape2Då¿…é ˆè¢«è³¦äºˆå½¢ç‹€æ‰èƒ½é‹ä½œï¼Œè«‹ç‚ºå®ƒå»ºç«‹å€‹å½¢ç‹€å§ï¼" +msgstr "CollisionShape2D å¿…é ˆè¢«è³¦äºˆå½¢ç‹€æ‰èƒ½é‹ä½œã€‚請先建立形狀ï¼" #: scene/2d/cpu_particles_2d.cpp msgid "" "CPUParticles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"CPUParticles2D 動畫需è¦ä½¿ç”¨æœ‰å•Ÿç”¨ã€ŒParticles Animation(粒å動畫)ã€çš„ " +"CanvasItemMaterial。" #: scene/2d/light_2d.cpp -#, fuzzy msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." -msgstr "光照形狀的æè³ªå¿…é ˆè¢«è³¦èˆ‡åœ¨æ質的屬性ä¸ã€‚" +msgstr "有光照形狀的紋ç†å¿…é ˆæ供「紋ç†ã€å±¬æ€§ã€‚" #: scene/2d/light_occluder_2d.cpp msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." -msgstr "æ¤é®å…‰é«”å¿…é ˆè¢«å»ºç«‹æˆ–è¨ç½®é®è”½å½¢ç‹€æ‰èƒ½ç™¼æ®é®è”½ä½œç”¨ã€‚" +msgstr "該é®å…‰é«”å¿…é ˆè¦æœ‰è¨å®šï¼ˆæˆ–繪製)é®å…‰é«”形狀æ‰æœƒæœ‰ä½œç”¨ã€‚" #: scene/2d/light_occluder_2d.cpp -#, fuzzy msgid "The occluder polygon for this occluder is empty. Please draw a polygon." -msgstr "æ¤é®å…‰é«”沒有被賦予形狀,請繪製一個å§ï¼" +msgstr "é®å…‰é«”ç„¡é®å…‰é«”多邊形。請先繪製一個多邊形。" #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" +"å¿…é ˆå…ˆåœ¨è©²ç¯€é»žä¸Šè¨å®šæˆ–建立 NavigationPolygon æ‰å¯ä»¥ä½¿ç”¨ã€‚è«‹è¨å®šä¸€å€‹å±¬æ€§æˆ–繪製" +"多邊形。" #: scene/2d/navigation_polygon.cpp msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" +"NavigationPolygonInstance å¿…é ˆæ˜¯ Navigation2D 節點的å級或次å級。其僅æ供導" +"航資料。" #: scene/2d/parallax_layer.cpp msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." -msgstr "" +msgstr "ParallaxLayer 節點僅在當其被è¨ç‚º ParallaxBackground çš„å節點時有效。" #: scene/2d/particles_2d.cpp msgid "" @@ -12574,22 +12057,24 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"GLES2 視訊驅動程å¼ç›®å‰ä¸æ”¯æ´åŸºæ–¼ GPU çš„ç²’å。\n" +"請改為使用 CPUParticles2D ç¯€é»žã€‚ä½ å¯ä»¥ä½¿ç”¨ã€Œè½‰æ›ç‚º CPUParticlesã€é¸é …。" #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" "A material to process the particles is not assigned, so no behavior is " "imprinted." -msgstr "" +msgstr "尚未指定è¦è™•ç†ç²’åçš„æ料,故未產生任何行為。" #: scene/2d/particles_2d.cpp msgid "" "Particles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." -msgstr "" +msgstr "Particles2D 動畫需è¦ä½¿ç”¨é–‹å•Ÿäº†ã€Œç²’åå‹•ç•«ã€çš„ CanvasItemMaterial。" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." -msgstr "" +msgstr "PathFollow2D 僅在其為 Path2D çš„å節點時有效。" #: scene/2d/physics_body_2d.cpp msgid "" @@ -12597,91 +12082,94 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"(在 Character 或 Rigid Mode 下)更改 RigidBody2D 的大å°å°‡æœƒåœ¨åŸ·è¡Œæ™‚被物ç†å¼•" +"擎複寫。\n" +"請改為修改其å節點的碰撞形狀之大å°ã€‚" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." -msgstr "" +msgstr "è·¯å¾‘å±¬æ€§å¿…é ˆæŒ‡å‘一個有效的 Node2D æ‰å¯ç”¨ã€‚" #: scene/2d/skeleton_2d.cpp msgid "This Bone2D chain should end at a Skeleton2D node." -msgstr "" +msgstr "該 Bone2D éˆå¿…é ˆä»¥ Skeleton2D 節點çµå°¾ã€‚" #: scene/2d/skeleton_2d.cpp msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." -msgstr "" +msgstr "Bone2D 僅在其為 Skeleton2D 或å¦ä¸€å€‹ Bone2D çš„å節點時有效。" #: scene/2d/skeleton_2d.cpp msgid "" "This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." -msgstr "" +msgstr "該骨骼缺少é©ç•¶çš„ REST 姿勢。請跳至 Skeleton2D 節點並進行è¨å®šã€‚" #: scene/2d/tile_map.cpp -#, fuzzy msgid "" "TileMap with Use Parent on needs a parent CollisionObject2D to give shapes " "to. Please use it as a child of Area2D, StaticBody2D, RigidBody2D, " "KinematicBody2D, etc. to give them a shape." msgstr "" -"CollisionShape2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æ供碰撞形狀資訊,請將其使用" -"æ–¼Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。" +"CollisionShape2D åªèƒ½ç‚º CollisionObject2D è¡ç”Ÿçš„節點æ供碰撞形狀資訊。請將其" +"è¨ç‚º Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D… çš„å節點以賦予其形" +"狀。" #: scene/2d/visibility_notifier_2d.cpp msgid "" "VisibilityEnabler2D works best when used with the edited scene root directly " "as parent." -msgstr "" +msgstr "VisibilityEnabler2D åœ¨ç›´æŽ¥ä½œç‚ºå·²ç·¨è¼¯å ´æ™¯çš„æ ¹ç¯€é»žçš„æ¯ç´šç¯€é»žæ™‚效果最佳。" #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent." -msgstr "" +msgstr "ARVRCamera å¿…é ˆæœ‰ ARVROrigin 節點作為æ¯ç¯€é»žã€‚" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent." -msgstr "" +msgstr "ARVRController å¿…é ˆæœ‰ ARVROrigin 節點作為æ¯ç¯€é»žã€‚" #: scene/3d/arvr_nodes.cpp msgid "" "The controller ID must not be 0 or this controller won't be bound to an " "actual controller." -msgstr "" +msgstr "控制器 ID ä¸å¯ç‚º 0,å¦å‰‡è©²æŽ§åˆ¶å™¨å°‡ä¸æœƒç¶å®šè‡³å¯¦éš›çš„控制器。" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent." -msgstr "" +msgstr "ARVRAnchor å¿…é ˆæœ‰ ARVROrigin 節點作為æ¯ç¯€é»žã€‚" #: scene/3d/arvr_nodes.cpp msgid "" "The anchor ID must not be 0 or this anchor won't be bound to an actual " "anchor." -msgstr "" +msgstr "錨點 ID ä¸å¯ç‚º 0,å¦å‰‡è©²éŒ¨é»žå°‡ä¸æœƒè¢«ç¶å®šè‡³å¯¦éš›çš„錨點。" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node." -msgstr "" +msgstr "ARVROrigin å¿…é ˆæœ‰ä¸€å€‹ ARVRCamera å節點。" #: scene/3d/baked_lightmap.cpp msgid "%d%%" -msgstr "" +msgstr "%d%%" #: scene/3d/baked_lightmap.cpp msgid "(Time Left: %d:%02d s)" -msgstr "" +msgstr "(剩餘時間:%d:%02d 秒)" #: scene/3d/baked_lightmap.cpp msgid "Plotting Meshes: " -msgstr "" +msgstr "æ£åœ¨ç¹ªè£½ç¶²æ ¼ï¼š " #: scene/3d/baked_lightmap.cpp msgid "Plotting Lights:" -msgstr "" +msgstr "æ£åœ¨ç¹ªè£½å…‰ç…§ï¼š" #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp msgid "Finishing Plot" -msgstr "" +msgstr "繪製完æˆ" #: scene/3d/baked_lightmap.cpp msgid "Lighting Meshes: " -msgstr "" +msgstr "æ£åœ¨ç…§æ˜Žç¶²æ ¼ï¼š " #: scene/3d/collision_object.cpp msgid "" @@ -12689,6 +12177,8 @@ msgid "" "Consider adding a CollisionShape or CollisionPolygon as a child to define " "its shape." msgstr "" +"該節點沒有形狀,故無法與其他物件碰撞或互動。\n" +"請考慮新增一個 CollisionShape 或 CollisionPolygon 作為其å節點以定義其形狀。" #: scene/3d/collision_polygon.cpp msgid "" @@ -12696,10 +12186,12 @@ msgid "" "CollisionObject derived node. Please only use it as a child of Area, " "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" +"CollisionPolygon åªèƒ½ç‚º CollisionObject è¡ç”Ÿçš„節點æ供碰撞形狀資訊。請僅於 " +"Areaã€StaticBodyã€RigidBodyã€KinematicBody…ç‰ç¯€é»žä¸‹ä½œç‚ºå節點使用。" #: scene/3d/collision_polygon.cpp msgid "An empty CollisionPolygon has no effect on collision." -msgstr "" +msgstr "空白的 CollisionPolygon 節點將ä¸æœƒç”¢ç”Ÿç¢°æ’žæ•ˆæžœã€‚" #: scene/3d/collision_shape.cpp msgid "" @@ -12707,58 +12199,65 @@ msgid "" "derived node. Please only use it as a child of Area, StaticBody, RigidBody, " "KinematicBody, etc. to give them a shape." msgstr "" +"CollisionShape åªèƒ½ç‚º CollisionObject è¡ç”Ÿçš„節點æ供碰撞形狀資訊。請僅於 " +"Areaã€StaticBodyã€RigidBodyã€KinematicBody…ç‰ç¯€é»žä¸‹ä½œç‚ºå節點使用。" #: scene/3d/collision_shape.cpp -#, fuzzy msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it." -msgstr "CollisionShape2Då¿…é ˆè¢«è³¦äºˆå½¢ç‹€æ‰èƒ½é‹ä½œï¼Œè«‹ç‚ºå®ƒå»ºç«‹å€‹å½¢ç‹€å§ï¼" +msgstr "CollisionShape å¿…é ˆè¢«è³¦äºˆå½¢ç‹€æ‰èƒ½é‹ä½œã€‚請先建立形狀。" #: scene/3d/collision_shape.cpp msgid "" "Plane shapes don't work well and will be removed in future versions. Please " "don't use them." -msgstr "" +msgstr "å¹³é¢å½¢ç‹€çš„é‹ä½œä¸å¤ªæ£å¸¸ï¼Œä¸”將在未來的版本移除。請勿使用。" #: scene/3d/collision_shape.cpp msgid "" "ConcavePolygonShape doesn't support RigidBody in another mode than static." -msgstr "" +msgstr "ConcavePolygonShape ä¸æ”¯æ´éœæ…‹æ¨¡å¼ä»¥å¤–çš„ RigidBody。" #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." -msgstr "" +msgstr "ç”±æ–¼å°šæœªæŒ‡å®šç¶²æ ¼ï¼Œæœªé¡¯ç¤ºä»»ä½•æ±è¥¿ã€‚" #: scene/3d/cpu_particles.cpp msgid "" "CPUParticles animation requires the usage of a SpatialMaterial whose " "Billboard Mode is set to \"Particle Billboard\"." msgstr "" +"CPUParticles 動畫需è¦ä½¿ç”¨ Billboard Mode 為「Particle Billboardã€çš„ " +"SpatialMaterial。" #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" -msgstr "" +msgstr "æ£åœ¨ç¹ªè£½ç¶²æ ¼" #: scene/3d/gi_probe.cpp msgid "" "GIProbes are not supported by the GLES2 video driver.\n" "Use a BakedLightmap instead." msgstr "" +"GLES2 視訊驅動程å¼ä¸æ”¯æ´ GIProbs。\n" +"請改為使用 BakedLightmap。" #: scene/3d/light.cpp msgid "A SpotLight with an angle wider than 90 degrees cannot cast shadows." -msgstr "" +msgstr "角度大於 90 度的 SpotLight 無法投射出陰影。" #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." -msgstr "" +msgstr "å¿…é ˆå…ˆç‚ºè©²ç¯€é»žå»ºç«‹ NavigationMesh 資æºæ‰å¯é‹ä½œã€‚" #: scene/3d/navigation_mesh.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +"NavigationMeshInstance å¿…é ˆç‚º Navigation 節點的å節點或次級å節點。其僅æ供導" +"航資料。" #: scene/3d/particles.cpp msgid "" @@ -12766,27 +12265,33 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"GLES2 視訊驅動程å¼ä¸æ”¯æ´åŸºæ–¼ GPU çš„ç²’å。\n" +"請改為使用 CPUParticles 節點。為æ¤æ‚¨å¯ä»¥ä½¿ç”¨ã€Œè½‰æ›ç‚º CPUParticlesã€é¸é …。" #: scene/3d/particles.cpp msgid "" "Nothing is visible because meshes have not been assigned to draw passes." -msgstr "" +msgstr "ç”±æ–¼ç¶²æ ¼å°šæœªè¢«æŒ‡æ´¾è‡³æ繪路徑(Draw Pass),未顯示任何æ±è¥¿ã€‚" #: scene/3d/particles.cpp msgid "" "Particles animation requires the usage of a SpatialMaterial whose Billboard " "Mode is set to \"Particle Billboard\"." msgstr "" +"ç²’å動畫需è¦ä½¿ç”¨ Billboard Mode è¨å®šç‚ºã€ŒParticle Billboardã€çš„ " +"SpatialMaterial。" #: scene/3d/path.cpp msgid "PathFollow only works when set as a child of a Path node." -msgstr "" +msgstr "PathFollow 僅在其為 Path 節點的å節點時æ‰å¯é‹ä½œã€‚" #: scene/3d/path.cpp msgid "" "PathFollow's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its " "parent Path's Curve resource." msgstr "" +"PathFollow çš„ ROTATION_ORIENTED 需è¦åœ¨å…¶æ¯ç¯€é»ž Path çš„ Curve 資æºå…§å•Ÿç”¨ã€Œä¸Šå‘" +"é‡ (Up Vector)ã€ã€‚" #: scene/3d/physics_body.cpp msgid "" @@ -12794,16 +12299,20 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"(在 Character 或 Rigid Mode 下)更改 RigidBody 的大å°å°‡æœƒåœ¨åŸ·è¡Œæ™‚被物ç†å¼•æ“Ž" +"複寫。\n" +"請改為修改其å節點的碰撞形狀之大å°ã€‚" #: scene/3d/remote_transform.cpp msgid "" "The \"Remote Path\" property must point to a valid Spatial or Spatial-" "derived node to work." msgstr "" +"「é 端路徑ã€å±¬æ€§å¿…é ˆæŒ‡å‘一個有效的 Spatial 或 Spatial è¡ç”Ÿä¹‹ç¯€é»žæ‰å¯é‹ä½œã€‚" #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh." -msgstr "" +msgstr "該形體在è¨å®šç¶²æ ¼å‰éƒ½å°‡è¢«å¿½ç•¥ã€‚" #: scene/3d/soft_body.cpp msgid "" @@ -12811,81 +12320,85 @@ msgid "" "running.\n" "Change the size in children collision shapes instead." msgstr "" +"更改 SoftBody 的大å°å°‡æœƒåœ¨åŸ·è¡Œæ™‚被物ç†å¼•æ“Žè¤‡å¯«ã€‚\n" +"請改為修改其å節點的碰撞形狀之大å°ã€‚" #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the \"Frames\" property in " "order for AnimatedSprite3D to display frames." -msgstr "SpriteFrames資æºå¿…é ˆåœ¨Frames屬性ä¸è¢«å‰µå»ºæˆ–è¨ç½®æ‰èƒ½å¤ é¡¯ç¤ºå‹•ç•«æ ¼ã€‚" +msgstr "" +"å¿…é ˆå…ˆç‚ºã€ŒFramesã€å±¬æ€§å»ºç«‹æˆ–è¨å®š SpriteFrames 資æºä»¥ä»¤ AnimatedSprite3D 顯示" +"å½±æ ¼ã€‚" #: scene/3d/vehicle_body.cpp msgid "" "VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " "it as a child of a VehicleBody." msgstr "" +"VehicleWheel 旨在為 VehicleBody æä¾› Wheel System。請將其作為 VehicleBody çš„" +"å節點。" #: scene/3d/world_environment.cpp msgid "" "WorldEnvironment requires its \"Environment\" property to contain an " "Environment to have a visible effect." msgstr "" +"å¿…é ˆå…ˆå°‡ WorldEnvironment 之「Environmentã€å±¬æ€§è¨ç‚ºåŒ…å« Environment æ‰å¯ç”¢ç”Ÿ" +"視覺效果。" #: scene/3d/world_environment.cpp msgid "" "Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." -msgstr "" +msgstr "æ¯å€‹å ´æ™¯ï¼ˆæˆ–å¯¦é«”åŒ–å ´æ™¯é›†ï¼‰åƒ…å¯æœ‰ä¸€å€‹ WorldEnvironment。" #: scene/3d/world_environment.cpp msgid "" "This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " "this environment's Background Mode to Canvas (for 2D scenes)." msgstr "" +"已忽略該 WorldEnvironment。請(為 3D å ´æ™¯ï¼‰æ–°å¢žä¸€å€‹ç›¸æ©Ÿæˆ–ï¼ˆç‚º 2D å ´æ™¯ï¼‰è¨å®šç’°" +"å¢ƒä¹‹èƒŒæ™¯æ¨¡å¼ (Background Mode) 為畫布 (Canvas)。" #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "" +msgstr "æ–¼ BlendTree 節點「%sã€ä¸Šæœªæ‰¾åˆ°å‹•ç•«ï¼šã€Œ%sã€" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Animation not found: '%s'" -msgstr "動畫長度 (秒)。" +msgstr "未找到動畫:「%sã€" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." -msgstr "" +msgstr "於節點「%sã€å…§å‹•ç•«ç„¡æ•ˆï¼šã€Œ%sã€ã€‚" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Invalid animation: '%s'." -msgstr "無效的å—體大å°ã€‚" +msgstr "無效的動畫:「%sã€ã€‚" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Nothing connected to input '%s' of node '%s'." -msgstr "å°‡ '%s' 從 '%s' ä¸æ–·é€£æŽ¥" +msgstr "節點「%sã€çš„輸入「%sã€æœªæœ‰ä»»ä½•é€£æŽ¥ã€‚" #: scene/animation/animation_tree.cpp msgid "No root AnimationNode for the graph is set." -msgstr "" +msgstr "尚未為圖表è¨å®šæ ¹ AnimationNode。" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Path to an AnimationPlayer node containing animations is not set." -msgstr "å¾žå ´æ™¯æ¨¹ä¸é¸æ“‡ä¸€å€‹ AnimationPlayer 來編輯動畫。" +msgstr "尚未è¨å®šä¸€å€‹é€£æŽ¥åŒ…å«å‹•ç•«ä¸”連接至 AnimationPlayer 節點的路徑。" #: scene/animation/animation_tree.cpp msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." -msgstr "" +msgstr "連接至 AnimationPlayer 的路徑並未連接至 AnimationPlayer 節點。" #: scene/animation/animation_tree.cpp -#, fuzzy msgid "The AnimationPlayer root node is not a valid node." -msgstr "動畫樹無效。" +msgstr "AnimationPlayer çš„æ ¹ç¯€é»žä¸¦éžæœ‰æ•ˆç¯€é»žã€‚" #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "" +msgstr "該節點已åœæ¢ç¶è·ï¼Œè«‹æ”¹ç‚ºä½¿ç”¨ AnimationTree。" #: scene/gui/color_picker.cpp msgid "" @@ -12893,28 +12406,29 @@ msgid "" "LMB: Set color\n" "RMB: Remove preset" msgstr "" +"色彩: #%s\n" +"å·¦éµé»žæ“Šï¼šè¨å®šè‰²å½©\n" +"å³éµé»žæ“Šï¼šåˆªé™¤ Preset" #: scene/gui/color_picker.cpp msgid "Pick a color from the editor window." -msgstr "" +msgstr "請自編輯器視窗é¸æ“‡ä¸€å€‹é¡è‰²ã€‚" #: scene/gui/color_picker.cpp msgid "HSV" -msgstr "" +msgstr "HSV" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Raw" -msgstr "å航" +msgstr "原始" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "在 16 進ä½èˆ‡ä»£ç¢¼å€¼ä¹‹é–“切æ›ã€‚" #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "將目å‰é¡è‰²è¨ç‚ºé è¨" +msgstr "將目å‰çš„é¡è‰²åŠ å…¥ Preset。" #: scene/gui/container.cpp msgid "" @@ -12922,16 +12436,21 @@ msgid "" "children placement behavior.\n" "If you don't intend to add a script, use a plain Control node instead." msgstr "" +"除éžæœ‰è…³æœ¬è¨å®šäº† Container å節點佔ä½è¡Œç‚º (Placement Behavior),其本身將無作" +"用。\n" +"若您未計劃新增腳本,請改為使用普通的 Control 節點。" #: scene/gui/control.cpp msgid "" "The Hint Tooltip won't be displayed as the control's Mouse Filter is set to " "\"Ignore\". To solve this, set the Mouse Filter to \"Stop\" or \"Pass\"." msgstr "" +"由於è¨å®šçš„æ»‘é¼ ç¯©é¸ (Mouse Filter) è¨å®šç‚ºã€Œå¿½ç•¥ (Ignore)ã€ï¼Œå°‡ä¸æœƒé¡¯ç¤ºæ示 " +"Tooltip 。è¦è§£æ±ºè©²å•é¡Œï¼Œè«‹å°‡æ»‘é¼ ç¯©é¸è¨ç‚ºã€Œåœæ¢ (Stop)ã€æˆ–ã€Œé€šéŽ (Pass)ã€ã€‚" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "è¦å‘Š!" +msgstr "è¦å‘Šï¼" #: scene/gui/dialogs.cpp msgid "Please Confirm..." @@ -12943,10 +12462,12 @@ msgid "" "functions. Making them visible for editing is fine, but they will hide upon " "running." msgstr "" +"彈出視窗é è¨æœƒéš±è—,除éžå‘¼å« popup() 或任何一個 popup*() 函å¼ã€‚å¯ä»¥å°‡å…¶è¨ç‚ºå¯" +"見來進行編輯,但在執行的時候會隱è—。" #: scene/gui/range.cpp msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0." -msgstr "" +msgstr "若啟用「表示å¼ç·¨è¼¯ã€ï¼Œå‰‡ã€Œæœ€å°å€¼ã€å¿…é ˆå¤§æ–¼ 0。" #: scene/gui/scroll_container.cpp msgid "" @@ -12954,18 +12475,19 @@ msgid "" "Use a container as child (VBox, HBox, etc.), or a Control and set the custom " "minimum size manually." msgstr "" +"ScrollContainer 旨在於單一å控制é…åˆä½¿ç”¨ã€‚\n" +"使用容器作為å節點(VBoxã€HBox…ç‰ï¼‰ï¼Œæˆ–是使用 Control 並手動è¨å®šå…¶è‡ªå®šæœ€å°" +"值。" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "(其它)" +msgstr "(其它)" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." -msgstr "" -"在專案è¨å®šä¸çš„é è¨ç’°å¢ƒ(Rendering -> Environment -> Default Environment)ä¸èƒ½è¢«" -"載入" +msgstr "無法載入專案è¨å®šä¸æŒ‡å®šçš„é è¨ç’°å¢ƒï¼ˆç®—圖 -> 環境 -> é è¨ç’°å¢ƒï¼‰ã€‚" #: scene/main/viewport.cpp msgid "" @@ -12974,41 +12496,56 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"該 Viewport 尚未被è¨å®šç‚ºç®—åœ–ç›®æ¨™ã€‚è‹¥ä½ æƒ³ç›´æŽ¥å°‡å…¶å…§å®¹é¡¯ç¤ºæ–¼ç•«é¢ä¸Šï¼Œè«‹å°‡å…¶è¨ç‚º " +"Control çš„å節點以讓其å–得大å°ã€‚å¦å‰‡è«‹å°‡å…¶è¨ç‚º RenderTarget 並指派其內部紋ç†" +"為其他節點以顯示。" #: scene/main/viewport.cpp msgid "Viewport size must be greater than 0 to render anything." -msgstr "" +msgstr "Viewport 大å°å¿…é ˆå¤§æ–¼ 0 æ‰å¯é€²è¡Œç®—圖。" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid source for preview." -msgstr "無效的å—體大å°ã€‚" +msgstr "無效的é 覽來æºã€‚" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid source for shader." -msgstr "無效的å—體大å°ã€‚" +msgstr "無效的著色器來æºã€‚" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid comparison function for that type." -msgstr "無效的å—體大å°ã€‚" +msgstr "該型別的比較函å¼ç„¡æ•ˆã€‚" #: servers/visual/shader_language.cpp msgid "Assignment to function." -msgstr "" +msgstr "指派至函å¼ã€‚" #: servers/visual/shader_language.cpp msgid "Assignment to uniform." -msgstr "" +msgstr "指派至å‡å‹»ã€‚" #: servers/visual/shader_language.cpp msgid "Varyings can only be assigned in vertex function." -msgstr "" +msgstr "Varying 變數åªå¯åœ¨é ‚點函å¼ä¸æŒ‡æ´¾ã€‚" #: servers/visual/shader_language.cpp msgid "Constants cannot be modified." -msgstr "" +msgstr "ä¸å¯ä¿®æ”¹å¸¸æ•¸ã€‚" + +#~ msgid "Not in resource path." +#~ msgstr "ä¸åœ¨è³‡æºè·¯å¾‘ä¸ã€‚" + +#~ msgid "Revert" +#~ msgstr "還原" + +#~ msgid "This action cannot be undone. Revert anyway?" +#~ msgstr "該æ“作無法還原。ä¾ç„¶è¦é‚„原嗎?" + +#~ msgid "Revert Scene" +#~ msgstr "æ¢å¾©å ´æ™¯" + +#~ msgid "Clear Script" +#~ msgstr "清除腳本" #, fuzzy #~ msgid "Issue Tracker" diff --git a/main/main.cpp b/main/main.cpp index 94dd895a26..5320274add 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -930,6 +930,9 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph #endif } + // Initialize user data dir. + OS::get_singleton()->ensure_user_data_dir(); + GLOBAL_DEF("memory/limits/multithreaded_server/rid_pool_prealloc", 60); ProjectSettings::get_singleton()->set_custom_property_info("memory/limits/multithreaded_server/rid_pool_prealloc", PropertyInfo(Variant::INT, "memory/limits/multithreaded_server/rid_pool_prealloc", PROPERTY_HINT_RANGE, "0,500,1")); // No negative and limit to 500 due to crashes GLOBAL_DEF("network/limits/debugger/max_chars_per_second", 32768); @@ -948,7 +951,6 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph packed_data->set_disabled(true); globals->set_disable_feature_overrides(true); } - #endif GLOBAL_DEF("logging/file_logging/enable_file_logging", false); @@ -1266,10 +1268,6 @@ Error Main::setup2(Thread::ID p_main_tid_override) { Thread::_main_thread_id = p_main_tid_override; } - /* Initialize user data dir */ - - OS::get_singleton()->ensure_user_data_dir(); - /* Initialize Input */ input = memnew(Input); diff --git a/main/tests/test_basis.cpp b/main/tests/test_basis.cpp new file mode 100644 index 0000000000..ac25151fd8 --- /dev/null +++ b/main/tests/test_basis.cpp @@ -0,0 +1,325 @@ +/*************************************************************************/ +/* test_fbx.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#include "test_basis.h" + +#include "core/math/random_number_generator.h" +#include "core/os/os.h" +#include "core/ustring.h" + +namespace TestBasis { + +enum RotOrder { + EulerXYZ, + EulerXZY, + EulerYZX, + EulerYXZ, + EulerZXY, + EulerZYX +}; + +Vector3 deg2rad(const Vector3 &p_rotation) { + return p_rotation / 180.0 * Math_PI; +} + +Vector3 rad2deg(const Vector3 &p_rotation) { + return p_rotation / Math_PI * 180.0; +} + +Basis EulerToBasis(RotOrder mode, const Vector3 &p_rotation) { + Basis ret; + switch (mode) { + case EulerXYZ: + ret.set_euler_xyz(p_rotation); + break; + + case EulerXZY: + ret.set_euler_xzy(p_rotation); + break; + + case EulerYZX: + ret.set_euler_yzx(p_rotation); + break; + + case EulerYXZ: + ret.set_euler_yxz(p_rotation); + break; + + case EulerZXY: + ret.set_euler_zxy(p_rotation); + break; + + case EulerZYX: + ret.set_euler_zyx(p_rotation); + break; + + default: + // If you land here, Please integrate all rotation orders. + CRASH_NOW_MSG("This is not unreachable."); + } + + return ret; +} + +Vector3 BasisToEuler(RotOrder mode, const Basis &p_rotation) { + switch (mode) { + case EulerXYZ: + return p_rotation.get_euler_xyz(); + + case EulerXZY: + return p_rotation.get_euler_xzy(); + + case EulerYZX: + return p_rotation.get_euler_yzx(); + + case EulerYXZ: + return p_rotation.get_euler_yxz(); + + case EulerZXY: + return p_rotation.get_euler_zxy(); + + case EulerZYX: + return p_rotation.get_euler_zyx(); + + default: + // If you land here, Please integrate all rotation orders. + CRASH_NOW_MSG("This is not unreachable."); + return Vector3(); + } +} + +String get_rot_order_name(RotOrder ro) { + switch (ro) { + case EulerXYZ: + return "XYZ"; + case EulerXZY: + return "XZY"; + case EulerYZX: + return "YZX"; + case EulerYXZ: + return "YXZ"; + case EulerZXY: + return "ZXY"; + case EulerZYX: + return "ZYX"; + default: + return "[Not supported]"; + } +} + +bool test_rotation(Vector3 deg_original_euler, RotOrder rot_order) { + // This test: + // 1. Converts the rotation vector from deg to rad. + // 2. Converts euler to basis. + // 3. Converts the above basis back into euler. + // 4. Converts the above euler into basis again. + // 5. Compares the basis obtained in step 2 with the basis of step 4 + // + // The conversion "basis to euler", done in the step 3, may be different from + // the original euler, even if the final rotation are the same. + // This happens because there are more ways to represents the same rotation, + // both valid, using eulers. + // For this reason is necessary to convert that euler back to basis and finally + // compares it. + // + // In this way we can assert that both functions: basis to euler / euler to basis + // are correct. + + bool pass = true; + + // Euler to rotation + const Vector3 original_euler = deg2rad(deg_original_euler); + const Basis to_rotation = EulerToBasis(rot_order, original_euler); + + // Euler from rotation + const Vector3 euler_from_rotation = BasisToEuler(rot_order, to_rotation); + const Basis rotation_from_computed_euler = EulerToBasis(rot_order, euler_from_rotation); + + Basis res = to_rotation.inverse() * rotation_from_computed_euler; + + if ((res.get_axis(0) - Vector3(1.0, 0.0, 0.0)).length() > 0.1) { + OS::get_singleton()->print("Fail due to X %ls\n", String(res.get_axis(0)).c_str()); + pass = false; + } + if ((res.get_axis(1) - Vector3(0.0, 1.0, 0.0)).length() > 0.1) { + OS::get_singleton()->print("Fail due to Y %ls\n", String(res.get_axis(1)).c_str()); + pass = false; + } + if ((res.get_axis(2) - Vector3(0.0, 0.0, 1.0)).length() > 0.1) { + OS::get_singleton()->print("Fail due to Z %ls\n", String(res.get_axis(2)).c_str()); + pass = false; + } + + if (pass) { + // Double check `to_rotation` decomposing with XYZ rotation order. + const Vector3 euler_xyz_from_rotation = to_rotation.get_euler_xyz(); + Basis rotation_from_xyz_computed_euler; + rotation_from_xyz_computed_euler.set_euler_xyz(euler_xyz_from_rotation); + + res = to_rotation.inverse() * rotation_from_xyz_computed_euler; + + if ((res.get_axis(0) - Vector3(1.0, 0.0, 0.0)).length() > 0.1) { + OS::get_singleton()->print("Double check with XYZ rot order failed, due to X %ls\n", String(res.get_axis(0)).c_str()); + pass = false; + } + if ((res.get_axis(1) - Vector3(0.0, 1.0, 0.0)).length() > 0.1) { + OS::get_singleton()->print("Double check with XYZ rot order failed, due to Y %ls\n", String(res.get_axis(1)).c_str()); + pass = false; + } + if ((res.get_axis(2) - Vector3(0.0, 0.0, 1.0)).length() > 0.1) { + OS::get_singleton()->print("Double check with XYZ rot order failed, due to Z %ls\n", String(res.get_axis(2)).c_str()); + pass = false; + } + } + + if (pass == false) { + // Print phase only if not pass. + OS *os = OS::get_singleton(); + os->print("Rotation order: %ls\n.", get_rot_order_name(rot_order).c_str()); + os->print("Original Rotation: %ls\n", String(deg_original_euler).c_str()); + os->print("Quaternion to rotation order: %ls\n", String(rad2deg(euler_from_rotation)).c_str()); + } + + return pass; +} + +void test_euler_conversion() { + Vector<RotOrder> rotorder_to_test; + rotorder_to_test.push_back(EulerXYZ); + rotorder_to_test.push_back(EulerXZY); + rotorder_to_test.push_back(EulerYZX); + rotorder_to_test.push_back(EulerYXZ); + rotorder_to_test.push_back(EulerZXY); + rotorder_to_test.push_back(EulerZYX); + + Vector<Vector3> vectors_to_test; + + // Test the special cases. + vectors_to_test.push_back(Vector3(0.0, 0.0, 0.0)); + vectors_to_test.push_back(Vector3(0.5, 0.5, 0.5)); + vectors_to_test.push_back(Vector3(-0.5, -0.5, -0.5)); + vectors_to_test.push_back(Vector3(40.0, 40.0, 40.0)); + vectors_to_test.push_back(Vector3(-40.0, -40.0, -40.0)); + vectors_to_test.push_back(Vector3(0.0, 0.0, -90.0)); + vectors_to_test.push_back(Vector3(0.0, -90.0, 0.0)); + vectors_to_test.push_back(Vector3(-90.0, 0.0, 0.0)); + vectors_to_test.push_back(Vector3(0.0, 0.0, 90.0)); + vectors_to_test.push_back(Vector3(0.0, 90.0, 0.0)); + vectors_to_test.push_back(Vector3(90.0, 0.0, 0.0)); + vectors_to_test.push_back(Vector3(0.0, 0.0, -30.0)); + vectors_to_test.push_back(Vector3(0.0, -30.0, 0.0)); + vectors_to_test.push_back(Vector3(-30.0, 0.0, 0.0)); + vectors_to_test.push_back(Vector3(0.0, 0.0, 30.0)); + vectors_to_test.push_back(Vector3(0.0, 30.0, 0.0)); + vectors_to_test.push_back(Vector3(30.0, 0.0, 0.0)); + vectors_to_test.push_back(Vector3(0.5, 50.0, 20.0)); + vectors_to_test.push_back(Vector3(-0.5, -50.0, -20.0)); + vectors_to_test.push_back(Vector3(0.5, 0.0, 90.0)); + vectors_to_test.push_back(Vector3(0.5, 0.0, -90.0)); + vectors_to_test.push_back(Vector3(360.0, 360.0, 360.0)); + vectors_to_test.push_back(Vector3(-360.0, -360.0, -360.0)); + vectors_to_test.push_back(Vector3(-90.0, 60.0, -90.0)); + vectors_to_test.push_back(Vector3(90.0, 60.0, -90.0)); + vectors_to_test.push_back(Vector3(90.0, -60.0, -90.0)); + vectors_to_test.push_back(Vector3(-90.0, -60.0, -90.0)); + vectors_to_test.push_back(Vector3(-90.0, 60.0, 90.0)); + vectors_to_test.push_back(Vector3(90.0, 60.0, 90.0)); + vectors_to_test.push_back(Vector3(90.0, -60.0, 90.0)); + vectors_to_test.push_back(Vector3(-90.0, -60.0, 90.0)); + vectors_to_test.push_back(Vector3(60.0, 90.0, -40.0)); + vectors_to_test.push_back(Vector3(60.0, -90.0, -40.0)); + vectors_to_test.push_back(Vector3(-60.0, -90.0, -40.0)); + vectors_to_test.push_back(Vector3(-60.0, 90.0, 40.0)); + vectors_to_test.push_back(Vector3(60.0, 90.0, 40.0)); + vectors_to_test.push_back(Vector3(60.0, -90.0, 40.0)); + vectors_to_test.push_back(Vector3(-60.0, -90.0, 40.0)); + vectors_to_test.push_back(Vector3(-90.0, 90.0, -90.0)); + vectors_to_test.push_back(Vector3(90.0, 90.0, -90.0)); + vectors_to_test.push_back(Vector3(90.0, -90.0, -90.0)); + vectors_to_test.push_back(Vector3(-90.0, -90.0, -90.0)); + vectors_to_test.push_back(Vector3(-90.0, 90.0, 90.0)); + vectors_to_test.push_back(Vector3(90.0, 90.0, 90.0)); + vectors_to_test.push_back(Vector3(90.0, -90.0, 90.0)); + vectors_to_test.push_back(Vector3(20.0, 150.0, 30.0)); + vectors_to_test.push_back(Vector3(20.0, -150.0, 30.0)); + vectors_to_test.push_back(Vector3(-120.0, -150.0, 30.0)); + vectors_to_test.push_back(Vector3(-120.0, -150.0, -130.0)); + vectors_to_test.push_back(Vector3(120.0, -150.0, -130.0)); + vectors_to_test.push_back(Vector3(120.0, 150.0, -130.0)); + vectors_to_test.push_back(Vector3(120.0, 150.0, 130.0)); + + // Add 1000 random vectors with weirds numbers. + RandomNumberGenerator rng; + for (int _ = 0; _ < 1000; _ += 1) { + vectors_to_test.push_back(Vector3( + rng.randf_range(-1800, 1800), + rng.randf_range(-1800, 1800), + rng.randf_range(-1800, 1800))); + } + + bool success = true; + for (int h = 0; h < rotorder_to_test.size(); h += 1) { + int passed = 0; + int failed = 0; + for (int i = 0; i < vectors_to_test.size(); i += 1) { + if (test_rotation(vectors_to_test[i], rotorder_to_test[h])) { + //OS::get_singleton()->print("Success. \n\n"); + passed += 1; + } else { + OS::get_singleton()->print("FAILED FAILED FAILED. \n\n"); + OS::get_singleton()->print("------------>\n"); + OS::get_singleton()->print("------------>\n"); + failed += 1; + success = false; + } + } + + if (failed == 0) { + OS::get_singleton()->print("%i passed tests for rotation order: %ls.\n", passed, get_rot_order_name(rotorder_to_test[h]).c_str()); + } else { + OS::get_singleton()->print("%i FAILED tests for rotation order: %ls.\n", failed, get_rot_order_name(rotorder_to_test[h]).c_str()); + } + } + + if (success) { + OS::get_singleton()->print("Euler conversion checks passed.\n"); + } else { + OS::get_singleton()->print("Euler conversion checks FAILED.\n"); + } +} + +MainLoop *test() { + OS::get_singleton()->print("Start euler conversion checks.\n"); + test_euler_conversion(); + + return NULL; +} + +} // namespace TestBasis diff --git a/main/tests/test_basis.h b/main/tests/test_basis.h new file mode 100644 index 0000000000..67c9db8877 --- /dev/null +++ b/main/tests/test_basis.h @@ -0,0 +1,40 @@ +/*************************************************************************/ +/* test_fbx.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +#ifndef TEST_BASIS_H +#define TEST_BASIS_H + +#include "core/os/main_loop.h" + +namespace TestBasis { +MainLoop *test(); +} + +#endif diff --git a/main/tests/test_main.cpp b/main/tests/test_main.cpp index 0bb8367240..5ebdaf1741 100644 --- a/main/tests/test_main.cpp +++ b/main/tests/test_main.cpp @@ -35,6 +35,7 @@ #ifdef DEBUG_ENABLED #include "test_astar.h" +#include "test_basis.h" #include "test_class_db.h" #include "test_gdscript.h" #include "test_gui.h" @@ -51,6 +52,7 @@ const char **tests_get_names() { static const char *test_names[] = { "string", "math", + "basis", "physics_2d", "physics_3d", "render", @@ -79,6 +81,10 @@ MainLoop *test_main(String p_test, const List<String> &p_args) { return TestMath::test(); } + if (p_test == "basis") { + return TestBasis::test(); + } + if (p_test == "physics_2d") { return TestPhysics2D::test(); } diff --git a/methods.py b/methods.py index 756db19e9a..ca6756f95f 100644 --- a/methods.py +++ b/methods.py @@ -803,3 +803,14 @@ def show_progress(env): progress_finish_command = Command("progress_finish", [], progress_finish) AlwaysBuild(progress_finish_command) + + +def dump(env): + # Dumps latest build information for debugging purposes and external tools. + from json import dump + + def non_serializable(obj): + return "<<non-serializable: %s>>" % (type(obj).__qualname__) + + with open(".scons_env.json", "w") as f: + dump(env.Dictionary(), f, indent=4, default=non_serializable) diff --git a/modules/assimp/editor_scene_importer_assimp.cpp b/modules/assimp/editor_scene_importer_assimp.cpp index 9c90faf66b..aedc4b690a 100644 --- a/modules/assimp/editor_scene_importer_assimp.cpp +++ b/modules/assimp/editor_scene_importer_assimp.cpp @@ -44,7 +44,6 @@ #include <assimp/scene.h> #include <assimp/Importer.hpp> #include <assimp/LogStream.hpp> -#include <string> // move into assimp aiBone *get_bone_by_name(const aiScene *scene, aiString bone_name) { @@ -102,8 +101,6 @@ void EditorSceneImporterAssimp::_bind_methods() { Node *EditorSceneImporterAssimp::import_scene(const String &p_path, uint32_t p_flags, int p_bake_fps, List<String> *r_missing_deps, Error *r_err) { Assimp::Importer importer; - std::wstring w_path = ProjectSettings::get_singleton()->globalize_path(p_path).c_str(); - std::string s_path(w_path.begin(), w_path.end()); importer.SetPropertyBool(AI_CONFIG_PP_FD_REMOVE, true); // Cannot remove pivot points because the static mesh will be in the wrong place importer.SetPropertyBool(AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS, false); @@ -145,7 +142,8 @@ Node *EditorSceneImporterAssimp::import_scene(const String &p_path, uint32_t p_f // aiProcess_EmbedTextures | //aiProcess_SplitByBoneCount | 0; - aiScene *scene = (aiScene *)importer.ReadFile(s_path.c_str(), post_process_Steps); + String g_path = ProjectSettings::get_singleton()->globalize_path(p_path); + aiScene *scene = (aiScene *)importer.ReadFile(g_path.utf8().ptr(), post_process_Steps); ERR_FAIL_COND_V_MSG(scene == nullptr, nullptr, String("Open Asset Import failed to open: ") + String(importer.GetErrorString())); @@ -298,6 +296,7 @@ EditorSceneImporterAssimp::_generate_scene(const String &p_path, aiScene *scene, state.assimp_scene = scene; state.max_bone_weights = p_max_bone_weights; state.animation_player = nullptr; + state.import_flags = p_flags; // populate light map for (unsigned int l = 0; l < scene->mNumLights; l++) { @@ -829,6 +828,8 @@ EditorSceneImporterAssimp::_generate_mesh_from_surface_indices(ImportState &stat Ref<ArrayMesh> mesh; mesh.instance(); bool has_uvs = false; + bool compress_vert_data = state.import_flags & IMPORT_USE_COMPRESSION; + uint32_t mesh_flags = compress_vert_data ? Mesh::ARRAY_COMPRESS_DEFAULT : 0; Map<String, uint32_t> morph_mesh_string_lookup; @@ -1266,7 +1267,7 @@ EditorSceneImporterAssimp::_generate_mesh_from_surface_indices(ImportState &stat morphs[j] = array_copy; } - mesh->add_surface_from_arrays(primitive, array_mesh, morphs); + mesh->add_surface_from_arrays(primitive, array_mesh, morphs, Dictionary(), mesh_flags); mesh->surface_set_material(i, mat); mesh->surface_set_name(i, AssimpUtils::get_assimp_string(ai_mesh->mName)); } diff --git a/modules/assimp/import_state.h b/modules/assimp/import_state.h index 4a3bd17acb..ee22800ac4 100644 --- a/modules/assimp/import_state.h +++ b/modules/assimp/import_state.h @@ -87,6 +87,9 @@ struct ImportState { // this means we can detect // what bones are for other armatures List<aiBone *> bone_stack; + + // EditorSceneImporter::ImportFlags + uint32_t import_flags; }; struct AssimpImageData { diff --git a/modules/dds/texture_loader_dds.cpp b/modules/dds/texture_loader_dds.cpp index ba425371a8..2f4f7d7a4c 100644 --- a/modules/dds/texture_loader_dds.cpp +++ b/modules/dds/texture_loader_dds.cpp @@ -29,14 +29,15 @@ /*************************************************************************/ #include "texture_loader_dds.h" + #include "core/os/file_access.h" #define PF_FOURCC(s) ((uint32_t)(((s)[3] << 24U) | ((s)[2] << 16U) | ((s)[1] << 8U) | ((s)[0]))) +// Reference: https://docs.microsoft.com/en-us/windows/win32/direct3ddds/dds-header + enum { DDS_MAGIC = 0x20534444, - DDSD_CAPS = 0x00000001, - DDSD_PIXELFORMAT = 0x00001000, DDSD_PITCH = 0x00000008, DDSD_LINEARSIZE = 0x00080000, DDSD_MIPMAPCOUNT = 0x00020000, @@ -47,7 +48,6 @@ enum { }; enum DDSFormat { - DDS_DXT1, DDS_DXT3, DDS_DXT5, @@ -128,7 +128,9 @@ RES ResourceFormatDDS::load(const String &p_path, const String &p_original_path, //validate - if (magic != DDS_MAGIC || hsize != 124 || !(flags & DDSD_PIXELFORMAT) || !(flags & DDSD_CAPS)) { + // We don't check DDSD_CAPS or DDSD_PIXELFORMAT, as they're mandatory when writing, + // but non-mandatory when reading (as some writers don't set them)... + if (magic != DDS_MAGIC || hsize != 124) { ERR_FAIL_V_MSG(RES(), "Invalid or unsupported DDS texture file '" + p_path + "'."); } diff --git a/modules/denoise/config.py b/modules/denoise/config.py index 53b8f2f2e3..091d7643c0 100644 --- a/modules/denoise/config.py +++ b/modules/denoise/config.py @@ -1,5 +1,11 @@ def can_build(env, platform): - return env["tools"] + # Thirdparty dependency OpenImage Denoise includes oneDNN library + # which only supports 64-bit architectures. + # It's also only relevant for tools build and desktop platforms, + # as doing lightmap generation and denoising on Android or HTML5 + # would be a bit far-fetched. + desktop_platforms = ["linuxbsd", "osx", "windows"] + return env["tools"] and platform in desktop_platforms and env["bits"] == "64" def configure(env): diff --git a/modules/gdnative/gdnative_api.json b/modules/gdnative/gdnative_api.json index d174b936a8..ccd8d2041c 100644 --- a/modules/gdnative/gdnative_api.json +++ b/modules/gdnative/gdnative_api.json @@ -2,2276 +2,580 @@ "core": { "type": "CORE", "version": { - "major": 1, + "major": 4, "minor": 0 }, - "next": { - "type": "CORE", - "version": { - "major": 1, - "minor": 1 - }, - "next": { - "type": "CORE", - "version": { - "major": 1, - "minor": 2 - }, - "next": { - "type": "CORE", - "version": { - "major": 1, - "minor": 3 - }, - "next": null, - "api": [ - { - "name": "godot_object_get_instance_id", - "return_type": "uint64_t", - "arguments": [ - ["const godot_object *", "p_object"] - ] - }, - { - "name": "godot_array_new_packed_float64_array", - "return_type": "void", - "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_float64_array *", "p_pra"] - ] - }, - { - "name": "godot_array_new_packed_int64_array", - "return_type": "void", - "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_int64_array *", "p_pia"] - ] - }, - { - "name": "godot_callable_new_with_object", - "return_type": "void", - "arguments": [ - ["godot_callable *", "r_dest"], - ["const godot_object *", "p_object"], - ["const godot_string_name *", "p_method"] - ] - }, - { - "name": "godot_callable_new_with_object_id", - "return_type": "void", - "arguments": [ - ["godot_callable *", "r_dest"], - ["uint64_t", "p_objectid"], - ["const godot_string_name *", "p_method"] - ] - }, - { - "name": "godot_callable_new_copy", - "return_type": "void", - "arguments": [ - ["godot_callable *", "r_dest"], - ["const godot_callable *", "p_src"] - ] - }, - { - "name": "godot_callable_destroy", - "return_type": "void", - "arguments": [ - ["godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_call", - "return_type": "godot_int", - "arguments": [ - ["const godot_callable *", "p_self"], - ["const godot_variant **", "p_arguments"], - ["godot_int", "p_argcount"], - ["godot_variant *", "r_return_value"] - ] - }, - { - "name": "godot_callable_call_deferred", - "return_type": "void", - "arguments": [ - ["const godot_callable *", "p_self"], - ["const godot_variant **", "p_arguments"], - ["godot_int", "p_argcount"] - ] - }, - { - "name": "godot_callable_is_null", - "return_type": "godot_bool", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_is_custom", - "return_type": "godot_bool", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_is_standard", - "return_type": "godot_bool", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_get_object", - "return_type": "godot_object *", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_get_object_id", - "return_type": "uint64_t", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_get_method", - "return_type": "godot_string_name", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_hash", - "return_type": "uint32_t", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_as_string", - "return_type": "godot_string", - "arguments": [ - ["const godot_callable *", "p_self"] - ] - }, - { - "name": "godot_callable_operator_equal", - "return_type": "godot_bool", - "arguments": [ - ["const godot_callable *", "p_self"], - ["const godot_callable *", "p_other"] - ] - }, - { - "name": "godot_callable_operator_less", - "return_type": "godot_bool", - "arguments": [ - ["const godot_callable *", "p_self"], - ["const godot_callable *", "p_other"] - ] - }, - { - "name": "godot_signal_new_with_object", - "return_type": "void", - "arguments": [ - ["godot_signal *", "r_dest"], - ["const godot_object *", "p_object"], - ["const godot_string_name *", "p_method"] - ] - }, - { - "name": "godot_signal_new_with_object_id", - "return_type": "void", - "arguments": [ - ["godot_signal *", "r_dest"], - ["uint64_t", "p_objectid"], - ["const godot_string_name *", "p_method"] - ] - }, - { - "name": "godot_signal_new_copy", - "return_type": "void", - "arguments": [ - ["godot_signal *", "r_dest"], - ["const godot_signal *", "p_src"] - ] - }, - { - "name": "godot_signal_destroy", - "return_type": "void", - "arguments": [ - ["godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_emit", - "return_type": "godot_int", - "arguments": [ - ["const godot_signal *", "p_self"], - ["const godot_variant **", "p_arguments"], - ["godot_int", "p_argcount"] - ] - }, - { - "name": "godot_signal_connect", - "return_type": "godot_int", - "arguments": [ - ["godot_signal *", "p_self"], - ["const godot_callable *", "p_callable"], - ["const godot_array *", "p_binds"], - ["uint32_t", "p_flags"] - ] - }, - { - "name": "godot_signal_disconnect", - "return_type": "void", - "arguments": [ - ["godot_signal *", "p_self"], - ["const godot_callable *", "p_callable"] - ] - }, - { - "name": "godot_signal_is_null", - "return_type": "godot_bool", - "arguments": [ - ["const godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_is_connected", - "return_type": "godot_bool", - "arguments": [ - ["const godot_signal *", "p_self"], - ["const godot_callable *", "p_callable"] - ] - }, - { - "name": "godot_signal_get_connections", - "return_type": "godot_array", - "arguments": [ - ["const godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_get_object", - "return_type": "godot_object *", - "arguments": [ - ["const godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_get_object_id", - "return_type": "uint64_t", - "arguments": [ - ["const godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_get_name", - "return_type": "godot_string_name", - "arguments": [ - ["const godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_as_string", - "return_type": "godot_string", - "arguments": [ - ["const godot_signal *", "p_self"] - ] - }, - { - "name": "godot_signal_operator_equal", - "return_type": "godot_bool", - "arguments": [ - ["const godot_signal *", "p_self"], - ["const godot_signal *", "p_other"] - ] - }, - { - "name": "godot_signal_operator_less", - "return_type": "godot_bool", - "arguments": [ - ["const godot_signal *", "p_self"], - ["const godot_signal *", "p_other"] - ] - }, - { - "name": "godot_packed_int64_array_new", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "r_dest"] - ] - }, - { - "name": "godot_packed_int64_array_new_copy", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "r_dest"], - ["const godot_packed_int64_array *", "p_src"] - ] - }, - { - "name": "godot_packed_int64_array_new_with_array", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "r_dest"], - ["const godot_array *", "p_a"] - ] - }, - { - "name": "godot_packed_int64_array_append", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const int64_t", "p_data"] - ] - }, - { - "name": "godot_packed_int64_array_append_array", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const godot_packed_int64_array *", "p_array"] - ] - }, - { - "name": "godot_packed_int64_array_insert", - "return_type": "godot_error", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const godot_int", "p_idx"], - ["const int64_t", "p_data"] - ] - }, - { - "name": "godot_packed_int64_array_invert", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_int64_array_push_back", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const int64_t", "p_data"] - ] - }, - { - "name": "godot_packed_int64_array_remove", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const godot_int", "p_idx"] - ] - }, - { - "name": "godot_packed_int64_array_resize", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const godot_int", "p_size"] - ] - }, - { - "name": "godot_packed_int64_array_set", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"], - ["const godot_int", "p_idx"], - ["const int64_t", "p_data"] - ] - }, - { - "name": "godot_packed_int64_array_get", - "return_type": "int64_t", - "arguments": [ - ["const godot_packed_int64_array *", "p_self"], - ["const godot_int", "p_idx"] - ] - }, - { - "name": "godot_packed_int64_array_size", - "return_type": "godot_int", - "arguments": [ - ["const godot_packed_int64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_int64_array_destroy", - "return_type": "void", - "arguments": [ - ["godot_packed_int64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_float64_array_new", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "r_dest"] - ] - }, - { - "name": "godot_packed_float64_array_new_copy", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "r_dest"], - ["const godot_packed_float64_array *", "p_src"] - ] - }, - { - "name": "godot_packed_float64_array_new_with_array", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "r_dest"], - ["const godot_array *", "p_a"] - ] - }, - { - "name": "godot_packed_float64_array_append", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const double", "p_data"] - ] - }, - { - "name": "godot_packed_float64_array_append_array", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const godot_packed_float64_array *", "p_array"] - ] - }, - { - "name": "godot_packed_float64_array_insert", - "return_type": "godot_error", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const godot_int", "p_idx"], - ["const double", "p_data"] - ] - }, - { - "name": "godot_packed_float64_array_invert", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_float64_array_push_back", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const double", "p_data"] - ] - }, - { - "name": "godot_packed_float64_array_remove", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const godot_int", "p_idx"] - ] - }, - { - "name": "godot_packed_float64_array_resize", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const godot_int", "p_size"] - ] - }, - { - "name": "godot_packed_float64_array_set", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"], - ["const godot_int", "p_idx"], - ["const double", "p_data"] - ] - }, - { - "name": "godot_packed_float64_array_get", - "return_type": "double", - "arguments": [ - ["const godot_packed_float64_array *", "p_self"], - ["const godot_int", "p_idx"] - ] - }, - { - "name": "godot_packed_float64_array_size", - "return_type": "godot_int", - "arguments": [ - ["const godot_packed_float64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_float64_array_destroy", - "return_type": "void", - "arguments": [ - ["godot_packed_float64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_int64_array_ptr", - "return_type": "const int64_t *", - "arguments": [ - ["const godot_packed_int64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_int64_array_ptrw", - "return_type": "int64_t *", - "arguments": [ - ["godot_packed_int64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_float64_array_ptr", - "return_type": "const double *", - "arguments": [ - ["const godot_packed_float64_array *", "p_self"] - ] - }, - { - "name": "godot_packed_float64_array_ptrw", - "return_type": "double *", - "arguments": [ - ["godot_packed_float64_array *", "p_self"] - ] - }, - { - "name": "godot_rect2_as_rect2i", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2 *", "p_self"] - ] - }, - { - "name": "godot_rect2i_new_with_position_and_size", - "return_type": "void", - "arguments": [ - ["godot_rect2i *", "r_dest"], - ["const godot_vector2i *", "p_pos"], - ["const godot_vector2i *", "p_size"] - ] - }, - { - "name": "godot_rect2i_new", - "return_type": "void", - "arguments": [ - ["godot_rect2i *", "r_dest"], - ["const godot_int", "p_x"], - ["const godot_int", "p_y"], - ["const godot_int", "p_width"], - ["const godot_int", "p_height"] - ] - }, - { - "name": "godot_rect2i_as_string", - "return_type": "godot_string", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_as_rect2", - "return_type": "godot_rect2", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_get_area", - "return_type": "godot_int", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_intersects", - "return_type": "godot_bool", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_rect2i *", "p_b"] - ] - }, - { - "name": "godot_rect2i_encloses", - "return_type": "godot_bool", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_rect2i *", "p_b"] - ] - }, - { - "name": "godot_rect2i_has_no_area", - "return_type": "godot_bool", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_clip", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_rect2i *", "p_b"] - ] - }, - { - "name": "godot_rect2i_merge", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_rect2i *", "p_b"] - ] - }, - { - "name": "godot_rect2i_has_point", - "return_type": "godot_bool", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_vector2i *", "p_point"] - ] - }, - { - "name": "godot_rect2i_grow", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_int", "p_by"] - ] - }, - { - "name": "godot_rect2i_grow_individual", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_int", "p_left"], - ["const godot_int", "p_top"], - ["const godot_int", "p_right"], - ["const godot_int", "p_bottom"] - ] - }, - { - "name": "godot_rect2i_grow_margin", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_int", "p_margin"], - ["const godot_int", "p_by"] - ] - }, - { - "name": "godot_rect2i_abs", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_expand", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_vector2i *", "p_to"] - ] - }, - { - "name": "godot_rect2i_operator_equal", - "return_type": "godot_bool", - "arguments": [ - ["const godot_rect2i *", "p_self"], - ["const godot_rect2i *", "p_b"] - ] - }, - { - "name": "godot_rect2i_get_position", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_get_size", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_rect2i *", "p_self"] - ] - }, - { - "name": "godot_rect2i_set_position", - "return_type": "void", - "arguments": [ - ["godot_rect2i *", "p_self"], - ["const godot_vector2i *", "p_pos"] - ] - }, - { - "name": "godot_rect2i_set_size", - "return_type": "void", - "arguments": [ - ["godot_rect2i *", "p_self"], - ["const godot_vector2i *", "p_size"] - ] - }, - { - "name": "godot_variant_new_string_name", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_string_name *", "p_s"] - ] - }, - { - "name": "godot_variant_new_vector2i", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_vector2i *", "p_v2"] - ] - }, - { - "name": "godot_variant_new_rect2i", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_rect2i *", "p_rect2"] - ] - }, - { - "name": "godot_variant_new_vector3i", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_vector3i *", "p_v3"] - ] - }, - { - "name": "godot_variant_new_callable", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_callable *", "p_cb"] - ] - }, - { - "name": "godot_variant_new_signal", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_signal *", "p_signal"] - ] - }, - { - "name": "godot_variant_new_packed_int64_array", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_packed_int64_array *", "p_pia"] - ] - }, - { - "name": "godot_variant_new_packed_float64_array", - "return_type": "void", - "arguments": [ - ["godot_variant *", "r_dest"], - ["const godot_packed_float64_array *", "p_pra"] - ] - }, - { - "name": "godot_variant_as_string_name", - "return_type": "godot_string_name", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_vector2i", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_rect2i", - "return_type": "godot_rect2i", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_vector3i", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_callable", - "return_type": "godot_callable", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_signal", - "return_type": "godot_signal", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_packed_int64_array", - "return_type": "godot_packed_int64_array", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_as_packed_float64_array", - "return_type": "godot_packed_float64_array", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_hash", - "return_type": "uint32_t", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_vector2_as_vector2i", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2 *", "p_self"] - ] - }, - { - "name": "godot_vector2_sign", - "return_type": "godot_vector2", - "arguments": [ - ["const godot_vector2 *", "p_self"] - ] - }, - { - "name": "godot_vector2i_new", - "return_type": "void", - "arguments": [ - ["godot_vector2i *", "r_dest"], - ["const godot_int", "p_x"], - ["const godot_int", "p_y"] - ] - }, - { - "name": "godot_vector2i_as_string", - "return_type": "godot_string", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_as_vector2", - "return_type": "godot_vector2", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_aspect", - "return_type": "godot_real", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_abs", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_sign", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_operator_add", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_vector2i *", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_subtract", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_vector2i *", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_multiply_vector", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_vector2i *", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_multiply_scalar", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_int", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_divide_vector", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_vector2i *", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_divide_scalar", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_int", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_equal", - "return_type": "godot_bool", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_vector2i *", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_less", - "return_type": "godot_bool", - "arguments": [ - ["const godot_vector2i *", "p_self"], - ["const godot_vector2i *", "p_b"] - ] - }, - { - "name": "godot_vector2i_operator_neg", - "return_type": "godot_vector2i", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_set_x", - "return_type": "void", - "arguments": [ - ["godot_vector2i *", "p_self"], - ["const godot_int", "p_x"] - ] - }, - { - "name": "godot_vector2i_set_y", - "return_type": "void", - "arguments": [ - ["godot_vector2i *", "p_self"], - ["const godot_int", "p_y"] - ] - }, - { - "name": "godot_vector2i_get_x", - "return_type": "godot_int", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector2i_get_y", - "return_type": "godot_int", - "arguments": [ - ["const godot_vector2i *", "p_self"] - ] - }, - { - "name": "godot_vector3_as_vector3i", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3 *", "p_self"] - ] - }, - { - "name": "godot_vector3_sign", - "return_type": "godot_vector3", - "arguments": [ - ["const godot_vector3 *", "p_self"] - ] - }, - { - "name": "godot_vector3i_new", - "return_type": "void", - "arguments": [ - ["godot_vector3i *", "r_dest"], - ["const godot_int", "p_x"], - ["const godot_int", "p_y"], - ["const godot_int", "p_z"] - ] - }, - { - "name": "godot_vector3i_as_string", - "return_type": "godot_string", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_as_vector3", - "return_type": "godot_vector3", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_min_axis", - "return_type": "godot_int", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_max_axis", - "return_type": "godot_int", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_abs", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_sign", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_operator_add", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3i *", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_subtract", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3i *", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_multiply_vector", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3i *", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_multiply_scalar", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_int", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_divide_vector", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3i *", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_divide_scalar", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_int", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_equal", - "return_type": "godot_bool", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3i *", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_less", - "return_type": "godot_bool", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3i *", "p_b"] - ] - }, - { - "name": "godot_vector3i_operator_neg", - "return_type": "godot_vector3i", - "arguments": [ - ["const godot_vector3i *", "p_self"] - ] - }, - { - "name": "godot_vector3i_set_axis", - "return_type": "void", - "arguments": [ - ["godot_vector3i *", "p_self"], - ["const godot_vector3_axis", "p_axis"], - ["const godot_int", "p_val"] - ] - }, - { - "name": "godot_vector3i_get_axis", - "return_type": "godot_int", - "arguments": [ - ["const godot_vector3i *", "p_self"], - ["const godot_vector3_axis", "p_axis"] - ] - } - ] - }, - "api": [ - { - "name": "godot_dictionary_duplicate", - "return_type": "godot_dictionary", - "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_bool", "p_deep"] - ] - }, - { - "name": "godot_vector3_move_toward", - "return_type": "godot_vector3", - "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_to"], - ["const godot_real", "p_delta"] - ] - }, - { - "name": "godot_vector2_move_toward", - "return_type": "godot_vector2", - "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_to"], - ["const godot_real", "p_delta"] - ] - }, - { - "name": "godot_string_count", - "return_type": "godot_int", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"], - ["godot_int", "p_from"], - ["godot_int", "p_to"] - ] - }, - { - "name": "godot_string_countn", - "return_type": "godot_int", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"], - ["godot_int", "p_from"], - ["godot_int", "p_to"] - ] - }, - { - "name": "godot_vector3_direction_to", - "return_type": "godot_vector3", - "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_to"] - ] - }, - { - "name": "godot_vector2_direction_to", - "return_type": "godot_vector2", - "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_to"] - ] - }, - { - "name": "godot_array_slice", - "return_type": "godot_array", - "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_int", "p_begin"], - ["const godot_int", "p_end"], - ["const godot_int", "p_step"], - ["const godot_bool", "p_deep"] - ] - }, - { - "name": "godot_packed_byte_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_byte_array *", "p_self"] - ] - }, - { - "name": "godot_packed_int32_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_int32_array *", "p_self"] - ] - }, - { - "name": "godot_packed_float32_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_float32_array *", "p_self"] - ] - }, - { - "name": "godot_packed_string_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_string_array *", "p_self"] - ] - }, - { - "name": "godot_packed_vector2_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_vector2_array *", "p_self"] - ] - }, - { - "name": "godot_packed_vector3_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_vector3_array *", "p_self"] - ] - }, - { - "name": "godot_packed_color_array_empty", - "return_type": "godot_bool", - "arguments": [ - ["const godot_packed_color_array *", "p_self"] - ] - }, - { - "name": "godot_get_class_tag", - "return_type": "void *", - "arguments": [ - ["const godot_string_name *", "p_class"] - ] - }, - { - "name": "godot_object_cast_to", - "return_type": "godot_object *", - "arguments": [ - ["const godot_object *", "p_object"], - ["void *", "p_class_tag"] - ] - }, - { - "name": "godot_instance_from_id", - "return_type": "godot_object *", - "arguments": [ - ["uint64_t", "p_instance_id"] - ] - } - ] - }, - "api": [ - { - "name": "godot_color_to_abgr32", - "return_type": "godot_int", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_to_abgr64", - "return_type": "godot_int", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_to_argb64", - "return_type": "godot_int", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_to_rgba64", - "return_type": "godot_int", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_darkened", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_real", "p_amount"] - ] - }, - { - "name": "godot_color_from_hsv", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_real", "p_h"], - ["const godot_real", "p_s"], - ["const godot_real", "p_v"], - ["const godot_real", "p_a"] - ] - }, - { - "name": "godot_color_lightened", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_real", "p_amount"] - ] - }, - { - "name": "godot_array_duplicate", - "return_type": "godot_array", - "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_bool", "p_deep"] - ] - }, - { - "name": "godot_array_max", - "return_type": "godot_variant", - "arguments": [ - ["const godot_array *", "p_self"] - ] - }, - { - "name": "godot_array_min", - "return_type": "godot_variant", - "arguments": [ - ["const godot_array *", "p_self"] - ] - }, - { - "name": "godot_array_shuffle", - "return_type": "void", - "arguments": [ - ["godot_array *", "p_self"] - ] - }, - { - "name": "godot_basis_slerp", - "return_type": "godot_basis", - "arguments": [ - ["const godot_basis *", "p_self"], - ["const godot_basis *", "p_b"], - ["const godot_real", "p_t"] - ] - }, - { - "name": "godot_dictionary_get_with_default", - "return_type": "godot_variant", - "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"], - ["const godot_variant *", "p_default"] - ] - }, - { - "name": "godot_dictionary_erase_with_return", - "return_type": "bool", - "arguments": [ - ["godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] - ] - }, - { - "name": "godot_node_path_get_as_property_path", - "return_type": "godot_node_path", - "arguments": [ - ["const godot_node_path *", "p_self"] - ] - }, - { - "name": "godot_quat_set_axis_angle", - "return_type": "void", - "arguments": [ - ["godot_quat *", "p_self"], - ["const godot_vector3 *", "p_axis"], - ["const godot_real", "p_angle"] - ] - }, - { - "name": "godot_rect2_grow_individual", - "return_type": "godot_rect2", - "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_real", "p_left"], - ["const godot_real", "p_top"], - ["const godot_real", "p_right"], - ["const godot_real", "p_bottom"] - ] - }, - { - "name": "godot_rect2_grow_margin", - "return_type": "godot_rect2", - "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_int", "p_margin"], - ["const godot_real", "p_by"] - ] - }, - { - "name": "godot_rect2_abs", - "return_type": "godot_rect2", - "arguments": [ - ["const godot_rect2 *", "p_self"] - ] - }, - { - "name": "godot_string_dedent", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"] - ] - }, - { - "name": "godot_string_trim_prefix", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_prefix"] - ] - }, - { - "name": "godot_string_trim_suffix", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_suffix"] - ] - }, - { - "name": "godot_string_rstrip", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_chars"] - ] - }, - { - "name": "godot_string_rsplit", - "return_type": "godot_packed_string_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_divisor"], - ["const godot_bool", "p_allow_empty"], - ["const godot_int", "p_maxsplit"] - ] - }, - { - "name": "godot_basis_get_quat", - "return_type": "godot_quat", - "arguments": [ - ["const godot_basis *", "p_self"] - ] - }, - { - "name": "godot_basis_set_quat", - "return_type": "void", - "arguments": [ - ["godot_basis *", "p_self"], - ["const godot_quat *", "p_quat"] - ] - }, - { - "name": "godot_basis_set_axis_angle_scale", - "return_type": "void", - "arguments": [ - ["godot_basis *", "p_self"], - ["const godot_vector3 *", "p_axis"], - ["godot_real", "p_phi"], - ["const godot_vector3 *", "p_scale"] - ] - }, - { - "name": "godot_basis_set_euler_scale", - "return_type": "void", - "arguments": [ - ["godot_basis *", "p_self"], - ["const godot_vector3 *", "p_euler"], - ["const godot_vector3 *", "p_scale"] - ] - }, - { - "name": "godot_basis_set_quat_scale", - "return_type": "void", - "arguments": [ - ["godot_basis *", "p_self"], - ["const godot_quat *", "p_quat"], - ["const godot_vector3 *", "p_scale"] - ] - }, - { - "name": "godot_quat_new_with_basis", - "return_type": "void", - "arguments": [ - ["godot_quat *", "r_dest"], - ["const godot_basis *", "p_basis"] - ] - }, - { - "name": "godot_quat_new_with_euler", - "return_type": "void", - "arguments": [ - ["godot_quat *", "r_dest"], - ["const godot_vector3 *", "p_euler"] - ] - }, - { - "name": "godot_transform_new_with_quat", - "return_type": "void", - "arguments": [ - ["godot_transform *", "r_dest"], - ["const godot_quat *", "p_quat"] - ] - }, - { - "name": "godot_variant_get_operator_name", - "return_type": "godot_string", - "arguments": [ - ["godot_variant_operator", "p_op"] - ] - }, - { - "name": "godot_variant_evaluate", - "return_type": "void", - "arguments": [ - ["godot_variant_operator", "p_op"], - ["const godot_variant *", "p_a"], - ["const godot_variant *", "p_b"], - ["godot_variant *", "r_ret"], - ["godot_bool *", "r_valid"] - ] - } - ] - }, + "next": null, "api": [ { - "name": "godot_color_new_rgba", - "return_type": "void", - "arguments": [ - ["godot_color *", "r_dest"], - ["const godot_real", "p_r"], - ["const godot_real", "p_g"], - ["const godot_real", "p_b"], - ["const godot_real", "p_a"] - ] - }, - { - "name": "godot_color_new_rgb", - "return_type": "void", - "arguments": [ - ["godot_color *", "r_dest"], - ["const godot_real", "p_r"], - ["const godot_real", "p_g"], - ["const godot_real", "p_b"] - ] - }, - { - "name": "godot_color_get_r", - "return_type": "godot_real", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_set_r", - "return_type": "void", - "arguments": [ - ["godot_color *", "p_self"], - ["const godot_real", "r"] - ] - }, - { - "name": "godot_color_get_g", - "return_type": "godot_real", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_set_g", + "name": "godot_aabb_new", "return_type": "void", "arguments": [ - ["godot_color *", "p_self"], - ["const godot_real", "g"] + ["godot_aabb *", "r_dest"], + ["const godot_vector3 *", "p_pos"], + ["const godot_vector3 *", "p_size"] ] }, { - "name": "godot_color_get_b", - "return_type": "godot_real", + "name": "godot_aabb_get_position", + "return_type": "godot_vector3", "arguments": [ - ["const godot_color *", "p_self"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_color_set_b", + "name": "godot_aabb_set_position", "return_type": "void", "arguments": [ - ["godot_color *", "p_self"], - ["const godot_real", "b"] + ["const godot_aabb *", "p_self"], + ["const godot_vector3 *", "p_v"] ] }, { - "name": "godot_color_get_a", - "return_type": "godot_real", + "name": "godot_aabb_get_size", + "return_type": "godot_vector3", "arguments": [ - ["const godot_color *", "p_self"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_color_set_a", + "name": "godot_aabb_set_size", "return_type": "void", "arguments": [ - ["godot_color *", "p_self"], - ["const godot_real", "a"] - ] - }, - { - "name": "godot_color_get_h", - "return_type": "godot_real", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_get_s", - "return_type": "godot_real", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_get_v", - "return_type": "godot_real", - "arguments": [ - ["const godot_color *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_vector3 *", "p_v"] ] }, { - "name": "godot_color_as_string", + "name": "godot_aabb_as_string", "return_type": "godot_string", "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_to_rgba32", - "return_type": "godot_int", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_to_argb32", - "return_type": "godot_int", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_inverted", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_contrasted", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"] - ] - }, - { - "name": "godot_color_lerp", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_color *", "p_b"], - ["const godot_real", "p_t"] - ] - }, - { - "name": "godot_color_blend", - "return_type": "godot_color", - "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_color *", "p_over"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_color_to_html", - "return_type": "godot_string", + "name": "godot_aabb_get_area", + "return_type": "godot_real", "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_bool", "p_with_alpha"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_color_operator_equal", + "name": "godot_aabb_has_no_area", "return_type": "godot_bool", "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_color *", "p_b"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_color_operator_less", + "name": "godot_aabb_has_no_surface", "return_type": "godot_bool", "arguments": [ - ["const godot_color *", "p_self"], - ["const godot_color *", "p_b"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_new", - "return_type": "void", + "name": "godot_aabb_intersects", + "return_type": "godot_bool", "arguments": [ - ["godot_vector2 *", "r_dest"], - ["const godot_real", "p_x"], - ["const godot_real", "p_y"] + ["const godot_aabb *", "p_self"], + ["const godot_aabb *", "p_with"] ] }, { - "name": "godot_vector2_as_string", - "return_type": "godot_string", + "name": "godot_aabb_encloses", + "return_type": "godot_bool", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_aabb *", "p_with"] ] }, { - "name": "godot_vector2_normalized", - "return_type": "godot_vector2", + "name": "godot_aabb_merge", + "return_type": "godot_aabb", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_aabb *", "p_with"] ] }, { - "name": "godot_vector2_length", - "return_type": "godot_real", + "name": "godot_aabb_intersection", + "return_type": "godot_aabb", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_aabb *", "p_with"] ] }, { - "name": "godot_vector2_angle", - "return_type": "godot_real", + "name": "godot_aabb_intersects_plane", + "return_type": "godot_bool", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_plane *", "p_plane"] ] }, { - "name": "godot_vector2_length_squared", - "return_type": "godot_real", + "name": "godot_aabb_intersects_segment", + "return_type": "godot_bool", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_vector3 *", "p_from"], + ["const godot_vector3 *", "p_to"] ] }, { - "name": "godot_vector2_is_normalized", + "name": "godot_aabb_has_point", "return_type": "godot_bool", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_vector3 *", "p_point"] ] }, { - "name": "godot_vector2_distance_to", - "return_type": "godot_real", + "name": "godot_aabb_get_support", + "return_type": "godot_vector3", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_to"] + ["const godot_aabb *", "p_self"], + ["const godot_vector3 *", "p_dir"] ] }, { - "name": "godot_vector2_distance_squared_to", - "return_type": "godot_real", + "name": "godot_aabb_get_longest_axis", + "return_type": "godot_vector3", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_to"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_angle_to", - "return_type": "godot_real", + "name": "godot_aabb_get_longest_axis_index", + "return_type": "godot_int", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_to"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_angle_to_point", + "name": "godot_aabb_get_longest_axis_size", "return_type": "godot_real", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_to"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_lerp", - "return_type": "godot_vector2", + "name": "godot_aabb_get_shortest_axis", + "return_type": "godot_vector3", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"], - ["const godot_real", "p_t"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_cubic_interpolate", - "return_type": "godot_vector2", + "name": "godot_aabb_get_shortest_axis_index", + "return_type": "godot_int", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"], - ["const godot_vector2 *", "p_pre_a"], - ["const godot_vector2 *", "p_post_b"], - ["const godot_real", "p_t"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_rotated", - "return_type": "godot_vector2", + "name": "godot_aabb_get_shortest_axis_size", + "return_type": "godot_real", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_real", "p_phi"] + ["const godot_aabb *", "p_self"] ] }, { - "name": "godot_vector2_tangent", - "return_type": "godot_vector2", + "name": "godot_aabb_expand", + "return_type": "godot_aabb", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_vector3 *", "p_to_point"] ] }, { - "name": "godot_vector2_floor", - "return_type": "godot_vector2", + "name": "godot_aabb_grow", + "return_type": "godot_aabb", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_real", "p_by"] ] }, { - "name": "godot_vector2_snapped", - "return_type": "godot_vector2", + "name": "godot_aabb_get_endpoint", + "return_type": "godot_vector3", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_by"] + ["const godot_aabb *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_vector2_aspect", - "return_type": "godot_real", + "name": "godot_aabb_operator_equal", + "return_type": "godot_bool", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_aabb *", "p_self"], + ["const godot_aabb *", "p_b"] ] }, { - "name": "godot_vector2_dot", - "return_type": "godot_real", + "name": "godot_array_new", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_with"] + ["godot_array *", "r_dest"] ] }, { - "name": "godot_vector2_slide", - "return_type": "godot_vector2", + "name": "godot_array_new_copy", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_n"] + ["godot_array *", "r_dest"], + ["const godot_array *", "p_src"] ] }, { - "name": "godot_vector2_bounce", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_color_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_n"] + ["godot_array *", "r_dest"], + ["const godot_packed_color_array *", "p_pca"] ] }, { - "name": "godot_vector2_reflect", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_vector3_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_n"] + ["godot_array *", "r_dest"], + ["const godot_packed_vector3_array *", "p_pv3a"] ] }, { - "name": "godot_vector2_abs", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_vector2_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["godot_array *", "r_dest"], + ["const godot_packed_vector2_array *", "p_pv2a"] ] }, { - "name": "godot_vector2_clamped", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_string_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_real", "p_length"] + ["godot_array *", "r_dest"], + ["const godot_packed_string_array *", "p_psa"] ] }, { - "name": "godot_vector2_operator_add", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_float32_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"] + ["godot_array *", "r_dest"], + ["const godot_packed_float32_array *", "p_pra"] ] }, { - "name": "godot_vector2_operator_subtract", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_float64_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"] + ["godot_array *", "r_dest"], + ["const godot_packed_float64_array *", "p_pra"] ] }, { - "name": "godot_vector2_operator_multiply_vector", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_int32_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"] + ["godot_array *", "r_dest"], + ["const godot_packed_int32_array *", "p_pia"] ] }, { - "name": "godot_vector2_operator_multiply_scalar", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_int64_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_real", "p_b"] + ["godot_array *", "r_dest"], + ["const godot_packed_int64_array *", "p_pia"] ] }, { - "name": "godot_vector2_operator_divide_vector", - "return_type": "godot_vector2", + "name": "godot_array_new_packed_byte_array", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"] + ["godot_array *", "r_dest"], + ["const godot_packed_byte_array *", "p_pba"] ] }, { - "name": "godot_vector2_operator_divide_scalar", - "return_type": "godot_vector2", + "name": "godot_array_set", + "return_type": "void", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_real", "p_b"] + ["godot_array *", "p_self"], + ["const godot_int", "p_idx"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_vector2_operator_equal", - "return_type": "godot_bool", + "name": "godot_array_get", + "return_type": "godot_variant", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"] + ["const godot_array *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_vector2_operator_less", - "return_type": "godot_bool", + "name": "godot_array_operator_index", + "return_type": "godot_variant *", "arguments": [ - ["const godot_vector2 *", "p_self"], - ["const godot_vector2 *", "p_b"] + ["godot_array *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_vector2_operator_neg", - "return_type": "godot_vector2", + "name": "godot_array_operator_index_const", + "return_type": "const godot_variant *", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_array *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_vector2_set_x", + "name": "godot_array_append", "return_type": "void", "arguments": [ - ["godot_vector2 *", "p_self"], - ["const godot_real", "p_x"] + ["godot_array *", "p_self"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_vector2_set_y", + "name": "godot_array_clear", "return_type": "void", "arguments": [ - ["godot_vector2 *", "p_self"], - ["const godot_real", "p_y"] + ["godot_array *", "p_self"] ] }, { - "name": "godot_vector2_get_x", - "return_type": "godot_real", + "name": "godot_array_count", + "return_type": "godot_int", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_array *", "p_self"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_vector2_get_y", - "return_type": "godot_real", + "name": "godot_array_duplicate", + "return_type": "godot_array", "arguments": [ - ["const godot_vector2 *", "p_self"] + ["const godot_array *", "p_self"], + ["const godot_bool", "p_deep"] ] }, { - "name": "godot_quat_new", - "return_type": "void", + "name": "godot_array_empty", + "return_type": "godot_bool", "arguments": [ - ["godot_quat *", "r_dest"], - ["const godot_real", "p_x"], - ["const godot_real", "p_y"], - ["const godot_real", "p_z"], - ["const godot_real", "p_w"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_new_with_axis_angle", + "name": "godot_array_erase", "return_type": "void", "arguments": [ - ["godot_quat *", "r_dest"], - ["const godot_vector3 *", "p_axis"], - ["const godot_real", "p_angle"] + ["godot_array *", "p_self"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_quat_get_x", - "return_type": "godot_real", + "name": "godot_array_front", + "return_type": "godot_variant", "arguments": [ - ["const godot_quat *", "p_self"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_set_x", - "return_type": "void", + "name": "godot_array_back", + "return_type": "godot_variant", "arguments": [ - ["godot_quat *", "p_self"], - ["const godot_real", "val"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_get_y", - "return_type": "godot_real", + "name": "godot_array_find", + "return_type": "godot_int", "arguments": [ - ["const godot_quat *", "p_self"] + ["const godot_array *", "p_self"], + ["const godot_variant *", "p_what"], + ["const godot_int", "p_from"] ] }, { - "name": "godot_quat_set_y", - "return_type": "void", + "name": "godot_array_find_last", + "return_type": "godot_int", "arguments": [ - ["godot_quat *", "p_self"], - ["const godot_real", "val"] + ["const godot_array *", "p_self"], + ["const godot_variant *", "p_what"] ] }, { - "name": "godot_quat_get_z", - "return_type": "godot_real", + "name": "godot_array_has", + "return_type": "godot_bool", "arguments": [ - ["const godot_quat *", "p_self"] + ["const godot_array *", "p_self"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_quat_set_z", - "return_type": "void", + "name": "godot_array_hash", + "return_type": "godot_int", "arguments": [ - ["godot_quat *", "p_self"], - ["const godot_real", "val"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_get_w", - "return_type": "godot_real", + "name": "godot_array_insert", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"] + ["godot_array *", "p_self"], + ["const godot_int", "p_pos"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_quat_set_w", + "name": "godot_array_invert", "return_type": "void", "arguments": [ - ["godot_quat *", "p_self"], - ["const godot_real", "val"] + ["godot_array *", "p_self"] ] }, { - "name": "godot_quat_as_string", - "return_type": "godot_string", + "name": "godot_array_max", + "return_type": "godot_variant", "arguments": [ - ["const godot_quat *", "p_self"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_length", - "return_type": "godot_real", + "name": "godot_array_min", + "return_type": "godot_variant", "arguments": [ - ["const godot_quat *", "p_self"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_length_squared", - "return_type": "godot_real", + "name": "godot_array_pop_back", + "return_type": "godot_variant", "arguments": [ - ["const godot_quat *", "p_self"] + ["godot_array *", "p_self"] ] }, { - "name": "godot_quat_normalized", - "return_type": "godot_quat", + "name": "godot_array_pop_front", + "return_type": "godot_variant", "arguments": [ - ["const godot_quat *", "p_self"] + ["godot_array *", "p_self"] ] }, { - "name": "godot_quat_is_normalized", - "return_type": "godot_bool", + "name": "godot_array_push_back", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"] + ["godot_array *", "p_self"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_quat_inverse", - "return_type": "godot_quat", + "name": "godot_array_push_front", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"] + ["godot_array *", "p_self"], + ["const godot_variant *", "p_value"] ] }, { - "name": "godot_quat_dot", - "return_type": "godot_real", + "name": "godot_array_remove", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"] + ["godot_array *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_quat_xform", - "return_type": "godot_vector3", + "name": "godot_array_resize", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_vector3 *", "p_v"] + ["godot_array *", "p_self"], + ["const godot_int", "p_size"] ] }, { - "name": "godot_quat_slerp", - "return_type": "godot_quat", + "name": "godot_array_rfind", + "return_type": "godot_int", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"], - ["const godot_real", "p_t"] + ["const godot_array *", "p_self"], + ["const godot_variant *", "p_what"], + ["const godot_int", "p_from"] ] }, { - "name": "godot_quat_slerpni", - "return_type": "godot_quat", + "name": "godot_array_size", + "return_type": "godot_int", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"], - ["const godot_real", "p_t"] + ["const godot_array *", "p_self"] ] }, { - "name": "godot_quat_cubic_slerp", - "return_type": "godot_quat", + "name": "godot_array_shuffle", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"], - ["const godot_quat *", "p_pre_a"], - ["const godot_quat *", "p_post_b"], - ["const godot_real", "p_t"] + ["godot_array *", "p_self"] ] }, { - "name": "godot_quat_operator_multiply", - "return_type": "godot_quat", + "name": "godot_array_slice", + "return_type": "godot_array", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_real", "p_b"] + ["const godot_array *", "p_self"], + ["const godot_int", "p_begin"], + ["const godot_int", "p_end"], + ["const godot_int", "p_step"], + ["const godot_bool", "p_deep"] ] }, { - "name": "godot_quat_operator_add", - "return_type": "godot_quat", + "name": "godot_array_sort", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"] + ["godot_array *", "p_self"] ] }, { - "name": "godot_quat_operator_subtract", - "return_type": "godot_quat", + "name": "godot_array_sort_custom", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"] + ["godot_array *", "p_self"], + ["godot_object *", "p_obj"], + ["const godot_string *", "p_func"] ] }, { - "name": "godot_quat_operator_divide", - "return_type": "godot_quat", + "name": "godot_array_bsearch", + "return_type": "godot_int", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_real", "p_b"] + ["godot_array *", "p_self"], + ["const godot_variant *", "p_value"], + ["const godot_bool", "p_before"] ] }, { - "name": "godot_quat_operator_equal", - "return_type": "godot_bool", + "name": "godot_array_bsearch_custom", + "return_type": "godot_int", "arguments": [ - ["const godot_quat *", "p_self"], - ["const godot_quat *", "p_b"] + ["godot_array *", "p_self"], + ["const godot_variant *", "p_value"], + ["godot_object *", "p_obj"], + ["const godot_string *", "p_func"], + ["const godot_bool", "p_before"] ] }, { - "name": "godot_quat_operator_neg", - "return_type": "godot_quat", + "name": "godot_array_destroy", + "return_type": "void", "arguments": [ - ["const godot_quat *", "p_self"] + ["godot_array *", "p_self"] ] }, { @@ -2512,294 +816,803 @@ ] }, { - "name": "godot_vector3_new", + "name": "godot_basis_slerp", + "return_type": "godot_basis", + "arguments": [ + ["const godot_basis *", "p_self"], + ["const godot_basis *", "p_b"], + ["const godot_real", "p_t"] + ] + }, + { + "name": "godot_basis_get_quat", + "return_type": "godot_quat", + "arguments": [ + ["const godot_basis *", "p_self"] + ] + }, + { + "name": "godot_basis_set_quat", "return_type": "void", "arguments": [ - ["godot_vector3 *", "r_dest"], - ["const godot_real", "p_x"], - ["const godot_real", "p_y"], - ["const godot_real", "p_z"] + ["godot_basis *", "p_self"], + ["const godot_quat *", "p_quat"] ] }, { - "name": "godot_vector3_as_string", + "name": "godot_basis_set_axis_angle_scale", + "return_type": "void", + "arguments": [ + ["godot_basis *", "p_self"], + ["const godot_vector3 *", "p_axis"], + ["godot_real", "p_phi"], + ["const godot_vector3 *", "p_scale"] + ] + }, + { + "name": "godot_basis_set_euler_scale", + "return_type": "void", + "arguments": [ + ["godot_basis *", "p_self"], + ["const godot_vector3 *", "p_euler"], + ["const godot_vector3 *", "p_scale"] + ] + }, + { + "name": "godot_basis_set_quat_scale", + "return_type": "void", + "arguments": [ + ["godot_basis *", "p_self"], + ["const godot_quat *", "p_quat"], + ["const godot_vector3 *", "p_scale"] + ] + }, + { + "name": "godot_callable_new_with_object", + "return_type": "void", + "arguments": [ + ["godot_callable *", "r_dest"], + ["const godot_object *", "p_object"], + ["const godot_string_name *", "p_method"] + ] + }, + { + "name": "godot_callable_new_with_object_id", + "return_type": "void", + "arguments": [ + ["godot_callable *", "r_dest"], + ["uint64_t", "p_objectid"], + ["const godot_string_name *", "p_method"] + ] + }, + { + "name": "godot_callable_new_copy", + "return_type": "void", + "arguments": [ + ["godot_callable *", "r_dest"], + ["const godot_callable *", "p_src"] + ] + }, + { + "name": "godot_callable_destroy", + "return_type": "void", + "arguments": [ + ["godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_call", + "return_type": "godot_int", + "arguments": [ + ["const godot_callable *", "p_self"], + ["const godot_variant **", "p_arguments"], + ["godot_int", "p_argcount"], + ["godot_variant *", "r_return_value"] + ] + }, + { + "name": "godot_callable_call_deferred", + "return_type": "void", + "arguments": [ + ["const godot_callable *", "p_self"], + ["const godot_variant **", "p_arguments"], + ["godot_int", "p_argcount"] + ] + }, + { + "name": "godot_callable_is_null", + "return_type": "godot_bool", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_is_custom", + "return_type": "godot_bool", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_is_standard", + "return_type": "godot_bool", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_get_object", + "return_type": "godot_object *", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_get_object_id", + "return_type": "uint64_t", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_get_method", + "return_type": "godot_string_name", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_hash", + "return_type": "uint32_t", + "arguments": [ + ["const godot_callable *", "p_self"] + ] + }, + { + "name": "godot_callable_as_string", "return_type": "godot_string", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_callable *", "p_self"] ] }, { - "name": "godot_vector3_min_axis", + "name": "godot_callable_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_callable *", "p_self"], + ["const godot_callable *", "p_other"] + ] + }, + { + "name": "godot_callable_operator_less", + "return_type": "godot_bool", + "arguments": [ + ["const godot_callable *", "p_self"], + ["const godot_callable *", "p_other"] + ] + }, + { + "name": "godot_signal_new_with_object", + "return_type": "void", + "arguments": [ + ["godot_signal *", "r_dest"], + ["const godot_object *", "p_object"], + ["const godot_string_name *", "p_method"] + ] + }, + { + "name": "godot_signal_new_with_object_id", + "return_type": "void", + "arguments": [ + ["godot_signal *", "r_dest"], + ["uint64_t", "p_objectid"], + ["const godot_string_name *", "p_method"] + ] + }, + { + "name": "godot_signal_new_copy", + "return_type": "void", + "arguments": [ + ["godot_signal *", "r_dest"], + ["const godot_signal *", "p_src"] + ] + }, + { + "name": "godot_signal_destroy", + "return_type": "void", + "arguments": [ + ["godot_signal *", "p_self"] + ] + }, + { + "name": "godot_signal_emit", "return_type": "godot_int", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_signal *", "p_self"], + ["const godot_variant **", "p_arguments"], + ["godot_int", "p_argcount"] ] }, { - "name": "godot_vector3_max_axis", + "name": "godot_signal_connect", "return_type": "godot_int", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["godot_signal *", "p_self"], + ["const godot_callable *", "p_callable"], + ["const godot_array *", "p_binds"], + ["uint32_t", "p_flags"] ] }, { - "name": "godot_vector3_length", - "return_type": "godot_real", + "name": "godot_signal_disconnect", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["godot_signal *", "p_self"], + ["const godot_callable *", "p_callable"] ] }, { - "name": "godot_vector3_length_squared", - "return_type": "godot_real", + "name": "godot_signal_is_null", + "return_type": "godot_bool", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_signal *", "p_self"] ] }, { - "name": "godot_vector3_is_normalized", + "name": "godot_signal_is_connected", "return_type": "godot_bool", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_signal *", "p_self"], + ["const godot_callable *", "p_callable"] ] }, { - "name": "godot_vector3_normalized", - "return_type": "godot_vector3", + "name": "godot_signal_get_connections", + "return_type": "godot_array", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_signal *", "p_self"] ] }, { - "name": "godot_vector3_inverse", - "return_type": "godot_vector3", + "name": "godot_signal_get_object", + "return_type": "godot_object *", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_signal *", "p_self"] ] }, { - "name": "godot_vector3_snapped", - "return_type": "godot_vector3", + "name": "godot_signal_get_object_id", + "return_type": "uint64_t", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_by"] + ["const godot_signal *", "p_self"] ] }, { - "name": "godot_vector3_rotated", - "return_type": "godot_vector3", + "name": "godot_signal_get_name", + "return_type": "godot_string_name", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_axis"], - ["const godot_real", "p_phi"] + ["const godot_signal *", "p_self"] + ] + }, + { + "name": "godot_signal_as_string", + "return_type": "godot_string", + "arguments": [ + ["const godot_signal *", "p_self"] + ] + }, + { + "name": "godot_signal_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_signal *", "p_self"], + ["const godot_signal *", "p_other"] + ] + }, + { + "name": "godot_signal_operator_less", + "return_type": "godot_bool", + "arguments": [ + ["const godot_signal *", "p_self"], + ["const godot_signal *", "p_other"] ] }, { - "name": "godot_vector3_lerp", - "return_type": "godot_vector3", + "name": "godot_color_new_rgba", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"], - ["const godot_real", "p_t"] + ["godot_color *", "r_dest"], + ["const godot_real", "p_r"], + ["const godot_real", "p_g"], + ["const godot_real", "p_b"], + ["const godot_real", "p_a"] ] }, { - "name": "godot_vector3_cubic_interpolate", - "return_type": "godot_vector3", + "name": "godot_color_new_rgb", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"], - ["const godot_vector3 *", "p_pre_a"], - ["const godot_vector3 *", "p_post_b"], - ["const godot_real", "p_t"] + ["godot_color *", "r_dest"], + ["const godot_real", "p_r"], + ["const godot_real", "p_g"], + ["const godot_real", "p_b"] ] }, { - "name": "godot_vector3_dot", + "name": "godot_color_get_r", "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_cross", - "return_type": "godot_vector3", + "name": "godot_color_set_r", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["godot_color *", "p_self"], + ["const godot_real", "r"] ] }, { - "name": "godot_vector3_outer", - "return_type": "godot_basis", + "name": "godot_color_get_g", + "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_to_diagonal_matrix", - "return_type": "godot_basis", + "name": "godot_color_set_g", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["godot_color *", "p_self"], + ["const godot_real", "g"] ] }, { - "name": "godot_vector3_abs", - "return_type": "godot_vector3", + "name": "godot_color_get_b", + "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_floor", - "return_type": "godot_vector3", + "name": "godot_color_set_b", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["godot_color *", "p_self"], + ["const godot_real", "b"] ] }, { - "name": "godot_vector3_ceil", - "return_type": "godot_vector3", + "name": "godot_color_get_a", + "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_distance_to", + "name": "godot_color_set_a", + "return_type": "void", + "arguments": [ + ["godot_color *", "p_self"], + ["const godot_real", "a"] + ] + }, + { + "name": "godot_color_get_h", "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_distance_squared_to", + "name": "godot_color_get_s", "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_angle_to", + "name": "godot_color_get_v", "return_type": "godot_real", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_to"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_slide", - "return_type": "godot_vector3", + "name": "godot_color_as_string", + "return_type": "godot_string", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_n"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_bounce", - "return_type": "godot_vector3", + "name": "godot_color_to_rgba32", + "return_type": "godot_int", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_n"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_reflect", - "return_type": "godot_vector3", + "name": "godot_color_to_argb32", + "return_type": "godot_int", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_n"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_operator_add", - "return_type": "godot_vector3", + "name": "godot_color_inverted", + "return_type": "godot_color", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_operator_subtract", - "return_type": "godot_vector3", + "name": "godot_color_contrasted", + "return_type": "godot_color", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"] ] }, { - "name": "godot_vector3_operator_multiply_vector", - "return_type": "godot_vector3", + "name": "godot_color_lerp", + "return_type": "godot_color", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"], + ["const godot_color *", "p_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_vector3_operator_multiply_scalar", - "return_type": "godot_vector3", + "name": "godot_color_blend", + "return_type": "godot_color", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_real", "p_b"] + ["const godot_color *", "p_self"], + ["const godot_color *", "p_over"] ] }, { - "name": "godot_vector3_operator_divide_vector", - "return_type": "godot_vector3", + "name": "godot_color_to_html", + "return_type": "godot_string", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"], + ["const godot_bool", "p_with_alpha"] ] }, { - "name": "godot_vector3_operator_divide_scalar", - "return_type": "godot_vector3", + "name": "godot_color_operator_equal", + "return_type": "godot_bool", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_real", "p_b"] + ["const godot_color *", "p_self"], + ["const godot_color *", "p_b"] ] }, { - "name": "godot_vector3_operator_equal", + "name": "godot_color_operator_less", "return_type": "godot_bool", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_color *", "p_self"], + ["const godot_color *", "p_b"] ] }, { - "name": "godot_vector3_operator_less", + "name": "godot_color_to_abgr32", + "return_type": "godot_int", + "arguments": [ + ["const godot_color *", "p_self"] + ] + }, + { + "name": "godot_color_to_abgr64", + "return_type": "godot_int", + "arguments": [ + ["const godot_color *", "p_self"] + ] + }, + { + "name": "godot_color_to_argb64", + "return_type": "godot_int", + "arguments": [ + ["const godot_color *", "p_self"] + ] + }, + { + "name": "godot_color_to_rgba64", + "return_type": "godot_int", + "arguments": [ + ["const godot_color *", "p_self"] + ] + }, + { + "name": "godot_color_darkened", + "return_type": "godot_color", + "arguments": [ + ["const godot_color *", "p_self"], + ["const godot_real", "p_amount"] + ] + }, + { + "name": "godot_color_from_hsv", + "return_type": "godot_color", + "arguments": [ + ["const godot_color *", "p_self"], + ["const godot_real", "p_h"], + ["const godot_real", "p_s"], + ["const godot_real", "p_v"], + ["const godot_real", "p_a"] + ] + }, + { + "name": "godot_color_lightened", + "return_type": "godot_color", + "arguments": [ + ["const godot_color *", "p_self"], + ["const godot_real", "p_amount"] + ] + }, + { + "name": "godot_dictionary_new", + "return_type": "void", + "arguments": [ + ["godot_dictionary *", "r_dest"] + ] + }, + { + "name": "godot_dictionary_new_copy", + "return_type": "void", + "arguments": [ + ["godot_dictionary *", "r_dest"], + ["const godot_dictionary *", "p_src"] + ] + }, + { + "name": "godot_dictionary_destroy", + "return_type": "void", + "arguments": [ + ["godot_dictionary *", "p_self"] + ] + }, + { + "name": "godot_dictionary_size", + "return_type": "godot_int", + "arguments": [ + ["const godot_dictionary *", "p_self"] + ] + }, + { + "name": "godot_dictionary_empty", "return_type": "godot_bool", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3 *", "p_b"] + ["const godot_dictionary *", "p_self"] ] }, { - "name": "godot_vector3_operator_neg", - "return_type": "godot_vector3", + "name": "godot_dictionary_clear", + "return_type": "void", "arguments": [ - ["const godot_vector3 *", "p_self"] + ["godot_dictionary *", "p_self"] ] }, { - "name": "godot_vector3_set_axis", + "name": "godot_dictionary_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] + ] + }, + { + "name": "godot_dictionary_has_all", + "return_type": "godot_bool", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_array *", "p_keys"] + ] + }, + { + "name": "godot_dictionary_erase", "return_type": "void", "arguments": [ - ["godot_vector3 *", "p_self"], - ["const godot_vector3_axis", "p_axis"], - ["const godot_real", "p_val"] + ["godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] ] }, { - "name": "godot_vector3_get_axis", - "return_type": "godot_real", + "name": "godot_dictionary_hash", + "return_type": "godot_int", "arguments": [ - ["const godot_vector3 *", "p_self"], - ["const godot_vector3_axis", "p_axis"] + ["const godot_dictionary *", "p_self"] + ] + }, + { + "name": "godot_dictionary_keys", + "return_type": "godot_array", + "arguments": [ + ["const godot_dictionary *", "p_self"] + ] + }, + { + "name": "godot_dictionary_values", + "return_type": "godot_array", + "arguments": [ + ["const godot_dictionary *", "p_self"] + ] + }, + { + "name": "godot_dictionary_get", + "return_type": "godot_variant", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] + ] + }, + { + "name": "godot_dictionary_set", + "return_type": "void", + "arguments": [ + ["godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"], + ["const godot_variant *", "p_value"] + ] + }, + { + "name": "godot_dictionary_operator_index", + "return_type": "godot_variant *", + "arguments": [ + ["godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] + ] + }, + { + "name": "godot_dictionary_operator_index_const", + "return_type": "const godot_variant *", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] + ] + }, + { + "name": "godot_dictionary_next", + "return_type": "godot_variant *", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] + ] + }, + { + "name": "godot_dictionary_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_dictionary *", "p_b"] + ] + }, + { + "name": "godot_dictionary_to_json", + "return_type": "godot_string", + "arguments": [ + ["const godot_dictionary *", "p_self"] + ] + }, + { + "name": "godot_dictionary_duplicate", + "return_type": "godot_dictionary", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_bool", "p_deep"] + ] + }, + { + "name": "godot_dictionary_get_with_default", + "return_type": "godot_variant", + "arguments": [ + ["const godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"], + ["const godot_variant *", "p_default"] + ] + }, + { + "name": "godot_dictionary_erase_with_return", + "return_type": "bool", + "arguments": [ + ["godot_dictionary *", "p_self"], + ["const godot_variant *", "p_key"] + ] + }, + { + "name": "godot_node_path_new", + "return_type": "void", + "arguments": [ + ["godot_node_path *", "r_dest"], + ["const godot_string *", "p_from"] + ] + }, + { + "name": "godot_node_path_new_copy", + "return_type": "void", + "arguments": [ + ["godot_node_path *", "r_dest"], + ["const godot_node_path *", "p_src"] + ] + }, + { + "name": "godot_node_path_destroy", + "return_type": "void", + "arguments": [ + ["godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_as_string", + "return_type": "godot_string", + "arguments": [ + ["const godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_is_absolute", + "return_type": "godot_bool", + "arguments": [ + ["const godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_get_name_count", + "return_type": "godot_int", + "arguments": [ + ["const godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_get_name", + "return_type": "godot_string", + "arguments": [ + ["const godot_node_path *", "p_self"], + ["const godot_int", "p_idx"] + ] + }, + { + "name": "godot_node_path_get_subname_count", + "return_type": "godot_int", + "arguments": [ + ["const godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_get_subname", + "return_type": "godot_string", + "arguments": [ + ["const godot_node_path *", "p_self"], + ["const godot_int", "p_idx"] + ] + }, + { + "name": "godot_node_path_get_concatenated_subnames", + "return_type": "godot_string", + "arguments": [ + ["const godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_is_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_node_path *", "p_self"] + ] + }, + { + "name": "godot_node_path_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_node_path *", "p_self"], + ["const godot_node_path *", "p_b"] + ] + }, + { + "name": "godot_node_path_get_as_property_path", + "return_type": "godot_node_path", + "arguments": [ + ["const godot_node_path *", "p_self"] ] }, { @@ -2826,6 +1639,13 @@ ] }, { + "name": "godot_packed_byte_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_byte_array *", "p_self"] + ] + }, + { "name": "godot_packed_byte_array_append", "return_type": "void", "arguments": [ @@ -2950,6 +1770,13 @@ ] }, { + "name": "godot_packed_int32_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_int32_array *", "p_self"] + ] + }, + { "name": "godot_packed_int32_array_append", "return_type": "void", "arguments": [ @@ -3051,6 +1878,137 @@ ] }, { + "name": "godot_packed_int64_array_new", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "r_dest"] + ] + }, + { + "name": "godot_packed_int64_array_new_copy", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "r_dest"], + ["const godot_packed_int64_array *", "p_src"] + ] + }, + { + "name": "godot_packed_int64_array_new_with_array", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "r_dest"], + ["const godot_array *", "p_a"] + ] + }, + { + "name": "godot_packed_int64_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_int64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_int64_array_append", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const int64_t", "p_data"] + ] + }, + { + "name": "godot_packed_int64_array_append_array", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const godot_packed_int64_array *", "p_array"] + ] + }, + { + "name": "godot_packed_int64_array_insert", + "return_type": "godot_error", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const godot_int", "p_idx"], + ["const int64_t", "p_data"] + ] + }, + { + "name": "godot_packed_int64_array_invert", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_int64_array_push_back", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const int64_t", "p_data"] + ] + }, + { + "name": "godot_packed_int64_array_remove", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const godot_int", "p_idx"] + ] + }, + { + "name": "godot_packed_int64_array_resize", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const godot_int", "p_size"] + ] + }, + { + "name": "godot_packed_int64_array_ptr", + "return_type": "const int64_t *", + "arguments": [ + ["const godot_packed_int64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_int64_array_ptrw", + "return_type": "int64_t *", + "arguments": [ + ["godot_packed_int64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_int64_array_set", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"], + ["const godot_int", "p_idx"], + ["const int64_t", "p_data"] + ] + }, + { + "name": "godot_packed_int64_array_get", + "return_type": "int64_t", + "arguments": [ + ["const godot_packed_int64_array *", "p_self"], + ["const godot_int", "p_idx"] + ] + }, + { + "name": "godot_packed_int64_array_size", + "return_type": "godot_int", + "arguments": [ + ["const godot_packed_int64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_int64_array_destroy", + "return_type": "void", + "arguments": [ + ["godot_packed_int64_array *", "p_self"] + ] + }, + { "name": "godot_packed_float32_array_new", "return_type": "void", "arguments": [ @@ -3074,6 +2032,13 @@ ] }, { + "name": "godot_packed_float32_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_float32_array *", "p_self"] + ] + }, + { "name": "godot_packed_float32_array_append", "return_type": "void", "arguments": [ @@ -3175,6 +2140,137 @@ ] }, { + "name": "godot_packed_float64_array_new", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "r_dest"] + ] + }, + { + "name": "godot_packed_float64_array_new_copy", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "r_dest"], + ["const godot_packed_float64_array *", "p_src"] + ] + }, + { + "name": "godot_packed_float64_array_new_with_array", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "r_dest"], + ["const godot_array *", "p_a"] + ] + }, + { + "name": "godot_packed_float64_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_float64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_float64_array_append", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const double", "p_data"] + ] + }, + { + "name": "godot_packed_float64_array_append_array", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const godot_packed_float64_array *", "p_array"] + ] + }, + { + "name": "godot_packed_float64_array_insert", + "return_type": "godot_error", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const godot_int", "p_idx"], + ["const double", "p_data"] + ] + }, + { + "name": "godot_packed_float64_array_invert", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_float64_array_push_back", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const double", "p_data"] + ] + }, + { + "name": "godot_packed_float64_array_remove", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const godot_int", "p_idx"] + ] + }, + { + "name": "godot_packed_float64_array_resize", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const godot_int", "p_size"] + ] + }, + { + "name": "godot_packed_float64_array_ptr", + "return_type": "const double *", + "arguments": [ + ["const godot_packed_float64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_float64_array_ptrw", + "return_type": "double *", + "arguments": [ + ["godot_packed_float64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_float64_array_set", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"], + ["const godot_int", "p_idx"], + ["const double", "p_data"] + ] + }, + { + "name": "godot_packed_float64_array_get", + "return_type": "double", + "arguments": [ + ["const godot_packed_float64_array *", "p_self"], + ["const godot_int", "p_idx"] + ] + }, + { + "name": "godot_packed_float64_array_size", + "return_type": "godot_int", + "arguments": [ + ["const godot_packed_float64_array *", "p_self"] + ] + }, + { + "name": "godot_packed_float64_array_destroy", + "return_type": "void", + "arguments": [ + ["godot_packed_float64_array *", "p_self"] + ] + }, + { "name": "godot_packed_string_array_new", "return_type": "void", "arguments": [ @@ -3198,6 +2294,13 @@ ] }, { + "name": "godot_packed_string_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_string_array *", "p_self"] + ] + }, + { "name": "godot_packed_string_array_append", "return_type": "void", "arguments": [ @@ -3322,6 +2425,13 @@ ] }, { + "name": "godot_packed_vector2_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_vector2_array *", "p_self"] + ] + }, + { "name": "godot_packed_vector2_array_append", "return_type": "void", "arguments": [ @@ -3446,6 +2556,13 @@ ] }, { + "name": "godot_packed_vector3_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_vector3_array *", "p_self"] + ] + }, + { "name": "godot_packed_vector3_array_append", "return_type": "void", "arguments": [ @@ -3570,6 +2687,13 @@ ] }, { + "name": "godot_packed_color_array_empty", + "return_type": "godot_bool", + "arguments": [ + ["const godot_packed_color_array *", "p_self"] + ] + }, + { "name": "godot_packed_color_array_append", "return_type": "void", "arguments": [ @@ -3671,1090 +2795,2064 @@ ] }, { - "name": "godot_array_new", + "name": "godot_plane_new_with_reals", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"] + ["godot_plane *", "r_dest"], + ["const godot_real", "p_a"], + ["const godot_real", "p_b"], + ["const godot_real", "p_c"], + ["const godot_real", "p_d"] ] }, { - "name": "godot_array_new_copy", + "name": "godot_plane_new_with_vectors", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_array *", "p_src"] + ["godot_plane *", "r_dest"], + ["const godot_vector3 *", "p_v1"], + ["const godot_vector3 *", "p_v2"], + ["const godot_vector3 *", "p_v3"] ] }, { - "name": "godot_array_new_packed_color_array", + "name": "godot_plane_new_with_normal", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_color_array *", "p_pca"] + ["godot_plane *", "r_dest"], + ["const godot_vector3 *", "p_normal"], + ["const godot_real", "p_d"] ] }, { - "name": "godot_array_new_packed_vector3_array", + "name": "godot_plane_as_string", + "return_type": "godot_string", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_normalized", + "return_type": "godot_plane", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_center", + "return_type": "godot_vector3", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_get_any_point", + "return_type": "godot_vector3", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_is_point_over", + "return_type": "godot_bool", + "arguments": [ + ["const godot_plane *", "p_self"], + ["const godot_vector3 *", "p_point"] + ] + }, + { + "name": "godot_plane_distance_to", + "return_type": "godot_real", + "arguments": [ + ["const godot_plane *", "p_self"], + ["const godot_vector3 *", "p_point"] + ] + }, + { + "name": "godot_plane_has_point", + "return_type": "godot_bool", + "arguments": [ + ["const godot_plane *", "p_self"], + ["const godot_vector3 *", "p_point"], + ["const godot_real", "p_epsilon"] + ] + }, + { + "name": "godot_plane_project", + "return_type": "godot_vector3", + "arguments": [ + ["const godot_plane *", "p_self"], + ["const godot_vector3 *", "p_point"] + ] + }, + { + "name": "godot_plane_intersect_3", + "return_type": "godot_bool", + "arguments": [ + ["const godot_plane *", "p_self"], + ["godot_vector3 *", "r_dest"], + ["const godot_plane *", "p_b"], + ["const godot_plane *", "p_c"] + ] + }, + { + "name": "godot_plane_intersects_ray", + "return_type": "godot_bool", + "arguments": [ + ["const godot_plane *", "p_self"], + ["godot_vector3 *", "r_dest"], + ["const godot_vector3 *", "p_from"], + ["const godot_vector3 *", "p_dir"] + ] + }, + { + "name": "godot_plane_intersects_segment", + "return_type": "godot_bool", + "arguments": [ + ["const godot_plane *", "p_self"], + ["godot_vector3 *", "r_dest"], + ["const godot_vector3 *", "p_begin"], + ["const godot_vector3 *", "p_end"] + ] + }, + { + "name": "godot_plane_operator_neg", + "return_type": "godot_plane", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_plane *", "p_self"], + ["const godot_plane *", "p_b"] + ] + }, + { + "name": "godot_plane_set_normal", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_vector3_array *", "p_pv3a"] + ["godot_plane *", "p_self"], + ["const godot_vector3 *", "p_normal"] ] }, { - "name": "godot_array_new_packed_vector2_array", + "name": "godot_plane_get_normal", + "return_type": "godot_vector3", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_get_d", + "return_type": "godot_real", + "arguments": [ + ["const godot_plane *", "p_self"] + ] + }, + { + "name": "godot_plane_set_d", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_vector2_array *", "p_pv2a"] + ["godot_plane *", "p_self"], + ["const godot_real", "p_d"] ] }, { - "name": "godot_array_new_packed_string_array", + "name": "godot_quat_new", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_string_array *", "p_psa"] + ["godot_quat *", "r_dest"], + ["const godot_real", "p_x"], + ["const godot_real", "p_y"], + ["const godot_real", "p_z"], + ["const godot_real", "p_w"] ] }, { - "name": "godot_array_new_packed_float32_array", + "name": "godot_quat_new_with_axis_angle", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_float32_array *", "p_pra"] + ["godot_quat *", "r_dest"], + ["const godot_vector3 *", "p_axis"], + ["const godot_real", "p_angle"] ] }, { - "name": "godot_array_new_packed_int32_array", + "name": "godot_quat_new_with_basis", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_int32_array *", "p_pia"] + ["godot_quat *", "r_dest"], + ["const godot_basis *", "p_basis"] ] }, { - "name": "godot_array_new_packed_byte_array", + "name": "godot_quat_new_with_euler", "return_type": "void", "arguments": [ - ["godot_array *", "r_dest"], - ["const godot_packed_byte_array *", "p_pba"] + ["godot_quat *", "r_dest"], + ["const godot_vector3 *", "p_euler"] ] }, { - "name": "godot_array_set", + "name": "godot_quat_get_x", + "return_type": "godot_real", + "arguments": [ + ["const godot_quat *", "p_self"] + ] + }, + { + "name": "godot_quat_set_x", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_int", "p_idx"], - ["const godot_variant *", "p_value"] + ["godot_quat *", "p_self"], + ["const godot_real", "val"] ] }, { - "name": "godot_array_get", - "return_type": "godot_variant", + "name": "godot_quat_get_y", + "return_type": "godot_real", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_quat *", "p_self"] ] }, { - "name": "godot_array_operator_index", - "return_type": "godot_variant *", + "name": "godot_quat_set_y", + "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_int", "p_idx"] + ["godot_quat *", "p_self"], + ["const godot_real", "val"] ] }, { - "name": "godot_array_operator_index_const", - "return_type": "const godot_variant *", + "name": "godot_quat_get_z", + "return_type": "godot_real", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_quat *", "p_self"] ] }, { - "name": "godot_array_append", + "name": "godot_quat_set_z", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_variant *", "p_value"] + ["godot_quat *", "p_self"], + ["const godot_real", "val"] ] }, { - "name": "godot_array_clear", + "name": "godot_quat_get_w", + "return_type": "godot_real", + "arguments": [ + ["const godot_quat *", "p_self"] + ] + }, + { + "name": "godot_quat_set_w", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"] + ["godot_quat *", "p_self"], + ["const godot_real", "val"] ] }, { - "name": "godot_array_count", - "return_type": "godot_int", + "name": "godot_quat_set_axis_angle", + "return_type": "void", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_variant *", "p_value"] + ["godot_quat *", "p_self"], + ["const godot_vector3 *", "p_axis"], + ["const godot_real", "p_angle"] ] }, { - "name": "godot_array_empty", + "name": "godot_quat_as_string", + "return_type": "godot_string", + "arguments": [ + ["const godot_quat *", "p_self"] + ] + }, + { + "name": "godot_quat_length", + "return_type": "godot_real", + "arguments": [ + ["const godot_quat *", "p_self"] + ] + }, + { + "name": "godot_quat_length_squared", + "return_type": "godot_real", + "arguments": [ + ["const godot_quat *", "p_self"] + ] + }, + { + "name": "godot_quat_normalized", + "return_type": "godot_quat", + "arguments": [ + ["const godot_quat *", "p_self"] + ] + }, + { + "name": "godot_quat_is_normalized", "return_type": "godot_bool", "arguments": [ - ["const godot_array *", "p_self"] + ["const godot_quat *", "p_self"] ] }, { - "name": "godot_array_erase", - "return_type": "void", + "name": "godot_quat_inverse", + "return_type": "godot_quat", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_variant *", "p_value"] + ["const godot_quat *", "p_self"] ] }, { - "name": "godot_array_front", - "return_type": "godot_variant", + "name": "godot_quat_dot", + "return_type": "godot_real", "arguments": [ - ["const godot_array *", "p_self"] + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"] ] }, { - "name": "godot_array_back", - "return_type": "godot_variant", + "name": "godot_quat_xform", + "return_type": "godot_vector3", "arguments": [ - ["const godot_array *", "p_self"] + ["const godot_quat *", "p_self"], + ["const godot_vector3 *", "p_v"] ] }, { - "name": "godot_array_find", - "return_type": "godot_int", + "name": "godot_quat_slerp", + "return_type": "godot_quat", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_variant *", "p_what"], - ["const godot_int", "p_from"] + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_array_find_last", - "return_type": "godot_int", + "name": "godot_quat_slerpni", + "return_type": "godot_quat", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_variant *", "p_what"] + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_array_has", + "name": "godot_quat_cubic_slerp", + "return_type": "godot_quat", + "arguments": [ + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"], + ["const godot_quat *", "p_pre_a"], + ["const godot_quat *", "p_post_b"], + ["const godot_real", "p_t"] + ] + }, + { + "name": "godot_quat_operator_multiply", + "return_type": "godot_quat", + "arguments": [ + ["const godot_quat *", "p_self"], + ["const godot_real", "p_b"] + ] + }, + { + "name": "godot_quat_operator_add", + "return_type": "godot_quat", + "arguments": [ + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"] + ] + }, + { + "name": "godot_quat_operator_subtract", + "return_type": "godot_quat", + "arguments": [ + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"] + ] + }, + { + "name": "godot_quat_operator_divide", + "return_type": "godot_quat", + "arguments": [ + ["const godot_quat *", "p_self"], + ["const godot_real", "p_b"] + ] + }, + { + "name": "godot_quat_operator_equal", "return_type": "godot_bool", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_variant *", "p_value"] + ["const godot_quat *", "p_self"], + ["const godot_quat *", "p_b"] ] }, { - "name": "godot_array_hash", - "return_type": "godot_int", + "name": "godot_quat_operator_neg", + "return_type": "godot_quat", "arguments": [ - ["const godot_array *", "p_self"] + ["const godot_quat *", "p_self"] ] }, { - "name": "godot_array_insert", + "name": "godot_rect2_new_with_position_and_size", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_int", "p_pos"], - ["const godot_variant *", "p_value"] + ["godot_rect2 *", "r_dest"], + ["const godot_vector2 *", "p_pos"], + ["const godot_vector2 *", "p_size"] ] }, { - "name": "godot_array_invert", + "name": "godot_rect2_new", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"] + ["godot_rect2 *", "r_dest"], + ["const godot_real", "p_x"], + ["const godot_real", "p_y"], + ["const godot_real", "p_width"], + ["const godot_real", "p_height"] ] }, { - "name": "godot_array_pop_back", - "return_type": "godot_variant", + "name": "godot_rect2_as_rect2i", + "return_type": "godot_rect2i", "arguments": [ - ["godot_array *", "p_self"] + ["const godot_rect2 *", "p_self"] ] }, { - "name": "godot_array_pop_front", - "return_type": "godot_variant", + "name": "godot_rect2_as_string", + "return_type": "godot_string", "arguments": [ - ["godot_array *", "p_self"] + ["const godot_rect2 *", "p_self"] ] }, { - "name": "godot_array_push_back", + "name": "godot_rect2_get_area", + "return_type": "godot_real", + "arguments": [ + ["const godot_rect2 *", "p_self"] + ] + }, + { + "name": "godot_rect2_grow_individual", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_real", "p_left"], + ["const godot_real", "p_top"], + ["const godot_real", "p_right"], + ["const godot_real", "p_bottom"] + ] + }, + { + "name": "godot_rect2_grow_margin", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_int", "p_margin"], + ["const godot_real", "p_by"] + ] + }, + { + "name": "godot_rect2_abs", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"] + ] + }, + { + "name": "godot_rect2_intersects", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_rect2 *", "p_b"] + ] + }, + { + "name": "godot_rect2_encloses", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_rect2 *", "p_b"] + ] + }, + { + "name": "godot_rect2_has_no_area", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2 *", "p_self"] + ] + }, + { + "name": "godot_rect2_clip", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_rect2 *", "p_b"] + ] + }, + { + "name": "godot_rect2_merge", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_rect2 *", "p_b"] + ] + }, + { + "name": "godot_rect2_has_point", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_vector2 *", "p_point"] + ] + }, + { + "name": "godot_rect2_grow", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_real", "p_by"] + ] + }, + { + "name": "godot_rect2_expand", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_vector2 *", "p_to"] + ] + }, + { + "name": "godot_rect2_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2 *", "p_self"], + ["const godot_rect2 *", "p_b"] + ] + }, + { + "name": "godot_rect2_get_position", + "return_type": "godot_vector2", + "arguments": [ + ["const godot_rect2 *", "p_self"] + ] + }, + { + "name": "godot_rect2_get_size", + "return_type": "godot_vector2", + "arguments": [ + ["const godot_rect2 *", "p_self"] + ] + }, + { + "name": "godot_rect2_set_position", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_variant *", "p_value"] + ["godot_rect2 *", "p_self"], + ["const godot_vector2 *", "p_pos"] ] }, { - "name": "godot_array_push_front", + "name": "godot_rect2_set_size", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_variant *", "p_value"] + ["godot_rect2 *", "p_self"], + ["const godot_vector2 *", "p_size"] ] }, { - "name": "godot_array_remove", + "name": "godot_rect2i_new_with_position_and_size", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_int", "p_idx"] + ["godot_rect2i *", "r_dest"], + ["const godot_vector2i *", "p_pos"], + ["const godot_vector2i *", "p_size"] ] }, { - "name": "godot_array_resize", + "name": "godot_rect2i_new", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_int", "p_size"] + ["godot_rect2i *", "r_dest"], + ["const godot_int", "p_x"], + ["const godot_int", "p_y"], + ["const godot_int", "p_width"], + ["const godot_int", "p_height"] ] }, { - "name": "godot_array_rfind", - "return_type": "godot_int", + "name": "godot_rect2i_as_string", + "return_type": "godot_string", "arguments": [ - ["const godot_array *", "p_self"], - ["const godot_variant *", "p_what"], - ["const godot_int", "p_from"] + ["const godot_rect2i *", "p_self"] ] }, { - "name": "godot_array_size", + "name": "godot_rect2i_as_rect2", + "return_type": "godot_rect2", + "arguments": [ + ["const godot_rect2i *", "p_self"] + ] + }, + { + "name": "godot_rect2i_get_area", "return_type": "godot_int", "arguments": [ - ["const godot_array *", "p_self"] + ["const godot_rect2i *", "p_self"] ] }, { - "name": "godot_array_sort", + "name": "godot_rect2i_intersects", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_rect2i *", "p_b"] + ] + }, + { + "name": "godot_rect2i_encloses", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_rect2i *", "p_b"] + ] + }, + { + "name": "godot_rect2i_has_no_area", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2i *", "p_self"] + ] + }, + { + "name": "godot_rect2i_clip", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_rect2i *", "p_b"] + ] + }, + { + "name": "godot_rect2i_merge", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_rect2i *", "p_b"] + ] + }, + { + "name": "godot_rect2i_has_point", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_vector2i *", "p_point"] + ] + }, + { + "name": "godot_rect2i_grow", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_int", "p_by"] + ] + }, + { + "name": "godot_rect2i_grow_individual", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_int", "p_left"], + ["const godot_int", "p_top"], + ["const godot_int", "p_right"], + ["const godot_int", "p_bottom"] + ] + }, + { + "name": "godot_rect2i_grow_margin", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_int", "p_margin"], + ["const godot_int", "p_by"] + ] + }, + { + "name": "godot_rect2i_abs", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"] + ] + }, + { + "name": "godot_rect2i_expand", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_vector2i *", "p_to"] + ] + }, + { + "name": "godot_rect2i_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rect2i *", "p_self"], + ["const godot_rect2i *", "p_b"] + ] + }, + { + "name": "godot_rect2i_get_position", + "return_type": "godot_vector2i", + "arguments": [ + ["const godot_rect2i *", "p_self"] + ] + }, + { + "name": "godot_rect2i_get_size", + "return_type": "godot_vector2i", + "arguments": [ + ["const godot_rect2i *", "p_self"] + ] + }, + { + "name": "godot_rect2i_set_position", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"] + ["godot_rect2i *", "p_self"], + ["const godot_vector2i *", "p_pos"] ] }, { - "name": "godot_array_sort_custom", + "name": "godot_rect2i_set_size", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"], - ["godot_object *", "p_obj"], - ["const godot_string *", "p_func"] + ["godot_rect2i *", "p_self"], + ["const godot_vector2i *", "p_size"] ] }, { - "name": "godot_array_bsearch", + "name": "godot_rid_new", + "return_type": "void", + "arguments": [ + ["godot_rid *", "r_dest"] + ] + }, + { + "name": "godot_rid_get_id", "return_type": "godot_int", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_variant *", "p_value"], - ["const godot_bool", "p_before"] + ["const godot_rid *", "p_self"] ] }, { - "name": "godot_array_bsearch_custom", + "name": "godot_rid_new_with_resource", + "return_type": "void", + "arguments": [ + ["godot_rid *", "r_dest"], + ["const godot_object *", "p_from"] + ] + }, + { + "name": "godot_rid_operator_equal", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rid *", "p_self"], + ["const godot_rid *", "p_b"] + ] + }, + { + "name": "godot_rid_operator_less", + "return_type": "godot_bool", + "arguments": [ + ["const godot_rid *", "p_self"], + ["const godot_rid *", "p_b"] + ] + }, + { + "name": "godot_char_string_length", "return_type": "godot_int", "arguments": [ - ["godot_array *", "p_self"], - ["const godot_variant *", "p_value"], - ["godot_object *", "p_obj"], - ["const godot_string *", "p_func"], - ["const godot_bool", "p_before"] + ["const godot_char_string *", "p_cs"] ] }, { - "name": "godot_array_destroy", + "name": "godot_char_string_get_data", + "return_type": "const char *", + "arguments": [ + ["const godot_char_string *", "p_cs"] + ] + }, + { + "name": "godot_char_string_destroy", "return_type": "void", "arguments": [ - ["godot_array *", "p_self"] + ["godot_char_string *", "p_cs"] ] }, { - "name": "godot_dictionary_new", + "name": "godot_string_new", "return_type": "void", "arguments": [ - ["godot_dictionary *", "r_dest"] + ["godot_string *", "r_dest"] ] }, { - "name": "godot_dictionary_new_copy", + "name": "godot_string_new_copy", "return_type": "void", "arguments": [ - ["godot_dictionary *", "r_dest"], - ["const godot_dictionary *", "p_src"] + ["godot_string *", "r_dest"], + ["const godot_string *", "p_src"] ] }, { - "name": "godot_dictionary_destroy", + "name": "godot_string_new_with_wide_string", "return_type": "void", "arguments": [ - ["godot_dictionary *", "p_self"] + ["godot_string *", "r_dest"], + ["const wchar_t *", "p_contents"], + ["const int", "p_size"] ] }, { - "name": "godot_dictionary_size", - "return_type": "godot_int", + "name": "godot_string_operator_index", + "return_type": "const wchar_t *", "arguments": [ - ["const godot_dictionary *", "p_self"] + ["godot_string *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_dictionary_empty", - "return_type": "godot_bool", + "name": "godot_string_operator_index_const", + "return_type": "wchar_t", "arguments": [ - ["const godot_dictionary *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_int", "p_idx"] ] }, { - "name": "godot_dictionary_clear", - "return_type": "void", + "name": "godot_string_wide_str", + "return_type": "const wchar_t *", "arguments": [ - ["godot_dictionary *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_dictionary_has", + "name": "godot_string_operator_equal", "return_type": "godot_bool", "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_b"] ] }, { - "name": "godot_dictionary_has_all", + "name": "godot_string_operator_less", "return_type": "godot_bool", "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_array *", "p_keys"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_b"] ] }, { - "name": "godot_dictionary_erase", - "return_type": "void", + "name": "godot_string_operator_plus", + "return_type": "godot_string", "arguments": [ - ["godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_b"] ] }, { - "name": "godot_dictionary_hash", + "name": "godot_string_count", "return_type": "godot_int", "arguments": [ - ["const godot_dictionary *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"], + ["godot_int", "p_from"], + ["godot_int", "p_to"] ] }, { - "name": "godot_dictionary_keys", - "return_type": "godot_array", + "name": "godot_string_countn", + "return_type": "godot_int", "arguments": [ - ["const godot_dictionary *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"], + ["godot_int", "p_from"], + ["godot_int", "p_to"] ] }, { - "name": "godot_dictionary_values", - "return_type": "godot_array", + "name": "godot_string_dedent", + "return_type": "godot_string", "arguments": [ - ["const godot_dictionary *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_dictionary_get", - "return_type": "godot_variant", + "name": "godot_string_length", + "return_type": "godot_int", "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_dictionary_set", - "return_type": "void", + "name": "godot_string_casecmp_to", + "return_type": "signed char", "arguments": [ - ["godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"], - ["const godot_variant *", "p_value"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_str"] ] }, { - "name": "godot_dictionary_operator_index", - "return_type": "godot_variant *", + "name": "godot_string_nocasecmp_to", + "return_type": "signed char", "arguments": [ - ["godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_str"] ] }, { - "name": "godot_dictionary_operator_index_const", - "return_type": "const godot_variant *", + "name": "godot_string_naturalnocasecmp_to", + "return_type": "signed char", "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_str"] ] }, { - "name": "godot_dictionary_next", - "return_type": "godot_variant *", + "name": "godot_string_begins_with", + "return_type": "godot_bool", "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_variant *", "p_key"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_string"] ] }, { - "name": "godot_dictionary_operator_equal", + "name": "godot_string_begins_with_char_array", "return_type": "godot_bool", "arguments": [ - ["const godot_dictionary *", "p_self"], - ["const godot_dictionary *", "p_b"] + ["const godot_string *", "p_self"], + ["const char *", "p_char_array"] ] }, { - "name": "godot_dictionary_to_json", + "name": "godot_string_bigrams", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_chr", "return_type": "godot_string", "arguments": [ - ["const godot_dictionary *", "p_self"] + ["wchar_t", "p_character"] ] }, { - "name": "godot_node_path_new", - "return_type": "void", + "name": "godot_string_ends_with", + "return_type": "godot_bool", "arguments": [ - ["godot_node_path *", "r_dest"], - ["const godot_string *", "p_from"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_string"] ] }, { - "name": "godot_node_path_new_copy", - "return_type": "void", + "name": "godot_string_find", + "return_type": "godot_int", "arguments": [ - ["godot_node_path *", "r_dest"], - ["const godot_node_path *", "p_src"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"] ] }, { - "name": "godot_node_path_destroy", - "return_type": "void", + "name": "godot_string_find_from", + "return_type": "godot_int", "arguments": [ - ["godot_node_path *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"], + ["godot_int", "p_from"] ] }, { - "name": "godot_node_path_as_string", - "return_type": "godot_string", + "name": "godot_string_findmk", + "return_type": "godot_int", "arguments": [ - ["const godot_node_path *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_array *", "p_keys"] ] }, { - "name": "godot_node_path_is_absolute", - "return_type": "godot_bool", + "name": "godot_string_findmk_from", + "return_type": "godot_int", "arguments": [ - ["const godot_node_path *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_array *", "p_keys"], + ["godot_int", "p_from"] ] }, { - "name": "godot_node_path_get_name_count", + "name": "godot_string_findmk_from_in_place", "return_type": "godot_int", "arguments": [ - ["const godot_node_path *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_array *", "p_keys"], + ["godot_int", "p_from"], + ["godot_int *", "r_key"] ] }, { - "name": "godot_node_path_get_name", + "name": "godot_string_findn", + "return_type": "godot_int", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_string", "p_what"] + ] + }, + { + "name": "godot_string_findn_from", + "return_type": "godot_int", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_string", "p_what"], + ["godot_int", "p_from"] + ] + }, + { + "name": "godot_string_find_last", + "return_type": "godot_int", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_string", "p_what"] + ] + }, + { + "name": "godot_string_format", "return_type": "godot_string", "arguments": [ - ["const godot_node_path *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_string *", "p_self"], + ["const godot_variant *", "p_values"] ] }, { - "name": "godot_node_path_get_subname_count", + "name": "godot_string_format_with_custom_placeholder", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_variant *", "p_values"], + ["const char *", "p_placeholder"] + ] + }, + { + "name": "godot_string_hex_encode_buffer", + "return_type": "godot_string", + "arguments": [ + ["const uint8_t *", "p_buffer"], + ["godot_int", "p_len"] + ] + }, + { + "name": "godot_string_hex_to_int", "return_type": "godot_int", "arguments": [ - ["const godot_node_path *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_node_path_get_subname", + "name": "godot_string_hex_to_int_without_prefix", + "return_type": "godot_int", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_insert", "return_type": "godot_string", "arguments": [ - ["const godot_node_path *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_string *", "p_self"], + ["godot_int", "p_at_pos"], + ["godot_string", "p_string"] ] }, { - "name": "godot_node_path_get_concatenated_subnames", + "name": "godot_string_is_numeric", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_is_subsequence_of", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_string *", "p_string"] + ] + }, + { + "name": "godot_string_is_subsequence_ofi", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_string *", "p_string"] + ] + }, + { + "name": "godot_string_lpad", "return_type": "godot_string", "arguments": [ - ["const godot_node_path *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_int", "p_min_length"] ] }, { - "name": "godot_node_path_is_empty", + "name": "godot_string_lpad_with_custom_character", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_int", "p_min_length"], + ["const godot_string *", "p_character"] + ] + }, + { + "name": "godot_string_match", "return_type": "godot_bool", "arguments": [ - ["const godot_node_path *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_wildcard"] ] }, { - "name": "godot_node_path_operator_equal", + "name": "godot_string_matchn", "return_type": "godot_bool", "arguments": [ - ["const godot_node_path *", "p_self"], - ["const godot_node_path *", "p_b"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_wildcard"] ] }, { - "name": "godot_plane_new_with_reals", - "return_type": "void", + "name": "godot_string_md5", + "return_type": "godot_string", "arguments": [ - ["godot_plane *", "r_dest"], - ["const godot_real", "p_a"], - ["const godot_real", "p_b"], - ["const godot_real", "p_c"], - ["const godot_real", "p_d"] + ["const uint8_t *", "p_md5"] ] }, { - "name": "godot_plane_new_with_vectors", - "return_type": "void", + "name": "godot_string_num", + "return_type": "godot_string", "arguments": [ - ["godot_plane *", "r_dest"], - ["const godot_vector3 *", "p_v1"], - ["const godot_vector3 *", "p_v2"], - ["const godot_vector3 *", "p_v3"] + ["double", "p_num"] ] }, { - "name": "godot_plane_new_with_normal", - "return_type": "void", + "name": "godot_string_num_int64", + "return_type": "godot_string", "arguments": [ - ["godot_plane *", "r_dest"], - ["const godot_vector3 *", "p_normal"], - ["const godot_real", "p_d"] + ["int64_t", "p_num"], + ["godot_int", "p_base"] ] }, { - "name": "godot_plane_as_string", + "name": "godot_string_num_int64_capitalized", "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"] + ["int64_t", "p_num"], + ["godot_int", "p_base"], + ["godot_bool", "p_capitalize_hex"] ] }, { - "name": "godot_plane_normalized", - "return_type": "godot_plane", + "name": "godot_string_num_real", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"] + ["double", "p_num"] ] }, { - "name": "godot_plane_center", - "return_type": "godot_vector3", + "name": "godot_string_num_scientific", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"] + ["double", "p_num"] ] }, { - "name": "godot_plane_get_any_point", - "return_type": "godot_vector3", + "name": "godot_string_num_with_decimals", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"] + ["double", "p_num"], + ["godot_int", "p_decimals"] ] }, { - "name": "godot_plane_is_point_over", - "return_type": "godot_bool", + "name": "godot_string_pad_decimals", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"], - ["const godot_vector3 *", "p_point"] + ["const godot_string *", "p_self"], + ["godot_int", "p_digits"] ] }, { - "name": "godot_plane_distance_to", - "return_type": "godot_real", + "name": "godot_string_pad_zeros", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"], - ["const godot_vector3 *", "p_point"] + ["const godot_string *", "p_self"], + ["godot_int", "p_digits"] ] }, { - "name": "godot_plane_has_point", - "return_type": "godot_bool", + "name": "godot_string_replace_first", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"], - ["const godot_vector3 *", "p_point"], - ["const godot_real", "p_epsilon"] + ["const godot_string *", "p_self"], + ["godot_string", "p_key"], + ["godot_string", "p_with"] ] }, { - "name": "godot_plane_project", - "return_type": "godot_vector3", + "name": "godot_string_replace", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"], - ["const godot_vector3 *", "p_point"] + ["const godot_string *", "p_self"], + ["godot_string", "p_key"], + ["godot_string", "p_with"] ] }, { - "name": "godot_plane_intersect_3", - "return_type": "godot_bool", + "name": "godot_string_replacen", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"], - ["godot_vector3 *", "r_dest"], - ["const godot_plane *", "p_b"], - ["const godot_plane *", "p_c"] + ["const godot_string *", "p_self"], + ["godot_string", "p_key"], + ["godot_string", "p_with"] ] }, { - "name": "godot_plane_intersects_ray", - "return_type": "godot_bool", + "name": "godot_string_rfind", + "return_type": "godot_int", "arguments": [ - ["const godot_plane *", "p_self"], - ["godot_vector3 *", "r_dest"], - ["const godot_vector3 *", "p_from"], - ["const godot_vector3 *", "p_dir"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"] ] }, { - "name": "godot_plane_intersects_segment", - "return_type": "godot_bool", + "name": "godot_string_rfindn", + "return_type": "godot_int", "arguments": [ - ["const godot_plane *", "p_self"], - ["godot_vector3 *", "r_dest"], - ["const godot_vector3 *", "p_begin"], - ["const godot_vector3 *", "p_end"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"] ] }, { - "name": "godot_plane_operator_neg", - "return_type": "godot_plane", + "name": "godot_string_rfind_from", + "return_type": "godot_int", "arguments": [ - ["const godot_plane *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"], + ["godot_int", "p_from"] ] }, { - "name": "godot_plane_operator_equal", - "return_type": "godot_bool", + "name": "godot_string_rfindn_from", + "return_type": "godot_int", "arguments": [ - ["const godot_plane *", "p_self"], - ["const godot_plane *", "p_b"] + ["const godot_string *", "p_self"], + ["godot_string", "p_what"], + ["godot_int", "p_from"] ] }, { - "name": "godot_plane_set_normal", - "return_type": "void", + "name": "godot_string_rpad", + "return_type": "godot_string", "arguments": [ - ["godot_plane *", "p_self"], - ["const godot_vector3 *", "p_normal"] + ["const godot_string *", "p_self"], + ["godot_int", "p_min_length"] ] }, { - "name": "godot_plane_get_normal", - "return_type": "godot_vector3", + "name": "godot_string_rpad_with_custom_character", + "return_type": "godot_string", "arguments": [ - ["const godot_plane *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_int", "p_min_length"], + ["const godot_string *", "p_character"] ] }, { - "name": "godot_plane_get_d", + "name": "godot_string_similarity", "return_type": "godot_real", "arguments": [ - ["const godot_plane *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_string"] ] }, { - "name": "godot_plane_set_d", - "return_type": "void", + "name": "godot_string_sprintf", + "return_type": "godot_string", "arguments": [ - ["godot_plane *", "p_self"], - ["const godot_real", "p_d"] + ["const godot_string *", "p_self"], + ["const godot_array *", "p_values"], + ["godot_bool *", "p_error"] ] }, { - "name": "godot_rect2_new_with_position_and_size", - "return_type": "void", + "name": "godot_string_substr", + "return_type": "godot_string", "arguments": [ - ["godot_rect2 *", "r_dest"], - ["const godot_vector2 *", "p_pos"], - ["const godot_vector2 *", "p_size"] + ["const godot_string *", "p_self"], + ["godot_int", "p_from"], + ["godot_int", "p_chars"] ] }, { - "name": "godot_rect2_new", - "return_type": "void", + "name": "godot_string_to_double", + "return_type": "double", "arguments": [ - ["godot_rect2 *", "r_dest"], - ["const godot_real", "p_x"], - ["const godot_real", "p_y"], - ["const godot_real", "p_width"], - ["const godot_real", "p_height"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_as_string", + "name": "godot_string_to_float", + "return_type": "godot_real", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_to_int", + "return_type": "godot_int", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_camelcase_to_underscore", "return_type": "godot_string", "arguments": [ - ["const godot_rect2 *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_get_area", - "return_type": "godot_real", + "name": "godot_string_camelcase_to_underscore_lowercased", + "return_type": "godot_string", "arguments": [ - ["const godot_rect2 *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_intersects", - "return_type": "godot_bool", + "name": "godot_string_capitalize", + "return_type": "godot_string", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_rect2 *", "p_b"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_encloses", - "return_type": "godot_bool", + "name": "godot_string_char_to_double", + "return_type": "double", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_rect2 *", "p_b"] + ["const char *", "p_what"] ] }, { - "name": "godot_rect2_has_no_area", - "return_type": "godot_bool", + "name": "godot_string_char_to_int", + "return_type": "godot_int", "arguments": [ - ["const godot_rect2 *", "p_self"] + ["const char *", "p_what"] ] }, { - "name": "godot_rect2_clip", - "return_type": "godot_rect2", + "name": "godot_string_wchar_to_int", + "return_type": "int64_t", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_rect2 *", "p_b"] + ["const wchar_t *", "p_str"] ] }, { - "name": "godot_rect2_merge", - "return_type": "godot_rect2", + "name": "godot_string_char_to_int_with_len", + "return_type": "godot_int", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_rect2 *", "p_b"] + ["const char *", "p_what"], + ["godot_int", "p_len"] ] }, { - "name": "godot_rect2_has_point", - "return_type": "godot_bool", + "name": "godot_string_char_to_int64_with_len", + "return_type": "int64_t", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_vector2 *", "p_point"] + ["const wchar_t *", "p_str"], + ["int", "p_len"] ] }, { - "name": "godot_rect2_grow", - "return_type": "godot_rect2", + "name": "godot_string_hex_to_int64", + "return_type": "int64_t", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_real", "p_by"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_expand", - "return_type": "godot_rect2", + "name": "godot_string_hex_to_int64_with_prefix", + "return_type": "int64_t", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_vector2 *", "p_to"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_operator_equal", - "return_type": "godot_bool", + "name": "godot_string_to_int64", + "return_type": "int64_t", "arguments": [ - ["const godot_rect2 *", "p_self"], - ["const godot_rect2 *", "p_b"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rect2_get_position", - "return_type": "godot_vector2", + "name": "godot_string_unicode_char_to_double", + "return_type": "double", "arguments": [ - ["const godot_rect2 *", "p_self"] + ["const wchar_t *", "p_str"], + ["const wchar_t **", "r_end"] ] }, { - "name": "godot_rect2_get_size", - "return_type": "godot_vector2", + "name": "godot_string_get_slice_count", + "return_type": "godot_int", "arguments": [ - ["const godot_rect2 *", "p_self"] + ["const godot_string *", "p_self"], + ["godot_string", "p_splitter"] ] }, { - "name": "godot_rect2_set_position", - "return_type": "void", + "name": "godot_string_get_slice", + "return_type": "godot_string", "arguments": [ - ["godot_rect2 *", "p_self"], - ["const godot_vector2 *", "p_pos"] + ["const godot_string *", "p_self"], + ["godot_string", "p_splitter"], + ["godot_int", "p_slice"] ] }, { - "name": "godot_rect2_set_size", - "return_type": "void", + "name": "godot_string_get_slicec", + "return_type": "godot_string", "arguments": [ - ["godot_rect2 *", "p_self"], - ["const godot_vector2 *", "p_size"] + ["const godot_string *", "p_self"], + ["wchar_t", "p_splitter"], + ["godot_int", "p_slice"] ] }, { - "name": "godot_aabb_new", - "return_type": "void", + "name": "godot_string_split", + "return_type": "godot_array", "arguments": [ - ["godot_aabb *", "r_dest"], - ["const godot_vector3 *", "p_pos"], - ["const godot_vector3 *", "p_size"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_splitter"] ] }, { - "name": "godot_aabb_get_position", - "return_type": "godot_vector3", + "name": "godot_string_split_allow_empty", + "return_type": "godot_array", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_splitter"] ] }, { - "name": "godot_aabb_set_position", - "return_type": "void", + "name": "godot_string_split_floats", + "return_type": "godot_array", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_vector3 *", "p_v"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_splitter"] ] }, { - "name": "godot_aabb_get_size", - "return_type": "godot_vector3", + "name": "godot_string_split_floats_allows_empty", + "return_type": "godot_array", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_splitter"] ] }, { - "name": "godot_aabb_set_size", - "return_type": "void", + "name": "godot_string_split_floats_mk", + "return_type": "godot_array", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_vector3 *", "p_v"] + ["const godot_string *", "p_self"], + ["const godot_array *", "p_splitters"] ] }, { - "name": "godot_aabb_as_string", + "name": "godot_string_split_floats_mk_allows_empty", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_array *", "p_splitters"] + ] + }, + { + "name": "godot_string_split_ints", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_string *", "p_splitter"] + ] + }, + { + "name": "godot_string_split_ints_allows_empty", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_string *", "p_splitter"] + ] + }, + { + "name": "godot_string_split_ints_mk", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_array *", "p_splitters"] + ] + }, + { + "name": "godot_string_split_ints_mk_allows_empty", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_array *", "p_splitters"] + ] + }, + { + "name": "godot_string_split_spaces", + "return_type": "godot_array", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_rstrip", "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_chars"] ] }, { - "name": "godot_aabb_get_area", - "return_type": "godot_real", + "name": "godot_string_rsplit", + "return_type": "godot_packed_string_array", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_divisor"], + ["const godot_bool", "p_allow_empty"], + ["const godot_int", "p_maxsplit"] ] }, { - "name": "godot_aabb_has_no_area", - "return_type": "godot_bool", + "name": "godot_string_trim_prefix", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_prefix"] ] }, { - "name": "godot_aabb_has_no_surface", + "name": "godot_string_trim_suffix", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_string *", "p_suffix"] + ] + }, + { + "name": "godot_string_char_lowercase", + "return_type": "wchar_t", + "arguments": [ + ["wchar_t", "p_char"] + ] + }, + { + "name": "godot_string_char_uppercase", + "return_type": "wchar_t", + "arguments": [ + ["wchar_t", "p_char"] + ] + }, + { + "name": "godot_string_to_lower", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_to_upper", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_get_basename", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_get_extension", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_left", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_int", "p_pos"] + ] + }, + { + "name": "godot_string_ord_at", + "return_type": "wchar_t", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_int", "p_idx"] + ] + }, + { + "name": "godot_string_plus_file", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_string *", "p_file"] + ] + }, + { + "name": "godot_string_right", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_int", "p_pos"] + ] + }, + { + "name": "godot_string_strip_edges", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_bool", "p_left"], + ["godot_bool", "p_right"] + ] + }, + { + "name": "godot_string_strip_escapes", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_erase", + "return_type": "void", + "arguments": [ + ["godot_string *", "p_self"], + ["godot_int", "p_pos"], + ["godot_int", "p_chars"] + ] + }, + { + "name": "godot_string_ascii", + "return_type": "godot_char_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_ascii_extended", + "return_type": "godot_char_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_utf8", + "return_type": "godot_char_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_parse_utf8", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"] + ["godot_string *", "p_self"], + ["const char *", "p_utf8"] ] }, { - "name": "godot_aabb_intersects", + "name": "godot_string_parse_utf8_with_len", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_aabb *", "p_with"] + ["godot_string *", "p_self"], + ["const char *", "p_utf8"], + ["godot_int", "p_len"] ] }, { - "name": "godot_aabb_encloses", + "name": "godot_string_chars_to_utf8", + "return_type": "godot_string", + "arguments": [ + ["const char *", "p_utf8"] + ] + }, + { + "name": "godot_string_chars_to_utf8_with_len", + "return_type": "godot_string", + "arguments": [ + ["const char *", "p_utf8"], + ["godot_int", "p_len"] + ] + }, + { + "name": "godot_string_hash", + "return_type": "uint32_t", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_hash64", + "return_type": "uint64_t", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_hash_chars", + "return_type": "uint32_t", + "arguments": [ + ["const char *", "p_cstr"] + ] + }, + { + "name": "godot_string_hash_chars_with_len", + "return_type": "uint32_t", + "arguments": [ + ["const char *", "p_cstr"], + ["godot_int", "p_len"] + ] + }, + { + "name": "godot_string_hash_utf8_chars", + "return_type": "uint32_t", + "arguments": [ + ["const wchar_t *", "p_str"] + ] + }, + { + "name": "godot_string_hash_utf8_chars_with_len", + "return_type": "uint32_t", + "arguments": [ + ["const wchar_t *", "p_str"], + ["godot_int", "p_len"] + ] + }, + { + "name": "godot_string_md5_buffer", + "return_type": "godot_packed_byte_array", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_md5_text", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_sha256_buffer", + "return_type": "godot_packed_byte_array", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_sha256_text", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_empty", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_aabb *", "p_with"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_merge", - "return_type": "godot_aabb", + "name": "godot_string_get_base_dir", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_aabb *", "p_with"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_intersection", - "return_type": "godot_aabb", + "name": "godot_string_get_file", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_aabb *", "p_with"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_intersects_plane", + "name": "godot_string_humanize_size", + "return_type": "godot_string", + "arguments": [ + ["size_t", "p_size"] + ] + }, + { + "name": "godot_string_is_abs_path", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_plane *", "p_plane"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_intersects_segment", + "name": "godot_string_is_rel_path", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_vector3 *", "p_from"], - ["const godot_vector3 *", "p_to"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_has_point", + "name": "godot_string_is_resource_file", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_vector3 *", "p_point"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_get_support", - "return_type": "godot_vector3", + "name": "godot_string_path_to", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_vector3 *", "p_dir"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_path"] ] }, { - "name": "godot_aabb_get_longest_axis", - "return_type": "godot_vector3", + "name": "godot_string_path_to_file", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"], + ["const godot_string *", "p_path"] ] }, { - "name": "godot_aabb_get_longest_axis_index", - "return_type": "godot_int", + "name": "godot_string_simplify_path", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_get_longest_axis_size", - "return_type": "godot_real", + "name": "godot_string_c_escape", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_get_shortest_axis", - "return_type": "godot_vector3", + "name": "godot_string_c_escape_multiline", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_get_shortest_axis_index", - "return_type": "godot_int", + "name": "godot_string_c_unescape", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_get_shortest_axis_size", - "return_type": "godot_real", + "name": "godot_string_http_escape", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_expand", - "return_type": "godot_aabb", + "name": "godot_string_http_unescape", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_vector3 *", "p_to_point"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_grow", - "return_type": "godot_aabb", + "name": "godot_string_json_escape", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_real", "p_by"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_aabb_get_endpoint", - "return_type": "godot_vector3", + "name": "godot_string_word_wrap", + "return_type": "godot_string", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_string *", "p_self"], + ["godot_int", "p_chars_per_line"] ] }, { - "name": "godot_aabb_operator_equal", + "name": "godot_string_xml_escape", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_xml_escape_with_quotes", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_xml_unescape", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_percent_decode", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_percent_encode", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_is_valid_float", "return_type": "godot_bool", "arguments": [ - ["const godot_aabb *", "p_self"], - ["const godot_aabb *", "p_b"] + ["const godot_string *", "p_self"] ] }, { - "name": "godot_rid_new", + "name": "godot_string_is_valid_hex_number", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"], + ["godot_bool", "p_with_prefix"] + ] + }, + { + "name": "godot_string_is_valid_html_color", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_is_valid_identifier", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_is_valid_integer", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_is_valid_ip_address", + "return_type": "godot_bool", + "arguments": [ + ["const godot_string *", "p_self"] + ] + }, + { + "name": "godot_string_destroy", "return_type": "void", "arguments": [ - ["godot_rid *", "r_dest"] + ["godot_string *", "p_self"] ] }, { - "name": "godot_rid_get_id", - "return_type": "godot_int", + "name": "godot_string_name_new", + "return_type": "void", "arguments": [ - ["const godot_rid *", "p_self"] + ["godot_string_name *", "r_dest"], + ["const godot_string *", "p_name"] ] }, { - "name": "godot_rid_new_with_resource", + "name": "godot_string_name_new_data", "return_type": "void", "arguments": [ - ["godot_rid *", "r_dest"], - ["const godot_object *", "p_from"] + ["godot_string_name *", "r_dest"], + ["const char *", "p_name"] ] }, { - "name": "godot_rid_operator_equal", + "name": "godot_string_name_get_name", + "return_type": "godot_string", + "arguments": [ + ["const godot_string_name *", "p_self"] + ] + }, + { + "name": "godot_string_name_get_hash", + "return_type": "uint32_t", + "arguments": [ + ["const godot_string_name *", "p_self"] + ] + }, + { + "name": "godot_string_name_get_data_unique_pointer", + "return_type": "const void *", + "arguments": [ + ["const godot_string_name *", "p_self"] + ] + }, + { + "name": "godot_string_name_operator_equal", "return_type": "godot_bool", "arguments": [ - ["const godot_rid *", "p_self"], - ["const godot_rid *", "p_b"] + ["const godot_string_name *", "p_self"], + ["const godot_string_name *", "p_other"] ] }, { - "name": "godot_rid_operator_less", + "name": "godot_string_name_operator_less", "return_type": "godot_bool", "arguments": [ - ["const godot_rid *", "p_self"], - ["const godot_rid *", "p_b"] + ["const godot_string_name *", "p_self"], + ["const godot_string_name *", "p_other"] + ] + }, + { + "name": "godot_string_name_destroy", + "return_type": "void", + "arguments": [ + ["godot_string_name *", "p_self"] ] }, { @@ -4769,6 +4867,14 @@ ] }, { + "name": "godot_transform_new_with_quat", + "return_type": "void", + "arguments": [ + ["godot_transform *", "r_dest"], + ["const godot_quat *", "p_quat"] + ] + }, + { "name": "godot_transform_new", "return_type": "void", "arguments": [ @@ -5175,6 +5281,14 @@ ] }, { + "name": "godot_variant_new_string_name", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_string_name *", "p_s"] + ] + }, + { "name": "godot_variant_new_vector2", "return_type": "void", "arguments": [ @@ -5183,6 +5297,14 @@ ] }, { + "name": "godot_variant_new_vector2i", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_vector2i *", "p_v2"] + ] + }, + { "name": "godot_variant_new_rect2", "return_type": "void", "arguments": [ @@ -5191,6 +5313,14 @@ ] }, { + "name": "godot_variant_new_rect2i", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_rect2i *", "p_rect2"] + ] + }, + { "name": "godot_variant_new_vector3", "return_type": "void", "arguments": [ @@ -5199,6 +5329,14 @@ ] }, { + "name": "godot_variant_new_vector3i", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_vector3i *", "p_v3"] + ] + }, + { "name": "godot_variant_new_transform2d", "return_type": "void", "arguments": [ @@ -5279,6 +5417,22 @@ ] }, { + "name": "godot_variant_new_callable", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_callable *", "p_cb"] + ] + }, + { + "name": "godot_variant_new_signal", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_signal *", "p_signal"] + ] + }, + { "name": "godot_variant_new_dictionary", "return_type": "void", "arguments": [ @@ -5311,6 +5465,14 @@ ] }, { + "name": "godot_variant_new_packed_int64_array", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_packed_int64_array *", "p_pia"] + ] + }, + { "name": "godot_variant_new_packed_float32_array", "return_type": "void", "arguments": [ @@ -5319,6 +5481,14 @@ ] }, { + "name": "godot_variant_new_packed_float64_array", + "return_type": "void", + "arguments": [ + ["godot_variant *", "r_dest"], + ["const godot_packed_float64_array *", "p_pra"] + ] + }, + { "name": "godot_variant_new_packed_string_array", "return_type": "void", "arguments": [ @@ -5386,6 +5556,13 @@ ] }, { + "name": "godot_variant_as_string_name", + "return_type": "godot_string_name", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_vector2", "return_type": "godot_vector2", "arguments": [ @@ -5393,6 +5570,13 @@ ] }, { + "name": "godot_variant_as_vector2i", + "return_type": "godot_vector2i", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_rect2", "return_type": "godot_rect2", "arguments": [ @@ -5400,6 +5584,13 @@ ] }, { + "name": "godot_variant_as_rect2i", + "return_type": "godot_rect2i", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_vector3", "return_type": "godot_vector3", "arguments": [ @@ -5407,6 +5598,13 @@ ] }, { + "name": "godot_variant_as_vector3i", + "return_type": "godot_vector3i", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_transform2d", "return_type": "godot_transform2d", "arguments": [ @@ -5477,6 +5675,20 @@ ] }, { + "name": "godot_variant_as_callable", + "return_type": "godot_callable", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { + "name": "godot_variant_as_signal", + "return_type": "godot_signal", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_dictionary", "return_type": "godot_dictionary", "arguments": [ @@ -5505,6 +5717,13 @@ ] }, { + "name": "godot_variant_as_packed_int64_array", + "return_type": "godot_packed_int64_array", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_packed_float32_array", "return_type": "godot_packed_float32_array", "arguments": [ @@ -5512,6 +5731,13 @@ ] }, { + "name": "godot_variant_as_packed_float64_array", + "return_type": "godot_packed_float64_array", + "arguments": [ + ["const godot_variant *", "p_self"] + ] + }, + { "name": "godot_variant_as_packed_string_array", "return_type": "godot_packed_string_array", "arguments": [ @@ -5559,15 +5785,14 @@ ] }, { - "name": "godot_variant_operator_equal", - "return_type": "godot_bool", + "name": "godot_variant_hash", + "return_type": "uint32_t", "arguments": [ - ["const godot_variant *", "p_self"], - ["const godot_variant *", "p_other"] + ["const godot_variant *", "p_self"] ] }, { - "name": "godot_variant_operator_less", + "name": "godot_variant_operator_equal", "return_type": "godot_bool", "arguments": [ ["const godot_variant *", "p_self"], @@ -5575,7 +5800,7 @@ ] }, { - "name": "godot_variant_hash_compare", + "name": "godot_variant_operator_less", "return_type": "godot_bool", "arguments": [ ["const godot_variant *", "p_self"], @@ -5583,1236 +5808,1005 @@ ] }, { - "name": "godot_variant_booleanize", - "return_type": "godot_bool", - "arguments": [ - ["const godot_variant *", "p_self"] - ] - }, - { - "name": "godot_variant_destroy", - "return_type": "void", - "arguments": [ - ["godot_variant *", "p_self"] - ] - }, - { - "name": "godot_char_string_length", - "return_type": "godot_int", - "arguments": [ - ["const godot_char_string *", "p_cs"] - ] - }, - { - "name": "godot_char_string_get_data", - "return_type": "const char *", + "name": "godot_variant_get_operator_name", + "return_type": "godot_string", "arguments": [ - ["const godot_char_string *", "p_cs"] + ["godot_variant_operator", "p_op"] ] }, { - "name": "godot_char_string_destroy", + "name": "godot_variant_evaluate", "return_type": "void", "arguments": [ - ["godot_char_string *", "p_cs"] + ["godot_variant_operator", "p_op"], + ["const godot_variant *", "p_a"], + ["const godot_variant *", "p_b"], + ["godot_variant *", "r_ret"], + ["godot_bool *", "r_valid"] ] }, { - "name": "godot_string_new", - "return_type": "void", + "name": "godot_variant_hash_compare", + "return_type": "godot_bool", "arguments": [ - ["godot_string *", "r_dest"] + ["const godot_variant *", "p_self"], + ["const godot_variant *", "p_other"] ] }, { - "name": "godot_string_new_copy", - "return_type": "void", + "name": "godot_variant_booleanize", + "return_type": "godot_bool", "arguments": [ - ["godot_string *", "r_dest"], - ["const godot_string *", "p_src"] + ["const godot_variant *", "p_self"] ] }, { - "name": "godot_string_new_with_wide_string", + "name": "godot_variant_destroy", "return_type": "void", "arguments": [ - ["godot_string *", "r_dest"], - ["const wchar_t *", "p_contents"], - ["const int", "p_size"] + ["godot_variant *", "p_self"] ] }, { - "name": "godot_string_operator_index", - "return_type": "const wchar_t *", + "name": "godot_vector2_as_vector2i", + "return_type": "godot_vector2i", "arguments": [ - ["godot_string *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_operator_index_const", - "return_type": "wchar_t", + "name": "godot_vector2_sign", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_int", "p_idx"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_wide_str", - "return_type": "const wchar_t *", + "name": "godot_vector2_move_toward", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_to"], + ["const godot_real", "p_delta"] ] }, { - "name": "godot_string_operator_equal", - "return_type": "godot_bool", + "name": "godot_vector2_direction_to", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_b"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_to"] ] }, { - "name": "godot_string_operator_less", - "return_type": "godot_bool", + "name": "godot_vector2_new", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_b"] + ["godot_vector2 *", "r_dest"], + ["const godot_real", "p_x"], + ["const godot_real", "p_y"] ] }, { - "name": "godot_string_operator_plus", + "name": "godot_vector2_as_string", "return_type": "godot_string", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_b"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_length", - "return_type": "godot_int", + "name": "godot_vector2_normalized", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_casecmp_to", - "return_type": "signed char", + "name": "godot_vector2_length", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_str"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_nocasecmp_to", - "return_type": "signed char", + "name": "godot_vector2_angle", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_str"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_naturalnocasecmp_to", - "return_type": "signed char", + "name": "godot_vector2_length_squared", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_str"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_begins_with", + "name": "godot_vector2_is_normalized", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_string"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_begins_with_char_array", - "return_type": "godot_bool", + "name": "godot_vector2_distance_to", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const char *", "p_char_array"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_to"] ] }, { - "name": "godot_string_bigrams", - "return_type": "godot_array", + "name": "godot_vector2_distance_squared_to", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_to"] ] }, { - "name": "godot_string_chr", - "return_type": "godot_string", + "name": "godot_vector2_angle_to", + "return_type": "godot_real", "arguments": [ - ["wchar_t", "p_character"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_to"] ] }, { - "name": "godot_string_ends_with", - "return_type": "godot_bool", + "name": "godot_vector2_angle_to_point", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_string"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_to"] ] }, { - "name": "godot_string_find", - "return_type": "godot_int", + "name": "godot_vector2_lerp", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_string_find_from", - "return_type": "godot_int", + "name": "godot_vector2_cubic_interpolate", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"], - ["godot_int", "p_from"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"], + ["const godot_vector2 *", "p_pre_a"], + ["const godot_vector2 *", "p_post_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_string_findmk", - "return_type": "godot_int", + "name": "godot_vector2_rotated", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_keys"] + ["const godot_vector2 *", "p_self"], + ["const godot_real", "p_phi"] ] }, { - "name": "godot_string_findmk_from", - "return_type": "godot_int", + "name": "godot_vector2_tangent", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_keys"], - ["godot_int", "p_from"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_findmk_from_in_place", - "return_type": "godot_int", + "name": "godot_vector2_floor", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_keys"], - ["godot_int", "p_from"], - ["godot_int *", "r_key"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_findn", - "return_type": "godot_int", + "name": "godot_vector2_snapped", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_by"] ] }, { - "name": "godot_string_findn_from", - "return_type": "godot_int", + "name": "godot_vector2_aspect", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"], - ["godot_int", "p_from"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_find_last", - "return_type": "godot_int", + "name": "godot_vector2_dot", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_with"] ] }, { - "name": "godot_string_format", - "return_type": "godot_string", + "name": "godot_vector2_slide", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_variant *", "p_values"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_n"] ] }, { - "name": "godot_string_format_with_custom_placeholder", - "return_type": "godot_string", + "name": "godot_vector2_bounce", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_variant *", "p_values"], - ["const char *", "p_placeholder"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_n"] ] }, { - "name": "godot_string_hex_encode_buffer", - "return_type": "godot_string", + "name": "godot_vector2_reflect", + "return_type": "godot_vector2", "arguments": [ - ["const uint8_t *", "p_buffer"], - ["godot_int", "p_len"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_n"] ] }, { - "name": "godot_string_hex_to_int", - "return_type": "godot_int", + "name": "godot_vector2_abs", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_hex_to_int_without_prefix", - "return_type": "godot_int", + "name": "godot_vector2_clamped", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2 *", "p_self"], + ["const godot_real", "p_length"] ] }, { - "name": "godot_string_insert", - "return_type": "godot_string", + "name": "godot_vector2_operator_add", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_at_pos"], - ["godot_string", "p_string"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"] ] }, { - "name": "godot_string_is_numeric", - "return_type": "godot_bool", + "name": "godot_vector2_operator_subtract", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"] ] }, { - "name": "godot_string_is_subsequence_of", - "return_type": "godot_bool", + "name": "godot_vector2_operator_multiply_vector", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_string"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"] ] }, { - "name": "godot_string_is_subsequence_ofi", - "return_type": "godot_bool", + "name": "godot_vector2_operator_multiply_scalar", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_string"] + ["const godot_vector2 *", "p_self"], + ["const godot_real", "p_b"] ] }, { - "name": "godot_string_lpad", - "return_type": "godot_string", + "name": "godot_vector2_operator_divide_vector", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_min_length"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"] ] }, { - "name": "godot_string_lpad_with_custom_character", - "return_type": "godot_string", + "name": "godot_vector2_operator_divide_scalar", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_min_length"], - ["const godot_string *", "p_character"] + ["const godot_vector2 *", "p_self"], + ["const godot_real", "p_b"] ] }, { - "name": "godot_string_match", + "name": "godot_vector2_operator_equal", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_wildcard"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"] ] }, { - "name": "godot_string_matchn", + "name": "godot_vector2_operator_less", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_wildcard"] - ] - }, - { - "name": "godot_string_md5", - "return_type": "godot_string", - "arguments": [ - ["const uint8_t *", "p_md5"] - ] - }, - { - "name": "godot_string_num", - "return_type": "godot_string", - "arguments": [ - ["double", "p_num"] - ] - }, - { - "name": "godot_string_num_int64", - "return_type": "godot_string", - "arguments": [ - ["int64_t", "p_num"], - ["godot_int", "p_base"] - ] - }, - { - "name": "godot_string_num_int64_capitalized", - "return_type": "godot_string", - "arguments": [ - ["int64_t", "p_num"], - ["godot_int", "p_base"], - ["godot_bool", "p_capitalize_hex"] - ] - }, - { - "name": "godot_string_num_real", - "return_type": "godot_string", - "arguments": [ - ["double", "p_num"] - ] - }, - { - "name": "godot_string_num_scientific", - "return_type": "godot_string", - "arguments": [ - ["double", "p_num"] - ] - }, - { - "name": "godot_string_num_with_decimals", - "return_type": "godot_string", - "arguments": [ - ["double", "p_num"], - ["godot_int", "p_decimals"] - ] - }, - { - "name": "godot_string_pad_decimals", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_digits"] - ] - }, - { - "name": "godot_string_pad_zeros", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_digits"] - ] - }, - { - "name": "godot_string_replace_first", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_key"], - ["godot_string", "p_with"] - ] - }, - { - "name": "godot_string_replace", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_key"], - ["godot_string", "p_with"] - ] - }, - { - "name": "godot_string_replacen", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_key"], - ["godot_string", "p_with"] - ] - }, - { - "name": "godot_string_rfind", - "return_type": "godot_int", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"] - ] - }, - { - "name": "godot_string_rfindn", - "return_type": "godot_int", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"] + ["const godot_vector2 *", "p_self"], + ["const godot_vector2 *", "p_b"] ] }, { - "name": "godot_string_rfind_from", - "return_type": "godot_int", + "name": "godot_vector2_operator_neg", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"], - ["godot_int", "p_from"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_rfindn_from", - "return_type": "godot_int", + "name": "godot_vector2_set_x", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_what"], - ["godot_int", "p_from"] + ["godot_vector2 *", "p_self"], + ["const godot_real", "p_x"] ] }, { - "name": "godot_string_rpad", - "return_type": "godot_string", + "name": "godot_vector2_set_y", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_min_length"] + ["godot_vector2 *", "p_self"], + ["const godot_real", "p_y"] ] }, { - "name": "godot_string_rpad_with_custom_character", - "return_type": "godot_string", + "name": "godot_vector2_get_x", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_min_length"], - ["const godot_string *", "p_character"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_similarity", + "name": "godot_vector2_get_y", "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_string"] + ["const godot_vector2 *", "p_self"] ] }, { - "name": "godot_string_sprintf", - "return_type": "godot_string", + "name": "godot_vector2i_new", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_values"], - ["godot_bool *", "p_error"] + ["godot_vector2i *", "r_dest"], + ["const godot_int", "p_x"], + ["const godot_int", "p_y"] ] }, { - "name": "godot_string_substr", + "name": "godot_vector2i_as_string", "return_type": "godot_string", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_from"], - ["godot_int", "p_chars"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_to_double", - "return_type": "double", + "name": "godot_vector2i_as_vector2", + "return_type": "godot_vector2", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_to_float", + "name": "godot_vector2i_aspect", "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_to_int", - "return_type": "godot_int", + "name": "godot_vector2i_abs", + "return_type": "godot_vector2i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_camelcase_to_underscore", - "return_type": "godot_string", + "name": "godot_vector2i_sign", + "return_type": "godot_vector2i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_camelcase_to_underscore_lowercased", - "return_type": "godot_string", + "name": "godot_vector2i_operator_add", + "return_type": "godot_vector2i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"], + ["const godot_vector2i *", "p_b"] ] }, { - "name": "godot_string_capitalize", - "return_type": "godot_string", + "name": "godot_vector2i_operator_subtract", + "return_type": "godot_vector2i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"], + ["const godot_vector2i *", "p_b"] ] }, { - "name": "godot_string_char_to_double", - "return_type": "double", + "name": "godot_vector2i_operator_multiply_vector", + "return_type": "godot_vector2i", "arguments": [ - ["const char *", "p_what"] + ["const godot_vector2i *", "p_self"], + ["const godot_vector2i *", "p_b"] ] }, { - "name": "godot_string_char_to_int", - "return_type": "godot_int", + "name": "godot_vector2i_operator_multiply_scalar", + "return_type": "godot_vector2i", "arguments": [ - ["const char *", "p_what"] + ["const godot_vector2i *", "p_self"], + ["const godot_int", "p_b"] ] }, { - "name": "godot_string_wchar_to_int", - "return_type": "int64_t", + "name": "godot_vector2i_operator_divide_vector", + "return_type": "godot_vector2i", "arguments": [ - ["const wchar_t *", "p_str"] + ["const godot_vector2i *", "p_self"], + ["const godot_vector2i *", "p_b"] ] }, { - "name": "godot_string_char_to_int_with_len", - "return_type": "godot_int", + "name": "godot_vector2i_operator_divide_scalar", + "return_type": "godot_vector2i", "arguments": [ - ["const char *", "p_what"], - ["godot_int", "p_len"] + ["const godot_vector2i *", "p_self"], + ["const godot_int", "p_b"] ] }, { - "name": "godot_string_char_to_int64_with_len", - "return_type": "int64_t", + "name": "godot_vector2i_operator_equal", + "return_type": "godot_bool", "arguments": [ - ["const wchar_t *", "p_str"], - ["int", "p_len"] + ["const godot_vector2i *", "p_self"], + ["const godot_vector2i *", "p_b"] ] }, { - "name": "godot_string_hex_to_int64", - "return_type": "int64_t", + "name": "godot_vector2i_operator_less", + "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"], + ["const godot_vector2i *", "p_b"] ] }, { - "name": "godot_string_hex_to_int64_with_prefix", - "return_type": "int64_t", + "name": "godot_vector2i_operator_neg", + "return_type": "godot_vector2i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_to_int64", - "return_type": "int64_t", + "name": "godot_vector2i_set_x", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"] + ["godot_vector2i *", "p_self"], + ["const godot_int", "p_x"] ] }, { - "name": "godot_string_unicode_char_to_double", - "return_type": "double", + "name": "godot_vector2i_set_y", + "return_type": "void", "arguments": [ - ["const wchar_t *", "p_str"], - ["const wchar_t **", "r_end"] + ["godot_vector2i *", "p_self"], + ["const godot_int", "p_y"] ] }, { - "name": "godot_string_get_slice_count", + "name": "godot_vector2i_get_x", "return_type": "godot_int", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_splitter"] - ] - }, - { - "name": "godot_string_get_slice", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["godot_string", "p_splitter"], - ["godot_int", "p_slice"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_get_slicec", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["wchar_t", "p_splitter"], - ["godot_int", "p_slice"] - ] - }, - { - "name": "godot_string_split", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_splitter"] - ] - }, - { - "name": "godot_string_split_allow_empty", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_splitter"] - ] - }, - { - "name": "godot_string_split_floats", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_splitter"] - ] - }, - { - "name": "godot_string_split_floats_allows_empty", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_splitter"] - ] - }, - { - "name": "godot_string_split_floats_mk", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_splitters"] - ] - }, - { - "name": "godot_string_split_floats_mk_allows_empty", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_splitters"] - ] - }, - { - "name": "godot_string_split_ints", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_splitter"] - ] - }, - { - "name": "godot_string_split_ints_allows_empty", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_splitter"] - ] - }, - { - "name": "godot_string_split_ints_mk", - "return_type": "godot_array", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_splitters"] - ] - }, - { - "name": "godot_string_split_ints_mk_allows_empty", - "return_type": "godot_array", + "name": "godot_vector2i_get_y", + "return_type": "godot_int", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_array *", "p_splitters"] + ["const godot_vector2i *", "p_self"] ] }, { - "name": "godot_string_split_spaces", - "return_type": "godot_array", + "name": "godot_vector3_as_vector3i", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_char_lowercase", - "return_type": "wchar_t", + "name": "godot_vector3_sign", + "return_type": "godot_vector3", "arguments": [ - ["wchar_t", "p_char"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_char_uppercase", - "return_type": "wchar_t", + "name": "godot_vector3_move_toward", + "return_type": "godot_vector3", "arguments": [ - ["wchar_t", "p_char"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_to"], + ["const godot_real", "p_delta"] ] }, { - "name": "godot_string_to_lower", - "return_type": "godot_string", + "name": "godot_vector3_direction_to", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_to"] ] }, { - "name": "godot_string_to_upper", - "return_type": "godot_string", + "name": "godot_vector3_new", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"] + ["godot_vector3 *", "r_dest"], + ["const godot_real", "p_x"], + ["const godot_real", "p_y"], + ["const godot_real", "p_z"] ] }, { - "name": "godot_string_get_basename", + "name": "godot_vector3_as_string", "return_type": "godot_string", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_get_extension", - "return_type": "godot_string", + "name": "godot_vector3_min_axis", + "return_type": "godot_int", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_left", - "return_type": "godot_string", + "name": "godot_vector3_max_axis", + "return_type": "godot_int", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_pos"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_ord_at", - "return_type": "wchar_t", + "name": "godot_vector3_length", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_idx"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_plus_file", - "return_type": "godot_string", + "name": "godot_vector3_length_squared", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_file"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_right", - "return_type": "godot_string", + "name": "godot_vector3_is_normalized", + "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_pos"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_strip_edges", - "return_type": "godot_string", + "name": "godot_vector3_normalized", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_bool", "p_left"], - ["godot_bool", "p_right"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_strip_escapes", - "return_type": "godot_string", + "name": "godot_vector3_inverse", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_erase", - "return_type": "void", + "name": "godot_vector3_snapped", + "return_type": "godot_vector3", "arguments": [ - ["godot_string *", "p_self"], - ["godot_int", "p_pos"], - ["godot_int", "p_chars"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_by"] ] }, { - "name": "godot_string_ascii", - "return_type": "godot_char_string", + "name": "godot_vector3_rotated", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_axis"], + ["const godot_real", "p_phi"] ] }, { - "name": "godot_string_ascii_extended", - "return_type": "godot_char_string", + "name": "godot_vector3_lerp", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_string_utf8", - "return_type": "godot_char_string", + "name": "godot_vector3_cubic_interpolate", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"], + ["const godot_vector3 *", "p_pre_a"], + ["const godot_vector3 *", "p_post_b"], + ["const godot_real", "p_t"] ] }, { - "name": "godot_string_parse_utf8", - "return_type": "godot_bool", + "name": "godot_vector3_dot", + "return_type": "godot_real", "arguments": [ - ["godot_string *", "p_self"], - ["const char *", "p_utf8"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_parse_utf8_with_len", - "return_type": "godot_bool", + "name": "godot_vector3_cross", + "return_type": "godot_vector3", "arguments": [ - ["godot_string *", "p_self"], - ["const char *", "p_utf8"], - ["godot_int", "p_len"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_chars_to_utf8", - "return_type": "godot_string", + "name": "godot_vector3_outer", + "return_type": "godot_basis", "arguments": [ - ["const char *", "p_utf8"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_chars_to_utf8_with_len", - "return_type": "godot_string", + "name": "godot_vector3_to_diagonal_matrix", + "return_type": "godot_basis", "arguments": [ - ["const char *", "p_utf8"], - ["godot_int", "p_len"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_hash", - "return_type": "uint32_t", + "name": "godot_vector3_abs", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_hash64", - "return_type": "uint64_t", + "name": "godot_vector3_floor", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_hash_chars", - "return_type": "uint32_t", + "name": "godot_vector3_ceil", + "return_type": "godot_vector3", "arguments": [ - ["const char *", "p_cstr"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_hash_chars_with_len", - "return_type": "uint32_t", + "name": "godot_vector3_distance_to", + "return_type": "godot_real", "arguments": [ - ["const char *", "p_cstr"], - ["godot_int", "p_len"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_hash_utf8_chars", - "return_type": "uint32_t", + "name": "godot_vector3_distance_squared_to", + "return_type": "godot_real", "arguments": [ - ["const wchar_t *", "p_str"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_hash_utf8_chars_with_len", - "return_type": "uint32_t", + "name": "godot_vector3_angle_to", + "return_type": "godot_real", "arguments": [ - ["const wchar_t *", "p_str"], - ["godot_int", "p_len"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_to"] ] }, { - "name": "godot_string_md5_buffer", - "return_type": "godot_packed_byte_array", + "name": "godot_vector3_slide", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_n"] ] }, { - "name": "godot_string_md5_text", - "return_type": "godot_string", + "name": "godot_vector3_bounce", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_n"] ] }, { - "name": "godot_string_sha256_buffer", - "return_type": "godot_packed_byte_array", + "name": "godot_vector3_reflect", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_n"] ] }, { - "name": "godot_string_sha256_text", - "return_type": "godot_string", + "name": "godot_vector3_operator_add", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_empty", - "return_type": "godot_bool", + "name": "godot_vector3_operator_subtract", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_get_base_dir", - "return_type": "godot_string", + "name": "godot_vector3_operator_multiply_vector", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_get_file", - "return_type": "godot_string", + "name": "godot_vector3_operator_multiply_scalar", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_real", "p_b"] ] }, { - "name": "godot_string_humanize_size", - "return_type": "godot_string", + "name": "godot_vector3_operator_divide_vector", + "return_type": "godot_vector3", "arguments": [ - ["size_t", "p_size"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_is_abs_path", - "return_type": "godot_bool", + "name": "godot_vector3_operator_divide_scalar", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_real", "p_b"] ] }, { - "name": "godot_string_is_rel_path", + "name": "godot_vector3_operator_equal", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_is_resource_file", + "name": "godot_vector3_operator_less", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"] - ] - }, - { - "name": "godot_string_path_to", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_path"] - ] - }, - { - "name": "godot_string_path_to_file", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"], - ["const godot_string *", "p_path"] - ] - }, - { - "name": "godot_string_simplify_path", - "return_type": "godot_string", - "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3 *", "p_b"] ] }, { - "name": "godot_string_c_escape", - "return_type": "godot_string", + "name": "godot_vector3_operator_neg", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"] ] }, { - "name": "godot_string_c_escape_multiline", - "return_type": "godot_string", + "name": "godot_vector3_set_axis", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"] + ["godot_vector3 *", "p_self"], + ["const godot_vector3_axis", "p_axis"], + ["const godot_real", "p_val"] ] }, { - "name": "godot_string_c_unescape", - "return_type": "godot_string", + "name": "godot_vector3_get_axis", + "return_type": "godot_real", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3 *", "p_self"], + ["const godot_vector3_axis", "p_axis"] ] }, { - "name": "godot_string_http_escape", - "return_type": "godot_string", + "name": "godot_vector3i_new", + "return_type": "void", "arguments": [ - ["const godot_string *", "p_self"] + ["godot_vector3i *", "r_dest"], + ["const godot_int", "p_x"], + ["const godot_int", "p_y"], + ["const godot_int", "p_z"] ] }, { - "name": "godot_string_http_unescape", + "name": "godot_vector3i_as_string", "return_type": "godot_string", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_json_escape", - "return_type": "godot_string", + "name": "godot_vector3i_as_vector3", + "return_type": "godot_vector3", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_word_wrap", - "return_type": "godot_string", + "name": "godot_vector3i_min_axis", + "return_type": "godot_int", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_int", "p_chars_per_line"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_xml_escape", - "return_type": "godot_string", + "name": "godot_vector3i_max_axis", + "return_type": "godot_int", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_xml_escape_with_quotes", - "return_type": "godot_string", + "name": "godot_vector3i_abs", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_xml_unescape", - "return_type": "godot_string", + "name": "godot_vector3i_sign", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_percent_decode", - "return_type": "godot_string", + "name": "godot_vector3i_operator_add", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3i *", "p_b"] ] }, { - "name": "godot_string_percent_encode", - "return_type": "godot_string", + "name": "godot_vector3i_operator_subtract", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3i *", "p_b"] ] }, { - "name": "godot_string_is_valid_float", - "return_type": "godot_bool", + "name": "godot_vector3i_operator_multiply_vector", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3i *", "p_b"] ] }, { - "name": "godot_string_is_valid_hex_number", - "return_type": "godot_bool", + "name": "godot_vector3i_operator_multiply_scalar", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"], - ["godot_bool", "p_with_prefix"] + ["const godot_vector3i *", "p_self"], + ["const godot_int", "p_b"] ] }, { - "name": "godot_string_is_valid_html_color", - "return_type": "godot_bool", + "name": "godot_vector3i_operator_divide_vector", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3i *", "p_b"] ] }, { - "name": "godot_string_is_valid_identifier", - "return_type": "godot_bool", + "name": "godot_vector3i_operator_divide_scalar", + "return_type": "godot_vector3i", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_int", "p_b"] ] }, { - "name": "godot_string_is_valid_integer", + "name": "godot_vector3i_operator_equal", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3i *", "p_b"] ] }, { - "name": "godot_string_is_valid_ip_address", + "name": "godot_vector3i_operator_less", "return_type": "godot_bool", "arguments": [ - ["const godot_string *", "p_self"] - ] - }, - { - "name": "godot_string_destroy", - "return_type": "void", - "arguments": [ - ["godot_string *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3i *", "p_b"] ] }, { - "name": "godot_string_name_new", - "return_type": "void", + "name": "godot_vector3i_operator_neg", + "return_type": "godot_vector3i", "arguments": [ - ["godot_string_name *", "r_dest"], - ["const godot_string *", "p_name"] + ["const godot_vector3i *", "p_self"] ] }, { - "name": "godot_string_name_new_data", + "name": "godot_vector3i_set_axis", "return_type": "void", "arguments": [ - ["godot_string_name *", "r_dest"], - ["const char *", "p_name"] + ["godot_vector3i *", "p_self"], + ["const godot_vector3_axis", "p_axis"], + ["const godot_int", "p_val"] ] }, { - "name": "godot_string_name_get_name", - "return_type": "godot_string", + "name": "godot_vector3i_get_axis", + "return_type": "godot_int", "arguments": [ - ["const godot_string_name *", "p_self"] + ["const godot_vector3i *", "p_self"], + ["const godot_vector3_axis", "p_axis"] ] }, { - "name": "godot_string_name_get_hash", - "return_type": "uint32_t", + "name": "godot_global_get_singleton", + "return_type": "godot_object *", "arguments": [ - ["const godot_string_name *", "p_self"] + ["char *", "p_name"] ] }, { - "name": "godot_string_name_get_data_unique_pointer", - "return_type": "const void *", + "name": "godot_get_class_tag", + "return_type": "void *", "arguments": [ - ["const godot_string_name *", "p_self"] + ["const godot_string_name *", "p_class"] ] }, { - "name": "godot_string_name_operator_equal", - "return_type": "godot_bool", + "name": "godot_object_cast_to", + "return_type": "godot_object *", "arguments": [ - ["const godot_string_name *", "p_self"], - ["const godot_string_name *", "p_other"] + ["const godot_object *", "p_object"], + ["void *", "p_class_tag"] ] }, { - "name": "godot_string_name_operator_less", - "return_type": "godot_bool", + "name": "godot_object_get_instance_id", + "return_type": "uint64_t", "arguments": [ - ["const godot_string_name *", "p_self"], - ["const godot_string_name *", "p_other"] + ["const godot_object *", "p_object"] ] }, { - "name": "godot_string_name_destroy", - "return_type": "void", + "name": "godot_instance_from_id", + "return_type": "godot_object *", "arguments": [ - ["godot_string_name *", "p_self"] + ["uint64_t", "p_instance_id"] ] }, { @@ -6823,13 +6817,6 @@ ] }, { - "name": "godot_global_get_singleton", - "return_type": "godot_object *", - "arguments": [ - ["char *", "p_name"] - ] - }, - { "name": "godot_method_bind_get_method", "return_type": "godot_method_bind *", "arguments": [ @@ -6935,132 +6922,10 @@ "name": "nativescript", "type": "NATIVESCRIPT", "version": { - "major": 1, + "major": 4, "minor": 0 }, - "next": { - "type": "NATIVESCRIPT", - "version": { - "major": 1, - "minor": 1 - }, - "next": null, - "api": [ - { - "name": "godot_nativescript_set_method_argument_information", - "return_type": "void", - "arguments": [ - ["void *", "p_gdnative_handle"], - ["const char *", "p_name"], - ["const char *", "p_function_name"], - ["int", "p_num_args"], - ["const godot_method_arg *", "p_args"] - ] - }, - { - "name": "godot_nativescript_set_class_documentation", - "return_type": "void", - "arguments": [ - ["void *", "p_gdnative_handle"], - ["const char *", "p_name"], - ["godot_string", "p_documentation"] - ] - }, - { - "name": "godot_nativescript_set_method_documentation", - "return_type": "void", - "arguments": [ - ["void *", "p_gdnative_handle"], - ["const char *", "p_name"], - ["const char *", "p_function_name"], - ["godot_string", "p_documentation"] - ] - }, - { - "name": "godot_nativescript_set_property_documentation", - "return_type": "void", - "arguments": [ - ["void *", "p_gdnative_handle"], - ["const char *", "p_name"], - ["const char *", "p_path"], - ["godot_string", "p_documentation"] - ] - }, - { - "name": "godot_nativescript_set_signal_documentation", - "return_type": "void", - "arguments": [ - ["void *", "p_gdnative_handle"], - ["const char *", "p_name"], - ["const char *", "p_signal_name"], - ["godot_string", "p_documentation"] - ] - }, - { - "name": "godot_nativescript_set_global_type_tag", - "return_type": "void", - "arguments": [ - ["int", "p_idx"], - ["const char *", "p_name"], - ["const void *", "p_type_tag"] - ] - }, - { - "name": "godot_nativescript_get_global_type_tag", - "return_type": "const void *", - "arguments": [ - ["int", "p_idx"], - ["const char *", "p_name"] - ] - }, - { - "name": "godot_nativescript_set_type_tag", - "return_type": "void", - "arguments": [ - ["void *", "p_gdnative_handle"], - ["const char *", "p_name"], - ["const void *", "p_type_tag"] - ] - }, - { - "name": "godot_nativescript_get_type_tag", - "return_type": "const void *", - "arguments": [ - ["const godot_object *", "p_object"] - ] - }, - { - "name": "godot_nativescript_register_instance_binding_data_functions", - "return_type": "int", - "arguments": [ - ["godot_instance_binding_functions", "p_binding_functions"] - ] - }, - { - "name": "godot_nativescript_unregister_instance_binding_data_functions", - "return_type": "void", - "arguments": [ - ["int", "p_idx"] - ] - }, - { - "name": "godot_nativescript_get_instance_binding_data", - "return_type": "void *", - "arguments": [ - ["int", "p_idx"], - ["godot_object *", "p_object"] - ] - }, - { - "name": "godot_nativescript_profiling_add_data", - "return_type": "void", - "arguments": [ - ["const char *", "p_signature"], - ["uint64_t", "p_line"] - ] - } - ] - }, + "next": null, "api": [ { "name": "godot_nativescript_register_class", @@ -7069,8 +6934,8 @@ ["void *", "p_gdnative_handle"], ["const char *", "p_name"], ["const char *", "p_base"], - ["godot_instance_create_func", "p_create_func"], - ["godot_instance_destroy_func", "p_destroy_func"] + ["godot_nativescript_instance_create_func", "p_create_func"], + ["godot_nativescript_instance_destroy_func", "p_destroy_func"] ] }, { @@ -7080,8 +6945,8 @@ ["void *", "p_gdnative_handle"], ["const char *", "p_name"], ["const char *", "p_base"], - ["godot_instance_create_func", "p_create_func"], - ["godot_instance_destroy_func", "p_destroy_func"] + ["godot_nativescript_instance_create_func", "p_create_func"], + ["godot_nativescript_instance_destroy_func", "p_destroy_func"] ] }, { @@ -7091,8 +6956,19 @@ ["void *", "p_gdnative_handle"], ["const char *", "p_name"], ["const char *", "p_function_name"], - ["godot_method_attributes", "p_attr"], - ["godot_instance_method", "p_method"] + ["godot_nativescript_method_attributes", "p_attr"], + ["godot_nativescript_instance_method", "p_method"] + ] + }, + { + "name": "godot_nativescript_set_method_argument_information", + "return_type": "void", + "arguments": [ + ["void *", "p_gdnative_handle"], + ["const char *", "p_name"], + ["const char *", "p_function_name"], + ["int", "p_num_args"], + ["const godot_nativescript_method_argument *", "p_args"] ] }, { @@ -7102,9 +6978,9 @@ ["void *", "p_gdnative_handle"], ["const char *", "p_name"], ["const char *", "p_path"], - ["godot_property_attributes *", "p_attr"], - ["godot_property_set_func", "p_set_func"], - ["godot_property_get_func", "p_get_func"] + ["godot_nativescript_property_attributes *", "p_attr"], + ["godot_nativescript_property_set_func", "p_set_func"], + ["godot_nativescript_property_get_func", "p_get_func"] ] }, { @@ -7122,6 +6998,108 @@ "arguments": [ ["godot_object *", "p_instance"] ] + }, + { + "name": "godot_nativescript_set_class_documentation", + "return_type": "void", + "arguments": [ + ["void *", "p_gdnative_handle"], + ["const char *", "p_name"], + ["godot_string", "p_documentation"] + ] + }, + { + "name": "godot_nativescript_set_method_documentation", + "return_type": "void", + "arguments": [ + ["void *", "p_gdnative_handle"], + ["const char *", "p_name"], + ["const char *", "p_function_name"], + ["godot_string", "p_documentation"] + ] + }, + { + "name": "godot_nativescript_set_property_documentation", + "return_type": "void", + "arguments": [ + ["void *", "p_gdnative_handle"], + ["const char *", "p_name"], + ["const char *", "p_path"], + ["godot_string", "p_documentation"] + ] + }, + { + "name": "godot_nativescript_set_signal_documentation", + "return_type": "void", + "arguments": [ + ["void *", "p_gdnative_handle"], + ["const char *", "p_name"], + ["const char *", "p_signal_name"], + ["godot_string", "p_documentation"] + ] + }, + { + "name": "godot_nativescript_set_global_type_tag", + "return_type": "void", + "arguments": [ + ["int", "p_idx"], + ["const char *", "p_name"], + ["const void *", "p_type_tag"] + ] + }, + { + "name": "godot_nativescript_get_global_type_tag", + "return_type": "const void *", + "arguments": [ + ["int", "p_idx"], + ["const char *", "p_name"] + ] + }, + { + "name": "godot_nativescript_set_type_tag", + "return_type": "void", + "arguments": [ + ["void *", "p_gdnative_handle"], + ["const char *", "p_name"], + ["const void *", "p_type_tag"] + ] + }, + { + "name": "godot_nativescript_get_type_tag", + "return_type": "const void *", + "arguments": [ + ["const godot_object *", "p_object"] + ] + }, + { + "name": "godot_nativescript_register_instance_binding_data_functions", + "return_type": "int", + "arguments": [ + ["godot_nativescript_instance_binding_functions", "p_binding_functions"] + ] + }, + { + "name": "godot_nativescript_unregister_instance_binding_data_functions", + "return_type": "void", + "arguments": [ + ["int", "p_idx"] + ] + }, + { + "name": "godot_nativescript_get_instance_binding_data", + "return_type": "void *", + "arguments": [ + ["int", "p_idx"], + ["godot_object *", "p_object"] + ] + }, + { + "name": "godot_nativescript_profiling_add_data", + "return_type": "void", + "arguments": [ + ["const char *", "p_signature"], + ["uint64_t", "p_line"] + ] } ] }, @@ -7315,42 +7293,10 @@ "name": "net", "type": "NET", "version": { - "major": 3, - "minor": 1 - }, - "next": { - "type": "NET", - "version": { - "major": 3, - "minor": 2 - }, - "next": null, - "api": [ - { - "name": "godot_net_set_webrtc_library", - "return_type": "godot_error", - "arguments": [ - ["const godot_net_webrtc_library *", "p_library"] - ] - }, - { - "name": "godot_net_bind_webrtc_peer_connection", - "return_type": "void", - "arguments": [ - ["godot_object *", "p_obj"], - ["const godot_net_webrtc_peer_connection *", "p_interface"] - ] - }, - { - "name": "godot_net_bind_webrtc_data_channel", - "return_type": "void", - "arguments": [ - ["godot_object *", "p_obj"], - ["const godot_net_webrtc_data_channel *", "p_interface"] - ] - } - ] + "major": 4, + "minor": 0 }, + "next": null, "api": [ { "name": "godot_net_bind_stream_peer", @@ -7375,6 +7321,29 @@ ["godot_object *", "p_obj"], ["const godot_net_multiplayer_peer *", "p_interface"] ] + }, + { + "name": "godot_net_set_webrtc_library", + "return_type": "godot_error", + "arguments": [ + ["const godot_net_webrtc_library *", "p_library"] + ] + }, + { + "name": "godot_net_bind_webrtc_peer_connection", + "return_type": "void", + "arguments": [ + ["godot_object *", "p_obj"], + ["const godot_net_webrtc_peer_connection *", "p_interface"] + ] + }, + { + "name": "godot_net_bind_webrtc_data_channel", + "return_type": "void", + "arguments": [ + ["godot_object *", "p_obj"], + ["const godot_net_webrtc_data_channel *", "p_interface"] + ] } ] } diff --git a/modules/gdnative/gdnative_builders.py b/modules/gdnative/gdnative_builders.py index 620935795f..a6f8afb85b 100644 --- a/modules/gdnative/gdnative_builders.py +++ b/modules/gdnative/gdnative_builders.py @@ -228,7 +228,16 @@ def _build_gdnative_api_struct_source(api): "extern const godot_gdnative_core_api_struct api_struct = {", "\tGDNATIVE_" + api["core"]["type"] + ",", "\t{" + str(api["core"]["version"]["major"]) + ", " + str(api["core"]["version"]["minor"]) + "},", - "\t(const godot_gdnative_api_struct *)&api_1_1,", + "\t" + + ( + "nullptr, " + if not api["core"]["next"] + else ( + "(const godot_gdnative_api_struct *)& api_{0}_{1},".format( + api["core"]["next"]["version"]["major"], api["core"]["next"]["version"]["minor"] + ) + ) + ), "\t" + str(len(api["extensions"])) + ",", "\tgdnative_extensions_pointers,", ] diff --git a/modules/gdnative/include/nativescript/godot_nativescript.h b/modules/gdnative/include/nativescript/godot_nativescript.h index d65b3f91f4..825033c99c 100644 --- a/modules/gdnative/include/nativescript/godot_nativescript.h +++ b/modules/gdnative/include/nativescript/godot_nativescript.h @@ -45,7 +45,7 @@ typedef enum { GODOT_METHOD_RPC_MODE_REMOTESYNC, GODOT_METHOD_RPC_MODE_MASTERSYNC, GODOT_METHOD_RPC_MODE_PUPPETSYNC, -} godot_method_rpc_mode; +} godot_nativescript_method_rpc_mode; typedef enum { GODOT_PROPERTY_HINT_NONE, ///< no hint provided. @@ -82,7 +82,7 @@ typedef enum { GODOT_PROPERTY_HINT_PROPERTY_OF_INSTANCE, ///< a property of an instance GODOT_PROPERTY_HINT_PROPERTY_OF_SCRIPT, ///< a property of a script & base GODOT_PROPERTY_HINT_MAX, -} godot_property_hint; +} godot_nativescript_property_hint; typedef enum { @@ -106,71 +106,80 @@ typedef enum { GODOT_PROPERTY_USAGE_DEFAULT = GODOT_PROPERTY_USAGE_STORAGE | GODOT_PROPERTY_USAGE_EDITOR | GODOT_PROPERTY_USAGE_NETWORK, GODOT_PROPERTY_USAGE_DEFAULT_INTL = GODOT_PROPERTY_USAGE_STORAGE | GODOT_PROPERTY_USAGE_EDITOR | GODOT_PROPERTY_USAGE_NETWORK | GODOT_PROPERTY_USAGE_INTERNATIONALIZED, GODOT_PROPERTY_USAGE_NOEDITOR = GODOT_PROPERTY_USAGE_STORAGE | GODOT_PROPERTY_USAGE_NETWORK, -} godot_property_usage_flags; +} godot_nativescript_property_usage_flags; typedef struct { - godot_method_rpc_mode rset_type; + godot_nativescript_method_rpc_mode rset_type; godot_int type; - godot_property_hint hint; + godot_nativescript_property_hint hint; godot_string hint_string; - godot_property_usage_flags usage; + godot_nativescript_property_usage_flags usage; godot_variant default_value; -} godot_property_attributes; +} godot_nativescript_property_attributes; typedef struct { // instance pointer, method_data - return user data GDCALLINGCONV void *(*create_func)(godot_object *, void *); void *method_data; GDCALLINGCONV void (*free_func)(void *); -} godot_instance_create_func; +} godot_nativescript_instance_create_func; typedef struct { // instance pointer, method data, user data GDCALLINGCONV void (*destroy_func)(godot_object *, void *, void *); void *method_data; GDCALLINGCONV void (*free_func)(void *); -} godot_instance_destroy_func; +} godot_nativescript_instance_destroy_func; -void GDAPI godot_nativescript_register_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_instance_create_func p_create_func, godot_instance_destroy_func p_destroy_func); +void GDAPI godot_nativescript_register_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_nativescript_instance_create_func p_create_func, godot_nativescript_instance_destroy_func p_destroy_func); -void GDAPI godot_nativescript_register_tool_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_instance_create_func p_create_func, godot_instance_destroy_func p_destroy_func); +void GDAPI godot_nativescript_register_tool_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_nativescript_instance_create_func p_create_func, godot_nativescript_instance_destroy_func p_destroy_func); typedef struct { - godot_method_rpc_mode rpc_type; -} godot_method_attributes; + godot_nativescript_method_rpc_mode rpc_type; +} godot_nativescript_method_attributes; + +typedef struct { + godot_string name; + + godot_variant_type type; + godot_nativescript_property_hint hint; + godot_string hint_string; +} godot_nativescript_method_argument; typedef struct { // instance pointer, method data, user data, num args, args - return result as varaint GDCALLINGCONV godot_variant (*method)(godot_object *, void *, void *, int, godot_variant **); void *method_data; GDCALLINGCONV void (*free_func)(void *); -} godot_instance_method; +} godot_nativescript_instance_method; -void GDAPI godot_nativescript_register_method(void *p_gdnative_handle, const char *p_name, const char *p_function_name, godot_method_attributes p_attr, godot_instance_method p_method); +void GDAPI godot_nativescript_register_method(void *p_gdnative_handle, const char *p_name, const char *p_function_name, godot_nativescript_method_attributes p_attr, godot_nativescript_instance_method p_method); +void GDAPI godot_nativescript_set_method_argument_information(void *p_gdnative_handle, const char *p_name, const char *p_function_name, int p_num_args, const godot_nativescript_method_argument *p_args); typedef struct { // instance pointer, method data, user data, value GDCALLINGCONV void (*set_func)(godot_object *, void *, void *, godot_variant *); void *method_data; GDCALLINGCONV void (*free_func)(void *); -} godot_property_set_func; +} godot_nativescript_property_set_func; typedef struct { // instance pointer, method data, user data, value GDCALLINGCONV godot_variant (*get_func)(godot_object *, void *, void *); void *method_data; GDCALLINGCONV void (*free_func)(void *); -} godot_property_get_func; +} godot_nativescript_property_get_func; -void GDAPI godot_nativescript_register_property(void *p_gdnative_handle, const char *p_name, const char *p_path, godot_property_attributes *p_attr, godot_property_set_func p_set_func, godot_property_get_func p_get_func); +void GDAPI godot_nativescript_register_property(void *p_gdnative_handle, const char *p_name, const char *p_path, godot_nativescript_property_attributes *p_attr, godot_nativescript_property_set_func p_set_func, godot_nativescript_property_get_func p_get_func); typedef struct { godot_string name; godot_int type; - godot_property_hint hint; + godot_nativescript_property_hint hint; godot_string hint_string; - godot_property_usage_flags usage; + godot_nativescript_property_usage_flags usage; godot_variant default_value; } godot_nativescript_signal_argument; @@ -186,26 +195,6 @@ void GDAPI godot_nativescript_register_signal(void *p_gdnative_handle, const cha void GDAPI *godot_nativescript_get_userdata(godot_object *p_instance); -/* - * - * - * NativeScript 1.1 - * - * - */ - -// method registering with argument names - -typedef struct { - godot_string name; - - godot_variant_type type; - godot_property_hint hint; - godot_string hint_string; -} godot_method_arg; - -void GDAPI godot_nativescript_set_method_argument_information(void *p_gdnative_handle, const char *p_name, const char *p_function_name, int p_num_args, const godot_method_arg *p_args); - // documentation void GDAPI godot_nativescript_set_class_documentation(void *p_gdnative_handle, const char *p_name, godot_string p_documentation); @@ -230,9 +219,9 @@ typedef struct { GDCALLINGCONV bool (*refcount_decremented_instance_binding)(void *, godot_object *); void *data; GDCALLINGCONV void (*free_func)(void *); -} godot_instance_binding_functions; +} godot_nativescript_instance_binding_functions; -int GDAPI godot_nativescript_register_instance_binding_data_functions(godot_instance_binding_functions p_binding_functions); +int GDAPI godot_nativescript_register_instance_binding_data_functions(godot_nativescript_instance_binding_functions p_binding_functions); void GDAPI godot_nativescript_unregister_instance_binding_data_functions(int p_idx); void GDAPI *godot_nativescript_get_instance_binding_data(int p_idx, godot_object *p_object); diff --git a/modules/gdnative/nativescript/godot_nativescript.cpp b/modules/gdnative/nativescript/godot_nativescript.cpp index 1aea8ad160..e47548f3e9 100644 --- a/modules/gdnative/nativescript/godot_nativescript.cpp +++ b/modules/gdnative/nativescript/godot_nativescript.cpp @@ -51,7 +51,7 @@ extern "C" void _native_script_hook() { // Script API -void GDAPI godot_nativescript_register_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_instance_create_func p_create_func, godot_instance_destroy_func p_destroy_func) { +void GDAPI godot_nativescript_register_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_nativescript_instance_create_func p_create_func, godot_nativescript_instance_destroy_func p_destroy_func) { String *s = (String *)p_gdnative_handle; Map<StringName, NativeScriptDesc> *classes = &NSL->library_classes[*s]; @@ -83,7 +83,7 @@ void GDAPI godot_nativescript_register_class(void *p_gdnative_handle, const char classes->insert(p_name, desc); } -void GDAPI godot_nativescript_register_tool_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_instance_create_func p_create_func, godot_instance_destroy_func p_destroy_func) { +void GDAPI godot_nativescript_register_tool_class(void *p_gdnative_handle, const char *p_name, const char *p_base, godot_nativescript_instance_create_func p_create_func, godot_nativescript_instance_destroy_func p_destroy_func) { String *s = (String *)p_gdnative_handle; Map<StringName, NativeScriptDesc> *classes = &NSL->library_classes[*s]; @@ -116,7 +116,7 @@ void GDAPI godot_nativescript_register_tool_class(void *p_gdnative_handle, const classes->insert(p_name, desc); } -void GDAPI godot_nativescript_register_method(void *p_gdnative_handle, const char *p_name, const char *p_function_name, godot_method_attributes p_attr, godot_instance_method p_method) { +void GDAPI godot_nativescript_register_method(void *p_gdnative_handle, const char *p_name, const char *p_function_name, godot_nativescript_method_attributes p_attr, godot_nativescript_instance_method p_method) { String *s = (String *)p_gdnative_handle; Map<StringName, NativeScriptDesc>::Element *E = NSL->library_classes[*s].find(p_name); @@ -135,7 +135,7 @@ void GDAPI godot_nativescript_register_method(void *p_gdnative_handle, const cha E->get().methods.insert(p_function_name, method); } -void GDAPI godot_nativescript_register_property(void *p_gdnative_handle, const char *p_name, const char *p_path, godot_property_attributes *p_attr, godot_property_set_func p_set_func, godot_property_get_func p_get_func) { +void GDAPI godot_nativescript_register_property(void *p_gdnative_handle, const char *p_name, const char *p_path, godot_nativescript_property_attributes *p_attr, godot_nativescript_property_set_func p_set_func, godot_nativescript_property_get_func p_get_func) { String *s = (String *)p_gdnative_handle; Map<StringName, NativeScriptDesc>::Element *E = NSL->library_classes[*s].find(p_name); @@ -221,7 +221,7 @@ void GDAPI *godot_nativescript_get_userdata(godot_object *p_instance) { * */ -void GDAPI godot_nativescript_set_method_argument_information(void *p_gdnative_handle, const char *p_name, const char *p_function_name, int p_num_args, const godot_method_arg *p_args) { +void GDAPI godot_nativescript_set_method_argument_information(void *p_gdnative_handle, const char *p_name, const char *p_function_name, int p_num_args, const godot_nativescript_method_argument *p_args) { String *s = (String *)p_gdnative_handle; Map<StringName, NativeScriptDesc>::Element *E = NSL->library_classes[*s].find(p_name); @@ -235,7 +235,7 @@ void GDAPI godot_nativescript_set_method_argument_information(void *p_gdnative_h List<PropertyInfo> args; for (int i = 0; i < p_num_args; i++) { - godot_method_arg arg = p_args[i]; + godot_nativescript_method_argument arg = p_args[i]; String name = *(String *)&arg.name; String hint_string = *(String *)&arg.hint_string; @@ -329,7 +329,7 @@ const void GDAPI *godot_nativescript_get_type_tag(const godot_object *p_object) return nullptr; } -int GDAPI godot_nativescript_register_instance_binding_data_functions(godot_instance_binding_functions p_binding_functions) { +int GDAPI godot_nativescript_register_instance_binding_data_functions(godot_nativescript_instance_binding_functions p_binding_functions) { return NativeScriptLanguage::get_singleton()->register_binding_functions(p_binding_functions); } diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp index f3dfd0b68e..06b9534fce 100644 --- a/modules/gdnative/nativescript/nativescript.cpp +++ b/modules/gdnative/nativescript/nativescript.cpp @@ -1498,7 +1498,7 @@ void NativeScriptLanguage::profiling_add_data(StringName p_signature, uint64_t p #endif } -int NativeScriptLanguage::register_binding_functions(godot_instance_binding_functions p_binding_functions) { +int NativeScriptLanguage::register_binding_functions(godot_nativescript_instance_binding_functions p_binding_functions) { // find index int idx = -1; diff --git a/modules/gdnative/nativescript/nativescript.h b/modules/gdnative/nativescript/nativescript.h index 1aca142889..fabf4bb87e 100644 --- a/modules/gdnative/nativescript/nativescript.h +++ b/modules/gdnative/nativescript/nativescript.h @@ -48,7 +48,7 @@ struct NativeScriptDesc { struct Method { - godot_instance_method method; + godot_nativescript_instance_method method; MethodInfo info; int rpc_mode; uint16_t rpc_method_id; @@ -56,8 +56,8 @@ struct NativeScriptDesc { }; struct Property { - godot_property_set_func setter; - godot_property_get_func getter; + godot_nativescript_property_set_func setter; + godot_nativescript_property_get_func getter; PropertyInfo info; Variant default_value; int rset_mode; @@ -78,8 +78,8 @@ struct NativeScriptDesc { StringName base; StringName base_native_type; NativeScriptDesc *base_data; - godot_instance_create_func create_func; - godot_instance_destroy_func destroy_func; + godot_nativescript_instance_create_func create_func; + godot_nativescript_instance_destroy_func destroy_func; String documentation; @@ -88,8 +88,8 @@ struct NativeScriptDesc { bool is_tool; inline NativeScriptDesc() { - zeromem(&create_func, sizeof(godot_instance_create_func)); - zeromem(&destroy_func, sizeof(godot_instance_destroy_func)); + zeromem(&create_func, sizeof(godot_nativescript_instance_create_func)); + zeromem(&destroy_func, sizeof(godot_nativescript_instance_destroy_func)); } }; @@ -267,7 +267,7 @@ private: void call_libraries_cb(const StringName &name); - Vector<Pair<bool, godot_instance_binding_functions>> binding_functions; + Vector<Pair<bool, godot_nativescript_instance_binding_functions>> binding_functions; Set<Vector<void *> *> binding_instances; Map<int, HashMap<StringName, const void *>> global_type_tags; @@ -360,7 +360,7 @@ public: virtual int profiling_get_accumulated_data(ProfilingInfo *p_info_arr, int p_info_max); virtual int profiling_get_frame_data(ProfilingInfo *p_info_arr, int p_info_max); - int register_binding_functions(godot_instance_binding_functions p_binding_functions); + int register_binding_functions(godot_nativescript_instance_binding_functions p_binding_functions); void unregister_binding_functions(int p_idx); void *get_instance_binding_data(int p_idx, Object *p_object); diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index 50d8289fd1..3a5db3687b 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -3093,6 +3093,14 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co return OK; } } + + for (int i = 0; i < base_type.class_type->subclasses.size(); i++) { + if (base_type.class_type->subclasses[i]->name == p_symbol) { + r_result.type = ScriptLanguage::LookupResult::RESULT_SCRIPT_LOCATION; + r_result.location = base_type.class_type->subclasses[i]->line; + return OK; + } + } } base_type = base_type.class_type->base_type; } diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 0e498f6895..d2867cb77a 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -2821,6 +2821,8 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) { #ifdef DEBUG_ENABLED + pending_newline = -1; // reset for the new block + NewLineNode *nl = alloc_node<NewLineNode>(); nl->line = tokenizer->get_token_line(); @@ -3179,6 +3181,15 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) { IdentifierNode *id = alloc_node<IdentifierNode>(); id->name = tokenizer->get_token_identifier(); + BlockNode *check_block = p_block; + while (check_block) { + if (check_block->variables.has(id->name)) { + _set_error("Variable \"" + String(id->name) + "\" already defined in the scope (at line " + itos(check_block->variables[id->name]->line) + ")."); + return; + } + check_block = check_block->parent_block; + } + tokenizer->advance(); if (tokenizer->get_token() != GDScriptTokenizer::TK_OP_IN) { @@ -7336,8 +7347,8 @@ GDScriptParser::DataType GDScriptParser::_reduce_function_call_type(const Operat } else if (!_is_type_compatible(arg_types[i - arg_diff], par_type, true)) { // Supertypes are acceptable for dynamic compliance if (!_is_type_compatible(par_type, arg_types[i - arg_diff])) { - _set_error("At \"" + callee_name + "()\" call, argument " + itos(i - arg_diff + 1) + ". Assigned type (" + - par_type.to_string() + ") doesn't match the function argument's type (" + + _set_error("At \"" + callee_name + "()\" call, argument " + itos(i - arg_diff + 1) + ". The passed argument's type (" + + par_type.to_string() + ") doesn't match the function's expected argument type (" + arg_types[i - arg_diff].to_string() + ").", p_call->line); return DataType(); diff --git a/modules/gdscript/language_server/gdscript_extend_parser.cpp b/modules/gdscript/language_server/gdscript_extend_parser.cpp index f87e8687e5..330530be80 100644 --- a/modules/gdscript/language_server/gdscript_extend_parser.cpp +++ b/modules/gdscript/language_server/gdscript_extend_parser.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "gdscript_extend_parser.h" + #include "../gdscript.h" #include "core/io/json.h" #include "gdscript_language_protocol.h" diff --git a/modules/gdscript/language_server/gdscript_language_protocol.cpp b/modules/gdscript/language_server/gdscript_language_protocol.cpp index 35bf4287b8..2a67d2ff4f 100644 --- a/modules/gdscript/language_server/gdscript_language_protocol.cpp +++ b/modules/gdscript/language_server/gdscript_language_protocol.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "gdscript_language_protocol.h" + #include "core/io/json.h" #include "core/os/copymem.h" #include "core/project_settings.h" @@ -161,7 +162,7 @@ void GDScriptLanguageProtocol::_bind_methods() { ClassDB::bind_method(D_METHOD("initialized", "params"), &GDScriptLanguageProtocol::initialized); ClassDB::bind_method(D_METHOD("on_client_connected"), &GDScriptLanguageProtocol::on_client_connected); ClassDB::bind_method(D_METHOD("on_client_disconnected"), &GDScriptLanguageProtocol::on_client_disconnected); - ClassDB::bind_method(D_METHOD("notify_client", "p_method", "p_params"), &GDScriptLanguageProtocol::notify_client, DEFVAL(Variant()), DEFVAL(-1)); + ClassDB::bind_method(D_METHOD("notify_client", "method", "params"), &GDScriptLanguageProtocol::notify_client, DEFVAL(Variant()), DEFVAL(-1)); ClassDB::bind_method(D_METHOD("is_smart_resolve_enabled"), &GDScriptLanguageProtocol::is_smart_resolve_enabled); ClassDB::bind_method(D_METHOD("get_text_document"), &GDScriptLanguageProtocol::get_text_document); ClassDB::bind_method(D_METHOD("get_workspace"), &GDScriptLanguageProtocol::get_workspace); @@ -187,8 +188,10 @@ Dictionary GDScriptLanguageProtocol::initialize(const Dictionary &p_params) { Dictionary params; params["path"] = workspace->root; - Dictionary request = make_notification("gdscrip_client/changeWorkspace", params); + Dictionary request = make_notification("gdscript_client/changeWorkspace", params); + ERR_FAIL_COND_V_MSG(!clients.has(latest_client_id), ret.to_json(), + vformat("GDScriptLanguageProtocol: Can't initialize invalid peer '%d'.", latest_client_id)); Ref<LSPeer> peer = clients.get(latest_client_id); if (peer != nullptr) { String msg = JSON::print(request); @@ -268,8 +271,11 @@ void GDScriptLanguageProtocol::stop() { void GDScriptLanguageProtocol::notify_client(const String &p_method, const Variant &p_params, int p_client_id) { if (p_client_id == -1) { + ERR_FAIL_COND_MSG(latest_client_id == -1, + "GDScript LSP: Can't notify client as none was connected."); p_client_id = latest_client_id; } + ERR_FAIL_COND(!clients.has(p_client_id)); Ref<LSPeer> peer = clients.get(p_client_id); ERR_FAIL_COND(peer == nullptr); @@ -290,13 +296,10 @@ bool GDScriptLanguageProtocol::is_goto_native_symbols_enabled() const { GDScriptLanguageProtocol::GDScriptLanguageProtocol() { server.instance(); singleton = this; - _initialized = false; workspace.instance(); text_document.instance(); set_scope("textDocument", text_document.ptr()); set_scope("completionItem", text_document.ptr()); set_scope("workspace", workspace.ptr()); workspace->root = ProjectSettings::get_singleton()->get_resource_path(); - latest_client_id = 0; - next_client_id = 0; } diff --git a/modules/gdscript/language_server/gdscript_language_protocol.h b/modules/gdscript/language_server/gdscript_language_protocol.h index d929fd255d..cf5242e8c5 100644 --- a/modules/gdscript/language_server/gdscript_language_protocol.h +++ b/modules/gdscript/language_server/gdscript_language_protocol.h @@ -70,8 +70,8 @@ private: HashMap<int, Ref<LSPeer>> clients; Ref<TCP_Server> server; - int latest_client_id; - int next_client_id; + int latest_client_id = 0; + int next_client_id = 0; Ref<GDScriptTextDocument> text_document; Ref<GDScriptWorkspace> workspace; @@ -82,7 +82,7 @@ private: String process_message(const String &p_text); String format_output(const String &p_text); - bool _initialized; + bool _initialized = false; protected: static void _bind_methods(); diff --git a/modules/gdscript/language_server/gdscript_language_server.cpp b/modules/gdscript/language_server/gdscript_language_server.cpp index d53914814f..3387d262f8 100644 --- a/modules/gdscript/language_server/gdscript_language_server.cpp +++ b/modules/gdscript/language_server/gdscript_language_server.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "gdscript_language_server.h" + #include "core/os/file_access.h" #include "core/os/os.h" #include "editor/editor_log.h" diff --git a/modules/gdscript/language_server/gdscript_text_document.cpp b/modules/gdscript/language_server/gdscript_text_document.cpp index 778cb4d254..c6fe3169dc 100644 --- a/modules/gdscript/language_server/gdscript_text_document.cpp +++ b/modules/gdscript/language_server/gdscript_text_document.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "gdscript_text_document.h" + #include "../gdscript.h" #include "core/os/os.h" #include "editor/editor_settings.h" diff --git a/modules/gdscript/language_server/gdscript_workspace.cpp b/modules/gdscript/language_server/gdscript_workspace.cpp index 9285d88157..a203b9bfdb 100644 --- a/modules/gdscript/language_server/gdscript_workspace.cpp +++ b/modules/gdscript/language_server/gdscript_workspace.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "gdscript_workspace.h" + #include "../gdscript.h" #include "../gdscript_parser.h" #include "core/project_settings.h" @@ -41,12 +42,12 @@ void GDScriptWorkspace::_bind_methods() { ClassDB::bind_method(D_METHOD("symbol"), &GDScriptWorkspace::symbol); - ClassDB::bind_method(D_METHOD("parse_script", "p_path", "p_content"), &GDScriptWorkspace::parse_script); - ClassDB::bind_method(D_METHOD("parse_local_script", "p_path"), &GDScriptWorkspace::parse_local_script); - ClassDB::bind_method(D_METHOD("get_file_path", "p_uri"), &GDScriptWorkspace::get_file_path); - ClassDB::bind_method(D_METHOD("get_file_uri", "p_path"), &GDScriptWorkspace::get_file_uri); - ClassDB::bind_method(D_METHOD("publish_diagnostics", "p_path"), &GDScriptWorkspace::publish_diagnostics); - ClassDB::bind_method(D_METHOD("generate_script_api", "p_path"), &GDScriptWorkspace::generate_script_api); + ClassDB::bind_method(D_METHOD("parse_script", "path", "content"), &GDScriptWorkspace::parse_script); + ClassDB::bind_method(D_METHOD("parse_local_script", "path"), &GDScriptWorkspace::parse_local_script); + ClassDB::bind_method(D_METHOD("get_file_path", "uri"), &GDScriptWorkspace::get_file_path); + ClassDB::bind_method(D_METHOD("get_file_uri", "path"), &GDScriptWorkspace::get_file_uri); + ClassDB::bind_method(D_METHOD("publish_diagnostics", "path"), &GDScriptWorkspace::publish_diagnostics); + ClassDB::bind_method(D_METHOD("generate_script_api", "path"), &GDScriptWorkspace::generate_script_api); } void GDScriptWorkspace::remove_cache_parser(const String &p_path) { diff --git a/modules/mono/build_scripts/godot_tools_build.py b/modules/mono/build_scripts/godot_tools_build.py index 7391e8790d..3bbbf29d3b 100644 --- a/modules/mono/build_scripts/godot_tools_build.py +++ b/modules/mono/build_scripts/godot_tools_build.py @@ -15,7 +15,9 @@ def build_godot_tools(source, target, env): from .solution_builder import build_solution - build_solution(env, solution_path, build_config) + extra_msbuild_args = ["/p:GodotPlatform=" + env["platform"]] + + build_solution(env, solution_path, build_config, extra_msbuild_args) # No need to copy targets. The GodotTools csproj takes care of copying them. diff --git a/modules/mono/build_scripts/mono_configure.py b/modules/mono/build_scripts/mono_configure.py index 23f01b3cca..80e3b59325 100644 --- a/modules/mono/build_scripts/mono_configure.py +++ b/modules/mono/build_scripts/mono_configure.py @@ -191,17 +191,16 @@ def configure(env, env_mono): env.Append(LIBS=["psapi"]) env.Append(LIBS=["version"]) else: - mono_lib_name = find_name_in_dir_files( - mono_lib_path, mono_lib_names, prefixes=["", "lib"], extensions=lib_suffixes - ) + mono_lib_file = find_file_in_dir(mono_lib_path, mono_lib_names, extensions=lib_suffixes) - if not mono_lib_name: + if not mono_lib_file: raise RuntimeError("Could not find mono library in: " + mono_lib_path) if env.msvc: - env.Append(LINKFLAGS=mono_lib_name + ".lib") + env.Append(LINKFLAGS=mono_lib_file) else: - env.Append(LIBS=[mono_lib_name]) + mono_lib_file_path = os.path.join(mono_lib_path, mono_lib_file) + env.Append(LINKFLAGS=mono_lib_file_path) mono_bin_path = os.path.join(mono_root, "bin") diff --git a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Client.cs b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Client.cs index d069651dd3..572c541412 100644 --- a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Client.cs +++ b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Client.cs @@ -19,9 +19,12 @@ namespace GodotTools.IdeMessaging private readonly string identity; private string MetaFilePath { get; } + private DateTime? metaFileModifiedTime; private GodotIdeMetadata godotIdeMetadata; private readonly FileSystemWatcher fsWatcher; + public string GodotEditorExecutablePath => godotIdeMetadata.EditorExecutablePath; + private readonly IMessageHandler messageHandler; private Peer peer; @@ -123,7 +126,7 @@ namespace GodotTools.IdeMessaging MetaFilePath = Path.Combine(projectMetadataDir, GodotIdeMetadata.DefaultFileName); // FileSystemWatcher requires an existing directory - if (!File.Exists(projectMetadataDir)) + if (!Directory.Exists(projectMetadataDir)) Directory.CreateDirectory(projectMetadataDir); fsWatcher = new FileSystemWatcher(projectMetadataDir, GodotIdeMetadata.DefaultFileName); @@ -142,6 +145,13 @@ namespace GodotTools.IdeMessaging if (!File.Exists(MetaFilePath)) return; + var lastWriteTime = File.GetLastWriteTime(MetaFilePath); + + if (lastWriteTime == metaFileModifiedTime) + return; + + metaFileModifiedTime = lastWriteTime; + var metadata = ReadMetadataFile(); if (metadata != null && metadata != godotIdeMetadata) @@ -173,6 +183,13 @@ namespace GodotTools.IdeMessaging if (IsConnected || !File.Exists(MetaFilePath)) return; + var lastWriteTime = File.GetLastWriteTime(MetaFilePath); + + if (lastWriteTime == metaFileModifiedTime) + return; + + metaFileModifiedTime = lastWriteTime; + var metadata = ReadMetadataFile(); if (metadata != null) @@ -185,7 +202,8 @@ namespace GodotTools.IdeMessaging private GodotIdeMetadata? ReadMetadataFile() { - using (var reader = File.OpenText(MetaFilePath)) + using (var fileStream = new FileStream(MetaFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + using (var reader = new StreamReader(fileStream)) { string portStr = reader.ReadLine(); @@ -272,6 +290,7 @@ namespace GodotTools.IdeMessaging // ReSharper disable once UnusedMember.Global public async void Start() { + fsWatcher.Created += OnMetaFileChanged; fsWatcher.Changed += OnMetaFileChanged; fsWatcher.Deleted += OnMetaFileDeleted; fsWatcher.EnableRaisingEvents = true; diff --git a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/GodotTools.IdeMessaging.csproj b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/GodotTools.IdeMessaging.csproj index 67815959a6..dad6b9ae7a 100644 --- a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/GodotTools.IdeMessaging.csproj +++ b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/GodotTools.IdeMessaging.csproj @@ -4,7 +4,7 @@ <TargetFramework>netstandard2.0</TargetFramework> <LangVersion>7.2</LangVersion> <PackageId>GodotTools.IdeMessaging</PackageId> - <Version>1.1.0</Version> + <Version>1.1.1</Version> <AssemblyVersion>$(Version)</AssemblyVersion> <Authors>Godot Engine contributors</Authors> <Company /> diff --git a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Peer.cs b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Peer.cs index a4e86d6177..10d7e1898e 100644 --- a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Peer.cs +++ b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Peer.cs @@ -105,49 +105,45 @@ namespace GodotTools.IdeMessaging try { - try + if (msg.Kind == MessageKind.Request) { - if (msg.Kind == MessageKind.Request) - { - var responseContent = await messageHandler.HandleRequest(this, msg.Id, msg.Content, Logger); - await WriteMessage(new Message(MessageKind.Response, msg.Id, responseContent)); - } - else if (msg.Kind == MessageKind.Response) - { - ResponseAwaiter responseAwaiter; + var responseContent = await messageHandler.HandleRequest(this, msg.Id, msg.Content, Logger); + await WriteMessage(new Message(MessageKind.Response, msg.Id, responseContent)); + } + else if (msg.Kind == MessageKind.Response) + { + ResponseAwaiter responseAwaiter; - using (await requestsSem.UseAsync()) + using (await requestsSem.UseAsync()) + { + if (!requestAwaiterQueues.TryGetValue(msg.Id, out var queue) || queue.Count <= 0) { - if (!requestAwaiterQueues.TryGetValue(msg.Id, out var queue) || queue.Count <= 0) - { - Logger.LogError($"Received unexpected response: {msg.Id}"); - return; - } - - responseAwaiter = queue.Dequeue(); + Logger.LogError($"Received unexpected response: {msg.Id}"); + return; } - responseAwaiter.SetResult(msg.Content); - } - else - { - throw new IndexOutOfRangeException($"Invalid message kind {msg.Kind}"); + responseAwaiter = queue.Dequeue(); } + + responseAwaiter.SetResult(msg.Content); } - catch (Exception e) + else { - Logger.LogError($"Message handler for '{msg}' failed with exception", e); + throw new IndexOutOfRangeException($"Invalid message kind {msg.Kind}"); } } catch (Exception e) { - Logger.LogError($"Exception thrown from message handler. Message: {msg}", e); + Logger.LogError($"Message handler for '{msg}' failed with exception", e); } } } catch (Exception e) { - Logger.LogError("Unhandled exception in the peer loop", e); + if (!IsDisposed || !(e is SocketException || e.InnerException is SocketException)) + { + Logger.LogError("Unhandled exception in the peer loop", e); + } } } diff --git a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Requests/Requests.cs b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Requests/Requests.cs index 1dd4f852e5..e93db9377b 100644 --- a/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Requests/Requests.cs +++ b/modules/mono/editor/GodotTools/GodotTools.IdeMessaging/Requests/Requests.cs @@ -67,6 +67,19 @@ namespace GodotTools.IdeMessaging.Requests { } + public sealed class StopPlayRequest : Request + { + public new const string Id = "StopPlay"; + + public StopPlayRequest() : base(Id) + { + } + } + + public sealed class StopPlayResponse : Response + { + } + public sealed class DebugPlayRequest : Request { public string DebuggerHost { get; set; } diff --git a/modules/mono/editor/GodotTools/GodotTools.OpenVisualStudio/GodotTools.OpenVisualStudio.csproj b/modules/mono/editor/GodotTools/GodotTools.OpenVisualStudio/GodotTools.OpenVisualStudio.csproj new file mode 100644 index 0000000000..5b3ed0b1b7 --- /dev/null +++ b/modules/mono/editor/GodotTools/GodotTools.OpenVisualStudio/GodotTools.OpenVisualStudio.csproj @@ -0,0 +1,12 @@ +<Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> + <ProjectGuid>{EAFFF236-FA96-4A4D-BD23-0E51EF988277}</ProjectGuid> + <OutputType>Exe</OutputType> + <TargetFramework>net472</TargetFramework> + <LangVersion>7.2</LangVersion> + </PropertyGroup> + <ItemGroup> + <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All" /> + <PackageReference Include="EnvDTE" Version="8.0.2" /> + </ItemGroup> +</Project> diff --git a/modules/mono/editor/GodotTools/GodotTools.OpenVisualStudio/Program.cs b/modules/mono/editor/GodotTools/GodotTools.OpenVisualStudio/Program.cs new file mode 100644 index 0000000000..affb2a47e7 --- /dev/null +++ b/modules/mono/editor/GodotTools/GodotTools.OpenVisualStudio/Program.cs @@ -0,0 +1,270 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.ComTypes; +using System.Text.RegularExpressions; +using EnvDTE; + +namespace GodotTools.OpenVisualStudio +{ + internal static class Program + { + [DllImport("ole32.dll")] + private static extern int GetRunningObjectTable(int reserved, out IRunningObjectTable pprot); + + [DllImport("ole32.dll")] + private static extern void CreateBindCtx(int reserved, out IBindCtx ppbc); + + [DllImport("user32.dll")] + private static extern bool SetForegroundWindow(IntPtr hWnd); + + private static void ShowHelp() + { + Console.WriteLine("Opens the file(s) in a Visual Studio instance that is editing the specified solution."); + Console.WriteLine("If an existing instance for the solution is not found, a new one is created."); + Console.WriteLine(); + Console.WriteLine("Usage:"); + Console.WriteLine(@" GodotTools.OpenVisualStudio.exe solution [file[;line[;col]]...]"); + Console.WriteLine(); + Console.WriteLine("Lines and columns begin at one. Zero or lower will result in an error."); + Console.WriteLine("If a line is specified but a column is not, the line is selected in the text editor."); + } + + // STAThread needed, otherwise CoRegisterMessageFilter may return CO_E_NOT_SUPPORTED. + [STAThread] + private static int Main(string[] args) + { + if (args.Length == 0 || args[0] == "--help" || args[0] == "-h") + { + ShowHelp(); + return 0; + } + + string solutionFile = NormalizePath(args[0]); + + var dte = FindInstanceEditingSolution(solutionFile); + + if (dte == null) + { + // Open a new instance + + var visualStudioDteType = Type.GetTypeFromProgID("VisualStudio.DTE.16.0", throwOnError: true); + dte = (DTE)Activator.CreateInstance(visualStudioDteType); + + dte.UserControl = true; + + try + { + dte.Solution.Open(solutionFile); + } + catch (ArgumentException) + { + Console.Error.WriteLine("Solution.Open: Invalid path or file not found"); + return 1; + } + + dte.MainWindow.Visible = true; + } + + MessageFilter.Register(); + + try + { + // Open files + + for (int i = 1; i < args.Length; i++) + { + // Both the line number and the column begin at one + + string[] fileArgumentParts = args[i].Split(';'); + + string filePath = NormalizePath(fileArgumentParts[0]); + + try + { + dte.ItemOperations.OpenFile(filePath); + } + catch (ArgumentException) + { + Console.Error.WriteLine("ItemOperations.OpenFile: Invalid path or file not found"); + return 1; + } + + if (fileArgumentParts.Length > 1) + { + if (int.TryParse(fileArgumentParts[1], out int line)) + { + var textSelection = (TextSelection)dte.ActiveDocument.Selection; + + if (fileArgumentParts.Length > 2) + { + if (int.TryParse(fileArgumentParts[2], out int column)) + { + textSelection.MoveToLineAndOffset(line, column); + } + else + { + Console.Error.WriteLine("The column part of the argument must be a valid integer"); + return 1; + } + } + else + { + textSelection.GotoLine(line, Select: true); + } + } + else + { + Console.Error.WriteLine("The line part of the argument must be a valid integer"); + return 1; + } + } + } + } + finally + { + var mainWindow = dte.MainWindow; + mainWindow.Activate(); + SetForegroundWindow(new IntPtr(mainWindow.HWnd)); + + MessageFilter.Revoke(); + } + + return 0; + } + + private static DTE FindInstanceEditingSolution(string solutionPath) + { + if (GetRunningObjectTable(0, out IRunningObjectTable pprot) != 0) + return null; + + try + { + pprot.EnumRunning(out IEnumMoniker ppenumMoniker); + ppenumMoniker.Reset(); + + var moniker = new IMoniker[1]; + + while (ppenumMoniker.Next(1, moniker, IntPtr.Zero) == 0) + { + string ppszDisplayName; + + CreateBindCtx(0, out IBindCtx ppbc); + + try + { + moniker[0].GetDisplayName(ppbc, null, out ppszDisplayName); + } + finally + { + Marshal.ReleaseComObject(ppbc); + } + + if (ppszDisplayName == null) + continue; + + // The digits after the colon are the process ID + if (!Regex.IsMatch(ppszDisplayName, "!VisualStudio.DTE.16.0:[0-9]")) + continue; + + if (pprot.GetObject(moniker[0], out object ppunkObject) == 0) + { + if (ppunkObject is DTE dte && dte.Solution.FullName.Length > 0) + { + if (NormalizePath(dte.Solution.FullName) == solutionPath) + return dte; + } + } + } + } + finally + { + Marshal.ReleaseComObject(pprot); + } + + return null; + } + + static string NormalizePath(string path) + { + return new Uri(Path.GetFullPath(path)).LocalPath + .TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar) + .ToUpperInvariant(); + } + + #region MessageFilter. See: http: //msdn.microsoft.com/en-us/library/ms228772.aspx + + private class MessageFilter : IOleMessageFilter + { + // Class containing the IOleMessageFilter + // thread error-handling functions + + private static IOleMessageFilter _oldFilter; + + // Start the filter + public static void Register() + { + IOleMessageFilter newFilter = new MessageFilter(); + int ret = CoRegisterMessageFilter(newFilter, out _oldFilter); + if (ret != 0) + Console.Error.WriteLine($"CoRegisterMessageFilter failed with error code: {ret}"); + } + + // Done with the filter, close it + public static void Revoke() + { + int ret = CoRegisterMessageFilter(_oldFilter, out _); + if (ret != 0) + Console.Error.WriteLine($"CoRegisterMessageFilter failed with error code: {ret}"); + } + + // + // IOleMessageFilter functions + // Handle incoming thread requests + int IOleMessageFilter.HandleInComingCall(int dwCallType, IntPtr hTaskCaller, int dwTickCount, IntPtr lpInterfaceInfo) + { + // Return the flag SERVERCALL_ISHANDLED + return 0; + } + + // Thread call was rejected, so try again. + int IOleMessageFilter.RetryRejectedCall(IntPtr hTaskCallee, int dwTickCount, int dwRejectType) + { + if (dwRejectType == 2) + // flag = SERVERCALL_RETRYLATER + { + // Retry the thread call immediately if return >= 0 & < 100 + return 99; + } + + // Too busy; cancel call + return -1; + } + + int IOleMessageFilter.MessagePending(IntPtr hTaskCallee, int dwTickCount, int dwPendingType) + { + // Return the flag PENDINGMSG_WAITDEFPROCESS + return 2; + } + + // Implement the IOleMessageFilter interface + [DllImport("ole32.dll")] + private static extern int CoRegisterMessageFilter(IOleMessageFilter newFilter, out IOleMessageFilter oldFilter); + } + + [ComImport(), Guid("00000016-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + private interface IOleMessageFilter + { + [PreserveSig] + int HandleInComingCall(int dwCallType, IntPtr hTaskCaller, int dwTickCount, IntPtr lpInterfaceInfo); + + [PreserveSig] + int RetryRejectedCall(IntPtr hTaskCallee, int dwTickCount, int dwRejectType); + + [PreserveSig] + int MessagePending(IntPtr hTaskCallee, int dwTickCount, int dwPendingType); + } + + #endregion + } +} diff --git a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectGenerator.cs b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectGenerator.cs index fb2beb6995..679d5bb444 100644 --- a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectGenerator.cs +++ b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectGenerator.cs @@ -12,6 +12,11 @@ namespace GodotTools.ProjectEditor private const string CoreApiProjectName = "GodotSharp"; private const string EditorApiProjectName = "GodotSharpEditor"; + public const string CSharpProjectTypeGuid = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"; + public const string GodotProjectTypeGuid = "{8F3E2DF0-C35C-4265-82FC-BEA011F4A7ED}"; + + public static readonly string GodotDefaultProjectTypeGuids = $"{GodotProjectTypeGuid};{CSharpProjectTypeGuid}"; + public static string GenGameProject(string dir, string name, IEnumerable<string> compileItems) { string path = Path.Combine(dir, name + ".csproj"); @@ -19,6 +24,7 @@ namespace GodotTools.ProjectEditor ProjectPropertyGroupElement mainGroup; var root = CreateLibraryProject(name, "Debug", out mainGroup); + mainGroup.SetProperty("ProjectTypeGuids", GodotDefaultProjectTypeGuids); mainGroup.SetProperty("OutputPath", Path.Combine(".mono", "temp", "bin", "$(Configuration)")); mainGroup.SetProperty("BaseIntermediateOutputPath", Path.Combine(".mono", "temp", "obj")); mainGroup.SetProperty("IntermediateOutputPath", Path.Combine("$(BaseIntermediateOutputPath)", "$(Configuration)")); diff --git a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs index 069a1edaa3..8774b4ee31 100644 --- a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs +++ b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs @@ -165,6 +165,21 @@ namespace GodotTools.ProjectEditor return result.ToArray(); } + public static void EnsureHasProjectTypeGuids(MSBuildProject project) + { + var root = project.Root; + + bool found = root.PropertyGroups.Any(pg => + string.IsNullOrEmpty(pg.Condition) && pg.Properties.Any(p => p.Name == "ProjectTypeGuids")); + + if (found) + return; + + root.AddProperty("ProjectTypeGuids", ProjectGenerator.GodotDefaultProjectTypeGuids); + + project.HasUnsavedChanges = true; + } + /// Simple function to make sure the Api assembly references are configured correctly public static void FixApiHintPath(MSBuildProject project) { diff --git a/modules/mono/editor/GodotTools/GodotTools.sln b/modules/mono/editor/GodotTools/GodotTools.sln index f6147eb5bb..ba5379e562 100644 --- a/modules/mono/editor/GodotTools/GodotTools.sln +++ b/modules/mono/editor/GodotTools/GodotTools.sln @@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.BuildLogger", "G EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.IdeMessaging", "GodotTools.IdeMessaging\GodotTools.IdeMessaging.csproj", "{92600954-25F0-4291-8E11-1FEE9FC4BE20}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotTools.OpenVisualStudio", "GodotTools.OpenVisualStudio\GodotTools.OpenVisualStudio.csproj", "{EAFFF236-FA96-4A4D-BD23-0E51EF988277}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -37,5 +39,9 @@ Global {92600954-25F0-4291-8E11-1FEE9FC4BE20}.Debug|Any CPU.Build.0 = Debug|Any CPU {92600954-25F0-4291-8E11-1FEE9FC4BE20}.Release|Any CPU.ActiveCfg = Release|Any CPU {92600954-25F0-4291-8E11-1FEE9FC4BE20}.Release|Any CPU.Build.0 = Release|Any CPU + {EAFFF236-FA96-4A4D-BD23-0E51EF988277}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EAFFF236-FA96-4A4D-BD23-0E51EF988277}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EAFFF236-FA96-4A4D-BD23-0E51EF988277}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EAFFF236-FA96-4A4D-BD23-0E51EF988277}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs b/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs index c874025be0..403e25781d 100644 --- a/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs +++ b/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; +using System.Linq; using GodotTools.Ides; using GodotTools.Ides.Rider; using GodotTools.Internals; @@ -238,7 +239,31 @@ namespace GodotTools // Not an error. Tells the caller to fallback to the global external editor settings or the built-in editor. return Error.Unavailable; case ExternalEditorId.VisualStudio: - throw new NotSupportedException(); + { + string scriptPath = ProjectSettings.GlobalizePath(script.ResourcePath); + + var args = new List<string> + { + GodotSharpDirs.ProjectSlnPath, + line >= 0 ? $"{scriptPath};{line + 1};{col + 1}" : scriptPath + }; + + string command = Path.Combine(GodotSharpDirs.DataEditorToolsDir, "GodotTools.OpenVisualStudio.exe"); + + try + { + if (Godot.OS.IsStdoutVerbose()) + Console.WriteLine($"Running: \"{command}\" {string.Join(" ", args.Select(a => $"\"{a}\""))}"); + + OS.RunProcess(command, args); + } + catch (Exception e) + { + GD.PushError($"Error when trying to run code editor: VisualStudio. Exception message: '{e.Message}'"); + } + + break; + } case ExternalEditorId.VisualStudioForMac: goto case ExternalEditorId.MonoDevelop; case ExternalEditorId.Rider: @@ -458,6 +483,9 @@ namespace GodotTools // Apply the other fixes only after configurations have been migrated + // Make sure the existing project has the ProjectTypeGuids property (for VisualStudio) + ProjectUtils.EnsureHasProjectTypeGuids(msbuildProject); + // Make sure the existing project has Api assembly references configured correctly ProjectUtils.FixApiHintPath(msbuildProject); @@ -501,7 +529,8 @@ namespace GodotTools if (OS.IsWindows) { - settingsHintStr += $",MonoDevelop:{(int)ExternalEditorId.MonoDevelop}" + + settingsHintStr += $",Visual Studio:{(int)ExternalEditorId.VisualStudio}" + + $",MonoDevelop:{(int)ExternalEditorId.MonoDevelop}" + $",Visual Studio Code:{(int)ExternalEditorId.VsCode}" + $",JetBrains Rider:{(int)ExternalEditorId.Rider}"; } diff --git a/modules/mono/editor/GodotTools/GodotTools/GodotTools.csproj b/modules/mono/editor/GodotTools/GodotTools/GodotTools.csproj index ba527ca3b5..3f14629b11 100644 --- a/modules/mono/editor/GodotTools/GodotTools/GodotTools.csproj +++ b/modules/mono/editor/GodotTools/GodotTools/GodotTools.csproj @@ -33,5 +33,7 @@ <ProjectReference Include="..\GodotTools.IdeMessaging\GodotTools.IdeMessaging.csproj" /> <ProjectReference Include="..\GodotTools.ProjectEditor\GodotTools.ProjectEditor.csproj" /> <ProjectReference Include="..\GodotTools.Core\GodotTools.Core.csproj" /> + <!-- Include it if this is an SCons build targeting Windows, or if it's not an SCons build but we're on Windows --> + <ProjectReference Include="..\GodotTools.OpenVisualStudio\GodotTools.OpenVisualStudio.csproj" Condition=" '$(GodotPlatform)' == 'windows' Or ( '$(GodotPlatform)' == '' And '$(OS)' == 'Windows_NT' ) " /> </ItemGroup> </Project> diff --git a/modules/mono/editor/GodotTools/GodotTools/Ides/MessagingServer.cs b/modules/mono/editor/GodotTools/GodotTools/Ides/MessagingServer.cs index 32f264d100..98e8d13be0 100644 --- a/modules/mono/editor/GodotTools/GodotTools/Ides/MessagingServer.cs +++ b/modules/mono/editor/GodotTools/GodotTools/Ides/MessagingServer.cs @@ -307,6 +307,11 @@ namespace GodotTools.Ides var request = JsonConvert.DeserializeObject<DebugPlayRequest>(content.Body); return await HandleDebugPlay(request); }, + [StopPlayRequest.Id] = async (peer, content) => + { + var request = JsonConvert.DeserializeObject<StopPlayRequest>(content.Body); + return await HandleStopPlay(request); + }, [ReloadScriptsRequest.Id] = async (peer, content) => { _ = JsonConvert.DeserializeObject<ReloadScriptsRequest>(content.Body); @@ -343,6 +348,12 @@ namespace GodotTools.Ides return Task.FromResult<Response>(new DebugPlayResponse()); } + private static Task<Response> HandleStopPlay(StopPlayRequest request) + { + DispatchToMainThread(Internal.EditorRunStop); + return Task.FromResult<Response>(new StopPlayResponse()); + } + private static Task<Response> HandleReloadScripts() { DispatchToMainThread(Internal.ScriptEditorDebugger_ReloadScripts); diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index 1b4fe68582..e0cf916a01 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -75,7 +75,6 @@ LONG _RegKeyQueryString(HKEY hKey, const String &p_value_name, String &r_value) if (res == ERROR_MORE_DATA) { // dwBufferSize now contains the actual size - Vector<WCHAR> buffer; buffer.resize(dwBufferSize); res = RegQueryValueExW(hKey, p_value_name.c_str(), 0, nullptr, (LPBYTE)buffer.ptr(), &dwBufferSize); } diff --git a/modules/regex/SCsub b/modules/regex/SCsub index 753650adcb..2afacc1d9c 100644 --- a/modules/regex/SCsub +++ b/modules/regex/SCsub @@ -7,7 +7,7 @@ env_regex = env_modules.Clone() if env["builtin_pcre2"]: thirdparty_dir = "#thirdparty/pcre2/src/" - thirdparty_flags = ["PCRE2_STATIC", "HAVE_CONFIG_H"] + thirdparty_flags = ["PCRE2_STATIC", "HAVE_CONFIG_H", "SUPPORT_UNICODE"] if env["builtin_pcre2_with_jit"]: thirdparty_flags.append("SUPPORT_JIT") diff --git a/modules/regex/doc_classes/RegEx.xml b/modules/regex/doc_classes/RegEx.xml index 3130c53331..c00fa96b2e 100644 --- a/modules/regex/doc_classes/RegEx.xml +++ b/modules/regex/doc_classes/RegEx.xml @@ -32,8 +32,7 @@ [codeblock] for result in regex.search_all("d01, d03, d0c, x3f and x42"): print(result.get_string("digit")) - # Would print 01 03 3f 42 - # Note that d0c would not match + # Would print 01 03 0 3f 42 [/codeblock] [b]Note:[/b] Godot's regex implementation is based on the [url=https://www.pcre.org/]PCRE2[/url] library. You can view the full pattern reference [url=https://www.pcre.org/current/doc/html/pcre2pattern.html]here[/url]. [b]Tip:[/b] You can use [url=https://regexr.com/]Regexr[/url] to test regular expressions online. diff --git a/modules/regex/doc_classes/RegExMatch.xml b/modules/regex/doc_classes/RegExMatch.xml index 151e881b6f..a45de60aef 100644 --- a/modules/regex/doc_classes/RegExMatch.xml +++ b/modules/regex/doc_classes/RegExMatch.xml @@ -49,7 +49,7 @@ </methods> <members> <member name="names" type="Dictionary" setter="" getter="get_names" default="{}"> - A dictionary of named groups and its corresponding group number. Only groups with that were matched are included. If multiple groups have the same name, that name would refer to the first matching one. + A dictionary of named groups and its corresponding group number. Only groups that were matched are included. If multiple groups have the same name, that name would refer to the first matching one. </member> <member name="strings" type="Array" setter="" getter="get_strings" default="[ ]"> An [Array] of the match and its capturing groups. diff --git a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml index 504b4705d8..2054276655 100644 --- a/modules/webrtc/doc_classes/WebRTCPeerConnection.xml +++ b/modules/webrtc/doc_classes/WebRTCPeerConnection.xml @@ -120,7 +120,7 @@ </argument> <description> Sets the SDP description of the local peer. This should be called in response to [signal session_description_created]. - If [code]type[/code] is [code]answer[/code] the peer will start emitting [signal ice_candidate_created]. + After calling this function the peer will start emitting [signal ice_candidate_created] (unless an [enum Error] different from [constant OK] is returned). </description> </method> <method name="set_remote_description"> diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 176fc3110a..a663a847c2 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -772,6 +772,7 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { bool screen_support_xlarge = p_preset->get("screen/support_xlarge"); int xr_mode_index = p_preset->get("xr_features/xr_mode"); + bool focus_awareness = p_preset->get("xr_features/focus_awareness"); String plugins_names = get_plugins_names(get_enabled_plugins(p_preset)); @@ -928,6 +929,11 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { } } + if (tname == "meta-data" && attrname == "value" && value == "oculus_focus_aware_value") { + // Update the focus awareness meta-data value + string_table.write[attr_value] = xr_mode_index == /* XRMode.OVR */ 1 && focus_awareness ? "true" : "false"; + } + if (tname == "meta-data" && attrname == "value" && value == "plugins_value" && !plugins_names.empty()) { // Update the meta-data 'android:value' attribute with the list of enabled plugins. string_table.write[attr_value] = plugins_names; @@ -1449,6 +1455,7 @@ public: r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "xr_features/xr_mode", PROPERTY_HINT_ENUM, "Regular,Oculus Mobile VR"), 0)); r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "xr_features/degrees_of_freedom", PROPERTY_HINT_ENUM, "None,3DOF and 6DOF,6DOF"), 0)); r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "xr_features/hand_tracking", PROPERTY_HINT_ENUM, "None,Optional,Required"), 0)); + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "xr_features/focus_awareness"), false)); r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "one_click_deploy/clear_previous_install"), false)); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/debug", PROPERTY_HINT_GLOBAL_FILE, "*.apk"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "custom_template/release", PROPERTY_HINT_GLOBAL_FILE, "*.apk"), "")); @@ -1848,6 +1855,31 @@ public: err += "\n"; } + // Validate the Xr features are properly populated + int xr_mode_index = p_preset->get("xr_features/xr_mode"); + int degrees_of_freedom = p_preset->get("xr_features/degrees_of_freedom"); + int hand_tracking = p_preset->get("xr_features/hand_tracking"); + bool focus_awareness = p_preset->get("xr_features/focus_awareness"); + if (xr_mode_index != /* XRMode.OVR*/ 1) { + if (degrees_of_freedom > 0) { + valid = false; + err += TTR("\"Degrees Of Freedom\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"."); + err += "\n"; + } + + if (hand_tracking > 0) { + valid = false; + err += TTR("\"Hand Tracking\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"."); + err += "\n"; + } + + if (focus_awareness) { + valid = false; + err += TTR("\"Focus Awareness\" is only valid when \"Xr Mode\" is \"Oculus Mobile VR\"."); + err += "\n"; + } + } + r_error = err; return valid; } diff --git a/platform/android/java/app/AndroidManifest.xml b/platform/android/java/app/AndroidManifest.xml index f5b1d29f22..dbf1dc0f3c 100644 --- a/platform/android/java/app/AndroidManifest.xml +++ b/platform/android/java/app/AndroidManifest.xml @@ -45,6 +45,9 @@ android:resizeableActivity="false" tools:ignore="UnusedAttribute" > + <!-- Focus awareness metadata populated at export time if the user enables it in the 'Xr Features' section. --> + <meta-data android:name="com.oculus.vr.focusaware" android:value="oculus_focus_aware_value" /> + <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp index b95674efc3..0312efb377 100644 --- a/platform/javascript/display_server_javascript.cpp +++ b/platform/javascript/display_server_javascript.cpp @@ -143,8 +143,8 @@ static Ref<InputEventKey> setup_key_event(const EmscriptenKeyboardEvent *emscrip ev.instance(); ev->set_echo(emscripten_event->repeat); dom2godot_mod(emscripten_event, ev); - ev->set_keycode(dom2godot_keycode(emscripten_event->keyCode)); - ev->set_physical_keycode(dom2godot_keycode(emscripten_event->keyCode)); + ev->set_keycode(dom_code2godot_scancode(emscripten_event->code, emscripten_event->key, false)); + ev->set_physical_keycode(dom_code2godot_scancode(emscripten_event->code, emscripten_event->key, true)); String unicode = String::utf8(emscripten_event->key); // Check if empty or multi-character (e.g. `CapsLock`). diff --git a/platform/javascript/dom_keys.inc b/platform/javascript/dom_keys.inc index 882e943471..e3f2ce42b4 100644 --- a/platform/javascript/dom_keys.inc +++ b/platform/javascript/dom_keys.inc @@ -30,400 +30,203 @@ #include "core/os/keyboard.h" -// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Constants_for_keyCode_value -#define DOM_VK_CANCEL 0x03 -#define DOM_VK_HELP 0x06 -#define DOM_VK_BACK_SPACE 0x08 -#define DOM_VK_TAB 0x09 -#define DOM_VK_CLEAR 0x0C -#define DOM_VK_RETURN 0x0D -#define DOM_VK_ENTER 0x0E // "Reserved, but not used." -#define DOM_VK_SHIFT 0x10 -#define DOM_VK_CONTROL 0x11 -#define DOM_VK_ALT 0x12 -#define DOM_VK_PAUSE 0x13 -#define DOM_VK_CAPS_LOCK 0x14 -#define DOM_VK_KANA 0x15 -#define DOM_VK_HANGUL 0x15 -#define DOM_VK_EISU 0x16 -#define DOM_VK_JUNJA 0x17 -#define DOM_VK_FINAL 0x18 -#define DOM_VK_HANJA 0x19 -#define DOM_VK_KANJI 0x19 -#define DOM_VK_ESCAPE 0x1B -#define DOM_VK_CONVERT 0x1C -#define DOM_VK_NONCONVERT 0x1D -#define DOM_VK_ACCEPT 0x1E -#define DOM_VK_MODECHANGE 0x1F -#define DOM_VK_SPACE 0x20 -#define DOM_VK_PAGE_UP 0x21 -#define DOM_VK_PAGE_DOWN 0x22 -#define DOM_VK_END 0x23 -#define DOM_VK_HOME 0x24 -#define DOM_VK_LEFT 0x25 -#define DOM_VK_UP 0x26 -#define DOM_VK_RIGHT 0x27 -#define DOM_VK_DOWN 0x28 -#define DOM_VK_SELECT 0x29 -#define DOM_VK_PRINT 0x2A -#define DOM_VK_EXECUTE 0x2B -#define DOM_VK_PRINTSCREEN 0x2C -#define DOM_VK_INSERT 0x2D -#define DOM_VK_DELETE 0x2E -#define DOM_VK_0 0x30 -#define DOM_VK_1 0x31 -#define DOM_VK_2 0x32 -#define DOM_VK_3 0x33 -#define DOM_VK_4 0x34 -#define DOM_VK_5 0x35 -#define DOM_VK_6 0x36 -#define DOM_VK_7 0x37 -#define DOM_VK_8 0x38 -#define DOM_VK_9 0x39 -#define DOM_VK_COLON 0x3A -#define DOM_VK_SEMICOLON 0x3B -#define DOM_VK_LESS_THAN 0x3C -#define DOM_VK_EQUALS 0x3D -#define DOM_VK_GREATER_THAN 0x3E -#define DOM_VK_QUESTION_MARK 0x3F -#define DOM_VK_AT 0x40 -#define DOM_VK_A 0x41 -#define DOM_VK_B 0x42 -#define DOM_VK_C 0x43 -#define DOM_VK_D 0x44 -#define DOM_VK_E 0x45 -#define DOM_VK_F 0x46 -#define DOM_VK_G 0x47 -#define DOM_VK_H 0x48 -#define DOM_VK_I 0x49 -#define DOM_VK_J 0x4A -#define DOM_VK_K 0x4B -#define DOM_VK_L 0x4C -#define DOM_VK_M 0x4D -#define DOM_VK_N 0x4E -#define DOM_VK_O 0x4F -#define DOM_VK_P 0x50 -#define DOM_VK_Q 0x51 -#define DOM_VK_R 0x52 -#define DOM_VK_S 0x53 -#define DOM_VK_T 0x54 -#define DOM_VK_U 0x55 -#define DOM_VK_V 0x56 -#define DOM_VK_W 0x57 -#define DOM_VK_X 0x58 -#define DOM_VK_Y 0x59 -#define DOM_VK_Z 0x5A -#define DOM_VK_WIN 0x5B -#define DOM_VK_CONTEXT_MENU 0x5D -#define DOM_VK_SLEEP 0x5F -#define DOM_VK_NUMPAD0 0x60 -#define DOM_VK_NUMPAD1 0x61 -#define DOM_VK_NUMPAD2 0x62 -#define DOM_VK_NUMPAD3 0x63 -#define DOM_VK_NUMPAD4 0x64 -#define DOM_VK_NUMPAD5 0x65 -#define DOM_VK_NUMPAD6 0x66 -#define DOM_VK_NUMPAD7 0x67 -#define DOM_VK_NUMPAD8 0x68 -#define DOM_VK_NUMPAD9 0x69 -#define DOM_VK_MULTIPLY 0x6A -#define DOM_VK_ADD 0x6B -#define DOM_VK_SEPARATOR 0x6C -#define DOM_VK_SUBTRACT 0x6D -#define DOM_VK_DECIMAL 0x6E -#define DOM_VK_DIVIDE 0x6F -#define DOM_VK_F1 0x70 -#define DOM_VK_F2 0x71 -#define DOM_VK_F3 0x72 -#define DOM_VK_F4 0x73 -#define DOM_VK_F5 0x74 -#define DOM_VK_F6 0x75 -#define DOM_VK_F7 0x76 -#define DOM_VK_F8 0x77 -#define DOM_VK_F9 0x78 -#define DOM_VK_F10 0x79 -#define DOM_VK_F11 0x7A -#define DOM_VK_F12 0x7B -#define DOM_VK_F13 0x7C -#define DOM_VK_F14 0x7D -#define DOM_VK_F15 0x7E -#define DOM_VK_F16 0x7F -#define DOM_VK_F17 0x80 -#define DOM_VK_F18 0x81 -#define DOM_VK_F19 0x82 -#define DOM_VK_F20 0x83 -#define DOM_VK_F21 0x84 -#define DOM_VK_F22 0x85 -#define DOM_VK_F23 0x86 -#define DOM_VK_F24 0x87 -#define DOM_VK_NUM_LOCK 0x90 -#define DOM_VK_SCROLL_LOCK 0x91 -#define DOM_VK_WIN_OEM_FJ_JISHO 0x92 -#define DOM_VK_WIN_OEM_FJ_MASSHOU 0x93 -#define DOM_VK_WIN_OEM_FJ_TOUROKU 0x94 -#define DOM_VK_WIN_OEM_FJ_LOYA 0x95 -#define DOM_VK_WIN_OEM_FJ_ROYA 0x96 -#define DOM_VK_CIRCUMFLEX 0xA0 -#define DOM_VK_EXCLAMATION 0xA1 -#define DOM_VK_DOUBLE_QUOTE 0xA2 -#define DOM_VK_HASH 0xA3 -#define DOM_VK_DOLLAR 0xA4 -#define DOM_VK_PERCENT 0xA5 -#define DOM_VK_AMPERSAND 0xA6 -#define DOM_VK_UNDERSCORE 0xA7 -#define DOM_VK_OPEN_PAREN 0xA8 -#define DOM_VK_CLOSE_PAREN 0xA9 -#define DOM_VK_ASTERISK 0xAA -#define DOM_VK_PLUS 0xAB -#define DOM_VK_PIPE 0xAC -#define DOM_VK_HYPHEN_MINUS 0xAD -#define DOM_VK_OPEN_CURLY_BRACKET 0xAE -#define DOM_VK_CLOSE_CURLY_BRACKET 0xAF -#define DOM_VK_TILDE 0xB0 -#define DOM_VK_VOLUME_MUTE 0xB5 -#define DOM_VK_VOLUME_DOWN 0xB6 -#define DOM_VK_VOLUME_UP 0xB7 -#define DOM_VK_COMMA 0xBC -#define DOM_VK_PERIOD 0xBE -#define DOM_VK_SLASH 0xBF -#define DOM_VK_BACK_QUOTE 0xC0 -#define DOM_VK_OPEN_BRACKET 0xDB -#define DOM_VK_BACK_SLASH 0xDC -#define DOM_VK_CLOSE_BRACKET 0xDD -#define DOM_VK_QUOTE 0xDE -#define DOM_VK_META 0xE0 -#define DOM_VK_ALTGR 0xE1 -#define DOM_VK_WIN_ICO_HELP 0xE3 -#define DOM_VK_WIN_ICO_00 0xE4 -#define DOM_VK_WIN_ICO_CLEAR 0xE6 -#define DOM_VK_WIN_OEM_RESET 0xE9 -#define DOM_VK_WIN_OEM_JUMP 0xEA -#define DOM_VK_WIN_OEM_PA1 0xEB -#define DOM_VK_WIN_OEM_PA2 0xEC -#define DOM_VK_WIN_OEM_PA3 0xED -#define DOM_VK_WIN_OEM_WSCTRL 0xEE -#define DOM_VK_WIN_OEM_CUSEL 0xEF -#define DOM_VK_WIN_OEM_ATTN 0xF0 -#define DOM_VK_WIN_OEM_FINISH 0xF1 -#define DOM_VK_WIN_OEM_COPY 0xF2 -#define DOM_VK_WIN_OEM_AUTO 0xF3 -#define DOM_VK_WIN_OEM_ENLW 0xF4 -#define DOM_VK_WIN_OEM_BACKTAB 0xF5 -#define DOM_VK_ATTN 0xF6 -#define DOM_VK_CRSEL 0xF7 -#define DOM_VK_EXSEL 0xF8 -#define DOM_VK_EREOF 0xF9 -#define DOM_VK_PLAY 0xFA -#define DOM_VK_ZOOM 0xFB -#define DOM_VK_PA1 0xFD -#define DOM_VK_WIN_OEM_CLEAR 0xFE - -int dom2godot_keycode(int dom_keycode) { - if (DOM_VK_0 <= dom_keycode && dom_keycode <= DOM_VK_Z) { - // ASCII intersection - return dom_keycode; - } - - if (DOM_VK_NUMPAD0 <= dom_keycode && dom_keycode <= DOM_VK_NUMPAD9) { - // Numpad numbers - return KEY_KP_0 + (dom_keycode - DOM_VK_NUMPAD0); +// See https://w3c.github.io/uievents-code/#code-value-tables +int dom_code2godot_scancode(EM_UTF8 const p_code[32], EM_UTF8 const p_key[32], bool p_physical) { +#define DOM2GODOT(p_str, p_godot_code) \ + if (memcmp((const void *)p_str, (void *)p_code, strlen(p_str) + 1) == 0) { \ + return KEY_##p_godot_code; \ } - if (DOM_VK_F1 <= dom_keycode && dom_keycode <= DOM_VK_F16) { - // F1-F16 - return KEY_F1 + (dom_keycode - DOM_VK_F1); + // Numpad section. + DOM2GODOT("NumLock", NUMLOCK); + DOM2GODOT("Numpad0", KP_0); + DOM2GODOT("Numpad1", KP_1); + DOM2GODOT("Numpad2", KP_2); + DOM2GODOT("Numpad3", KP_3); + DOM2GODOT("Numpad4", KP_4); + DOM2GODOT("Numpad5", KP_5); + DOM2GODOT("Numpad6", KP_6); + DOM2GODOT("Numpad7", KP_7); + DOM2GODOT("Numpad8", KP_8); + DOM2GODOT("Numpad9", KP_9); + DOM2GODOT("NumpadAdd", KP_ADD); + DOM2GODOT("NumpadBackspace", BACKSPACE); + DOM2GODOT("NumpadClear", CLEAR); + DOM2GODOT("NumpadClearEntry", CLEAR); + //DOM2GODOT("NumpadComma", UNKNOWN); + DOM2GODOT("NumpadDecimal", KP_PERIOD); + DOM2GODOT("NumpadDivide", KP_DIVIDE); + DOM2GODOT("NumpadEnter", KP_ENTER); + DOM2GODOT("NumpadEqual", EQUAL); + //DOM2GODOT("NumpadHash", UNKNOWN); + //DOM2GODOT("NumpadMemoryAdd", UNKNOWN); + //DOM2GODOT("NumpadMemoryClear", UNKNOWN); + //DOM2GODOT("NumpadMemoryRecall", UNKNOWN); + //DOM2GODOT("NumpadMemoryStore", UNKNOWN); + //DOM2GODOT("NumpadMemorySubtract", UNKNOWN); + DOM2GODOT("NumpadMultiply", KP_MULTIPLY); + DOM2GODOT("NumpadParenLeft", PARENLEFT); + DOM2GODOT("NumpadParenRight", PARENRIGHT); + DOM2GODOT("NumpadStar", KP_MULTIPLY); // or ASTERISK ? + DOM2GODOT("NumpadSubtract", KP_SUBTRACT); + + // Printable ASCII. + if (!p_physical) { + uint8_t b0 = (uint8_t)p_key[0]; + uint8_t b1 = (uint8_t)p_key[1]; + uint8_t b2 = (uint8_t)p_key[2]; + if (b1 == 0 && b0 > 0x1F && b0 < 0x7F) { // ASCII. + if (b0 > 0x60 && b0 < 0x7B) { // Lowercase ASCII. + b0 -= 32; + } + return b0; + } + +#define _U_2BYTES_MASK 0xE0 +#define _U_2BYTES 0xC0 + // Latin-1 codes. + if (b2 == 0 && (b0 & _U_2BYTES_MASK) == _U_2BYTES) { // 2-bytes utf8, only known latin. + uint32_t key = ((b0 & ~_U_2BYTES_MASK) << 6) | (b1 & 0x3F); + if (key >= 0xA0 && key <= 0xDF) { + return key; + } + if (key >= 0xE0 && key <= 0xFF) { // Lowercase known latin. + key -= 0x20; + return key; + } + } +#undef _U_2BYTES_MASK +#undef _U_2BYTES } - switch (dom_keycode) { - //case DOM_VK_CANCEL: return KEY_UNKNOWN; - case DOM_VK_HELP: - return KEY_HELP; - case DOM_VK_BACK_SPACE: - return KEY_BACKSPACE; - case DOM_VK_TAB: - return KEY_TAB; - - case DOM_VK_CLEAR: - case DOM_VK_WIN_OEM_CLEAR: // OEM duplicate - return KEY_CLEAR; - - case DOM_VK_RETURN: - case DOM_VK_ENTER: // unused according to MDN - return KEY_ENTER; - - case DOM_VK_SHIFT: - return KEY_SHIFT; - case DOM_VK_CONTROL: - return KEY_CONTROL; - - case DOM_VK_ALT: - case DOM_VK_ALTGR: - return KEY_ALT; - - case DOM_VK_PAUSE: - return KEY_PAUSE; - case DOM_VK_CAPS_LOCK: - return KEY_CAPSLOCK; - - /* - case DOM_VK_KANA: return KEY_UNKNOWN; - case DOM_VK_HANGUL: return KEY_UNKNOWN; - case DOM_VK_EISU: return KEY_UNKNOWN; - case DOM_VK_JUNJA: return KEY_UNKNOWN; - case DOM_VK_FINAL: return KEY_UNKNOWN; - case DOM_VK_HANJA: return KEY_UNKNOWN; - case DOM_VK_KANJI: return KEY_UNKNOWN; - */ - - case DOM_VK_ESCAPE: - return KEY_ESCAPE; - /* - case DOM_VK_CONVERT: return KEY_UNKNOWN; - case DOM_VK_NONCONVERT: return KEY_UNKNOWN; - case DOM_VK_ACCEPT: return KEY_UNKNOWN; - case DOM_VK_MODECHANGE: return KEY_UNKNOWN; - */ - - case DOM_VK_SPACE: - return KEY_SPACE; - case DOM_VK_PAGE_UP: - return KEY_PAGEUP; - case DOM_VK_PAGE_DOWN: - return KEY_PAGEDOWN; - case DOM_VK_END: - return KEY_END; - case DOM_VK_HOME: - return KEY_HOME; - case DOM_VK_LEFT: - return KEY_LEFT; - case DOM_VK_UP: - return KEY_UP; - case DOM_VK_RIGHT: - return KEY_RIGHT; - case DOM_VK_DOWN: - return KEY_DOWN; - - //case DOM_VK_SELECT: return KEY_UNKNOWN; - - case DOM_VK_PRINTSCREEN: - case DOM_VK_PRINT: - return KEY_PRINT; - - //case DOM_VK_EXECUTE: return KEY_UNKNOWN; - case DOM_VK_INSERT: - return KEY_INSERT; - case DOM_VK_DELETE: - return KEY_DELETE; - - case DOM_VK_META: - case DOM_VK_WIN: - return KEY_META; - - case DOM_VK_CONTEXT_MENU: - return KEY_MENU; - case DOM_VK_SLEEP: - return KEY_STANDBY; - - // Numpad keys - case DOM_VK_MULTIPLY: - return KEY_KP_MULTIPLY; - case DOM_VK_ADD: - return KEY_KP_ADD; - case DOM_VK_SEPARATOR: - return KEY_KP_PERIOD; // Good enough? - case DOM_VK_SUBTRACT: - return KEY_KP_SUBTRACT; - case DOM_VK_DECIMAL: - return KEY_KP_PERIOD; - case DOM_VK_DIVIDE: - return KEY_KP_DIVIDE; - - /* - case DOM_VK_F17: return KEY_UNKNOWN; - case DOM_VK_F18: return KEY_UNKNOWN; - case DOM_VK_F19: return KEY_UNKNOWN; - case DOM_VK_F20: return KEY_UNKNOWN; - case DOM_VK_F21: return KEY_UNKNOWN; - case DOM_VK_F22: return KEY_UNKNOWN; - case DOM_VK_F23: return KEY_UNKNOWN; - case DOM_VK_F24: return KEY_UNKNOWN; - */ - - case DOM_VK_NUM_LOCK: - return KEY_NUMLOCK; - case DOM_VK_SCROLL_LOCK: - return KEY_SCROLLLOCK; - - /* - case DOM_VK_WIN_OEM_FJ_JISHO: return KEY_UNKNOWN; - case DOM_VK_WIN_OEM_FJ_MASSHOU: return KEY_UNKNOWN; - case DOM_VK_WIN_OEM_FJ_TOUROKU: return KEY_UNKNOWN; - case DOM_VK_WIN_OEM_FJ_LOYA: return KEY_UNKNOWN; - case DOM_VK_WIN_OEM_FJ_ROYA: return KEY_UNKNOWN; - */ - - case DOM_VK_CIRCUMFLEX: - return KEY_ASCIICIRCUM; - case DOM_VK_EXCLAMATION: - return KEY_EXCLAM; - case DOM_VK_DOUBLE_QUOTE: - return KEY_QUOTEDBL; - case DOM_VK_HASH: - return KEY_NUMBERSIGN; - case DOM_VK_DOLLAR: - return KEY_DOLLAR; - case DOM_VK_PERCENT: - return KEY_PERCENT; - case DOM_VK_AMPERSAND: - return KEY_AMPERSAND; - case DOM_VK_UNDERSCORE: - return KEY_UNDERSCORE; - case DOM_VK_OPEN_PAREN: - return KEY_PARENLEFT; - case DOM_VK_CLOSE_PAREN: - return KEY_PARENRIGHT; - case DOM_VK_ASTERISK: - return KEY_ASTERISK; - case DOM_VK_PLUS: - return KEY_PLUS; - case DOM_VK_PIPE: - return KEY_BAR; - case DOM_VK_HYPHEN_MINUS: - return KEY_MINUS; - case DOM_VK_OPEN_CURLY_BRACKET: - return KEY_BRACELEFT; - case DOM_VK_CLOSE_CURLY_BRACKET: - return KEY_BRACERIGHT; - case DOM_VK_TILDE: - return KEY_ASCIITILDE; - - case DOM_VK_VOLUME_MUTE: - return KEY_VOLUMEMUTE; - case DOM_VK_VOLUME_DOWN: - return KEY_VOLUMEDOWN; - case DOM_VK_VOLUME_UP: - return KEY_VOLUMEUP; - - case DOM_VK_COMMA: - return KEY_COMMA; - case DOM_VK_PERIOD: - return KEY_PERIOD; - case DOM_VK_SLASH: - return KEY_SLASH; - case DOM_VK_BACK_QUOTE: - return KEY_QUOTELEFT; - case DOM_VK_OPEN_BRACKET: - return KEY_BRACKETLEFT; - case DOM_VK_BACK_SLASH: - return KEY_BACKSLASH; - case DOM_VK_CLOSE_BRACKET: - return KEY_BRACKETRIGHT; - case DOM_VK_QUOTE: - return KEY_APOSTROPHE; - - // The rest is OEM/unusual. - - default: - return KEY_UNKNOWN; - }; + // Alphanumeric section. + DOM2GODOT("Backquote", QUOTELEFT); + DOM2GODOT("Backslash", BACKSLASH); + DOM2GODOT("BracketLeft", BRACKETLEFT); + DOM2GODOT("BracketRight", BRACKETRIGHT); + DOM2GODOT("Comma", COMMA); + DOM2GODOT("Digit0", 0); + DOM2GODOT("Digit1", 1); + DOM2GODOT("Digit2", 2); + DOM2GODOT("Digit3", 3); + DOM2GODOT("Digit4", 4); + DOM2GODOT("Digit5", 5); + DOM2GODOT("Digit6", 6); + DOM2GODOT("Digit7", 7); + DOM2GODOT("Digit8", 8); + DOM2GODOT("Digit9", 9); + DOM2GODOT("Equal", EQUAL); + DOM2GODOT("IntlBackslash", BACKSLASH); + //DOM2GODOT("IntlRo", UNKNOWN); + DOM2GODOT("IntlYen", YEN); + + DOM2GODOT("KeyA", A); + DOM2GODOT("KeyB", B); + DOM2GODOT("KeyC", C); + DOM2GODOT("KeyD", D); + DOM2GODOT("KeyE", E); + DOM2GODOT("KeyF", F); + DOM2GODOT("KeyG", G); + DOM2GODOT("KeyH", H); + DOM2GODOT("KeyI", I); + DOM2GODOT("KeyJ", J); + DOM2GODOT("KeyK", K); + DOM2GODOT("KeyL", L); + DOM2GODOT("KeyM", M); + DOM2GODOT("KeyN", N); + DOM2GODOT("KeyO", O); + DOM2GODOT("KeyP", P); + DOM2GODOT("KeyQ", Q); + DOM2GODOT("KeyR", R); + DOM2GODOT("KeyS", S); + DOM2GODOT("KeyT", T); + DOM2GODOT("KeyU", U); + DOM2GODOT("KeyV", V); + DOM2GODOT("KeyW", W); + DOM2GODOT("KeyX", X); + DOM2GODOT("KeyY", Y); + DOM2GODOT("KeyZ", Z); + + DOM2GODOT("Minus", MINUS); + DOM2GODOT("Period", PERIOD); + DOM2GODOT("Quote", APOSTROPHE); + DOM2GODOT("Semicolon", SEMICOLON); + DOM2GODOT("Slash", SLASH); + + // Functional keys in the Alphanumeric section. + DOM2GODOT("AltLeft", ALT); + DOM2GODOT("AltRight", ALT); + DOM2GODOT("Backspace", BACKSPACE); + DOM2GODOT("CapsLock", CAPSLOCK); + DOM2GODOT("ContextMenu", MENU); + DOM2GODOT("ControlLeft", CONTROL); + DOM2GODOT("ControlRight", CONTROL); + DOM2GODOT("Enter", ENTER); + DOM2GODOT("MetaLeft", SUPER_L); + DOM2GODOT("MetaRight", SUPER_R); + DOM2GODOT("ShiftLeft", SHIFT); + DOM2GODOT("ShiftRight", SHIFT); + DOM2GODOT("Space", SPACE); + DOM2GODOT("Tab", TAB); + + // ControlPad section. + DOM2GODOT("Delete", DELETE); + DOM2GODOT("End", END); + DOM2GODOT("Help", HELP); + DOM2GODOT("Home", HOME); + DOM2GODOT("Insert", INSERT); + DOM2GODOT("PageDown", PAGEDOWN); + DOM2GODOT("PageUp", PAGEUP); + + // ArrowPad section. + DOM2GODOT("ArrowDown", DOWN); + DOM2GODOT("ArrowLeft", LEFT); + DOM2GODOT("ArrowRight", RIGHT); + DOM2GODOT("ArrowUp", UP); + + // Function section. + DOM2GODOT("Escape", ESCAPE); + DOM2GODOT("F1", F1); + DOM2GODOT("F2", F2); + DOM2GODOT("F3", F3); + DOM2GODOT("F4", F4); + DOM2GODOT("F5", F5); + DOM2GODOT("F6", F6); + DOM2GODOT("F7", F7); + DOM2GODOT("F8", F8); + DOM2GODOT("F9", F9); + DOM2GODOT("F10", F10); + DOM2GODOT("F11", F11); + DOM2GODOT("F12", F12); + //DOM2GODOT("Fn", UNKNOWN); // never actually fired, but included in the standard draft. + //DOM2GODOT("FnLock", UNKNOWN); + DOM2GODOT("PrintScreen", PRINT); + DOM2GODOT("ScrollLock", SCROLLLOCK); + DOM2GODOT("Pause", PAUSE); + + // Media keys section. + DOM2GODOT("BrowserBack", BACK); + DOM2GODOT("BrowserFavorites", FAVORITES); + DOM2GODOT("BrowserForward", FORWARD); + DOM2GODOT("BrowserHome", OPENURL); + DOM2GODOT("BrowserRefresh", REFRESH); + DOM2GODOT("BrowserSearch", SEARCH); + DOM2GODOT("BrowserStop", STOP); + //DOM2GODOT("Eject", UNKNOWN); + DOM2GODOT("LaunchApp1", LAUNCH0); + DOM2GODOT("LaunchApp2", LAUNCH1); + DOM2GODOT("LaunchMail", LAUNCHMAIL); + DOM2GODOT("MediaPlayPause", MEDIAPLAY); + DOM2GODOT("MediaSelect", LAUNCHMEDIA); + DOM2GODOT("MediaStop", MEDIASTOP); + DOM2GODOT("MediaTrackNext", MEDIANEXT); + DOM2GODOT("MediaTrackPrevious", MEDIAPREVIOUS); + //DOM2GODOT("Power", UNKNOWN); + //DOM2GODOT("Sleep", UNKNOWN); + DOM2GODOT("AudioVolumeDown", VOLUMEDOWN); + DOM2GODOT("AudioVolumeMute", VOLUMEMUTE); + DOM2GODOT("AudioVolumeUp", VOLUMEUP); + //DOM2GODOT("WakeUp", UNKNOWN); + return KEY_UNKNOWN; +#undef DOM2GODOT } diff --git a/platform/javascript/javascript_main.cpp b/platform/javascript/javascript_main.cpp index 740a72fafa..fd61c46e63 100644 --- a/platform/javascript/javascript_main.cpp +++ b/platform/javascript/javascript_main.cpp @@ -80,6 +80,9 @@ extern "C" EMSCRIPTEN_KEEPALIVE void main_after_fs_sync(char *p_idbfs_err) { Main::start(); os->get_main_loop()->init(); emscripten_resume_main_loop(); + // Immediately run the first iteration. + // We are inside an animation frame, we want to immediately draw on the newly setup canvas. + main_loop_callback(); } int main(int argc, char *argv[]) { @@ -91,14 +94,15 @@ int main(int argc, char *argv[]) { // Sync from persistent state into memory and then // run the 'main_after_fs_sync' function. /* clang-format off */ - EM_ASM( + EM_ASM({ FS.mkdir('/userfs'); FS.mount(IDBFS, {}, '/userfs'); FS.syncfs(true, function(err) { - ccall('main_after_fs_sync', null, ['string'], [err ? err.message : ""]) + requestAnimationFrame(function() { + ccall('main_after_fs_sync', null, ['string'], [err ? err.message : ""]); + }); }); - - ); + }); /* clang-format on */ return 0; diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp index ef5ac66b34..a0954600a2 100644 --- a/platform/linuxbsd/display_server_x11.cpp +++ b/platform/linuxbsd/display_server_x11.cpp @@ -1846,37 +1846,106 @@ void DisplayServerX11::cursor_set_custom_image(const RES &p_cursor, CursorShape } } -DisplayServerX11::LatinKeyboardVariant DisplayServerX11::get_latin_keyboard_variant() const { - _THREAD_SAFE_METHOD_ - - XkbDescRec *xkbdesc = XkbAllocKeyboard(); - ERR_FAIL_COND_V(!xkbdesc, LATIN_KEYBOARD_QWERTY); +int DisplayServerX11::keyboard_get_layout_count() const { + int _group_count = 0; + XkbDescRec *kbd = XkbAllocKeyboard(); + if (kbd) { + kbd->dpy = x11_display; + XkbGetControls(x11_display, XkbAllControlsMask, kbd); + XkbGetNames(x11_display, XkbSymbolsNameMask, kbd); + + const Atom *groups = kbd->names->groups; + if (kbd->ctrls != NULL) { + _group_count = kbd->ctrls->num_groups; + } else { + while (_group_count < XkbNumKbdGroups && groups[_group_count] != None) { + _group_count++; + } + } + XkbFreeKeyboard(kbd, 0, true); + } + return _group_count; +} - XkbGetNames(x11_display, XkbSymbolsNameMask, xkbdesc); - ERR_FAIL_COND_V(!xkbdesc->names, LATIN_KEYBOARD_QWERTY); - ERR_FAIL_COND_V(!xkbdesc->names->symbols, LATIN_KEYBOARD_QWERTY); +int DisplayServerX11::keyboard_get_current_layout() const { + XkbStateRec state; + XkbGetState(x11_display, XkbUseCoreKbd, &state); + return state.group; +} - char *layout = XGetAtomName(x11_display, xkbdesc->names->symbols); - ERR_FAIL_COND_V(!layout, LATIN_KEYBOARD_QWERTY); +void DisplayServerX11::keyboard_set_current_layout(int p_index) { + ERR_FAIL_INDEX(p_index, keyboard_get_layout_count()); + XkbLockGroup(x11_display, XkbUseCoreKbd, p_index); +} - Vector<String> info = String(layout).split("+"); - ERR_FAIL_INDEX_V(1, info.size(), LATIN_KEYBOARD_QWERTY); +String DisplayServerX11::keyboard_get_layout_language(int p_index) const { + String ret; + XkbDescRec *kbd = XkbAllocKeyboard(); + if (kbd) { + kbd->dpy = x11_display; + XkbGetControls(x11_display, XkbAllControlsMask, kbd); + XkbGetNames(x11_display, XkbSymbolsNameMask, kbd); + XkbGetNames(x11_display, XkbGroupNamesMask, kbd); + + int _group_count = 0; + const Atom *groups = kbd->names->groups; + if (kbd->ctrls != NULL) { + _group_count = kbd->ctrls->num_groups; + } else { + while (_group_count < XkbNumKbdGroups && groups[_group_count] != None) { + _group_count++; + } + } - if (info[1].find("colemak") != -1) { - return LATIN_KEYBOARD_COLEMAK; - } else if (info[1].find("qwertz") != -1) { - return LATIN_KEYBOARD_QWERTZ; - } else if (info[1].find("azerty") != -1) { - return LATIN_KEYBOARD_AZERTY; - } else if (info[1].find("qzerty") != -1) { - return LATIN_KEYBOARD_QZERTY; - } else if (info[1].find("dvorak") != -1) { - return LATIN_KEYBOARD_DVORAK; - } else if (info[1].find("neo") != -1) { - return LATIN_KEYBOARD_NEO; + Atom names = kbd->names->symbols; + if (names != None) { + char *name = XGetAtomName(x11_display, names); + Vector<String> info = String(name).split("+"); + if (p_index >= 0 && p_index < _group_count) { + if (p_index + 1 < info.size()) { + ret = info[p_index + 1]; // Skip "pc" at the start and "inet"/"group" at the end of symbols. + } else { + ret = "en"; // No symbol for layout fallback to "en". + } + } else { + ERR_PRINT("Index " + itos(p_index) + "is out of bounds (" + itos(_group_count) + ")."); + } + XFree(name); + } + XkbFreeKeyboard(kbd, 0, true); } + return ret.substr(0, 2); +} + +String DisplayServerX11::keyboard_get_layout_name(int p_index) const { + String ret; + XkbDescRec *kbd = XkbAllocKeyboard(); + if (kbd) { + kbd->dpy = x11_display; + XkbGetControls(x11_display, XkbAllControlsMask, kbd); + XkbGetNames(x11_display, XkbSymbolsNameMask, kbd); + XkbGetNames(x11_display, XkbGroupNamesMask, kbd); + + int _group_count = 0; + const Atom *groups = kbd->names->groups; + if (kbd->ctrls != NULL) { + _group_count = kbd->ctrls->num_groups; + } else { + while (_group_count < XkbNumKbdGroups && groups[_group_count] != None) { + _group_count++; + } + } - return LATIN_KEYBOARD_QWERTY; + if (p_index >= 0 && p_index < _group_count) { + char *full_name = XGetAtomName(x11_display, groups[p_index]); + ret.parse_utf8(full_name); + XFree(full_name); + } else { + ERR_PRINT("Index " + itos(p_index) + "is out of bounds (" + itos(_group_count) + ")."); + } + XkbFreeKeyboard(kbd, 0, true); + } + return ret; } DisplayServerX11::Property DisplayServerX11::_read_property(Display *p_display, Window p_window, Atom p_property) { diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h index b5ea71f72a..f01b9a2323 100644 --- a/platform/linuxbsd/display_server_x11.h +++ b/platform/linuxbsd/display_server_x11.h @@ -327,7 +327,11 @@ public: virtual CursorShape cursor_get_shape() const; virtual void cursor_set_custom_image(const RES &p_cursor, CursorShape p_shape, const Vector2 &p_hotspot); - virtual LatinKeyboardVariant get_latin_keyboard_variant() const; + virtual int keyboard_get_layout_count() const; + virtual int keyboard_get_current_layout() const; + virtual void keyboard_set_current_layout(int p_index); + virtual String keyboard_get_layout_language(int p_index) const; + virtual String keyboard_get_layout_name(int p_index) const; virtual void process_events(); diff --git a/platform/osx/display_server_osx.h b/platform/osx/display_server_osx.h index 8133dfe2c4..fddb1d0ca6 100644 --- a/platform/osx/display_server_osx.h +++ b/platform/osx/display_server_osx.h @@ -281,7 +281,11 @@ public: virtual bool get_swap_ok_cancel(); - virtual LatinKeyboardVariant get_latin_keyboard_variant() const; + virtual int keyboard_get_layout_count() const; + virtual int keyboard_get_current_layout() const; + virtual void keyboard_set_current_layout(int p_index); + virtual String keyboard_get_layout_language(int p_index) const; + virtual String keyboard_get_layout_name(int p_index) const; virtual void process_events(); virtual void force_process_and_drop_events(); diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm index 9a1191490c..4a94e09c1c 100644 --- a/platform/osx/display_server_osx.mm +++ b/platform/osx/display_server_osx.mm @@ -2987,85 +2987,129 @@ void DisplayServerOSX::cursor_set_custom_image(const RES &p_cursor, CursorShape } } +struct LayoutInfo { + String name; + String code; +}; + +static Vector<LayoutInfo> kbd_layouts; +static int current_layout = 0; static bool keyboard_layout_dirty = true; static void keyboard_layout_changed(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef user_info) { + kbd_layouts.clear(); + current_layout = 0; keyboard_layout_dirty = true; } -// Returns string representation of keys, if they are printable. -static NSString *createStringForKeys(const CGKeyCode *keyCode, int length) { - TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource(); - if (!currentKeyboard) - return nil; +void _update_keyboard_layouts() { + @autoreleasepool { + TISInputSourceRef cur_source = TISCopyCurrentKeyboardInputSource(); + NSString *cur_name = (NSString *)TISGetInputSourceProperty(cur_source, kTISPropertyLocalizedName); + CFRelease(cur_source); - CFDataRef layoutData = (CFDataRef)TISGetInputSourceProperty(currentKeyboard, kTISPropertyUnicodeKeyLayoutData); - if (!layoutData) - return nil; + // Enum IME layouts + NSDictionary *filter_ime = @{ (NSString *)kTISPropertyInputSourceType : (NSString *)kTISTypeKeyboardInputMode }; + NSArray *list_ime = (NSArray *)TISCreateInputSourceList((CFDictionaryRef)filter_ime, false); + for (NSUInteger i = 0; i < [list_ime count]; i++) { + LayoutInfo ly; + NSString *name = (NSString *)TISGetInputSourceProperty((TISInputSourceRef)[list_ime objectAtIndex:i], kTISPropertyLocalizedName); + ly.name.parse_utf8([name UTF8String]); - const UCKeyboardLayout *keyboardLayout = (const UCKeyboardLayout *)CFDataGetBytePtr(layoutData); + NSArray *langs = (NSArray *)TISGetInputSourceProperty((TISInputSourceRef)[list_ime objectAtIndex:i], kTISPropertyInputSourceLanguages); + ly.code.parse_utf8([(NSString *)[langs objectAtIndex:0] UTF8String]); + kbd_layouts.push_back(ly); - OSStatus err; - CFMutableStringRef output = CFStringCreateMutable(NULL, 0); + if ([name isEqualToString:cur_name]) { + current_layout = kbd_layouts.size() - 1; + } + } + [list_ime release]; - for (int i = 0; i < length; ++i) { - UInt32 keysDown = 0; - UniChar chars[4]; - UniCharCount realLength; + // Enum plain keyboard layouts + NSDictionary *filter_kbd = @{ (NSString *)kTISPropertyInputSourceType : (NSString *)kTISTypeKeyboardLayout }; + NSArray *list_kbd = (NSArray *)TISCreateInputSourceList((CFDictionaryRef)filter_kbd, false); + for (NSUInteger i = 0; i < [list_kbd count]; i++) { + LayoutInfo ly; + NSString *name = (NSString *)TISGetInputSourceProperty((TISInputSourceRef)[list_kbd objectAtIndex:i], kTISPropertyLocalizedName); + ly.name.parse_utf8([name UTF8String]); - err = UCKeyTranslate(keyboardLayout, - keyCode[i], - kUCKeyActionDisplay, - 0, - LMGetKbdType(), - kUCKeyTranslateNoDeadKeysBit, - &keysDown, - sizeof(chars) / sizeof(chars[0]), - &realLength, - chars); + NSArray *langs = (NSArray *)TISGetInputSourceProperty((TISInputSourceRef)[list_kbd objectAtIndex:i], kTISPropertyInputSourceLanguages); + ly.code.parse_utf8([(NSString *)[langs objectAtIndex:0] UTF8String]); + kbd_layouts.push_back(ly); - if (err != noErr) { - CFRelease(output); - return nil; + if ([name isEqualToString:cur_name]) { + current_layout = kbd_layouts.size() - 1; + } } - - CFStringAppendCharacters(output, chars, 1); + [list_kbd release]; } - return (NSString *)output; + keyboard_layout_dirty = false; } -DisplayServerOSX::LatinKeyboardVariant DisplayServerOSX::get_latin_keyboard_variant() const { - _THREAD_SAFE_METHOD_ - - static LatinKeyboardVariant layout = LATIN_KEYBOARD_QWERTY; +int DisplayServerOSX::keyboard_get_layout_count() const { + if (keyboard_layout_dirty) { + _update_keyboard_layouts(); + } + return kbd_layouts.size(); +} +void DisplayServerOSX::keyboard_set_current_layout(int p_index) { if (keyboard_layout_dirty) { - layout = LATIN_KEYBOARD_QWERTY; + _update_keyboard_layouts(); + } + + ERR_FAIL_INDEX(p_index, kbd_layouts.size()); - CGKeyCode keys[] = { kVK_ANSI_Q, kVK_ANSI_W, kVK_ANSI_E, kVK_ANSI_R, kVK_ANSI_T, kVK_ANSI_Y }; - NSString *test = createStringForKeys(keys, 6); + NSString *cur_name = [NSString stringWithUTF8String:kbd_layouts[p_index].name.utf8().get_data()]; - if ([test isEqualToString:@"qwertz"]) { - layout = LATIN_KEYBOARD_QWERTZ; - } else if ([test isEqualToString:@"azerty"]) { - layout = LATIN_KEYBOARD_AZERTY; - } else if ([test isEqualToString:@"qzerty"]) { - layout = LATIN_KEYBOARD_QZERTY; - } else if ([test isEqualToString:@"',.pyf"]) { - layout = LATIN_KEYBOARD_DVORAK; - } else if ([test isEqualToString:@"xvlcwk"]) { - layout = LATIN_KEYBOARD_NEO; - } else if ([test isEqualToString:@"qwfpgj"]) { - layout = LATIN_KEYBOARD_COLEMAK; + NSDictionary *filter_kbd = @{ (NSString *)kTISPropertyInputSourceType : (NSString *)kTISTypeKeyboardLayout }; + NSArray *list_kbd = (NSArray *)TISCreateInputSourceList((CFDictionaryRef)filter_kbd, false); + for (NSUInteger i = 0; i < [list_kbd count]; i++) { + NSString *name = (NSString *)TISGetInputSourceProperty((TISInputSourceRef)[list_kbd objectAtIndex:i], kTISPropertyLocalizedName); + if ([name isEqualToString:cur_name]) { + TISSelectInputSource((TISInputSourceRef)[list_kbd objectAtIndex:i]); + break; } + } + [list_kbd release]; - [test release]; + NSDictionary *filter_ime = @{ (NSString *)kTISPropertyInputSourceType : (NSString *)kTISTypeKeyboardInputMode }; + NSArray *list_ime = (NSArray *)TISCreateInputSourceList((CFDictionaryRef)filter_ime, false); + for (NSUInteger i = 0; i < [list_ime count]; i++) { + NSString *name = (NSString *)TISGetInputSourceProperty((TISInputSourceRef)[list_ime objectAtIndex:i], kTISPropertyLocalizedName); + if ([name isEqualToString:cur_name]) { + TISSelectInputSource((TISInputSourceRef)[list_ime objectAtIndex:i]); + break; + } + } + [list_ime release]; +} + +int DisplayServerOSX::keyboard_get_current_layout() const { + if (keyboard_layout_dirty) { + _update_keyboard_layouts(); + } - keyboard_layout_dirty = false; - return layout; + return current_layout; +} + +String DisplayServerOSX::keyboard_get_layout_language(int p_index) const { + if (keyboard_layout_dirty) { + _update_keyboard_layouts(); + } + + ERR_FAIL_INDEX_V(p_index, kbd_layouts.size(), ""); + return kbd_layouts[p_index].code; +} + +String DisplayServerOSX::keyboard_get_layout_name(int p_index) const { + if (keyboard_layout_dirty) { + _update_keyboard_layouts(); } - return layout; + ERR_FAIL_INDEX_V(p_index, kbd_layouts.size(), ""); + return kbd_layouts[p_index].name; } void DisplayServerOSX::_push_input(const Ref<InputEvent> &p_event) { diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp index 784fba75ec..c9b01ebbb4 100644 --- a/platform/osx/export/export.cpp +++ b/platform/osx/export/export.cpp @@ -55,6 +55,7 @@ class EditorExportPlatformOSX : public EditorExportPlatform { void _fix_plist(const Ref<EditorExportPreset> &p_preset, Vector<uint8_t> &plist, const String &p_binary); void _make_icon(const Ref<Image> &p_icon, Vector<uint8_t> &p_data); + Error _notarize(const Ref<EditorExportPreset> &p_preset, const String &p_path); Error _code_sign(const Ref<EditorExportPreset> &p_preset, const String &p_path); Error _create_dmg(const String &p_dmg_path, const String &p_pkg_name, const String &p_app_path_name); void _zip_folder_recursive(zipFile &p_zip, const String &p_root_path, const String &p_folder, const String &p_pkg_name); @@ -66,6 +67,28 @@ class EditorExportPlatformOSX : public EditorExportPlatform { bool use_codesign() const { return false; } bool use_dmg() const { return false; } #endif + bool is_package_name_valid(const String &p_package, String *r_error = nullptr) const { + String pname = p_package; + + if (pname.length() == 0) { + if (r_error) { + *r_error = TTR("Identifier is missing."); + } + return false; + } + + for (int i = 0; i < pname.length(); i++) { + CharType c = pname[i]; + if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '-' || c == '.')) { + if (r_error) { + *r_error = vformat(TTR("The character '%s' is not allowed in Identifier."), String::chr(c)); + } + return false; + } + } + + return true; + } protected: virtual void get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features); @@ -138,6 +161,11 @@ void EditorExportPlatformOSX::get_export_options(List<ExportOption> *r_options) r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "codesign/hardened_runtime"), true)); r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "codesign/entitlements", PROPERTY_HINT_GLOBAL_FILE, "*.plist"), "")); r_options->push_back(ExportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "codesign/custom_options"), PackedStringArray())); + + r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "notarization/enable"), false)); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "notarization/apple_id_name", PROPERTY_HINT_PLACEHOLDER_TEXT, "Apple ID email"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "notarization/apple_id_password", PROPERTY_HINT_PLACEHOLDER_TEXT, "Enable two-factor authentication and provide app-specific password"), "")); + r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "notarization/apple_team_id", PROPERTY_HINT_PLACEHOLDER_TEXT, "Provide team ID if your Apple ID belongs to multiple teams"), "")); #endif r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "texture_format/s3tc"), true)); @@ -363,6 +391,52 @@ void EditorExportPlatformOSX::_fix_plist(const Ref<EditorExportPreset> &p_preset - and then wrap it up in a DMG **/ +Error EditorExportPlatformOSX::_notarize(const Ref<EditorExportPreset> &p_preset, const String &p_path) { +#ifdef OSX_ENABLED + List<String> args; + + args.push_back("altool"); + args.push_back("--notarize-app"); + + args.push_back("--primary-bundle-id"); + args.push_back(p_preset->get("application/identifier")); + + args.push_back("--username"); + args.push_back(p_preset->get("notarization/apple_id_name")); + + args.push_back("--password"); + args.push_back(p_preset->get("notarization/apple_id_password")); + + args.push_back("--type"); + args.push_back("osx"); + + if (p_preset->get("notarization/apple_team_id")) { + args.push_back("--asc-provider"); + args.push_back(p_preset->get("notarization/apple_team_id")); + } + + args.push_back("--file"); + args.push_back(p_path); + + String str; + Error err = OS::get_singleton()->execute("xcrun", args, true, nullptr, &str, nullptr, true); + ERR_FAIL_COND_V(err != OK, err); + + print_line("altool (" + p_path + "):\n" + str); + if (str.find("RequestUUID") == -1) { + EditorNode::add_io_error("altool: " + str); + return FAILED; + } else { + print_line("Note: The notarization process generally takes less than an hour. When the process is completed, you'll receive an email."); + print_line(" You can check progress manually by opening a Terminal and running the following command:"); + print_line(" \"xcrun altool --notarization-history 0 -u <your email> -p <app-specific pwd>\""); + } + +#endif + + return OK; +} + Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_preset, const String &p_path) { #ifdef OSX_ENABLED List<String> args; @@ -399,7 +473,7 @@ Error EditorExportPlatformOSX::_code_sign(const Ref<EditorExportPreset> &p_prese Error err = OS::get_singleton()->execute("codesign", args, true, nullptr, &str, nullptr, true); ERR_FAIL_COND_V(err != OK, err); - print_line("codesign (" + p_path + "): " + str); + print_line("codesign (" + p_path + "):\n" + str); if (str.find("no identity found") != -1) { EditorNode::add_io_error("codesign: no identity found"); return FAILED; @@ -714,6 +788,14 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p } } + bool noto_enabled = p_preset->get("notarization/enable"); + if (err == OK && noto_enabled) { + if (ep.step("Sending archive for notarization", 4)) { + return ERR_SKIP; + } + err = _notarize(p_preset, p_path); + } + // Clean up temporary .app dir. OS::get_singleton()->move_to_trash(tmp_app_path_name); } @@ -803,6 +885,41 @@ bool EditorExportPlatformOSX::can_export(const Ref<EditorExportPreset> &p_preset valid = dvalid || rvalid; r_missing_templates = !valid; + String identifier = p_preset->get("application/identifier"); + String pn_err; + if (!is_package_name_valid(identifier, &pn_err)) { + err += TTR("Invalid bundle identifier:") + " " + pn_err + "\n"; + valid = false; + } + + bool sign_enabled = p_preset->get("codesign/enable"); + if (sign_enabled) { + if (p_preset->get("codesign/identity") == "") { + err += TTR("Codesign: identity not specified.") + "\n"; + valid = false; + } + } + bool noto_enabled = p_preset->get("notarization/enable"); + if (noto_enabled) { + if (!sign_enabled) { + err += TTR("Notarization: code signing required.") + "\n"; + valid = false; + } + bool hr_enabled = p_preset->get("codesign/hardened_runtime"); + if (!hr_enabled) { + err += TTR("Notarization: hardened runtime required.") + "\n"; + valid = false; + } + if (p_preset->get("notarization/apple_id_name") == "") { + err += TTR("Notarization: Apple ID name not specified.") + "\n"; + valid = false; + } + if (p_preset->get("notarization/apple_id_password") == "") { + err += TTR("Notarization: Apple ID password not specified.") + "\n"; + valid = false; + } + } + if (!err.empty()) { r_error = err; } diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index db42908f89..cb4716bd65 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -743,23 +743,7 @@ class EditorExportPlatformUWP : public EditorExportPlatform { // TODO: Add resource creation or image rescaling to enable other scales: // 1.25, 1.5, 2.0 - real_t scales[] = { 1.0 }; - bool valid_w = false; - bool valid_h = false; - - for (int i = 0; i < 1; i++) { - int w = ceil(p_width * scales[i]); - int h = ceil(p_height * scales[i]); - - if (w == p_image->get_width()) { - valid_w = true; - } - if (h == p_image->get_height()) { - valid_h = true; - } - } - - return valid_w && valid_h; + return p_width == p_image->get_width() && p_height == p_image->get_height(); } Vector<uint8_t> _fix_manifest(const Ref<EditorExportPreset> &p_preset, const Vector<uint8_t> &p_template, bool p_give_internet) const { diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp index 7bd67d3726..ee25754704 100644 --- a/platform/uwp/os_uwp.cpp +++ b/platform/uwp/os_uwp.cpp @@ -535,11 +535,28 @@ void OS_UWP::delay_usec(uint32_t p_usec) const { uint64_t OS_UWP::get_ticks_usec() const { uint64_t ticks; - uint64_t time; + // This is the number of clock ticks since start QueryPerformanceCounter((LARGE_INTEGER *)&ticks); + // Divide by frequency to get the time in seconds - time = ticks * 1000000L / ticks_per_second; + // original calculation shown below is subject to overflow + // with high ticks_per_second and a number of days since the last reboot. + // time = ticks * 1000000L / ticks_per_second; + + // we can prevent this by either using 128 bit math + // or separating into a calculation for seconds, and the fraction + uint64_t seconds = ticks / ticks_per_second; + + // compiler will optimize these two into one divide + uint64_t leftover = ticks % ticks_per_second; + + // remainder + uint64_t time = (leftover * 1000000L) / ticks_per_second; + + // seconds + time += seconds * 1000000L; + // Subtract the time at game start to get // the time since the game started time -= ticks_start; diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index 9d8344fa7e..0b7130db74 100644 --- a/platform/windows/display_server_windows.cpp +++ b/platform/windows/display_server_windows.cpp @@ -1372,70 +1372,99 @@ void DisplayServerWindows::enable_for_stealing_focus(OS::ProcessID pid) { AllowSetForegroundWindow(pid); } -DisplayServer::LatinKeyboardVariant DisplayServerWindows::get_latin_keyboard_variant() const { - _THREAD_SAFE_METHOD_ +int DisplayServerWindows::keyboard_get_layout_count() const { + return GetKeyboardLayoutList(0, NULL); +} - unsigned long azerty[] = { - 0x00020401, // Arabic (102) AZERTY - 0x0001080c, // Belgian (Comma) - 0x0000080c, // Belgian French - 0x0000040c, // French - 0 // <--- STOP MARK - }; - unsigned long qwertz[] = { - 0x0000041a, // Croation - 0x00000405, // Czech - 0x00000407, // German - 0x00010407, // German (IBM) - 0x0000040e, // Hungarian - 0x0000046e, // Luxembourgish - 0x00010415, // Polish (214) - 0x00000418, // Romanian (Legacy) - 0x0000081a, // Serbian (Latin) - 0x0000041b, // Slovak - 0x00000424, // Slovenian - 0x0001042e, // Sorbian Extended - 0x0002042e, // Sorbian Standard - 0x0000042e, // Sorbian Standard (Legacy) - 0x0000100c, // Swiss French - 0x00000807, // Swiss German - 0 // <--- STOP MARK - }; - unsigned long dvorak[] = { - 0x00010409, // US-Dvorak - 0x00030409, // US-Dvorak for left hand - 0x00040409, // US-Dvorak for right hand - 0 // <--- STOP MARK - }; +int DisplayServerWindows::keyboard_get_current_layout() const { + HKL cur_layout = GetKeyboardLayout(0); + + int layout_count = GetKeyboardLayoutList(0, NULL); + HKL *layouts = (HKL *)memalloc(layout_count * sizeof(HKL)); + GetKeyboardLayoutList(layout_count, layouts); + + for (int i = 0; i < layout_count; i++) { + if (cur_layout == layouts[i]) { + memfree(layouts); + return i; + } + } + memfree(layouts); + return -1; +} + +void DisplayServerWindows::keyboard_set_current_layout(int p_index) { + int layout_count = GetKeyboardLayoutList(0, NULL); + + ERR_FAIL_INDEX(p_index, layout_count); + + HKL *layouts = (HKL *)memalloc(layout_count * sizeof(HKL)); + GetKeyboardLayoutList(layout_count, layouts); + ActivateKeyboardLayout(layouts[p_index], KLF_SETFORPROCESS); + memfree(layouts); +} + +String DisplayServerWindows::keyboard_get_layout_language(int p_index) const { + int layout_count = GetKeyboardLayoutList(0, NULL); - char name[KL_NAMELENGTH + 1]; - name[0] = 0; - GetKeyboardLayoutNameA(name); + ERR_FAIL_INDEX_V(p_index, layout_count, ""); - unsigned long hex = strtoul(name, nullptr, 16); + HKL *layouts = (HKL *)memalloc(layout_count * sizeof(HKL)); + GetKeyboardLayoutList(layout_count, layouts); - int i = 0; - while (azerty[i] != 0) { - if (azerty[i] == hex) - return LATIN_KEYBOARD_AZERTY; - i++; + wchar_t buf[LOCALE_NAME_MAX_LENGTH]; + memset(buf, 0, LOCALE_NAME_MAX_LENGTH * sizeof(wchar_t)); + LCIDToLocaleName(MAKELCID(LOWORD(layouts[p_index]), SORT_DEFAULT), buf, LOCALE_NAME_MAX_LENGTH, 0); + + memfree(layouts); + + return String(buf).substr(0, 2); +} + +String _get_full_layout_name_from_registry(HKL p_layout) { + String id = "SYSTEM\\CurrentControlSet\\Control\\Keyboard Layouts\\" + String::num_int64((int64_t)p_layout, 16, false).lpad(8, "0"); + String ret; + + HKEY hkey; + wchar_t layout_text[1024]; + memset(layout_text, 0, 1024 * sizeof(wchar_t)); + + if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, (LPCWSTR)id.c_str(), 0, KEY_QUERY_VALUE, &hkey) != ERROR_SUCCESS) { + return ret; } - i = 0; - while (qwertz[i] != 0) { - if (qwertz[i] == hex) - return LATIN_KEYBOARD_QWERTZ; - i++; + DWORD buffer = 1024; + DWORD vtype = REG_SZ; + if (RegQueryValueExW(hkey, L"Layout Text", NULL, &vtype, (LPBYTE)layout_text, &buffer) == ERROR_SUCCESS) { + ret = String(layout_text); } + RegCloseKey(hkey); + return ret; +} + +String DisplayServerWindows::keyboard_get_layout_name(int p_index) const { + int layout_count = GetKeyboardLayoutList(0, NULL); + + ERR_FAIL_INDEX_V(p_index, layout_count, ""); + + HKL *layouts = (HKL *)memalloc(layout_count * sizeof(HKL)); + GetKeyboardLayoutList(layout_count, layouts); - i = 0; - while (dvorak[i] != 0) { - if (dvorak[i] == hex) - return LATIN_KEYBOARD_DVORAK; - i++; + String ret = _get_full_layout_name_from_registry(layouts[p_index]); // Try reading full name from Windows registry, fallback to locale name if failed (e.g. on Wine). + if (ret == String()) { + wchar_t buf[LOCALE_NAME_MAX_LENGTH]; + memset(buf, 0, LOCALE_NAME_MAX_LENGTH * sizeof(wchar_t)); + LCIDToLocaleName(MAKELCID(LOWORD(layouts[p_index]), SORT_DEFAULT), buf, LOCALE_NAME_MAX_LENGTH, 0); + + wchar_t name[1024]; + memset(name, 0, 1024 * sizeof(wchar_t)); + GetLocaleInfoEx(buf, LOCALE_SLOCALIZEDDISPLAYNAME, (LPWSTR)&name, 1024); + + ret = String(name); } + memfree(layouts); - return LATIN_KEYBOARD_QWERTY; + return ret; } void DisplayServerWindows::process_events() { diff --git a/platform/windows/display_server_windows.h b/platform/windows/display_server_windows.h index caf8598dc2..995ced0809 100644 --- a/platform/windows/display_server_windows.h +++ b/platform/windows/display_server_windows.h @@ -523,7 +523,11 @@ public: virtual void enable_for_stealing_focus(OS::ProcessID pid); - virtual LatinKeyboardVariant get_latin_keyboard_variant() const; + virtual int keyboard_get_layout_count() const; + virtual int keyboard_get_current_layout() const; + virtual void keyboard_set_current_layout(int p_index); + virtual String keyboard_get_layout_language(int p_index) const; + virtual String keyboard_get_layout_name(int p_index) const; virtual void process_events(); diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 0dab0c601a..9c1b8f2949 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -343,55 +343,21 @@ OS::TimeZoneInfo OS_Windows::get_time_zone_info() const { return ret; } -uint64_t OS_Windows::get_unix_time() const { - FILETIME ft; - SYSTEMTIME st; - GetSystemTime(&st); - SystemTimeToFileTime(&st, &ft); - - SYSTEMTIME ep; - ep.wYear = 1970; - ep.wMonth = 1; - ep.wDayOfWeek = 4; - ep.wDay = 1; - ep.wHour = 0; - ep.wMinute = 0; - ep.wSecond = 0; - ep.wMilliseconds = 0; - FILETIME fep; - SystemTimeToFileTime(&ep, &fep); - - // Type punning through unions (rather than pointer cast) as per: - // https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime#remarks - ULARGE_INTEGER ft_punning; - ft_punning.LowPart = ft.dwLowDateTime; - ft_punning.HighPart = ft.dwHighDateTime; - - ULARGE_INTEGER fep_punning; - fep_punning.LowPart = fep.dwLowDateTime; - fep_punning.HighPart = fep.dwHighDateTime; - - return (ft_punning.QuadPart - fep_punning.QuadPart) / 10000000; -}; - -uint64_t OS_Windows::get_system_time_secs() const { - return get_system_time_msecs() / 1000; -} - -uint64_t OS_Windows::get_system_time_msecs() const { - const uint64_t WINDOWS_TICK = 10000; - const uint64_t MSEC_TO_UNIX_EPOCH = 11644473600000LL; +double OS_Windows::get_unix_time() const { + // 1 Windows tick is 100ns + const uint64_t WINDOWS_TICKS_PER_SECOND = 10000000; + const uint64_t TICKS_TO_UNIX_EPOCH = 116444736000000000LL; SYSTEMTIME st; GetSystemTime(&st); FILETIME ft; SystemTimeToFileTime(&st, &ft); - uint64_t ret; - ret = ft.dwHighDateTime; - ret <<= 32; - ret |= ft.dwLowDateTime; + uint64_t ticks_time; + ticks_time = ft.dwHighDateTime; + ticks_time <<= 32; + ticks_time |= ft.dwLowDateTime; - return (uint64_t)(ret / WINDOWS_TICK - MSEC_TO_UNIX_EPOCH); + return (double)(ticks_time - TICKS_TO_UNIX_EPOCH) / WINDOWS_TICKS_PER_SECOND; } void OS_Windows::delay_usec(uint32_t p_usec) const { @@ -403,12 +369,29 @@ void OS_Windows::delay_usec(uint32_t p_usec) const { uint64_t OS_Windows::get_ticks_usec() const { uint64_t ticks; - uint64_t time; + // This is the number of clock ticks since start if (!QueryPerformanceCounter((LARGE_INTEGER *)&ticks)) ticks = (UINT64)timeGetTime(); + // Divide by frequency to get the time in seconds - time = ticks * 1000000L / ticks_per_second; + // original calculation shown below is subject to overflow + // with high ticks_per_second and a number of days since the last reboot. + // time = ticks * 1000000L / ticks_per_second; + + // we can prevent this by either using 128 bit math + // or separating into a calculation for seconds, and the fraction + uint64_t seconds = ticks / ticks_per_second; + + // compiler will optimize these two into one divide + uint64_t leftover = ticks % ticks_per_second; + + // remainder + uint64_t time = (leftover * 1000000L) / ticks_per_second; + + // seconds + time += seconds * 1000000L; + // Subtract the time at game start to get // the time since the game started time -= ticks_start; diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index 11e3533bfd..910a83539a 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -129,9 +129,7 @@ public: virtual Date get_date(bool utc) const; virtual Time get_time(bool utc) const; virtual TimeZoneInfo get_time_zone_info() const; - virtual uint64_t get_unix_time() const; - virtual uint64_t get_system_time_secs() const; - virtual uint64_t get_system_time_msecs() const; + virtual double get_unix_time() const; virtual Error set_cwd(const String &p_cwd); diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index 8f69676da4..68e99445d8 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -343,7 +343,9 @@ void Camera2D::_notification(int p_what) { void Camera2D::set_offset(const Vector2 &p_offset) { offset = p_offset; + Point2 old_smoothed_camera_pos = smoothed_camera_pos; _update_scroll(); + smoothed_camera_pos = old_smoothed_camera_pos; } Vector2 Camera2D::get_offset() const { @@ -361,7 +363,9 @@ Camera2D::AnchorMode Camera2D::get_anchor_mode() const { void Camera2D::set_rotating(bool p_rotating) { rotating = p_rotating; + Point2 old_smoothed_camera_pos = smoothed_camera_pos; _update_scroll(); + smoothed_camera_pos = old_smoothed_camera_pos; } bool Camera2D::is_rotating() const { @@ -522,7 +526,9 @@ bool Camera2D::is_v_drag_enabled() const { void Camera2D::set_v_offset(float p_offset) { v_ofs = p_offset; v_offset_changed = true; + Point2 old_smoothed_camera_pos = smoothed_camera_pos; _update_scroll(); + smoothed_camera_pos = old_smoothed_camera_pos; } float Camera2D::get_v_offset() const { @@ -532,7 +538,9 @@ float Camera2D::get_v_offset() const { void Camera2D::set_h_offset(float p_offset) { h_ofs = p_offset; h_offset_changed = true; + Point2 old_smoothed_camera_pos = smoothed_camera_pos; _update_scroll(); + smoothed_camera_pos = old_smoothed_camera_pos; } float Camera2D::get_h_offset() const { diff --git a/scene/2d/joints_2d.cpp b/scene/2d/joints_2d.cpp index 0d126b949d..8df72d7aac 100644 --- a/scene/2d/joints_2d.cpp +++ b/scene/2d/joints_2d.cpp @@ -309,10 +309,10 @@ RID DampedSpringJoint2D::_configure_joint(PhysicsBody2D *body_a, PhysicsBody2D * RID dsj = PhysicsServer2D::get_singleton()->damped_spring_joint_create(anchor_A, anchor_B, body_a->get_rid(), body_b->get_rid()); if (rest_length) { - PhysicsServer2D::get_singleton()->damped_string_joint_set_param(dsj, PhysicsServer2D::DAMPED_STRING_REST_LENGTH, rest_length); + PhysicsServer2D::get_singleton()->damped_spring_joint_set_param(dsj, PhysicsServer2D::DAMPED_SPRING_REST_LENGTH, rest_length); } - PhysicsServer2D::get_singleton()->damped_string_joint_set_param(dsj, PhysicsServer2D::DAMPED_STRING_STIFFNESS, stiffness); - PhysicsServer2D::get_singleton()->damped_string_joint_set_param(dsj, PhysicsServer2D::DAMPED_STRING_DAMPING, damping); + PhysicsServer2D::get_singleton()->damped_spring_joint_set_param(dsj, PhysicsServer2D::DAMPED_SPRING_STIFFNESS, stiffness); + PhysicsServer2D::get_singleton()->damped_spring_joint_set_param(dsj, PhysicsServer2D::DAMPED_SPRING_DAMPING, damping); return dsj; } @@ -330,7 +330,7 @@ void DampedSpringJoint2D::set_rest_length(real_t p_rest_length) { rest_length = p_rest_length; update(); if (get_joint().is_valid()) { - PhysicsServer2D::get_singleton()->damped_string_joint_set_param(get_joint(), PhysicsServer2D::DAMPED_STRING_REST_LENGTH, p_rest_length ? p_rest_length : length); + PhysicsServer2D::get_singleton()->damped_spring_joint_set_param(get_joint(), PhysicsServer2D::DAMPED_SPRING_REST_LENGTH, p_rest_length ? p_rest_length : length); } } @@ -342,7 +342,7 @@ void DampedSpringJoint2D::set_stiffness(real_t p_stiffness) { stiffness = p_stiffness; update(); if (get_joint().is_valid()) { - PhysicsServer2D::get_singleton()->damped_string_joint_set_param(get_joint(), PhysicsServer2D::DAMPED_STRING_STIFFNESS, p_stiffness); + PhysicsServer2D::get_singleton()->damped_spring_joint_set_param(get_joint(), PhysicsServer2D::DAMPED_SPRING_STIFFNESS, p_stiffness); } } @@ -354,7 +354,7 @@ void DampedSpringJoint2D::set_damping(real_t p_damping) { damping = p_damping; update(); if (get_joint().is_valid()) { - PhysicsServer2D::get_singleton()->damped_string_joint_set_param(get_joint(), PhysicsServer2D::DAMPED_STRING_DAMPING, p_damping); + PhysicsServer2D::get_singleton()->damped_spring_joint_set_param(get_joint(), PhysicsServer2D::DAMPED_SPRING_DAMPING, p_damping); } } diff --git a/scene/2d/path_2d.cpp b/scene/2d/path_2d.cpp index 00e9af3bb7..f2f549e851 100644 --- a/scene/2d/path_2d.cpp +++ b/scene/2d/path_2d.cpp @@ -149,11 +149,7 @@ void Path2D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_curve", "curve"), &Path2D::set_curve); ClassDB::bind_method(D_METHOD("get_curve"), &Path2D::get_curve); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve2D"), "set_curve", "get_curve"); -} - -Path2D::Path2D() { - set_curve(Ref<Curve2D>(memnew(Curve2D))); //create one by default + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve2D", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT), "set_curve", "get_curve"); } ///////////////////////////////////////////////////////////////////////////////// diff --git a/scene/2d/path_2d.h b/scene/2d/path_2d.h index 288ef698e7..38fcca0323 100644 --- a/scene/2d/path_2d.h +++ b/scene/2d/path_2d.h @@ -55,7 +55,7 @@ public: void set_curve(const Ref<Curve2D> &p_curve); Ref<Curve2D> get_curve() const; - Path2D(); + Path2D() {} }; class PathFollow2D : public Node2D { diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index ae448129bc..84560b843b 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -997,6 +997,7 @@ bool KinematicBody2D::move_and_collide(const Vector2 &p_motion, bool p_infinite_ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const Vector2 &p_up_direction, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle, bool p_infinite_inertia) { Vector2 body_velocity = p_linear_velocity; Vector2 body_velocity_normal = body_velocity.normalized(); + Vector2 up_direction = p_up_direction.normalized(); Vector2 current_floor_velocity = floor_velocity; if (on_floor && on_floor_body.is_valid()) { @@ -1043,11 +1044,11 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const colliders.push_back(collision); motion = collision.remainder; - if (p_up_direction == Vector2()) { + if (up_direction == Vector2()) { //all is a wall on_wall = true; } else { - if (Math::acos(collision.normal.dot(p_up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //floor + if (Math::acos(collision.normal.dot(up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //floor on_floor = true; floor_normal = collision.normal; @@ -1055,14 +1056,14 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const floor_velocity = collision.collider_vel; if (p_stop_on_slope) { - if ((body_velocity_normal + p_up_direction).length() < 0.01 && collision.travel.length() < 1) { + if ((body_velocity_normal + up_direction).length() < 0.01 && collision.travel.length() < 1) { Transform2D gt = get_global_transform(); - gt.elements[2] -= collision.travel.slide(p_up_direction); + gt.elements[2] -= collision.travel.slide(up_direction); set_global_transform(gt); return Vector2(); } } - } else if (Math::acos(collision.normal.dot(-p_up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //ceiling + } else if (Math::acos(collision.normal.dot(-up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //ceiling on_ceiling = true; } else { on_wall = true; @@ -1085,9 +1086,10 @@ Vector2 KinematicBody2D::move_and_slide(const Vector2 &p_linear_velocity, const } Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_velocity, const Vector2 &p_snap, const Vector2 &p_up_direction, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle, bool p_infinite_inertia) { + Vector2 up_direction = p_up_direction.normalized(); bool was_on_floor = on_floor; - Vector2 ret = move_and_slide(p_linear_velocity, p_up_direction, p_stop_on_slope, p_max_slides, p_floor_max_angle, p_infinite_inertia); + Vector2 ret = move_and_slide(p_linear_velocity, up_direction, p_stop_on_slope, p_max_slides, p_floor_max_angle, p_infinite_inertia); if (!was_on_floor || p_snap == Vector2()) { return ret; } @@ -1097,8 +1099,8 @@ Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_veloci if (move_and_collide(p_snap, p_infinite_inertia, col, false, true)) { bool apply = true; - if (p_up_direction != Vector2()) { - if (Math::acos(p_up_direction.normalized().dot(col.normal)) < p_floor_max_angle) { + if (up_direction != Vector2()) { + if (Math::acos(col.normal.dot(up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { on_floor = true; floor_normal = col.normal; on_floor_body = col.collider_rid; @@ -1106,7 +1108,7 @@ Vector2 KinematicBody2D::move_and_slide_with_snap(const Vector2 &p_linear_veloci if (p_stop_on_slope) { // move and collide may stray the object a bit because of pre un-stucking, // so only ensure that motion happens on floor direction in this case. - col.travel = p_up_direction * p_up_direction.dot(col.travel); + col.travel = up_direction * up_direction.dot(col.travel); } } else { diff --git a/scene/3d/path_3d.cpp b/scene/3d/path_3d.cpp index dcfdf8efcf..40d988ff9f 100644 --- a/scene/3d/path_3d.cpp +++ b/scene/3d/path_3d.cpp @@ -77,15 +77,11 @@ void Path3D::_bind_methods() { ClassDB::bind_method(D_METHOD("set_curve", "curve"), &Path3D::set_curve); ClassDB::bind_method(D_METHOD("get_curve"), &Path3D::get_curve); - ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve3D"), "set_curve", "get_curve"); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve3D", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT), "set_curve", "get_curve"); ADD_SIGNAL(MethodInfo("curve_changed")); } -Path3D::Path3D() { - set_curve(Ref<Curve3D>(memnew(Curve3D))); //create one by default -} - ////////////// void PathFollow3D::_update_transform() { diff --git a/scene/3d/path_3d.h b/scene/3d/path_3d.h index 5a33016bc6..7f227a8a6f 100644 --- a/scene/3d/path_3d.h +++ b/scene/3d/path_3d.h @@ -49,7 +49,7 @@ public: void set_curve(const Ref<Curve3D> &p_curve); Ref<Curve3D> get_curve() const; - Path3D(); + Path3D() {} }; class PathFollow3D : public Node3D { diff --git a/scene/3d/physics_body_3d.cpp b/scene/3d/physics_body_3d.cpp index de8f1eea2e..6320af21eb 100644 --- a/scene/3d/physics_body_3d.cpp +++ b/scene/3d/physics_body_3d.cpp @@ -945,6 +945,7 @@ bool KinematicBody3D::move_and_collide(const Vector3 &p_motion, bool p_infinite_ Vector3 KinematicBody3D::move_and_slide(const Vector3 &p_linear_velocity, const Vector3 &p_up_direction, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle, bool p_infinite_inertia) { Vector3 body_velocity = p_linear_velocity; Vector3 body_velocity_normal = body_velocity.normalized(); + Vector3 up_direction = p_up_direction.normalized(); for (int i = 0; i < 3; i++) { if (locked_axis & (1 << i)) { @@ -988,11 +989,11 @@ Vector3 KinematicBody3D::move_and_slide(const Vector3 &p_linear_velocity, const colliders.push_back(collision); motion = collision.remainder; - if (p_up_direction == Vector3()) { + if (up_direction == Vector3()) { //all is a wall on_wall = true; } else { - if (Math::acos(collision.normal.dot(p_up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //floor + if (Math::acos(collision.normal.dot(up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //floor on_floor = true; floor_normal = collision.normal; @@ -1000,14 +1001,14 @@ Vector3 KinematicBody3D::move_and_slide(const Vector3 &p_linear_velocity, const floor_velocity = collision.collider_vel; if (p_stop_on_slope) { - if ((body_velocity_normal + p_up_direction).length() < 0.01 && collision.travel.length() < 1) { + if ((body_velocity_normal + up_direction).length() < 0.01 && collision.travel.length() < 1) { Transform gt = get_global_transform(); - gt.origin -= collision.travel.slide(p_up_direction); + gt.origin -= collision.travel.slide(up_direction); set_global_transform(gt); return Vector3(); } } - } else if (Math::acos(collision.normal.dot(-p_up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //ceiling + } else if (Math::acos(collision.normal.dot(-up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { //ceiling on_ceiling = true; } else { on_wall = true; @@ -1036,9 +1037,10 @@ Vector3 KinematicBody3D::move_and_slide(const Vector3 &p_linear_velocity, const } Vector3 KinematicBody3D::move_and_slide_with_snap(const Vector3 &p_linear_velocity, const Vector3 &p_snap, const Vector3 &p_up_direction, bool p_stop_on_slope, int p_max_slides, float p_floor_max_angle, bool p_infinite_inertia) { + Vector3 up_direction = p_up_direction.normalized(); bool was_on_floor = on_floor; - Vector3 ret = move_and_slide(p_linear_velocity, p_up_direction, p_stop_on_slope, p_max_slides, p_floor_max_angle, p_infinite_inertia); + Vector3 ret = move_and_slide(p_linear_velocity, up_direction, p_stop_on_slope, p_max_slides, p_floor_max_angle, p_infinite_inertia); if (!was_on_floor || p_snap == Vector3()) { return ret; } @@ -1048,8 +1050,8 @@ Vector3 KinematicBody3D::move_and_slide_with_snap(const Vector3 &p_linear_veloci if (move_and_collide(p_snap, p_infinite_inertia, col, false, true)) { bool apply = true; - if (p_up_direction != Vector3()) { - if (Math::acos(p_up_direction.normalized().dot(col.normal)) < p_floor_max_angle) { + if (up_direction != Vector3()) { + if (Math::acos(col.normal.dot(up_direction)) <= p_floor_max_angle + FLOOR_ANGLE_THRESHOLD) { on_floor = true; floor_normal = col.normal; on_floor_body = col.collider_rid; @@ -1057,7 +1059,7 @@ Vector3 KinematicBody3D::move_and_slide_with_snap(const Vector3 &p_linear_veloci if (p_stop_on_slope) { // move and collide may stray the object a bit because of pre un-stucking, // so only ensure that motion happens on floor direction in this case. - col.travel = col.travel.project(p_up_direction); + col.travel = col.travel.project(up_direction); } } else { apply = false; //snapped with floor direction, but did not snap to a floor, do not snap. diff --git a/scene/3d/skeleton_3d.cpp b/scene/3d/skeleton_3d.cpp index a09424fa17..6723ca04b9 100644 --- a/scene/3d/skeleton_3d.cpp +++ b/scene/3d/skeleton_3d.cpp @@ -67,6 +67,8 @@ SkinReference::~SkinReference() { RS::get_singleton()->free(skeleton); } +/////////////////////////////////////// + bool Skeleton3D::_set(const StringName &p_path, const Variant &p_value) { String path = p_path; @@ -853,6 +855,15 @@ Ref<SkinReference> Skeleton3D::register_skin(const Ref<Skin> &p_skin) { return skin_ref; } +// helper functions +Transform Skeleton3D::bone_transform_to_world_transform(Transform p_bone_transform) { + return get_global_transform() * p_bone_transform; +} + +Transform Skeleton3D::world_transform_to_bone_transform(Transform p_world_transform) { + return get_global_transform().affine_inverse() * p_world_transform; +} + void Skeleton3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_bone_process_orders"), &Skeleton3D::get_bone_process_orders); ClassDB::bind_method(D_METHOD("add_bone", "name"), &Skeleton3D::add_bone); @@ -892,6 +903,9 @@ void Skeleton3D::_bind_methods() { ClassDB::bind_method(D_METHOD("get_bone_custom_pose", "bone_idx"), &Skeleton3D::get_bone_custom_pose); ClassDB::bind_method(D_METHOD("set_bone_custom_pose", "bone_idx", "custom_pose"), &Skeleton3D::set_bone_custom_pose); + ClassDB::bind_method(D_METHOD("bone_transform_to_world_transform", "bone_transform"), &Skeleton3D::bone_transform_to_world_transform); + ClassDB::bind_method(D_METHOD("world_transform_to_bone_transform", "world_transform"), &Skeleton3D::world_transform_to_bone_transform); + #ifndef _3D_DISABLED ClassDB::bind_method(D_METHOD("set_animate_physical_bones"), &Skeleton3D::set_animate_physical_bones); diff --git a/scene/3d/skeleton_3d.h b/scene/3d/skeleton_3d.h index 66706a9450..a21891a32e 100644 --- a/scene/3d/skeleton_3d.h +++ b/scene/3d/skeleton_3d.h @@ -71,10 +71,6 @@ class Skeleton3D : public Node3D { private: friend class SkinReference; - Set<SkinReference *> skin_bindings; - - void _skin_changed(); - struct Bone { String name; @@ -116,6 +112,10 @@ private: } }; + Set<SkinReference *> skin_bindings; + + void _skin_changed(); + bool animate_physical_bones; Vector<Bone> bones; Vector<int> process_order; @@ -200,6 +200,10 @@ public: Ref<SkinReference> register_skin(const Ref<Skin> &p_skin); + // Helper functions + Transform bone_transform_to_world_transform(Transform p_transform); + Transform world_transform_to_bone_transform(Transform p_transform); + #ifndef _3D_DISABLED // Physical bone API @@ -213,7 +217,7 @@ public: PhysicalBone3D *get_physical_bone_parent(int p_bone); private: - /// This is a slow API os it's cached + /// This is a slow API, so it's cached PhysicalBone3D *_get_physical_bone_parent(int p_bone); void _rebuild_physical_bones_cache(); diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 4e56f1acf0..319d0171b3 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -396,7 +396,7 @@ void AnimationPlayer::_animation_process_animation(AnimationData *p_anim, float Animation::UpdateMode update_mode = a->value_track_get_update_mode(i); if (update_mode == Animation::UPDATE_CAPTURE) { - if (p_started) { + if (p_started || pa->capture == Variant()) { pa->capture = pa->object->get_indexed(pa->subpath); } diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index be6b542ae1..630f3c8ff6 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -402,7 +402,9 @@ void FileDialog::update_file_list() { TreeItem *root = tree->create_item(); Ref<Texture2D> folder = vbox->get_theme_icon("folder", "FileDialog"); + Ref<Texture2D> file_icon = vbox->get_theme_icon("file", "FileDialog"); const Color folder_color = vbox->get_theme_color("folder_icon_modulate", "FileDialog"); + const Color file_color = vbox->get_theme_color("file_icon_modulate", "FileDialog"); List<String> files; List<String> dirs; @@ -491,7 +493,10 @@ void FileDialog::update_file_list() { if (get_icon_func) { Ref<Texture2D> icon = get_icon_func(base_dir.plus_file(files.front()->get())); ti->set_icon(0, icon); + } else { + ti->set_icon(0, file_icon); } + ti->set_icon_modulate(0, file_color); if (mode == FILE_MODE_OPEN_DIR) { ti->set_custom_color(0, vbox->get_theme_color("files_disabled", "FileDialog")); diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index fbacb3ed9e..ee6783167a 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -1211,6 +1211,8 @@ void LineEdit::delete_char() { } void LineEdit::delete_text(int p_from_column, int p_to_column) { + ERR_FAIL_COND_MSG(p_from_column < 0 || p_from_column > p_to_column || p_to_column > text.length(), + vformat("Positional parameters (from: %d, to: %d) are inverted or outside the text length (%d).", p_from_column, p_to_column, text.length())); if (text.size() > 0) { Ref<Font> font = get_theme_font("font"); if (font != nullptr) { @@ -1783,6 +1785,8 @@ void LineEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("set_max_length", "chars"), &LineEdit::set_max_length); ClassDB::bind_method(D_METHOD("get_max_length"), &LineEdit::get_max_length); ClassDB::bind_method(D_METHOD("append_at_cursor", "text"), &LineEdit::append_at_cursor); + ClassDB::bind_method(D_METHOD("delete_char_at_cursor"), &LineEdit::delete_char); + ClassDB::bind_method(D_METHOD("delete_text", "from_column", "to_column"), &LineEdit::delete_text); ClassDB::bind_method(D_METHOD("set_editable", "enabled"), &LineEdit::set_editable); ClassDB::bind_method(D_METHOD("is_editable"), &LineEdit::is_editable); ClassDB::bind_method(D_METHOD("set_secret", "enabled"), &LineEdit::set_secret); diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 2f5af0eda0..92508f7fd2 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -1970,6 +1970,9 @@ void RichTextLabel::clear() { selection.click = nullptr; selection.active = false; current_idx = 1; + if (scroll_follow) { + scroll_following = true; + } if (fixed_width != -1) { minimum_size_changed(); @@ -2409,6 +2412,17 @@ Error RichTextLabel::append_bbcode(const String &p_bbcode) { } } + Vector<ItemFX *> fx_items; + for (List<Item *>::Element *E = main->subitems.front(); E; E = E->next()) { + Item *subitem = static_cast<Item *>(E->get()); + _fetch_item_fx_stack(subitem, fx_items); + + if (fx_items.size()) { + set_process_internal(true); + break; + } + } + return OK; } diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index 8c4d9a5ece..0d48fde642 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -435,7 +435,30 @@ void TabContainer::_notification(int p_what) { void TabContainer::_on_theme_changed() { if (get_tab_count() > 0) { - set_current_tab(get_current_tab()); + _repaint(); + update(); + } +} + +void TabContainer::_repaint() { + Ref<StyleBox> sb = get_theme_stylebox("panel"); + Vector<Control *> tabs = _get_tabs(); + for (int i = 0; i < tabs.size(); i++) { + Control *c = tabs[i]; + if (i == current) { + c->show(); + c->set_anchors_and_margins_preset(Control::PRESET_WIDE); + if (tabs_visible) { + c->set_margin(MARGIN_TOP, _get_top_margin()); + } + c->set_margin(Margin(MARGIN_TOP), c->get_margin(Margin(MARGIN_TOP)) + sb->get_margin(Margin(MARGIN_TOP))); + c->set_margin(Margin(MARGIN_LEFT), c->get_margin(Margin(MARGIN_LEFT)) + sb->get_margin(Margin(MARGIN_LEFT))); + c->set_margin(Margin(MARGIN_RIGHT), c->get_margin(Margin(MARGIN_RIGHT)) - sb->get_margin(Margin(MARGIN_RIGHT))); + c->set_margin(Margin(MARGIN_BOTTOM), c->get_margin(Margin(MARGIN_BOTTOM)) - sb->get_margin(Margin(MARGIN_BOTTOM))); + + } else { + c->hide(); + } } } @@ -551,25 +574,7 @@ void TabContainer::set_current_tab(int p_current) { int pending_previous = current; current = p_current; - Ref<StyleBox> sb = get_theme_stylebox("panel"); - Vector<Control *> tabs = _get_tabs(); - for (int i = 0; i < tabs.size(); i++) { - Control *c = tabs[i]; - if (i == current) { - c->show(); - c->set_anchors_and_margins_preset(Control::PRESET_WIDE); - if (tabs_visible) { - c->set_margin(MARGIN_TOP, _get_top_margin()); - } - c->set_margin(Margin(MARGIN_TOP), c->get_margin(Margin(MARGIN_TOP)) + sb->get_margin(Margin(MARGIN_TOP))); - c->set_margin(Margin(MARGIN_LEFT), c->get_margin(Margin(MARGIN_LEFT)) + sb->get_margin(Margin(MARGIN_LEFT))); - c->set_margin(Margin(MARGIN_RIGHT), c->get_margin(Margin(MARGIN_RIGHT)) - sb->get_margin(Margin(MARGIN_RIGHT))); - c->set_margin(Margin(MARGIN_BOTTOM), c->get_margin(Margin(MARGIN_BOTTOM)) - sb->get_margin(Margin(MARGIN_BOTTOM))); - - } else { - c->hide(); - } - } + _repaint(); _change_notify("current_tab"); diff --git a/scene/gui/tab_container.h b/scene/gui/tab_container.h index e8cde74c83..55a5d35b30 100644 --- a/scene/gui/tab_container.h +++ b/scene/gui/tab_container.h @@ -65,6 +65,7 @@ private: Vector<Control *> _get_tabs() const; int _get_tab_width(int p_index) const; void _on_theme_changed(); + void _repaint(); void _on_mouse_exited(); void _update_current_tab(); diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 45fcb448f8..7b9db7c081 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -2364,7 +2364,6 @@ void Tree::_gui_input(Ref<InputEvent> p_event) { if (pos.x < len) { cache.hover_type = Cache::CLICK_TITLE; cache.hover_index = i; - update(); break; } } @@ -2383,6 +2382,9 @@ void Tree::_gui_input(Ref<InputEvent> p_event) { mpos.y += v_scroll->get_value(); } + TreeItem *old_it = cache.hover_item; + int old_col = cache.hover_cell; + int col, h, section; TreeItem *it = _find_item_at_pos(root, mpos, col, h, section); @@ -2397,18 +2399,21 @@ void Tree::_gui_input(Ref<InputEvent> p_event) { } } - if (it != cache.hover_item) { - cache.hover_item = it; - update(); - } + cache.hover_item = it; + cache.hover_cell = col; - if (it && col != cache.hover_cell) { - cache.hover_cell = col; - update(); + if (it != old_it || col != old_col) { + // Only need to update if mouse enters/exits a button + bool was_over_button = old_it && old_it->cells[old_col].custom_button; + bool is_over_button = it && it->cells[col].custom_button; + if (was_over_button || is_over_button) { + update(); + } } } } + // Update if mouse enters/exits columns if (cache.hover_type != old_hover || cache.hover_index != old_index) { update(); } diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp index 524ff346d1..721f573f39 100644 --- a/scene/main/canvas_item.cpp +++ b/scene/main/canvas_item.cpp @@ -1222,8 +1222,8 @@ void CanvasItem::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::INT, "light_mask", PROPERTY_HINT_LAYERS_2D_RENDER), "set_light_mask", "get_light_mask"); ADD_GROUP("Texture", "texture_"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_filter", PROPERTY_HINT_ENUM, "ParentNode,Nearest,Linear,MipmapNearest,MipmapLinear,MipmapNearestAniso,MipmapLinearAniso"), "set_texture_filter", "get_texture_filter"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_repeat", PROPERTY_HINT_ENUM, "ParentNode,Disabled,Enabled,Mirror"), "set_texture_repeat", "get_texture_repeat"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_filter", PROPERTY_HINT_ENUM, "Inherit,Nearest,Linear,MipmapNearest,MipmapLinear,MipmapNearestAniso,MipmapLinearAniso"), "set_texture_filter", "get_texture_filter"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_repeat", PROPERTY_HINT_ENUM, "Inherit,Disabled,Enabled,Mirror"), "set_texture_repeat", "get_texture_repeat"); ADD_GROUP("Material", ""); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "material", PROPERTY_HINT_RESOURCE_TYPE, "ShaderMaterial,CanvasItemMaterial"), "set_material", "get_material"); diff --git a/scene/main/node.cpp b/scene/main/node.cpp index c9d430c656..1bf828a03b 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -2238,46 +2238,53 @@ void Node::_duplicate_and_reown(Node *p_new_parent, const Map<Node *, Node *> &p // because re-targeting of connections from some descendant to another is not possible // if the emitter node comes later in tree order than the receiver void Node::_duplicate_signals(const Node *p_original, Node *p_copy) const { - if (this != p_original && (get_owner() != p_original && get_owner() != p_original->get_owner())) { + if ((this != p_original) && !(p_original->is_a_parent_of(this))) { return; } - List<Connection> conns; - get_all_signal_connections(&conns); + List<const Node *> process_list; + process_list.push_back(this); + while (!process_list.empty()) { + const Node *n = process_list.front()->get(); + process_list.pop_front(); - for (List<Connection>::Element *E = conns.front(); E; E = E->next()) { - if (E->get().flags & CONNECT_PERSIST) { - //user connected - NodePath p = p_original->get_path_to(this); - Node *copy = p_copy->get_node(p); + List<Connection> conns; + n->get_all_signal_connections(&conns); - Node *target = Object::cast_to<Node>(E->get().callable.get_object()); - if (!target) { - continue; - } - NodePath ptarget = p_original->get_path_to(target); + for (List<Connection>::Element *E = conns.front(); E; E = E->next()) { + if (E->get().flags & CONNECT_PERSIST) { + //user connected + NodePath p = p_original->get_path_to(n); + Node *copy = p_copy->get_node(p); - Node *copytarget = target; + Node *target = Object::cast_to<Node>(E->get().callable.get_object()); + if (!target) { + continue; + } + NodePath ptarget = p_original->get_path_to(target); - // Attempt to find a path to the duplicate target, if it seems it's not part - // of the duplicated and not yet parented hierarchy then at least try to connect - // to the same target as the original + Node *copytarget = target; - if (p_copy->has_node(ptarget)) { - copytarget = p_copy->get_node(ptarget); - } + // Attempt to find a path to the duplicate target, if it seems it's not part + // of the duplicated and not yet parented hierarchy then at least try to connect + // to the same target as the original - if (copy && copytarget) { - const Callable copy_callable = Callable(copytarget, E->get().callable.get_method()); - if (!copy->is_connected(E->get().signal.get_name(), copy_callable)) { - copy->connect(E->get().signal.get_name(), copy_callable, E->get().binds, E->get().flags); + if (p_copy->has_node(ptarget)) { + copytarget = p_copy->get_node(ptarget); + } + + if (copy && copytarget) { + const Callable copy_callable = Callable(copytarget, E->get().callable.get_method()); + if (!copy->is_connected(E->get().signal.get_name(), copy_callable)) { + copy->connect(E->get().signal.get_name(), copy_callable, E->get().binds, E->get().flags); + } } } } - } - for (int i = 0; i < get_child_count(); i++) { - get_child(i)->_duplicate_signals(p_original, p_copy); + for (int i = 0; i < n->get_child_count(); i++) { + process_list.push_back(n->get_child(i)); + } } } diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp index de39fac627..fd5c861eb5 100644 --- a/scene/resources/default_theme/default_theme.cpp +++ b/scene/resources/default_theme/default_theme.cpp @@ -726,7 +726,9 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const // FileDialog theme->set_icon("folder", "FileDialog", make_icon(icon_folder_png)); + theme->set_icon("file", "FileDialog", make_icon(icon_file_png)); theme->set_color("folder_icon_modulate", "FileDialog", Color(1, 1, 1)); + theme->set_color("file_icon_modulate", "FileDialog", Color(1, 1, 1)); theme->set_color("files_disabled", "FileDialog", Color(0, 0, 0, 0.7)); // ColorPicker diff --git a/scene/resources/default_theme/icon_file.png b/scene/resources/default_theme/icon_file.png Binary files differnew file mode 100644 index 0000000000..bb4c361a8d --- /dev/null +++ b/scene/resources/default_theme/icon_file.png diff --git a/scene/resources/default_theme/theme_data.h b/scene/resources/default_theme/theme_data.h index 0a4e557451..edcdb90db9 100644 --- a/scene/resources/default_theme/theme_data.h +++ b/scene/resources/default_theme/theme_data.h @@ -150,6 +150,10 @@ static const unsigned char icon_color_pick_png[] = { 0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd, 0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x8, 0x4, 0x0, 0x0, 0x0, 0xb5, 0xfa, 0x37, 0xea, 0x0, 0x0, 0x0, 0xaa, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x9d, 0x8e, 0x35, 0x82, 0x2, 0x41, 0x10, 0x45, 0x3b, 0xda, 0x3d, 0xca, 0xba, 0x44, 0x2b, 0x70, 0x9, 0xdc, 0xe1, 0x20, 0xe8, 0x91, 0x90, 0x78, 0x6e, 0x40, 0x4c, 0x82, 0x74, 0xff, 0xc2, 0x9d, 0x18, 0xa7, 0x6, 0x77, 0x7b, 0x23, 0x2d, 0xaf, 0x4c, 0xdc, 0xc, 0xbd, 0x65, 0x1e, 0x84, 0x80, 0x19, 0x55, 0x34, 0x60, 0x3e, 0xd0, 0xea, 0x17, 0x3d, 0x4a, 0xc8, 0x80, 0x1a, 0x60, 0xc2, 0x4f, 0xfd, 0x30, 0xe0, 0x1b, 0x2d, 0x16, 0xab, 0xa7, 0x2c, 0xe, 0x41, 0x68, 0xa5, 0xb9, 0xca, 0x91, 0x16, 0x2e, 0x54, 0xe0, 0x59, 0x54, 0x91, 0xfe, 0xa3, 0x3a, 0xff, 0xce, 0xab, 0x5b, 0xf, 0xa0, 0x4, 0x8f, 0x7b, 0x4c, 0xd3, 0x1b, 0xca, 0x32, 0xcc, 0x55, 0x7a, 0xf4, 0x76, 0x42, 0x2b, 0x97, 0x3e, 0xae, 0xfa, 0xdd, 0xd2, 0xd2, 0x8e, 0x72, 0xe1, 0x83, 0xaf, 0x9f, 0xa9, 0x28, 0x7d, 0x5b, 0xe2, 0x2a, 0xd, 0xc3, 0xa2, 0x78, 0xfe, 0x7d, 0x51, 0xfc, 0x0, 0x8a, 0x41, 0xcb, 0x3d, 0xb2, 0xae, 0x1c, 0xd3, 0xc, 0xa5, 0x30, 0x81, 0xc6, 0xda, 0x29, 0x8e, 0x83, 0x34, 0x25, 0x29, 0x4a, 0x46, 0x71, 0x1f, 0x33, 0xbe, 0x51, 0x89, 0xaf, 0x78, 0xe3, 0x97, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; +static const unsigned char icon_file_png[] = { + 0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd, 0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x2, 0x3, 0x0, 0x0, 0x0, 0x62, 0x9d, 0x17, 0xf2, 0x0, 0x0, 0x0, 0x9, 0x70, 0x48, 0x59, 0x73, 0x0, 0x0, 0xe, 0xc3, 0x0, 0x0, 0xe, 0xc3, 0x1, 0xc7, 0x6f, 0xa8, 0x64, 0x0, 0x0, 0x0, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x0, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x9b, 0xee, 0x3c, 0x1a, 0x0, 0x0, 0x0, 0x9, 0x50, 0x4c, 0x54, 0x45, 0x0, 0x0, 0x0, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0x42, 0xf, 0xc7, 0x49, 0x0, 0x0, 0x0, 0x2, 0x74, 0x52, 0x4e, 0x53, 0x0, 0x88, 0x95, 0xf0, 0xc6, 0x2a, 0x0, 0x0, 0x0, 0x21, 0x49, 0x44, 0x41, 0x54, 0x8, 0xd7, 0x63, 0x60, 0x0, 0x1, 0xae, 0x55, 0x2d, 0x20, 0xa2, 0x13, 0x44, 0x74, 0x39, 0x80, 0x88, 0x9, 0x40, 0xa2, 0x1, 0xc4, 0x5d, 0xb5, 0x80, 0x68, 0x2, 0x4, 0x0, 0x95, 0x34, 0x18, 0xe4, 0x5e, 0x46, 0xf7, 0x27, 0x0, 0x0, 0x0, 0x0, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 +}; + static const unsigned char icon_folder_png[] = { 0x89, 0x50, 0x4e, 0x47, 0xd, 0xa, 0x1a, 0xa, 0x0, 0x0, 0x0, 0xd, 0x49, 0x48, 0x44, 0x52, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x8, 0x4, 0x0, 0x0, 0x0, 0xb5, 0xfa, 0x37, 0xea, 0x0, 0x0, 0x0, 0x2e, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0xa0, 0x6, 0x78, 0x70, 0xf4, 0xc1, 0x7f, 0x24, 0x78, 0x18, 0x53, 0xc1, 0x7f, 0x54, 0x48, 0x50, 0xc1, 0x43, 0x1b, 0xbc, 0xa, 0x50, 0xad, 0x23, 0xa4, 0xe0, 0xff, 0x70, 0x52, 0x70, 0x18, 0x97, 0xf4, 0xfd, 0x43, 0xd4, 0x88, 0x4a, 0x0, 0x5a, 0xcb, 0x18, 0xab, 0x5e, 0xd9, 0x1a, 0x53, 0x0, 0x0, 0x0, 0x0, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 }; diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 058e89cf2e..cb201bc539 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -98,6 +98,9 @@ Node *SceneState::instance(GenEditState p_edit_state) const { } #endif parent = nparent; + } else { + // i == 0 is root node. Confirm that it doesn't have a parent defined. + ERR_FAIL_COND_V_MSG(n.parent != -1, nullptr, vformat("Invalid scene: root node %s cannot specify a parent node.", snames[n.name])); } Node *node = nullptr; diff --git a/scene/resources/shader.cpp b/scene/resources/shader.cpp index 4ca8032d65..4249542567 100644 --- a/scene/resources/shader.cpp +++ b/scene/resources/shader.cpp @@ -125,7 +125,7 @@ bool Shader::is_text_shader() const { } bool Shader::has_param(const StringName &p_param) const { - return params_cache.has(p_param); + return params_cache.has("shader_param/" + p_param); } void Shader::_update_shader() const { diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index 77d4dee21e..8236f9a9e3 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -1268,7 +1268,7 @@ Error VisualShader::_write_node(Type type, StringBuilder &global_code, StringBui String class_name = vsnode->get_class_name(); if (class_name == "VisualShaderNodeCustom") { - class_name = vsnode->get_script_instance()->get_script()->get_language()->get_global_class_name(vsnode->get_script_instance()->get_script()->get_path()); + class_name = vsnode->get_script_instance()->get_script()->get_path(); } if (!r_classes.has(class_name)) { global_code_per_node += vsnode->generate_global_per_node(get_mode(), type, node); diff --git a/servers/display_server.cpp b/servers/display_server.cpp index cc818cbe04..0ea11a2670 100644 --- a/servers/display_server.cpp +++ b/servers/display_server.cpp @@ -276,8 +276,23 @@ Error DisplayServer::dialog_input_text(String p_title, String p_description, Str return OK; } -DisplayServer::LatinKeyboardVariant DisplayServer::get_latin_keyboard_variant() const { - return LATIN_KEYBOARD_QWERTY; +int DisplayServer::keyboard_get_layout_count() const { + return 0; +} + +int DisplayServer::keyboard_get_current_layout() const { + return -1; +} + +void DisplayServer::keyboard_set_current_layout(int p_index) { +} + +String DisplayServer::keyboard_get_layout_language(int p_index) const { + return ""; +} + +String DisplayServer::keyboard_get_layout_name(int p_index) const { + return "Not supported"; } void DisplayServer::force_process_and_drop_events() { @@ -461,7 +476,11 @@ void DisplayServer::_bind_methods() { ClassDB::bind_method(D_METHOD("dialog_show", "title", "description", "buttons", "callback"), &DisplayServer::dialog_show); ClassDB::bind_method(D_METHOD("dialog_input_text", "title", "description", "existing_text", "callback"), &DisplayServer::dialog_input_text); - ClassDB::bind_method(D_METHOD("get_latin_keyboard_variant"), &DisplayServer::get_latin_keyboard_variant); + ClassDB::bind_method(D_METHOD("keyboard_get_layout_count"), &DisplayServer::keyboard_get_layout_count); + ClassDB::bind_method(D_METHOD("keyboard_get_current_layout"), &DisplayServer::keyboard_get_current_layout); + ClassDB::bind_method(D_METHOD("keyboard_set_current_layout", "index"), &DisplayServer::keyboard_set_current_layout); + ClassDB::bind_method(D_METHOD("keyboard_get_layout_language", "index"), &DisplayServer::keyboard_get_layout_language); + ClassDB::bind_method(D_METHOD("keyboard_get_layout_name", "index"), &DisplayServer::keyboard_get_layout_name); ClassDB::bind_method(D_METHOD("process_events"), &DisplayServer::process_events); ClassDB::bind_method(D_METHOD("force_process_and_drop_events"), &DisplayServer::force_process_and_drop_events); @@ -543,14 +562,6 @@ void DisplayServer::_bind_methods() { BIND_ENUM_CONSTANT(WINDOW_FLAG_NO_FOCUS); BIND_ENUM_CONSTANT(WINDOW_FLAG_MAX); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_QWERTY); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_QWERTZ); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_AZERTY); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_QZERTY); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_DVORAK); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_NEO); - BIND_ENUM_CONSTANT(LATIN_KEYBOARD_COLEMAK); - BIND_ENUM_CONSTANT(WINDOW_EVENT_MOUSE_ENTER); BIND_ENUM_CONSTANT(WINDOW_EVENT_MOUSE_EXIT); BIND_ENUM_CONSTANT(WINDOW_EVENT_FOCUS_IN); diff --git a/servers/display_server.h b/servers/display_server.h index b25b1931c8..166274f8ed 100644 --- a/servers/display_server.h +++ b/servers/display_server.h @@ -324,17 +324,11 @@ public: virtual Error dialog_show(String p_title, String p_description, Vector<String> p_buttons, const Callable &p_callback); virtual Error dialog_input_text(String p_title, String p_description, String p_partial, const Callable &p_callback); - enum LatinKeyboardVariant { - LATIN_KEYBOARD_QWERTY, - LATIN_KEYBOARD_QWERTZ, - LATIN_KEYBOARD_AZERTY, - LATIN_KEYBOARD_QZERTY, - LATIN_KEYBOARD_DVORAK, - LATIN_KEYBOARD_NEO, - LATIN_KEYBOARD_COLEMAK, - }; - - virtual LatinKeyboardVariant get_latin_keyboard_variant() const; + virtual int keyboard_get_layout_count() const; + virtual int keyboard_get_current_layout() const; + virtual void keyboard_set_current_layout(int p_index); + virtual String keyboard_get_layout_language(int p_index) const; + virtual String keyboard_get_layout_name(int p_index) const; virtual void process_events() = 0; @@ -384,6 +378,5 @@ VARIANT_ENUM_CAST(DisplayServer::ScreenOrientation) VARIANT_ENUM_CAST(DisplayServer::WindowMode) VARIANT_ENUM_CAST(DisplayServer::WindowFlags) VARIANT_ENUM_CAST(DisplayServer::CursorShape) -VARIANT_ENUM_CAST(DisplayServer::LatinKeyboardVariant) #endif // DISPLAY_SERVER_H diff --git a/servers/physics_2d/broad_phase_2d_basic.cpp b/servers/physics_2d/broad_phase_2d_basic.cpp index 8c7e715a09..3bdfc1a973 100644 --- a/servers/physics_2d/broad_phase_2d_basic.cpp +++ b/servers/physics_2d/broad_phase_2d_basic.cpp @@ -152,8 +152,10 @@ void BroadPhase2DBasic::update() { void *data = nullptr; if (pair_callback) { data = pair_callback(elem_A->owner, elem_A->subindex, elem_B->owner, elem_B->subindex, unpair_userdata); + if (data) { + pair_map.insert(key, data); + } } - pair_map.insert(key, data); } } } diff --git a/servers/physics_2d/joints_2d_sw.cpp b/servers/physics_2d/joints_2d_sw.cpp index eda0b923a2..81e961e90d 100644 --- a/servers/physics_2d/joints_2d_sw.cpp +++ b/servers/physics_2d/joints_2d_sw.cpp @@ -390,29 +390,29 @@ void DampedSpringJoint2DSW::solve(real_t p_step) { B->apply_impulse(rB, j); } -void DampedSpringJoint2DSW::set_param(PhysicsServer2D::DampedStringParam p_param, real_t p_value) { +void DampedSpringJoint2DSW::set_param(PhysicsServer2D::DampedSpringParam p_param, real_t p_value) { switch (p_param) { - case PhysicsServer2D::DAMPED_STRING_REST_LENGTH: { + case PhysicsServer2D::DAMPED_SPRING_REST_LENGTH: { rest_length = p_value; } break; - case PhysicsServer2D::DAMPED_STRING_DAMPING: { + case PhysicsServer2D::DAMPED_SPRING_DAMPING: { damping = p_value; } break; - case PhysicsServer2D::DAMPED_STRING_STIFFNESS: { + case PhysicsServer2D::DAMPED_SPRING_STIFFNESS: { stiffness = p_value; } break; } } -real_t DampedSpringJoint2DSW::get_param(PhysicsServer2D::DampedStringParam p_param) const { +real_t DampedSpringJoint2DSW::get_param(PhysicsServer2D::DampedSpringParam p_param) const { switch (p_param) { - case PhysicsServer2D::DAMPED_STRING_REST_LENGTH: { + case PhysicsServer2D::DAMPED_SPRING_REST_LENGTH: { return rest_length; } break; - case PhysicsServer2D::DAMPED_STRING_DAMPING: { + case PhysicsServer2D::DAMPED_SPRING_DAMPING: { return damping; } break; - case PhysicsServer2D::DAMPED_STRING_STIFFNESS: { + case PhysicsServer2D::DAMPED_SPRING_STIFFNESS: { return stiffness; } break; } diff --git a/servers/physics_2d/joints_2d_sw.h b/servers/physics_2d/joints_2d_sw.h index 87556ccea1..3c8aab77c8 100644 --- a/servers/physics_2d/joints_2d_sw.h +++ b/servers/physics_2d/joints_2d_sw.h @@ -151,8 +151,8 @@ public: virtual bool setup(real_t p_step); virtual void solve(real_t p_step); - void set_param(PhysicsServer2D::DampedStringParam p_param, real_t p_value); - real_t get_param(PhysicsServer2D::DampedStringParam p_param) const; + void set_param(PhysicsServer2D::DampedSpringParam p_param, real_t p_value); + real_t get_param(PhysicsServer2D::DampedSpringParam p_param) const; DampedSpringJoint2DSW(const Vector2 &p_anchor_a, const Vector2 &p_anchor_b, Body2DSW *p_body_a, Body2DSW *p_body_b); ~DampedSpringJoint2DSW(); diff --git a/servers/physics_2d/physics_server_2d_sw.cpp b/servers/physics_2d/physics_server_2d_sw.cpp index a686903763..6983225668 100644 --- a/servers/physics_2d/physics_server_2d_sw.cpp +++ b/servers/physics_2d/physics_server_2d_sw.cpp @@ -1113,7 +1113,7 @@ real_t PhysicsServer2DSW::pin_joint_get_param(RID p_joint, PinJointParam p_param return pin_joint->get_param(p_param); } -void PhysicsServer2DSW::damped_string_joint_set_param(RID p_joint, DampedStringParam p_param, real_t p_value) { +void PhysicsServer2DSW::damped_spring_joint_set_param(RID p_joint, DampedSpringParam p_param, real_t p_value) { Joint2DSW *j = joint_owner.getornull(p_joint); ERR_FAIL_COND(!j); ERR_FAIL_COND(j->get_type() != JOINT_DAMPED_SPRING); @@ -1122,7 +1122,7 @@ void PhysicsServer2DSW::damped_string_joint_set_param(RID p_joint, DampedStringP dsj->set_param(p_param, p_value); } -real_t PhysicsServer2DSW::damped_string_joint_get_param(RID p_joint, DampedStringParam p_param) const { +real_t PhysicsServer2DSW::damped_spring_joint_get_param(RID p_joint, DampedSpringParam p_param) const { Joint2DSW *j = joint_owner.getornull(p_joint); ERR_FAIL_COND_V(!j, 0); ERR_FAIL_COND_V(j->get_type() != JOINT_DAMPED_SPRING, 0); diff --git a/servers/physics_2d/physics_server_2d_sw.h b/servers/physics_2d/physics_server_2d_sw.h index f9b0bc716c..093c775cb5 100644 --- a/servers/physics_2d/physics_server_2d_sw.h +++ b/servers/physics_2d/physics_server_2d_sw.h @@ -266,8 +266,8 @@ public: virtual RID damped_spring_joint_create(const Vector2 &p_anchor_a, const Vector2 &p_anchor_b, RID p_body_a, RID p_body_b = RID()); virtual void pin_joint_set_param(RID p_joint, PinJointParam p_param, real_t p_value); virtual real_t pin_joint_get_param(RID p_joint, PinJointParam p_param) const; - virtual void damped_string_joint_set_param(RID p_joint, DampedStringParam p_param, real_t p_value); - virtual real_t damped_string_joint_get_param(RID p_joint, DampedStringParam p_param) const; + virtual void damped_spring_joint_set_param(RID p_joint, DampedSpringParam p_param, real_t p_value); + virtual real_t damped_spring_joint_get_param(RID p_joint, DampedSpringParam p_param) const; virtual JointType joint_get_type(RID p_joint) const; diff --git a/servers/physics_2d/physics_server_2d_wrap_mt.h b/servers/physics_2d/physics_server_2d_wrap_mt.h index c2ae288f95..bc918b20f4 100644 --- a/servers/physics_2d/physics_server_2d_wrap_mt.h +++ b/servers/physics_2d/physics_server_2d_wrap_mt.h @@ -287,8 +287,8 @@ public: FUNC3(pin_joint_set_param, RID, PinJointParam, real_t); FUNC2RC(real_t, pin_joint_get_param, RID, PinJointParam); - FUNC3(damped_string_joint_set_param, RID, DampedStringParam, real_t); - FUNC2RC(real_t, damped_string_joint_get_param, RID, DampedStringParam); + FUNC3(damped_spring_joint_set_param, RID, DampedSpringParam, real_t); + FUNC2RC(real_t, damped_spring_joint_get_param, RID, DampedSpringParam); FUNC1RC(JointType, joint_get_type, RID); diff --git a/servers/physics_2d/space_2d_sw.cpp b/servers/physics_2d/space_2d_sw.cpp index f4a21da254..966dcbd651 100644 --- a/servers/physics_2d/space_2d_sw.cpp +++ b/servers/physics_2d/space_2d_sw.cpp @@ -1111,6 +1111,10 @@ bool Space2DSW::test_body_motion(Body2DSW *p_body, const Transform2D &p_from, co } void *Space2DSW::_broadphase_pair(CollisionObject2DSW *A, int p_subindex_A, CollisionObject2DSW *B, int p_subindex_B, void *p_self) { + if (!A->test_collision_mask(B)) { + return nullptr; + } + CollisionObject2DSW::Type type_A = A->get_type(); CollisionObject2DSW::Type type_B = B->get_type(); if (type_A > type_B) { @@ -1143,6 +1147,10 @@ void *Space2DSW::_broadphase_pair(CollisionObject2DSW *A, int p_subindex_A, Coll } void Space2DSW::_broadphase_unpair(CollisionObject2DSW *A, int p_subindex_A, CollisionObject2DSW *B, int p_subindex_B, void *p_data, void *p_self) { + if (!p_data) { + return; + } + Space2DSW *self = (Space2DSW *)p_self; self->collision_pairs--; Constraint2DSW *c = (Constraint2DSW *)p_data; diff --git a/servers/physics_3d/broad_phase_3d_basic.cpp b/servers/physics_3d/broad_phase_3d_basic.cpp index 0f271b33af..f5ea1897a9 100644 --- a/servers/physics_3d/broad_phase_3d_basic.cpp +++ b/servers/physics_3d/broad_phase_3d_basic.cpp @@ -190,8 +190,10 @@ void BroadPhase3DBasic::update() { void *data = nullptr; if (pair_callback) { data = pair_callback(elem_A->owner, elem_A->subindex, elem_B->owner, elem_B->subindex, unpair_userdata); + if (data) { + pair_map.insert(key, data); + } } - pair_map.insert(key, data); } } } diff --git a/servers/physics_3d/space_3d_sw.cpp b/servers/physics_3d/space_3d_sw.cpp index 4d272bdabd..48f250ba35 100644 --- a/servers/physics_3d/space_3d_sw.cpp +++ b/servers/physics_3d/space_3d_sw.cpp @@ -987,6 +987,10 @@ bool Space3DSW::test_body_motion(Body3DSW *p_body, const Transform &p_from, cons } void *Space3DSW::_broadphase_pair(CollisionObject3DSW *A, int p_subindex_A, CollisionObject3DSW *B, int p_subindex_B, void *p_self) { + if (!A->test_collision_mask(B)) { + return nullptr; + } + CollisionObject3DSW::Type type_A = A->get_type(); CollisionObject3DSW::Type type_B = B->get_type(); if (type_A > type_B) { @@ -1019,6 +1023,10 @@ void *Space3DSW::_broadphase_pair(CollisionObject3DSW *A, int p_subindex_A, Coll } void Space3DSW::_broadphase_unpair(CollisionObject3DSW *A, int p_subindex_A, CollisionObject3DSW *B, int p_subindex_B, void *p_data, void *p_self) { + if (!p_data) { + return; + } + Space3DSW *self = (Space3DSW *)p_self; self->collision_pairs--; Constraint3DSW *c = (Constraint3DSW *)p_data; diff --git a/servers/physics_server_2d.cpp b/servers/physics_server_2d.cpp index c2de7fbd00..080b8c61ad 100644 --- a/servers/physics_server_2d.cpp +++ b/servers/physics_server_2d.cpp @@ -654,8 +654,8 @@ void PhysicsServer2D::_bind_methods() { ClassDB::bind_method(D_METHOD("groove_joint_create", "groove1_a", "groove2_a", "anchor_b", "body_a", "body_b"), &PhysicsServer2D::groove_joint_create, DEFVAL(RID()), DEFVAL(RID())); ClassDB::bind_method(D_METHOD("damped_spring_joint_create", "anchor_a", "anchor_b", "body_a", "body_b"), &PhysicsServer2D::damped_spring_joint_create, DEFVAL(RID())); - ClassDB::bind_method(D_METHOD("damped_string_joint_set_param", "joint", "param", "value"), &PhysicsServer2D::damped_string_joint_set_param); - ClassDB::bind_method(D_METHOD("damped_string_joint_get_param", "joint", "param"), &PhysicsServer2D::damped_string_joint_get_param); + ClassDB::bind_method(D_METHOD("damped_spring_joint_set_param", "joint", "param", "value"), &PhysicsServer2D::damped_spring_joint_set_param); + ClassDB::bind_method(D_METHOD("damped_spring_joint_get_param", "joint", "param"), &PhysicsServer2D::damped_spring_joint_get_param); ClassDB::bind_method(D_METHOD("joint_get_type", "joint"), &PhysicsServer2D::joint_get_type); @@ -727,9 +727,9 @@ void PhysicsServer2D::_bind_methods() { BIND_ENUM_CONSTANT(JOINT_PARAM_MAX_BIAS); BIND_ENUM_CONSTANT(JOINT_PARAM_MAX_FORCE); - BIND_ENUM_CONSTANT(DAMPED_STRING_REST_LENGTH); - BIND_ENUM_CONSTANT(DAMPED_STRING_STIFFNESS); - BIND_ENUM_CONSTANT(DAMPED_STRING_DAMPING); + BIND_ENUM_CONSTANT(DAMPED_SPRING_REST_LENGTH); + BIND_ENUM_CONSTANT(DAMPED_SPRING_STIFFNESS); + BIND_ENUM_CONSTANT(DAMPED_SPRING_DAMPING); BIND_ENUM_CONSTANT(CCD_MODE_DISABLED); BIND_ENUM_CONSTANT(CCD_MODE_CAST_RAY); diff --git a/servers/physics_server_2d.h b/servers/physics_server_2d.h index 3553ec11a1..549a78aa1f 100644 --- a/servers/physics_server_2d.h +++ b/servers/physics_server_2d.h @@ -552,13 +552,13 @@ public: virtual void pin_joint_set_param(RID p_joint, PinJointParam p_param, real_t p_value) = 0; virtual real_t pin_joint_get_param(RID p_joint, PinJointParam p_param) const = 0; - enum DampedStringParam { - DAMPED_STRING_REST_LENGTH, - DAMPED_STRING_STIFFNESS, - DAMPED_STRING_DAMPING + enum DampedSpringParam { + DAMPED_SPRING_REST_LENGTH, + DAMPED_SPRING_STIFFNESS, + DAMPED_SPRING_DAMPING }; - virtual void damped_string_joint_set_param(RID p_joint, DampedStringParam p_param, real_t p_value) = 0; - virtual real_t damped_string_joint_get_param(RID p_joint, DampedStringParam p_param) const = 0; + virtual void damped_spring_joint_set_param(RID p_joint, DampedSpringParam p_param, real_t p_value) = 0; + virtual real_t damped_spring_joint_get_param(RID p_joint, DampedSpringParam p_param) const = 0; virtual JointType joint_get_type(RID p_joint) const = 0; @@ -678,7 +678,7 @@ VARIANT_ENUM_CAST(PhysicsServer2D::BodyState); VARIANT_ENUM_CAST(PhysicsServer2D::CCDMode); VARIANT_ENUM_CAST(PhysicsServer2D::JointParam); VARIANT_ENUM_CAST(PhysicsServer2D::JointType); -VARIANT_ENUM_CAST(PhysicsServer2D::DampedStringParam); +VARIANT_ENUM_CAST(PhysicsServer2D::DampedSpringParam); //VARIANT_ENUM_CAST( PhysicsServer2D::ObjectType ); VARIANT_ENUM_CAST(PhysicsServer2D::AreaBodyStatus); VARIANT_ENUM_CAST(PhysicsServer2D::ProcessInfo); diff --git a/servers/rendering/rendering_device_binds.cpp b/servers/rendering/rendering_device_binds.cpp index 291f2ff705..0400cebfdc 100644 --- a/servers/rendering/rendering_device_binds.cpp +++ b/servers/rendering/rendering_device_binds.cpp @@ -103,7 +103,7 @@ Error RDShaderFile::parse_versions_from_text(const String &p_text, const String base_error = "Missing `=` in '" + l + "'. Version syntax is `version = \"<defines with C escaping>\";`."; break; } - if (l.find(";") != -1) { + if (l.find(";") == -1) { // We don't require a semicolon per se, but it's needed for clang-format to handle things properly. base_error = "Missing `;` in '" + l + "'. Version syntax is `version = \"<defines with C escaping>\";`."; break; diff --git a/thirdparty/README.md b/thirdparty/README.md index 64c2ce336d..c69ca17fd0 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -446,12 +446,32 @@ Files extracted from the upstream source: ## oidn - Upstream: https://github.com/OpenImageDenoise/oidn -- Version: TBD +- Version: 1.1.0 (c58c5216db05ceef4cde5a096862f2eeffd14c06, 2019) - License: Apache 2.0 Files extracted from upstream source: -- TBD +common/* (except tasking.* and CMakeLists.txt) +core/* +include/OpenImageDenoise/* (except version.h.in) +LICENSE.txt +mkl-dnn/include/* +mkl-dnn/src/* (except CMakeLists.txt) +weights/rtlightmap_hdr.tza +scripts/resource_to_cpp.py + +Modified files: +Modifications are marked with `// -- GODOT start --` and `// -- GODOT end --`. +Patch files are provided in `oidn/patches/`. + +core/autoencoder.cpp +core/autoencoder.h +core/common.h +core/device.cpp +core/device.h +core/transfer_function.cpp + +scripts/resource_to_cpp.py (used in modules/denoise/resource_to_cpp.py) ## opus diff --git a/thirdparty/oidn/0001-window.h-case-sensitive.patch b/thirdparty/oidn/0001-window.h-case-sensitive.patch deleted file mode 100644 index 7b9c8e96c1..0000000000 --- a/thirdparty/oidn/0001-window.h-case-sensitive.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/thirdparty/oidn/common/platform.h b/thirdparty/oidn/common/platform.h -index 205ac8981d..9373b617b5 100644 ---- a/thirdparty/oidn/common/platform.h -+++ b/thirdparty/oidn/common/platform.h -@@ -19,7 +19,7 @@ - #if defined(_WIN32) - #define WIN32_LEAN_AND_MEAN - #define NOMINMAX -- #include <Windows.h> -+ #include <windows.h> - #elif defined(__APPLE__) - #include <sys/sysctl.h> - #endif diff --git a/thirdparty/oidn/core/autoencoder.cpp b/thirdparty/oidn/core/autoencoder.cpp index 8ae2421fa6..d8da684cb8 100644 --- a/thirdparty/oidn/core/autoencoder.cpp +++ b/thirdparty/oidn/core/autoencoder.cpp @@ -90,12 +90,19 @@ namespace oidn { if (!dirty) return; - { + // -- GODOT start -- + //device->executeTask([&]() + //{ + // GODOT end -- + if (mayiuse(avx512_common)) net = buildNet<16>(); else net = buildNet<8>(); - } + + // GODOT start -- + //}); + // GODOT end -- dirty = false; } @@ -107,8 +114,10 @@ namespace oidn { if (!net) return; - - { + // -- GODOT start -- + //device->executeTask([&]() + //{ + // -- GODOT end -- Progress progress; progress.func = progressFunc; progress.userPtr = progressUserPtr; @@ -154,7 +163,9 @@ namespace oidn { tileIndex++; } } - } + // -- GODOT start -- + //}); + // -- GODOT end -- } void AutoencoderFilter::computeTileSize() @@ -462,8 +473,11 @@ namespace oidn { return std::make_shared<GammaTransferFunction>(); } +// -- GODOT start -- // Godot doesn't need Raytracing filters. Removing them saves space in the weights files. #if 0 +// -- GODOT end -- + // -------------------------------------------------------------------------- // RTFilter // -------------------------------------------------------------------------- @@ -491,7 +505,9 @@ namespace oidn { weightData.hdr_alb = weights::rt_hdr_alb; weightData.hdr_alb_nrm = weights::rt_hdr_alb_nrm; } +// -- GODOT start -- #endif +// -- GODOT end -- // -------------------------------------------------------------------------- // RTLightmapFilter diff --git a/thirdparty/oidn/core/autoencoder.h b/thirdparty/oidn/core/autoencoder.h index 97432f2bbd..98b610844e 100644 --- a/thirdparty/oidn/core/autoencoder.h +++ b/thirdparty/oidn/core/autoencoder.h @@ -93,14 +93,18 @@ namespace oidn { // RTFilter - Generic ray tracing denoiser // -------------------------------------------------------------------------- +// -- GODOT start -- // Godot doesn't need Raytracing filters. Removing them saves space in the weights files. #if 0 +// -- GODOT end -- class RTFilter : public AutoencoderFilter { public: explicit RTFilter(const Ref<Device>& device); }; +// -- GODOT start -- #endif +// -- GODOT end -- // -------------------------------------------------------------------------- // RTLightmapFilter - Ray traced lightmap denoiser diff --git a/thirdparty/oidn/core/common.h b/thirdparty/oidn/core/common.h index 6c87f377bc..a35dd908b4 100644 --- a/thirdparty/oidn/core/common.h +++ b/thirdparty/oidn/core/common.h @@ -27,6 +27,9 @@ #include "common/ref.h" #include "common/exception.h" #include "common/thread.h" +// -- GODOT start -- +//#include "common/tasking.h" +// -- GODOT end -- #include "math.h" namespace oidn { diff --git a/thirdparty/oidn/core/device.cpp b/thirdparty/oidn/core/device.cpp index 0812624bb5..3cd658b9c8 100644 --- a/thirdparty/oidn/core/device.cpp +++ b/thirdparty/oidn/core/device.cpp @@ -29,6 +29,9 @@ namespace oidn { Device::~Device() { + // -- GODOT start -- + //observer.reset(); + // -- GODOT end -- } void Device::setError(Device* device, Error code, const std::string& message) @@ -140,10 +143,29 @@ namespace oidn { if (isCommitted()) throw Exception(Error::InvalidOperation, "device can be committed only once"); + // -- GODOT start -- + #if 0 + // -- GODOT end -- + // Get the optimal thread affinities + if (setAffinity) + { + affinity = std::make_shared<ThreadAffinity>(1, verbose); // one thread per core + if (affinity->getNumThreads() == 0) + affinity.reset(); + } + // Create the task arena - const int maxNumThreads = 1; //affinity ? affinity->getNumThreads() : tbb::this_task_arena::max_concurrency(); + const int maxNumThreads = affinity ? affinity->getNumThreads() : tbb::this_task_arena::max_concurrency(); numThreads = (numThreads > 0) ? min(numThreads, maxNumThreads) : maxNumThreads; - + arena = std::make_shared<tbb::task_arena>(numThreads); + + // Automatically set the thread affinities + if (affinity) + observer = std::make_shared<PinningObserver>(affinity, *arena); + // -- GODOT start -- + #endif + numThreads = 1; + // -- GODOT end -- dirty = false; if (isVerbose()) @@ -177,12 +199,17 @@ namespace oidn { Ref<Filter> filter; +// -- GODOT start -- // Godot doesn't need Raytracing filters. Removing them saves space in the weights files. #if 0 +// -- GODOT end -- if (type == "RT") filter = makeRef<RTFilter>(Ref<Device>(this)); +// -- GODOT start -- +// Godot doesn't need Raytracing filters. Removing them saves space in the weights files. #endif - if (type == "RTLightmap") + if (type == "RTLightmap") +// -- GODOT end -- filter = makeRef<RTLightmapFilter>(Ref<Device>(this)); else throw Exception(Error::InvalidArgument, "unknown filter type"); @@ -199,6 +226,12 @@ namespace oidn { std::cout << " Build : " << getBuildName() << std::endl; std::cout << " Platform: " << getPlatformName() << std::endl; +// -- GODOT start -- +// std::cout << " Tasking :"; +// std::cout << " TBB" << TBB_VERSION_MAJOR << "." << TBB_VERSION_MINOR; +// std::cout << " TBB_header_interface_" << TBB_INTERFACE_VERSION << " TBB_lib_interface_" << tbb::TBB_runtime_interface_version(); +// std::cout << std::endl; +// -- GODOT end -- std::cout << std::endl; } diff --git a/thirdparty/oidn/core/device.h b/thirdparty/oidn/core/device.h index 93a83eb731..d9cfd8541a 100644 --- a/thirdparty/oidn/core/device.h +++ b/thirdparty/oidn/core/device.h @@ -41,6 +41,13 @@ namespace oidn { ErrorFunction errorFunc = nullptr; void* errorUserPtr = nullptr; +// -- GODOT start -- +// // Tasking +// std::shared_ptr<tbb::task_arena> arena; +// std::shared_ptr<PinningObserver> observer; +// std::shared_ptr<ThreadAffinity> affinity; +// -- GODOT end -- + // Parameters int numThreads = 0; // autodetect by default bool setAffinity = true; @@ -61,6 +68,20 @@ namespace oidn { void commit(); +// -- GODOT start -- +// template<typename F> +// void executeTask(F& f) +// { +// arena->execute(f); +// } + +// template<typename F> +// void executeTask(const F& f) +// { +// arena->execute(f); +// } +// -- GODOT end -- + Ref<Buffer> newBuffer(size_t byteSize); Ref<Buffer> newBuffer(void* ptr, size_t byteSize); Ref<Filter> newFilter(const std::string& type); @@ -69,7 +90,10 @@ namespace oidn { __forceinline std::mutex& getMutex() { return mutex; } private: - bool isCommitted() const { return false; } +// -- GODOT start -- + //bool isCommitted() const { return bool(arena); } + bool isCommitted() const { return false; } +// -- GODOT end -- void checkCommitted(); void print(); diff --git a/thirdparty/oidn/core/network.cpp b/thirdparty/oidn/core/network.cpp index 4da32073cd..ed8328c954 100644 --- a/thirdparty/oidn/core/network.cpp +++ b/thirdparty/oidn/core/network.cpp @@ -14,10 +14,12 @@ // limitations under the License. // // ======================================================================== // -#include "network.h" #include "upsample.h" #include "weights_reorder.h" +#include "network.h" +// -- GODOT start -- #include <cstring> +// -- GODOT end -- namespace oidn { diff --git a/thirdparty/oidn/core/transfer_function.cpp b/thirdparty/oidn/core/transfer_function.cpp index a33e3c84bc..487f0a9f75 100644 --- a/thirdparty/oidn/core/transfer_function.cpp +++ b/thirdparty/oidn/core/transfer_function.cpp @@ -24,9 +24,12 @@ namespace oidn { float AutoexposureNode::autoexposure(const Image& color) { assert(color.format == Format::Float3); - return 1.0f; +// -- GODOT start -- +// We don't want to mess with TTB and we don't use autoexposure, so we disable this code +#if 0 +// -- GODOT end -- - /*constexpr float key = 0.18f; + constexpr float key = 0.18f; constexpr float eps = 1e-8f; constexpr int K = 16; // downsampling amount @@ -89,7 +92,11 @@ namespace oidn { tbb::static_partitioner() ); - return (sum.second > 0) ? (key / exp2(sum.first / float(sum.second))) : 1.f;*/ + return (sum.second > 0) ? (key / exp2(sum.first / float(sum.second))) : 1.f; +// -- GODOT start -- +#endif + return 1.0; +// -- GODOT end -- } } // namespace oidn diff --git a/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp b/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp index 597c63e3f8..78cdedbae4 100644 --- a/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp +++ b/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp @@ -131,7 +131,7 @@ struct rnn_weights_reorder_t : public cpu_primitive_t { return status::success; } - format_tag_t itag_; + format_tag_t itag_ = mkldnn_format_tag_undef; private: void init_scratchpad() { diff --git a/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp b/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp index 5177275452..057cc3c4c7 100644 --- a/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp +++ b/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp @@ -96,9 +96,9 @@ struct simple_concat_t: public cpu_primitive_t { return status::success; } - int perm_[MKLDNN_MAX_NDIMS]; - int iperm_[MKLDNN_MAX_NDIMS]; - dims_t blocks_; + int perm_[MKLDNN_MAX_NDIMS] {}; + int iperm_[MKLDNN_MAX_NDIMS] {}; + dims_t blocks_ {}; dim_t nelems_to_concat(const memory_desc_wrapper &data_d) const { const int ndims = data_d.ndims(); diff --git a/thirdparty/oidn/patches/godot-changes-c58c5216.patch b/thirdparty/oidn/patches/godot-changes-c58c5216.patch new file mode 100644 index 0000000000..6a54703064 --- /dev/null +++ b/thirdparty/oidn/patches/godot-changes-c58c5216.patch @@ -0,0 +1,307 @@ +diff --git a/common/platform.h b/common/platform.h +index be14bc7..9373b61 100644 +--- a/common/platform.h ++++ b/common/platform.h +@@ -19,7 +19,7 @@ + #if defined(_WIN32) + #define WIN32_LEAN_AND_MEAN + #define NOMINMAX +- #include <Windows.h> ++ #include <windows.h> + #elif defined(__APPLE__) + #include <sys/sysctl.h> + #endif +@@ -129,4 +129,3 @@ namespace oidn { + std::string getBuildName(); + + } // namespace oidn +- +diff --git a/core/autoencoder.cpp b/core/autoencoder.cpp +index d6915e6..d8da684 100644 +--- a/core/autoencoder.cpp ++++ b/core/autoencoder.cpp +@@ -90,13 +90,19 @@ namespace oidn { + if (!dirty) + return; + +- device->executeTask([&]() +- { ++ // -- GODOT start -- ++ //device->executeTask([&]() ++ //{ ++ // GODOT end -- ++ + if (mayiuse(avx512_common)) + net = buildNet<16>(); + else + net = buildNet<8>(); +- }); ++ ++ // GODOT start -- ++ //}); ++ // GODOT end -- + + dirty = false; + } +@@ -108,9 +114,10 @@ namespace oidn { + + if (!net) + return; +- +- device->executeTask([&]() +- { ++ // -- GODOT start -- ++ //device->executeTask([&]() ++ //{ ++ // -- GODOT end -- + Progress progress; + progress.func = progressFunc; + progress.userPtr = progressUserPtr; +@@ -156,7 +163,9 @@ namespace oidn { + tileIndex++; + } + } +- }); ++ // -- GODOT start -- ++ //}); ++ // -- GODOT end -- + } + + void AutoencoderFilter::computeTileSize() +@@ -464,6 +473,11 @@ namespace oidn { + return std::make_shared<GammaTransferFunction>(); + } + ++// -- GODOT start -- ++// Godot doesn't need Raytracing filters. Removing them saves space in the weights files. ++#if 0 ++// -- GODOT end -- ++ + // -------------------------------------------------------------------------- + // RTFilter + // -------------------------------------------------------------------------- +@@ -491,6 +505,9 @@ namespace oidn { + weightData.hdr_alb = weights::rt_hdr_alb; + weightData.hdr_alb_nrm = weights::rt_hdr_alb_nrm; + } ++// -- GODOT start -- ++#endif ++// -- GODOT end -- + + // -------------------------------------------------------------------------- + // RTLightmapFilter +diff --git a/core/autoencoder.h b/core/autoencoder.h +index c199052..98b6108 100644 +--- a/core/autoencoder.h ++++ b/core/autoencoder.h +@@ -93,11 +93,18 @@ namespace oidn { + // RTFilter - Generic ray tracing denoiser + // -------------------------------------------------------------------------- + ++// -- GODOT start -- ++// Godot doesn't need Raytracing filters. Removing them saves space in the weights files. ++#if 0 ++// -- GODOT end -- + class RTFilter : public AutoencoderFilter + { + public: + explicit RTFilter(const Ref<Device>& device); + }; ++// -- GODOT start -- ++#endif ++// -- GODOT end -- + + // -------------------------------------------------------------------------- + // RTLightmapFilter - Ray traced lightmap denoiser +diff --git a/core/common.h b/core/common.h +index a3a7e8a..a35dd90 100644 +--- a/core/common.h ++++ b/core/common.h +@@ -27,7 +27,9 @@ + #include "common/ref.h" + #include "common/exception.h" + #include "common/thread.h" +-#include "common/tasking.h" ++// -- GODOT start -- ++//#include "common/tasking.h" ++// -- GODOT end -- + #include "math.h" + + namespace oidn { +diff --git a/core/device.cpp b/core/device.cpp +index c455695..3cd658b 100644 +--- a/core/device.cpp ++++ b/core/device.cpp +@@ -29,7 +29,9 @@ namespace oidn { + + Device::~Device() + { +- observer.reset(); ++ // -- GODOT start -- ++ //observer.reset(); ++ // -- GODOT end -- + } + + void Device::setError(Device* device, Error code, const std::string& message) +@@ -141,6 +143,9 @@ namespace oidn { + if (isCommitted()) + throw Exception(Error::InvalidOperation, "device can be committed only once"); + ++ // -- GODOT start -- ++ #if 0 ++ // -- GODOT end -- + // Get the optimal thread affinities + if (setAffinity) + { +@@ -157,7 +162,10 @@ namespace oidn { + // Automatically set the thread affinities + if (affinity) + observer = std::make_shared<PinningObserver>(affinity, *arena); +- ++ // -- GODOT start -- ++ #endif ++ numThreads = 1; ++ // -- GODOT end -- + dirty = false; + + if (isVerbose()) +@@ -191,9 +199,17 @@ namespace oidn { + + Ref<Filter> filter; + ++// -- GODOT start -- ++// Godot doesn't need Raytracing filters. Removing them saves space in the weights files. ++#if 0 ++// -- GODOT end -- + if (type == "RT") + filter = makeRef<RTFilter>(Ref<Device>(this)); +- else if (type == "RTLightmap") ++// -- GODOT start -- ++// Godot doesn't need Raytracing filters. Removing them saves space in the weights files. ++#endif ++ if (type == "RTLightmap") ++// -- GODOT end -- + filter = makeRef<RTLightmapFilter>(Ref<Device>(this)); + else + throw Exception(Error::InvalidArgument, "unknown filter type"); +@@ -210,11 +226,12 @@ namespace oidn { + std::cout << " Build : " << getBuildName() << std::endl; + std::cout << " Platform: " << getPlatformName() << std::endl; + +- std::cout << " Tasking :"; +- std::cout << " TBB" << TBB_VERSION_MAJOR << "." << TBB_VERSION_MINOR; +- std::cout << " TBB_header_interface_" << TBB_INTERFACE_VERSION << " TBB_lib_interface_" << tbb::TBB_runtime_interface_version(); +- std::cout << std::endl; +- ++// -- GODOT start -- ++// std::cout << " Tasking :"; ++// std::cout << " TBB" << TBB_VERSION_MAJOR << "." << TBB_VERSION_MINOR; ++// std::cout << " TBB_header_interface_" << TBB_INTERFACE_VERSION << " TBB_lib_interface_" << tbb::TBB_runtime_interface_version(); ++// std::cout << std::endl; ++// -- GODOT end -- + std::cout << std::endl; + } + +diff --git a/core/device.h b/core/device.h +index c2df714..d9cfd85 100644 +--- a/core/device.h ++++ b/core/device.h +@@ -41,10 +41,12 @@ namespace oidn { + ErrorFunction errorFunc = nullptr; + void* errorUserPtr = nullptr; + +- // Tasking +- std::shared_ptr<tbb::task_arena> arena; +- std::shared_ptr<PinningObserver> observer; +- std::shared_ptr<ThreadAffinity> affinity; ++// -- GODOT start -- ++// // Tasking ++// std::shared_ptr<tbb::task_arena> arena; ++// std::shared_ptr<PinningObserver> observer; ++// std::shared_ptr<ThreadAffinity> affinity; ++// -- GODOT end -- + + // Parameters + int numThreads = 0; // autodetect by default +@@ -66,17 +68,19 @@ namespace oidn { + + void commit(); + +- template<typename F> +- void executeTask(F& f) +- { +- arena->execute(f); +- } ++// -- GODOT start -- ++// template<typename F> ++// void executeTask(F& f) ++// { ++// arena->execute(f); ++// } + +- template<typename F> +- void executeTask(const F& f) +- { +- arena->execute(f); +- } ++// template<typename F> ++// void executeTask(const F& f) ++// { ++// arena->execute(f); ++// } ++// -- GODOT end -- + + Ref<Buffer> newBuffer(size_t byteSize); + Ref<Buffer> newBuffer(void* ptr, size_t byteSize); +@@ -86,7 +90,10 @@ namespace oidn { + __forceinline std::mutex& getMutex() { return mutex; } + + private: +- bool isCommitted() const { return bool(arena); } ++// -- GODOT start -- ++ //bool isCommitted() const { return bool(arena); } ++ bool isCommitted() const { return false; } ++// -- GODOT end -- + void checkCommitted(); + + void print(); +diff --git a/core/network.cpp b/core/network.cpp +index 8c2de09..ed8328c 100644 +--- a/core/network.cpp ++++ b/core/network.cpp +@@ -17,6 +17,9 @@ + #include "upsample.h" + #include "weights_reorder.h" + #include "network.h" ++// -- GODOT start -- ++#include <cstring> ++// -- GODOT end -- + + namespace oidn { + +diff --git a/core/transfer_function.cpp b/core/transfer_function.cpp +index 601f814..487f0a9 100644 +--- a/core/transfer_function.cpp ++++ b/core/transfer_function.cpp +@@ -24,6 +24,10 @@ namespace oidn { + float AutoexposureNode::autoexposure(const Image& color) + { + assert(color.format == Format::Float3); ++// -- GODOT start -- ++// We don't want to mess with TTB and we don't use autoexposure, so we disable this code ++#if 0 ++// -- GODOT end -- + + constexpr float key = 0.18f; + constexpr float eps = 1e-8f; +@@ -89,6 +93,10 @@ namespace oidn { + ); + + return (sum.second > 0) ? (key / exp2(sum.first / float(sum.second))) : 1.f; ++// -- GODOT start -- ++#endif ++ return 1.0; ++// -- GODOT end -- + } + + } // namespace oidn diff --git a/thirdparty/oidn/patches/mkl-dnn-fix-vs2017-build.patch b/thirdparty/oidn/patches/mkl-dnn-fix-vs2017-build.patch new file mode 100644 index 0000000000..50d94ebffa --- /dev/null +++ b/thirdparty/oidn/patches/mkl-dnn-fix-vs2017-build.patch @@ -0,0 +1,45 @@ +Rediffed by @akien-mga to match oidn 1.1.0 source. + +From 1e42e6db81e1a5270ecc0191c5385ce7e7d978e9 Mon Sep 17 00:00:00 2001 +From: Jeremy Wong <jmw@netvigator.com> +Date: Wed, 11 Sep 2019 04:46:53 +0800 +Subject: [PATCH] src: initialize members in some structures to prevent compile + errors with VS2017 + +addresses "error C3615: constexpr function '...' cannot result in a constant expression" with VS2017 +--- + src/cpu/rnn/rnn_reorders.hpp | 2 +- + src/cpu/simple_concat.hpp | 6 +++--- + src/cpu/simple_sum.hpp | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp b/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp +index 597c63e3f8..ae1551390a 100644 +--- a/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp ++++ b/thirdparty/oidn/mkl-dnn/src/cpu/rnn/rnn_reorders.hpp +@@ -131,7 +131,7 @@ struct rnn_weights_reorder_t : public cpu_primitive_t { + return status::success; + } + +- format_tag_t itag_; ++ format_tag_t itag_ = mkldnn_format_tag_undef; + + private: + void init_scratchpad() { +diff --git a/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp b/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp +index 5177275452..057cc3c4c7 100644 +--- a/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp ++++ b/thirdparty/oidn/mkl-dnn/src/cpu/simple_concat.hpp +@@ -96,9 +96,9 @@ struct simple_concat_t: public cpu_primitive_t { + return status::success; + } + +- int perm_[MKLDNN_MAX_NDIMS]; +- int iperm_[MKLDNN_MAX_NDIMS]; +- dims_t blocks_; ++ int perm_[MKLDNN_MAX_NDIMS] {}; ++ int iperm_[MKLDNN_MAX_NDIMS] {}; ++ dims_t blocks_ {}; + + dim_t nelems_to_concat(const memory_desc_wrapper &data_d) const { + const int ndims = data_d.ndims(); diff --git a/thirdparty/oidn/weights/LICENSE.txt b/thirdparty/oidn/weights/LICENSE.txt new file mode 100644 index 0000000000..d645695673 --- /dev/null +++ b/thirdparty/oidn/weights/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. |