diff options
884 files changed, 25752 insertions, 8539 deletions
diff --git a/.gitignore b/.gitignore index fe504482b3..6acab19251 100644 --- a/.gitignore +++ b/.gitignore @@ -316,3 +316,10 @@ platform/windows/godot_res.res # Scons progress indicator .scons_node_count + +# ccls cache (https://github.com/MaskRay/ccls) +.ccls-cache/ + +# compile commands (https://clang.llvm.org/docs/JSONCompilationDatabase.html) +compile_commands.json + diff --git a/.travis.yml b/.travis.yml index 65565db6f1..727567b8e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ matrix: packages: - clang-format-6.0 - - env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no werror=yes" + - env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no warnings=extra werror=yes" os: linux compiler: gcc-8 addons: @@ -49,7 +49,7 @@ matrix: build_command: "scons p=x11 -j2 $OPTIONS" branch_pattern: coverity_scan - - env: PLATFORM=x11 TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="werror=yes" + - env: PLATFORM=x11 TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes" os: linux compiler: clang addons: @@ -57,7 +57,7 @@ matrix: packages: - *linux_deps - - env: PLATFORM=android TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="werror=yes" + - env: PLATFORM=android TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes" os: linux compiler: clang @@ -69,7 +69,7 @@ matrix: os: osx compiler: clang - - env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="werror=yes" + - env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="warnings=extra werror=yes" os: linux compiler: gcc-8 addons: diff --git a/CHANGELOG.md b/CHANGELOG.md index b111eca07d..060a270426 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [3.1] - 2019-03-13 ### Added @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Support for RayCast shapes in kinematic bodies. - Support for synchronizing kinematic movement to physics, avoiding an one-frame delay. - WebSockets support using [libwebsockets](https://libwebsockets.org/). +- UPnP support using [MiniUPnP](http://miniupnp.free.fr). - [Revamped inspector.](https://godotengine.org/article/godot-gets-new-inspector) - Improved visualization and editing of numeric properties. - Vector and matrix types can now be edited directly (no pop-ups). @@ -128,6 +129,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Universal translation of touch input to mouse input. - AudioStreamPlayer, AudioStreamPlayer2D, and AudioStreamPlayer3D now have a pitch scale property. - Support for MIDI input. +- Support for audio capture from microphones. - `GROW_DIRECTION_BOTH` for Controls. - Selected tiles can be moved in the tile map editor. - The editor can now be configured to display the project window on the previous or next monitor (relative to the editor). @@ -165,6 +167,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - [Built-in vector types now use copy-on-write mode as originally intended](https://godotengine.org/article/why-we-broke-your-pr), resulting in increased engine performance. - The [mbedtls](https://tls.mbed.org/) library is now used instead of OpenSSL. +- [Renamed several core files](https://github.com/godotengine/godot/pull/25821). + - Third-party modules may have to be updated to reflect this. - SSL certificates are now bundled in exported projects unless a custom bundle is specified. - Improved buffer writing performance on Windows and Linux. - Removed many debugging prints in the console. @@ -183,10 +187,17 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Text editor themes are now sorted alphabetically in the selection dropdown. - The 3D manipulator gizmo now has a smoother, more detailed appearance. - The 3D viewport menu button now has a background to make it easier to read. +- QuadMeshes are now built using two triangles (6 vertices) instead of one quad (4 vertices). + - This was done because quads are deprecated in OpenGL. - Controls inside containers are no longer movable or resizable but can still be selected. - The `is` GDScript keyword can now be used to compare a value against built-in types. +- Exported variables with type hints are now always initialized. + - For example, `export(int) var a` will be initialized to `0`. - Named enums in GDScript no longer create script constants. - This means `enum Name { VALUE }` must now be accessed with `Name.VALUE` instead of `VALUE`. +- Cyclic references to other scripts with `preload()` are no longer allowed. + - `load()` should be used in at least one of the scripts instead. +- `switch`, `case` and `do` are no longer reserved identifiers in GDScript. - Shadowing variables from parent scopes is no longer allowed in GDScript. - Function parameters' default values can no longer depend on other parameters in GDScript. - Indentation guides are now displayed in a more subtle way in the script editor. @@ -209,6 +220,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Removed +- Removed the RtAudio backend on Windows in favor of WASAPI, which is the default since 3.0. - **macOS:** Support for 32-bit and fat binaries. ### Fixed @@ -220,6 +232,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - The animation editor time offset indicator no longer "walks" when resizing the editor. - Allow creation of a built-in GDScript file even if the filename suggested already exists. - Show tooltips in the editor when physics object picking is disabled. +- Button shortcuts can now be triggered by gamepad buttons. - Fix a serialization bug that could cause TSCN files to grow very large. - Gizmos are now properly hidden on scene load if the object they control is hidden. - Camera gizmos in the 3D viewport no longer look twice as wide as they actually are. @@ -231,6 +244,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - The Visual Studio Code external editor option now recognizes more binary names such as `code-oss`, making detection more reliable. - The `-ffast-math` flag is no longer used when compiling Godot, resulting in increased floating-point determinism. - Fix spelling of `apply_torque_impulse()` and deprecate the misspelled method. +- Escape sequences like `\n` and `\t` are now recognized in CSV translation files. - Remove spurious errors when using a PanoramaSky without textures. - The lightmap baker will now use all available cores on Windows. - Bullet physics now correctly calculates effective gravity on KinematicBodies. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 04e42d14b6..4c4a8a37a6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,7 @@ each of them. Everything referred to hereafter as "bug" also applies for feature requests. If you are reporting a new issue, you will make our life much simpler (and the -fix come much sooner) by following those guidelines: +fix come much sooner) by following these guidelines: #### Search first in the existing database diff --git a/SConstruct b/SConstruct index 55b061a6f7..1271156a28 100644 --- a/SConstruct +++ b/SConstruct @@ -342,12 +342,18 @@ if selected_platform in platform_list: shadow_local_warning = [] all_plus_warnings = ['-Wwrite-strings'] - if methods.use_gcc(env): + if methods.using_gcc(env): version = methods.get_compiler_version(env) if version != None and version[0] >= '7': shadow_local_warning = ['-Wshadow-local'] + if (env["warnings"] == 'extra'): - env.Append(CCFLAGS=['-Wall', '-Wextra'] + all_plus_warnings + shadow_local_warning) + # FIXME: enable -Wclobbered once #26351 is fixed + # Note: enable -Wimplicit-fallthrough for Clang (already part of -Wextra for GCC) + # once we switch to C++11 or later (necessary for our FALLTHROUGH macro). + env.Append(CCFLAGS=['-Wall', '-Wextra', '-Wno-unused-parameter'] + all_plus_warnings + shadow_local_warning) + if methods.using_gcc(env): + env['CCFLAGS'] += ['-Wno-clobbered'] elif (env["warnings"] == 'all'): env.Append(CCFLAGS=['-Wall'] + shadow_local_warning) elif (env["warnings"] == 'moderate'): diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index f5dbacd62d..67de156fc3 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -792,7 +792,7 @@ Dictionary _OS::get_datetime_from_unix_time(int64_t unix_time_val) const { size_t imonth = 0; - while (dayno >= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth]) { + while ((unsigned long)dayno >= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth]) { dayno -= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth]; imonth++; } @@ -1908,18 +1908,18 @@ bool _File::file_exists(const String &p_name) const { return FileAccess::exists(p_name); } -void _File::store_var(const Variant &p_var) { +void _File::store_var(const Variant &p_var, bool p_full_objects) { ERR_FAIL_COND(!f); int len; - Error err = encode_variant(p_var, NULL, len); + Error err = encode_variant(p_var, NULL, len, p_full_objects); ERR_FAIL_COND(err != OK); PoolVector<uint8_t> buff; buff.resize(len); PoolVector<uint8_t>::Write w = buff.write(); - err = encode_variant(p_var, &w[0], len); + err = encode_variant(p_var, &w[0], len, p_full_objects); ERR_FAIL_COND(err != OK); w = PoolVector<uint8_t>::Write(); @@ -1927,7 +1927,7 @@ void _File::store_var(const Variant &p_var) { store_buffer(buff); } -Variant _File::get_var() const { +Variant _File::get_var(bool p_allow_objects) const { ERR_FAIL_COND_V(!f, Variant()); uint32_t len = get_32(); @@ -1937,7 +1937,7 @@ Variant _File::get_var() const { PoolVector<uint8_t>::Read r = buff.read(); Variant v; - Error err = decode_variant(v, &r[0], len); + Error err = decode_variant(v, &r[0], len, NULL, p_allow_objects); ERR_FAIL_COND_V(err != OK, Variant()); return v; @@ -1980,7 +1980,7 @@ void _File::_bind_methods() { ClassDB::bind_method(D_METHOD("get_endian_swap"), &_File::get_endian_swap); ClassDB::bind_method(D_METHOD("set_endian_swap", "enable"), &_File::set_endian_swap); ClassDB::bind_method(D_METHOD("get_error"), &_File::get_error); - ClassDB::bind_method(D_METHOD("get_var"), &_File::get_var); + ClassDB::bind_method(D_METHOD("get_var", "allow_objects"), &_File::get_var, DEFVAL(false)); ClassDB::bind_method(D_METHOD("store_8", "value"), &_File::store_8); ClassDB::bind_method(D_METHOD("store_16", "value"), &_File::store_16); @@ -1993,7 +1993,7 @@ void _File::_bind_methods() { ClassDB::bind_method(D_METHOD("store_line", "line"), &_File::store_line); ClassDB::bind_method(D_METHOD("store_csv_line", "values", "delim"), &_File::store_csv_line, DEFVAL(",")); ClassDB::bind_method(D_METHOD("store_string", "string"), &_File::store_string); - ClassDB::bind_method(D_METHOD("store_var", "value"), &_File::store_var); + ClassDB::bind_method(D_METHOD("store_var", "value", "full_objects"), &_File::store_var, DEFVAL(false)); ClassDB::bind_method(D_METHOD("store_pascal_string", "string"), &_File::store_pascal_string); ClassDB::bind_method(D_METHOD("get_pascal_string"), &_File::get_pascal_string); @@ -2223,17 +2223,17 @@ _Marshalls *_Marshalls::get_singleton() { return singleton; } -String _Marshalls::variant_to_base64(const Variant &p_var) { +String _Marshalls::variant_to_base64(const Variant &p_var, bool p_full_objects) { int len; - Error err = encode_variant(p_var, NULL, len); + Error err = encode_variant(p_var, NULL, len, p_full_objects); ERR_FAIL_COND_V(err != OK, ""); PoolVector<uint8_t> buff; buff.resize(len); PoolVector<uint8_t>::Write w = buff.write(); - err = encode_variant(p_var, &w[0], len); + err = encode_variant(p_var, &w[0], len, p_full_objects); ERR_FAIL_COND_V(err != OK, ""); int b64len = len / 3 * 4 + 4 + 1; @@ -2249,7 +2249,7 @@ String _Marshalls::variant_to_base64(const Variant &p_var) { return ret; }; -Variant _Marshalls::base64_to_variant(const String &p_str) { +Variant _Marshalls::base64_to_variant(const String &p_str, bool p_allow_objects) { int strlen = p_str.length(); CharString cstr = p_str.ascii(); @@ -2261,7 +2261,7 @@ Variant _Marshalls::base64_to_variant(const String &p_str) { int len = base64_decode((char *)(&w[0]), (char *)cstr.get_data(), strlen); Variant v; - Error err = decode_variant(v, &w[0], len); + Error err = decode_variant(v, &w[0], len, NULL, p_allow_objects); ERR_FAIL_COND_V(err != OK, Variant()); return v; @@ -2340,8 +2340,8 @@ String _Marshalls::base64_to_utf8(const String &p_str) { void _Marshalls::_bind_methods() { - ClassDB::bind_method(D_METHOD("variant_to_base64", "variant"), &_Marshalls::variant_to_base64); - ClassDB::bind_method(D_METHOD("base64_to_variant", "base64_str"), &_Marshalls::base64_to_variant); + ClassDB::bind_method(D_METHOD("variant_to_base64", "variant", "full_objects"), &_Marshalls::variant_to_base64, DEFVAL(false)); + ClassDB::bind_method(D_METHOD("base64_to_variant", "base64_str", "allow_objects"), &_Marshalls::base64_to_variant, DEFVAL(false)); ClassDB::bind_method(D_METHOD("raw_to_base64", "array"), &_Marshalls::raw_to_base64); ClassDB::bind_method(D_METHOD("base64_to_raw", "base64_str"), &_Marshalls::base64_to_raw); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 803743bc93..1c26d9b144 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -463,7 +463,7 @@ public: double get_double() const; real_t get_real() const; - Variant get_var() const; + Variant get_var(bool p_allow_objects = false) const; PoolVector<uint8_t> get_buffer(int p_length) const; ///< get an array of bytes String get_line() const; @@ -500,7 +500,7 @@ public: void store_buffer(const PoolVector<uint8_t> &p_buffer); ///< store an array of bytes - void store_var(const Variant &p_var); + void store_var(const Variant &p_var, bool p_full_objects = false); bool file_exists(const String &p_name) const; ///< return true if a file exists @@ -569,8 +569,8 @@ protected: public: static _Marshalls *get_singleton(); - String variant_to_base64(const Variant &p_var); - Variant base64_to_variant(const String &p_str); + String variant_to_base64(const Variant &p_var, bool p_full_objects = false); + Variant base64_to_variant(const String &p_str, bool p_allow_objects = false); String raw_to_base64(const PoolVector<uint8_t> &p_arr); PoolVector<uint8_t> base64_to_raw(const String &p_str); diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp index c97b8cafac..d38d09c6bb 100644 --- a/core/io/file_access_pack.cpp +++ b/core/io/file_access_pack.cpp @@ -272,7 +272,7 @@ int FileAccessPack::get_buffer(uint8_t *p_dst, int p_length) const { if (eof) return 0; - int64_t to_read = p_length; + uint64_t to_read = p_length; if (to_read + pos > pf.size) { eof = true; to_read = int64_t(pf.size) - int64_t(pos); diff --git a/core/io/logger.cpp b/core/io/logger.cpp index eeb82bfce4..9175f6a262 100644 --- a/core/io/logger.cpp +++ b/core/io/logger.cpp @@ -39,7 +39,7 @@ // va_copy, otherwise you have to use the internal version (__va_copy). #if !defined(va_copy) #if defined(__GNUC__) -#define va_copy(d, s) __va_copy(d, s) +#define va_copy(d, s) __va_copy((d), (s)) #else #define va_copy(d, s) ((d) = (s)) #endif diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp index 5087a63b68..363460311c 100644 --- a/core/io/marshalls.cpp +++ b/core/io/marshalls.cpp @@ -794,7 +794,7 @@ static void _encode_string(const String &p_string, uint8_t *&buf, int &r_len) { } } -Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bool p_object_as_id) { +Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bool p_full_objects) { uint8_t *buf = r_buffer; @@ -819,7 +819,7 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo } } break; case Variant::OBJECT: { - if (p_object_as_id) { + if (!p_full_objects) { flags |= ENCODE_FLAG_OBJECT_AS_ID; } } break; @@ -1086,22 +1086,8 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo } break; case Variant::OBJECT: { - if (p_object_as_id) { + if (p_full_objects) { - if (buf) { - - Object *obj = p_variant; - ObjectID id = 0; - if (obj && ObjectDB::instance_validate(obj)) { - id = obj->get_instance_id(); - } - - encode_uint64(id, buf); - } - - r_len += 8; - - } else { Object *obj = p_variant; if (!obj) { if (buf) { @@ -1139,7 +1125,7 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo _encode_string(E->get().name, buf, r_len); int len; - Error err = encode_variant(obj->get(E->get().name), buf, len, p_object_as_id); + Error err = encode_variant(obj->get(E->get().name), buf, len, p_full_objects); if (err) return err; ERR_FAIL_COND_V(len % 4, ERR_BUG); @@ -1148,6 +1134,19 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo buf += len; } } + } else { + if (buf) { + + Object *obj = p_variant; + ObjectID id = 0; + if (obj && ObjectDB::instance_validate(obj)) { + id = obj->get_instance_id(); + } + + encode_uint64(id, buf); + } + + r_len += 8; } } break; @@ -1180,14 +1179,14 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo r_len++; //pad */ int len; - encode_variant(E->get(), buf, len, p_object_as_id); + encode_variant(E->get(), buf, len, p_full_objects); ERR_FAIL_COND_V(len % 4, ERR_BUG); r_len += len; if (buf) buf += len; Variant *v = d.getptr(E->get()); ERR_FAIL_COND_V(!v, ERR_BUG); - encode_variant(*v, buf, len, p_object_as_id); + encode_variant(*v, buf, len, p_full_objects); ERR_FAIL_COND_V(len % 4, ERR_BUG); r_len += len; if (buf) @@ -1209,7 +1208,7 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo for (int i = 0; i < v.size(); i++) { int len; - encode_variant(v.get(i), buf, len, p_object_as_id); + encode_variant(v.get(i), buf, len, p_full_objects); ERR_FAIL_COND_V(len % 4, ERR_BUG); r_len += len; if (buf) diff --git a/core/io/marshalls.h b/core/io/marshalls.h index 11c4b2c98e..f361c29754 100644 --- a/core/io/marshalls.h +++ b/core/io/marshalls.h @@ -199,7 +199,7 @@ public: EncodedObjectAsID(); }; -Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int *r_len = NULL, bool p_allow_objects = true); -Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bool p_object_as_id = false); +Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int *r_len = NULL, bool p_allow_objects = false); +Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bool p_full_objects = false); #endif diff --git a/core/io/multiplayer_api.cpp b/core/io/multiplayer_api.cpp index 7680d47620..f74f076c65 100644 --- a/core/io/multiplayer_api.cpp +++ b/core/io/multiplayer_api.cpp @@ -46,7 +46,8 @@ _FORCE_INLINE_ bool _should_call_local(MultiplayerAPI::RPCMode mode, bool is_mas case MultiplayerAPI::RPC_MODE_MASTERSYNC: { if (is_master) r_skip_rpc = true; // I am the master, so skip remote call. - } // Do not break, fall over to other sync. + FALLTHROUGH; + } case MultiplayerAPI::RPC_MODE_REMOTESYNC: case MultiplayerAPI::RPC_MODE_PUPPETSYNC: { // Call it, sync always results in a local call. @@ -64,7 +65,7 @@ _FORCE_INLINE_ bool _should_call_local(MultiplayerAPI::RPCMode mode, bool is_mas return false; } -_FORCE_INLINE_ bool _can_call_mode(Node *p_node, MultiplayerAPI::RPCMode mode, int p_remote_id) { +_FORCE_INLINE_ bool _can_call_mode(MultiplayerAPI::RPCMode mode, int p_node_master, int p_remote_id) { switch (mode) { case MultiplayerAPI::RPC_MODE_DISABLED: { @@ -76,11 +77,11 @@ _FORCE_INLINE_ bool _can_call_mode(Node *p_node, MultiplayerAPI::RPCMode mode, i } break; case MultiplayerAPI::RPC_MODE_MASTERSYNC: case MultiplayerAPI::RPC_MODE_MASTER: { - return p_node->is_network_master(); + return p_node_master == NetworkedMultiplayerPeer::TARGET_PEER_SERVER; } break; case MultiplayerAPI::RPC_MODE_PUPPETSYNC: case MultiplayerAPI::RPC_MODE_PUPPET: { - return !p_node->is_network_master() && p_remote_id == p_node->get_network_master(); + return p_node_master != NetworkedMultiplayerPeer::TARGET_PEER_SERVER && p_remote_id == p_node_master; } break; } @@ -282,8 +283,9 @@ void MultiplayerAPI::_process_rpc(Node *p_node, const StringName &p_name, int p_ rpc_mode = p_node->get_script_instance()->get_rpc_mode(p_name); } - ERR_EXPLAIN("RPC '" + String(p_name) + "' is not allowed from: " + itos(p_from) + ". Mode is " + itos((int)rpc_mode) + ", master is " + itos(p_node->get_network_master()) + "."); - ERR_FAIL_COND(!_can_call_mode(p_node, rpc_mode, p_from)); + int node_master_id = p_node->get_network_master(); + ERR_EXPLAIN("RPC '" + String(p_name) + "' is not allowed on node " + p_node->get_path() + " from: " + itos(p_from) + ". Mode is " + itos((int)rpc_mode) + ", master is " + itos(node_master_id) + "."); + ERR_FAIL_COND(!_can_call_mode(rpc_mode, p_from, node_master_id)); int argc = p_packet[p_offset]; Vector<Variant> args; @@ -299,7 +301,7 @@ void MultiplayerAPI::_process_rpc(Node *p_node, const StringName &p_name, int p_ ERR_FAIL_COND(p_offset >= p_packet_len); int vlen; - Error err = decode_variant(args.write[i], &p_packet[p_offset], p_packet_len - p_offset, &vlen); + Error err = decode_variant(args.write[i], &p_packet[p_offset], p_packet_len - p_offset, &vlen, allow_object_decoding || network_peer->is_object_decoding_allowed()); ERR_EXPLAIN("Invalid packet received. Unable to decode RPC argument."); ERR_FAIL_COND(err != OK); @@ -331,11 +333,12 @@ void MultiplayerAPI::_process_rset(Node *p_node, const StringName &p_name, int p rset_mode = p_node->get_script_instance()->get_rset_mode(p_name); } - ERR_EXPLAIN("RSET '" + String(p_name) + "' is not allowed from: " + itos(p_from) + ". Mode is " + itos((int)rset_mode) + ", master is " + itos(p_node->get_network_master()) + "."); - ERR_FAIL_COND(!_can_call_mode(p_node, rset_mode, p_from)); + int node_master_id = p_node->get_network_master(); + ERR_EXPLAIN("RSET '" + String(p_name) + "' is not allowed on node " + p_node->get_path() + " from: " + itos(p_from) + ". Mode is " + itos((int)rset_mode) + ", master is " + itos(node_master_id) + "."); + ERR_FAIL_COND(!_can_call_mode(rset_mode, p_from, node_master_id)); Variant value; - Error err = decode_variant(value, &p_packet[p_offset], p_packet_len - p_offset); + Error err = decode_variant(value, &p_packet[p_offset], p_packet_len - p_offset, NULL, allow_object_decoding || network_peer->is_object_decoding_allowed()); ERR_EXPLAIN("Invalid packet received. Unable to decode RSET value."); ERR_FAIL_COND(err != OK); @@ -526,11 +529,11 @@ void MultiplayerAPI::_send_rpc(Node *p_from, int p_to, bool p_unreliable, bool p if (p_set) { // Set argument. - Error err = encode_variant(*p_arg[0], NULL, len); + Error err = encode_variant(*p_arg[0], NULL, len, allow_object_decoding || network_peer->is_object_decoding_allowed()); ERR_EXPLAIN("Unable to encode RSET value. THIS IS LIKELY A BUG IN THE ENGINE!"); ERR_FAIL_COND(err != OK); MAKE_ROOM(ofs + len); - encode_variant(*p_arg[0], &(packet_cache.write[ofs]), len); + encode_variant(*p_arg[0], &(packet_cache.write[ofs]), len, allow_object_decoding || network_peer->is_object_decoding_allowed()); ofs += len; } else { @@ -539,11 +542,11 @@ void MultiplayerAPI::_send_rpc(Node *p_from, int p_to, bool p_unreliable, bool p packet_cache.write[ofs] = p_argcount; ofs += 1; for (int i = 0; i < p_argcount; i++) { - Error err = encode_variant(*p_arg[i], NULL, len); + Error err = encode_variant(*p_arg[i], NULL, len, allow_object_decoding || network_peer->is_object_decoding_allowed()); ERR_EXPLAIN("Unable to encode RPC argument. THIS IS LIKELY A BUG IN THE ENGINE!"); ERR_FAIL_COND(err != OK); MAKE_ROOM(ofs + len); - encode_variant(*p_arg[i], &(packet_cache.write[ofs]), len); + encode_variant(*p_arg[i], &(packet_cache.write[ofs]), len, allow_object_decoding || network_peer->is_object_decoding_allowed()); ofs += len; } } @@ -818,6 +821,16 @@ Vector<int> MultiplayerAPI::get_network_connected_peers() const { return ret; } +void MultiplayerAPI::set_allow_object_decoding(bool p_enable) { + + allow_object_decoding = p_enable; +} + +bool MultiplayerAPI::is_object_decoding_allowed() const { + + return allow_object_decoding; +} + void MultiplayerAPI::_bind_methods() { ClassDB::bind_method(D_METHOD("set_root_node", "node"), &MultiplayerAPI::set_root_node); ClassDB::bind_method(D_METHOD("send_bytes", "bytes", "id", "mode"), &MultiplayerAPI::send_bytes, DEFVAL(NetworkedMultiplayerPeer::TARGET_PEER_BROADCAST), DEFVAL(NetworkedMultiplayerPeer::TRANSFER_MODE_RELIABLE)); @@ -838,6 +851,10 @@ void MultiplayerAPI::_bind_methods() { ClassDB::bind_method(D_METHOD("get_network_connected_peers"), &MultiplayerAPI::get_network_connected_peers); ClassDB::bind_method(D_METHOD("set_refuse_new_network_connections", "refuse"), &MultiplayerAPI::set_refuse_new_network_connections); ClassDB::bind_method(D_METHOD("is_refusing_new_network_connections"), &MultiplayerAPI::is_refusing_new_network_connections); + ClassDB::bind_method(D_METHOD("set_allow_object_decoding", "enable"), &MultiplayerAPI::set_allow_object_decoding); + ClassDB::bind_method(D_METHOD("is_object_decoding_allowed"), &MultiplayerAPI::is_object_decoding_allowed); + + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "allow_object_decoding"), "set_allow_object_decoding", "is_object_decoding_allowed"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "refuse_new_network_connections"), "set_refuse_new_network_connections", "is_refusing_new_network_connections"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "network_peer", PROPERTY_HINT_RESOURCE_TYPE, "NetworkedMultiplayerPeer", 0), "set_network_peer", "get_network_peer"); @@ -859,7 +876,8 @@ void MultiplayerAPI::_bind_methods() { BIND_ENUM_CONSTANT(RPC_MODE_PUPPETSYNC); } -MultiplayerAPI::MultiplayerAPI() { +MultiplayerAPI::MultiplayerAPI() : + allow_object_decoding(false) { rpc_sender_id = 0; root_node = NULL; clear(); diff --git a/core/io/multiplayer_api.h b/core/io/multiplayer_api.h index a9cf77aaba..779dd043bd 100644 --- a/core/io/multiplayer_api.h +++ b/core/io/multiplayer_api.h @@ -63,6 +63,7 @@ private: int last_send_cache_id; Vector<uint8_t> packet_cache; Node *root_node; + bool allow_object_decoding; protected: static void _bind_methods(); @@ -126,6 +127,9 @@ public: void set_refuse_new_network_connections(bool p_refuse); bool is_refusing_new_network_connections() const; + void set_allow_object_decoding(bool p_enable); + bool is_object_decoding_allowed() const; + MultiplayerAPI(); ~MultiplayerAPI(); }; diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index d7bfdbbb37..c77c81f9e2 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -79,7 +79,7 @@ Error PacketPeer::put_packet_buffer(const PoolVector<uint8_t> &p_buffer) { return put_packet(&r[0], len); } -Error PacketPeer::get_var(Variant &r_variant) { +Error PacketPeer::get_var(Variant &r_variant, bool p_allow_objects) { const uint8_t *buffer; int buffer_size; @@ -87,13 +87,13 @@ Error PacketPeer::get_var(Variant &r_variant) { if (err) return err; - return decode_variant(r_variant, buffer, buffer_size, NULL, allow_object_decoding); + return decode_variant(r_variant, buffer, buffer_size, NULL, p_allow_objects || allow_object_decoding); } -Error PacketPeer::put_var(const Variant &p_packet) { +Error PacketPeer::put_var(const Variant &p_packet, bool p_full_objects) { int len; - Error err = encode_variant(p_packet, NULL, len, !allow_object_decoding); // compute len first + Error err = encode_variant(p_packet, NULL, len, p_full_objects || allow_object_decoding); // compute len first if (err) return err; @@ -102,15 +102,15 @@ Error PacketPeer::put_var(const Variant &p_packet) { uint8_t *buf = (uint8_t *)alloca(len); ERR_FAIL_COND_V(!buf, ERR_OUT_OF_MEMORY); - err = encode_variant(p_packet, buf, len, !allow_object_decoding); + err = encode_variant(p_packet, buf, len, p_full_objects || allow_object_decoding); ERR_FAIL_COND_V(err, err); return put_packet(buf, len); } -Variant PacketPeer::_bnd_get_var() { +Variant PacketPeer::_bnd_get_var(bool p_allow_objects) { Variant var; - get_var(var); + get_var(var, p_allow_objects); return var; }; @@ -132,8 +132,8 @@ Error PacketPeer::_get_packet_error() const { void PacketPeer::_bind_methods() { - ClassDB::bind_method(D_METHOD("get_var"), &PacketPeer::_bnd_get_var); - ClassDB::bind_method(D_METHOD("put_var", "var"), &PacketPeer::put_var); + ClassDB::bind_method(D_METHOD("get_var", "allow_objects"), &PacketPeer::_bnd_get_var, DEFVAL(false)); + ClassDB::bind_method(D_METHOD("put_var", "var", "full_objects"), &PacketPeer::put_var, DEFVAL(false)); ClassDB::bind_method(D_METHOD("get_packet"), &PacketPeer::_get_packet); ClassDB::bind_method(D_METHOD("put_packet", "buffer"), &PacketPeer::_put_packet); ClassDB::bind_method(D_METHOD("get_packet_error"), &PacketPeer::_get_packet_error); diff --git a/core/io/packet_peer.h b/core/io/packet_peer.h index 48c50eb76b..6475e4fed9 100644 --- a/core/io/packet_peer.h +++ b/core/io/packet_peer.h @@ -39,8 +39,7 @@ class PacketPeer : public Reference { GDCLASS(PacketPeer, Reference); - Variant _bnd_get_var(); - void _bnd_put_var(const Variant &p_var); + Variant _bnd_get_var(bool p_allow_objects = false); static void _bind_methods(); @@ -64,8 +63,8 @@ public: virtual Error get_packet_buffer(PoolVector<uint8_t> &r_buffer); virtual Error put_packet_buffer(const PoolVector<uint8_t> &p_buffer); - virtual Error get_var(Variant &r_variant); - virtual Error put_var(const Variant &p_packet); + virtual Error get_var(Variant &r_variant, bool p_allow_objects = false); + virtual Error put_var(const Variant &p_packet, bool p_full_objects = false); void set_allow_object_decoding(bool p_enable); bool is_object_decoding_allowed() const; diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp index c917b9ba28..e4b694b64f 100644 --- a/core/io/resource_loader.cpp +++ b/core/io/resource_loader.cpp @@ -946,7 +946,7 @@ void ResourceLoader::add_custom_loaders() { for (List<StringName>::Element *E = global_classes.front(); E; E = E->next()) { StringName class_name = E->get(); - StringName base_class = ScriptServer::get_global_class_base(class_name); + StringName base_class = ScriptServer::get_global_class_native_base(class_name); if (base_class == custom_loader_base_class) { String path = ScriptServer::get_global_class_path(class_name); diff --git a/core/io/resource_saver.cpp b/core/io/resource_saver.cpp index c992e2bf94..0cecca904d 100644 --- a/core/io/resource_saver.cpp +++ b/core/io/resource_saver.cpp @@ -249,7 +249,7 @@ void ResourceSaver::add_custom_savers() { for (List<StringName>::Element *E = global_classes.front(); E; E = E->next()) { StringName class_name = E->get(); - StringName base_class = ScriptServer::get_global_class_base(class_name); + StringName base_class = ScriptServer::get_global_class_native_base(class_name); if (base_class == custom_saver_base_class) { String path = ScriptServer::get_global_class_path(class_name); diff --git a/core/io/stream_peer.cpp b/core/io/stream_peer.cpp index 3042c0f60a..6ad24a5f3a 100644 --- a/core/io/stream_peer.cpp +++ b/core/io/stream_peer.cpp @@ -221,14 +221,14 @@ void StreamPeer::put_utf8_string(const String &p_string) { put_u32(cs.length()); put_data((const uint8_t *)cs.get_data(), cs.length()); } -void StreamPeer::put_var(const Variant &p_variant) { +void StreamPeer::put_var(const Variant &p_variant, bool p_full_objects) { int len = 0; Vector<uint8_t> buf; - encode_variant(p_variant, NULL, len); + encode_variant(p_variant, NULL, len, p_full_objects); buf.resize(len); put_32(len); - encode_variant(p_variant, buf.ptrw(), len); + encode_variant(p_variant, buf.ptrw(), len, p_full_objects); put_data(buf.ptr(), buf.size()); } @@ -359,7 +359,7 @@ String StreamPeer::get_utf8_string(int p_bytes) { ret.parse_utf8((const char *)buf.ptr(), buf.size()); return ret; } -Variant StreamPeer::get_var() { +Variant StreamPeer::get_var(bool p_allow_objects) { int len = get_32(); Vector<uint8_t> var; @@ -369,7 +369,7 @@ Variant StreamPeer::get_var() { ERR_FAIL_COND_V(err != OK, Variant()); Variant ret; - decode_variant(ret, var.ptr(), len); + decode_variant(ret, var.ptr(), len, NULL, p_allow_objects); return ret; } @@ -398,7 +398,7 @@ void StreamPeer::_bind_methods() { ClassDB::bind_method(D_METHOD("put_double", "value"), &StreamPeer::put_double); ClassDB::bind_method(D_METHOD("put_string", "value"), &StreamPeer::put_string); ClassDB::bind_method(D_METHOD("put_utf8_string", "value"), &StreamPeer::put_utf8_string); - ClassDB::bind_method(D_METHOD("put_var", "value"), &StreamPeer::put_var); + ClassDB::bind_method(D_METHOD("put_var", "value", "full_objects"), &StreamPeer::put_var, DEFVAL(false)); ClassDB::bind_method(D_METHOD("get_8"), &StreamPeer::get_8); ClassDB::bind_method(D_METHOD("get_u8"), &StreamPeer::get_u8); @@ -412,7 +412,7 @@ void StreamPeer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_double"), &StreamPeer::get_double); ClassDB::bind_method(D_METHOD("get_string", "bytes"), &StreamPeer::get_string, DEFVAL(-1)); ClassDB::bind_method(D_METHOD("get_utf8_string", "bytes"), &StreamPeer::get_utf8_string, DEFVAL(-1)); - ClassDB::bind_method(D_METHOD("get_var"), &StreamPeer::get_var); + ClassDB::bind_method(D_METHOD("get_var", "allow_objects"), &StreamPeer::get_var, DEFVAL(false)); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "big_endian"), "set_big_endian", "is_big_endian_enabled"); } diff --git a/core/io/stream_peer.h b/core/io/stream_peer.h index 059ccd016c..65e70995ad 100644 --- a/core/io/stream_peer.h +++ b/core/io/stream_peer.h @@ -73,7 +73,7 @@ public: void put_double(double p_val); void put_string(const String &p_string); void put_utf8_string(const String &p_string); - void put_var(const Variant &p_variant); + void put_var(const Variant &p_variant, bool p_full_objects = false); uint8_t get_u8(); int8_t get_8(); @@ -87,7 +87,7 @@ public: double get_double(); String get_string(int p_bytes = -1); String get_utf8_string(int p_bytes = -1); - Variant get_var(); + Variant get_var(bool p_allow_objects = false); StreamPeer() { big_endian = false; } }; diff --git a/core/math/basis.cpp b/core/math/basis.cpp index 8816e3639a..82b2f7006d 100644 --- a/core/math/basis.cpp +++ b/core/math/basis.cpp @@ -557,11 +557,23 @@ void Basis::set_euler_yxz(const Vector3 &p_euler) { *this = ymat * xmat * zmat; } -bool Basis::is_equal_approx(const Basis &a, const Basis &b) const { +bool Basis::is_equal_approx(const Basis &a, const Basis &b,real_t p_epsilon) const { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { - if (!Math::is_equal_approx_ratio(a.elements[i][j], b.elements[i][j], UNIT_EPSILON)) + if (!Math::is_equal_approx(a.elements[i][j], b.elements[i][j], p_epsilon)) + return false; + } + } + + return true; +} + +bool Basis::is_equal_approx_ratio(const Basis &a, const Basis &b,real_t p_epsilon) const { + + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + if (!Math::is_equal_approx_ratio(a.elements[i][j], b.elements[i][j], p_epsilon)) return false; } } @@ -605,12 +617,14 @@ Basis::operator String() const { Quat Basis::get_quat() const { +#ifdef MATH_CHECKS + if (!is_rotation()) { + ERR_EXPLAIN("Basis must be normalized in order to be casted to a Quaternion. Use get_rotation_quat() or call orthonormalized() instead."); + ERR_FAIL_V(Quat()); + } +#endif /* Allow getting a quaternion from an unnormalized transform */ Basis m = *this; - m.elements[0].normalize(); - m.elements[1].normalize(); - m.elements[2].normalize(); - real_t trace = m.elements[0][0] + m.elements[1][1] + m.elements[2][2]; real_t temp[4]; diff --git a/core/math/basis.h b/core/math/basis.h index 128e56b494..aa0ddb280f 100644 --- a/core/math/basis.h +++ b/core/math/basis.h @@ -133,7 +133,8 @@ public: return elements[0][2] * v[0] + elements[1][2] * v[1] + elements[2][2] * v[2]; } - bool is_equal_approx(const Basis &a, const Basis &b) const; + bool is_equal_approx(const Basis &a, const Basis &b, real_t p_epsilon=CMP_EPSILON) const; + bool is_equal_approx_ratio(const Basis &a, const Basis &b, real_t p_epsilon=UNIT_EPSILON) const; bool operator==(const Basis &p_matrix) const; bool operator!=(const Basis &p_matrix) const; diff --git a/core/math/expression.cpp b/core/math/expression.cpp index 99251d80e3..708054e4ab 100644 --- a/core/math/expression.cpp +++ b/core/math/expression.cpp @@ -164,10 +164,10 @@ int Expression::get_func_argument_count(BuiltinFunc p_func) { case TEXT_PRINTRAW: case VAR_TO_STR: case STR_TO_VAR: - case VAR_TO_BYTES: - case BYTES_TO_VAR: case TYPE_EXISTS: return 1; + case VAR_TO_BYTES: + case BYTES_TO_VAR: case MATH_ATAN2: case MATH_FMOD: case MATH_FPOSMOD: @@ -696,8 +696,9 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant case VAR_TO_BYTES: { PoolByteArray barr; + bool full_objects = *p_inputs[1]; int len; - Error err = encode_variant(*p_inputs[0], NULL, len); + Error err = encode_variant(*p_inputs[0], NULL, len, full_objects); if (err) { r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.argument = 0; @@ -709,7 +710,7 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant barr.resize(len); { PoolByteArray::Write w = barr.write(); - encode_variant(*p_inputs[0], w.ptr(), len); + encode_variant(*p_inputs[0], w.ptr(), len, full_objects); } *r_return = barr; } break; @@ -724,10 +725,11 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant } PoolByteArray varr = *p_inputs[0]; + bool allow_objects = *p_inputs[1]; Variant ret; { PoolByteArray::Read r = varr.read(); - Error err = decode_variant(ret, r.ptr(), varr.size(), NULL); + Error err = decode_variant(ret, r.ptr(), varr.size(), NULL, allow_objects); if (err != OK) { r_error_str = RTR("Not enough bytes for decoding bytes, or invalid format."); r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; diff --git a/core/math/geometry.cpp b/core/math/geometry.cpp index 194a6f6352..a84b5a16c7 100644 --- a/core/math/geometry.cpp +++ b/core/math/geometry.cpp @@ -515,7 +515,7 @@ static inline void _build_faces(uint8_t ***p_cell_status, int x, int y, int z, i Vector3(1,1,1), }; */ -#define vert(m_idx) Vector3((m_idx & 4) >> 2, (m_idx & 2) >> 1, m_idx & 1) +#define vert(m_idx) Vector3(((m_idx)&4) >> 2, ((m_idx)&2) >> 1, (m_idx)&1) static const uint8_t indices[6][4] = { { 7, 6, 4, 5 }, diff --git a/core/math/math_funcs.h b/core/math/math_funcs.h index 17112d8940..6ac6839827 100644 --- a/core/math/math_funcs.h +++ b/core/math/math_funcs.h @@ -249,11 +249,11 @@ public: static float random(float from, float to); static real_t random(int from, int to) { return (real_t)random((real_t)from, (real_t)to); } - static _ALWAYS_INLINE_ bool is_equal_approx_ratio(real_t a, real_t b, real_t epsilon = CMP_EPSILON) { + static _ALWAYS_INLINE_ bool is_equal_approx_ratio(real_t a, real_t b, real_t epsilon = CMP_EPSILON, real_t min_epsilon = CMP_EPSILON) { // this is an approximate way to check that numbers are close, as a ratio of their average size // helps compare approximate numbers that may be very big or very small real_t diff = abs(a - b); - if (diff == 0.0) { + if (diff == 0.0 || diff < min_epsilon) { return true; } real_t avg_size = (abs(a) + abs(b)) / 2.0; diff --git a/core/math/random_pcg.cpp b/core/math/random_pcg.cpp index 45467b32b2..8351bd138e 100644 --- a/core/math/random_pcg.cpp +++ b/core/math/random_pcg.cpp @@ -34,8 +34,7 @@ RandomPCG::RandomPCG(uint64_t p_seed, uint64_t p_inc) : pcg(), - current_seed(DEFAULT_SEED) { - pcg.inc = p_inc; + current_inc(p_inc) { seed(p_seed); } diff --git a/core/math/random_pcg.h b/core/math/random_pcg.h index 230eb9a11b..cd721ef4d1 100644 --- a/core/math/random_pcg.h +++ b/core/math/random_pcg.h @@ -38,18 +38,18 @@ class RandomPCG { pcg32_random_t pcg; uint64_t current_seed; // seed with this to get the same state + uint64_t current_inc; public: static const uint64_t DEFAULT_SEED = 12047754176567800795U; static const uint64_t DEFAULT_INC = PCG_DEFAULT_INC_64; static const uint64_t RANDOM_MAX = 0xFFFFFFFF; - RandomPCG(uint64_t p_seed = DEFAULT_SEED, uint64_t p_inc = PCG_DEFAULT_INC_64); + RandomPCG(uint64_t p_seed = DEFAULT_SEED, uint64_t p_inc = DEFAULT_INC); _FORCE_INLINE_ void seed(uint64_t p_seed) { current_seed = p_seed; - pcg.state = p_seed; - pcg32_random_r(&pcg); // Force changing internal state to avoid initial 0 + pcg32_srandom_r(&pcg, current_seed, current_inc); } _FORCE_INLINE_ uint64_t get_seed() { return current_seed; } diff --git a/core/os/input_event.cpp b/core/os/input_event.cpp index 40308f4f7d..25a5c2afeb 100644 --- a/core/os/input_event.cpp +++ b/core/os/input_event.cpp @@ -33,6 +33,9 @@ #include "core/input_map.h" #include "core/os/keyboard.h" +const int InputEvent::DEVICE_ID_TOUCH_MOUSE = -1; +const int InputEvent::DEVICE_ID_INTERNAL = -2; + void InputEvent::set_device(int p_device) { device = p_device; } diff --git a/core/os/input_event.h b/core/os/input_event.h index 47f9293a7f..ba01516519 100644 --- a/core/os/input_event.h +++ b/core/os/input_event.h @@ -165,6 +165,9 @@ protected: static void _bind_methods(); public: + static const int DEVICE_ID_TOUCH_MOUSE; + static const int DEVICE_ID_INTERNAL; + void set_device(int p_device); int get_device() const; diff --git a/core/os/main_loop.h b/core/os/main_loop.h index bfdf92acfa..ad734d3fc8 100644 --- a/core/os/main_loop.h +++ b/core/os/main_loop.h @@ -51,21 +51,19 @@ protected: public: enum { - NOTIFICATION_WM_MOUSE_ENTER = 2, - NOTIFICATION_WM_MOUSE_EXIT = 3, - NOTIFICATION_WM_FOCUS_IN = 4, - NOTIFICATION_WM_FOCUS_OUT = 5, - NOTIFICATION_WM_QUIT_REQUEST = 6, - NOTIFICATION_WM_GO_BACK_REQUEST = 7, - NOTIFICATION_WM_UNFOCUS_REQUEST = 8, - NOTIFICATION_OS_MEMORY_WARNING = 9, - // Note: NOTIFICATION_TRANSLATION_CHANGED and NOTIFICATION_WM_ABOUT used to have id=10 and id=11 but these - // conflict with NOTIFICATION_ENTER_TREE (id=10) and NOTIFICATION_EXIT_TREE (id=11), so id=90 and id=91 - // fixes this issue. - NOTIFICATION_TRANSLATION_CHANGED = 90, - NOTIFICATION_WM_ABOUT = 91, - NOTIFICATION_CRASH = 92, - NOTIFICATION_OS_IME_UPDATE = 93, + //make sure these are replicated in Node + NOTIFICATION_WM_MOUSE_ENTER = 1002, + NOTIFICATION_WM_MOUSE_EXIT = 1003, + NOTIFICATION_WM_FOCUS_IN = 1004, + NOTIFICATION_WM_FOCUS_OUT = 1005, + NOTIFICATION_WM_QUIT_REQUEST = 1006, + NOTIFICATION_WM_GO_BACK_REQUEST = 1007, + NOTIFICATION_WM_UNFOCUS_REQUEST = 1008, + NOTIFICATION_OS_MEMORY_WARNING = 1009, + NOTIFICATION_TRANSLATION_CHANGED = 1010, + NOTIFICATION_WM_ABOUT = 1011, + NOTIFICATION_CRASH = 1012, + NOTIFICATION_OS_IME_UPDATE = 1013, }; virtual void input_event(const Ref<InputEvent> &p_event); diff --git a/core/os/midi_driver.cpp b/core/os/midi_driver.cpp index 0d7ad23d68..7cb7ae130f 100644 --- a/core/os/midi_driver.cpp +++ b/core/os/midi_driver.cpp @@ -75,6 +75,11 @@ void MIDIDriver::receive_input_packet(uint64_t timestamp, uint8_t *data, uint32_ if (length >= 3) { event->set_pitch(data[1]); event->set_velocity(data[2]); + + if (event->get_message() == MIDI_MESSAGE_NOTE_ON && event->get_velocity() == 0) { + // https://www.midi.org/forum/228-writing-midi-software-send-note-off,-or-zero-velocity-note-on + event->set_message(MIDI_MESSAGE_NOTE_OFF); + } } break; diff --git a/core/packed_data_container.cpp b/core/packed_data_container.cpp index 6c17f42b13..99bed829c1 100644 --- a/core/packed_data_container.cpp +++ b/core/packed_data_container.cpp @@ -114,7 +114,7 @@ Variant PackedDataContainer::_get_at_ofs(uint32_t p_ofs, const uint8_t *p_buf, b } else { Variant v; - Error rerr = decode_variant(v, p_buf + p_ofs, datalen - p_ofs, NULL); + Error rerr = decode_variant(v, p_buf + p_ofs, datalen - p_ofs, NULL, false); if (rerr != OK) { @@ -249,9 +249,9 @@ uint32_t PackedDataContainer::_pack(const Variant &p_data, Vector<uint8_t> &tmpd uint32_t pos = tmpdata.size(); int len; - encode_variant(p_data, NULL, len); + encode_variant(p_data, NULL, len, false); tmpdata.resize(tmpdata.size() + len); - encode_variant(p_data, &tmpdata.write[pos], len); + encode_variant(p_data, &tmpdata.write[pos], len, false); return pos; } break; diff --git a/core/project_settings.cpp b/core/project_settings.cpp index 02c7c9e029..8c9a3dbcd4 100644 --- a/core/project_settings.cpp +++ b/core/project_settings.cpp @@ -501,7 +501,7 @@ Error ProjectSettings::_load_settings_binary(const String p_path) { d.resize(vlen); f->get_buffer(d.ptrw(), vlen); Variant value; - err = decode_variant(value, d.ptr(), d.size()); + err = decode_variant(value, d.ptr(), d.size(), NULL, false); ERR_EXPLAIN("Error decoding property: " + key); ERR_CONTINUE(err != OK); set(key, value); @@ -656,7 +656,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const Map<Str file->store_string(key); int len; - err = encode_variant(p_custom_features, NULL, len); + err = encode_variant(p_custom_features, NULL, len, false); if (err != OK) { memdelete(file); ERR_FAIL_V(err); @@ -665,7 +665,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const Map<Str Vector<uint8_t> buff; buff.resize(len); - err = encode_variant(p_custom_features, buff.ptrw(), len); + err = encode_variant(p_custom_features, buff.ptrw(), len, false); if (err != OK) { memdelete(file); ERR_FAIL_V(err); @@ -694,7 +694,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const Map<Str file->store_string(key); int len; - err = encode_variant(value, NULL, len); + err = encode_variant(value, NULL, len, false); if (err != OK) memdelete(file); ERR_FAIL_COND_V(err != OK, ERR_INVALID_DATA); @@ -702,7 +702,7 @@ Error ProjectSettings::_save_settings_binary(const String &p_file, const Map<Str Vector<uint8_t> buff; buff.resize(len); - err = encode_variant(value, buff.ptrw(), len); + err = encode_variant(value, buff.ptrw(), len, false); if (err != OK) memdelete(file); ERR_FAIL_COND_V(err != OK, ERR_INVALID_DATA); diff --git a/core/script_language.cpp b/core/script_language.cpp index 1c244661b0..4a6f904f9d 100644 --- a/core/script_language.cpp +++ b/core/script_language.cpp @@ -190,6 +190,14 @@ StringName ScriptServer::get_global_class_base(const String &p_class) { ERR_FAIL_COND_V(!global_classes.has(p_class), String()); return global_classes[p_class].base; } +StringName ScriptServer::get_global_class_native_base(const String &p_class) { + ERR_FAIL_COND_V(!global_classes.has(p_class), String()); + String base = global_classes[p_class].base; + while (global_classes.has(base)) { + base = global_classes[base].base; + } + return base; +} void ScriptServer::get_global_class_list(List<StringName> *r_global_classes) { const StringName *K = NULL; List<StringName> classes; diff --git a/core/script_language.h b/core/script_language.h index 65fb0f0268..005e21e2cc 100644 --- a/core/script_language.h +++ b/core/script_language.h @@ -87,6 +87,7 @@ public: static StringName get_global_class_language(const StringName &p_class); static String get_global_class_path(const String &p_class); static StringName get_global_class_base(const String &p_class); + static StringName get_global_class_native_base(const String &p_class); static void get_global_class_list(List<StringName> *r_global_classes); static void save_global_classes(); @@ -204,6 +205,8 @@ public: static ScriptCodeCompletionCache *get_singleton() { return singleton; } ScriptCodeCompletionCache(); + + virtual ~ScriptCodeCompletionCache() {} }; class ScriptLanguage { diff --git a/core/typedefs.h b/core/typedefs.h index 03514466c0..660139b90a 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -137,7 +137,7 @@ T *_nullptr() { /** Generic swap template */ #ifndef SWAP -#define SWAP(m_x, m_y) __swap_tmpl(m_x, m_y) +#define SWAP(m_x, m_y) __swap_tmpl((m_x), (m_y)) template <class T> inline void __swap_tmpl(T &x, T &y) { @@ -328,4 +328,31 @@ struct _GlobalLock { #define _PRINTF_FORMAT_ATTRIBUTE_2_3 #endif +/** This is needed due to a strange OpenGL API that expects a pointer + * type for an argument that is actually an offset. + */ +#define CAST_INT_TO_UCHAR_PTR(ptr) ((uint8_t *)(uintptr_t)(ptr)) + +/** Hint for compilers that this fallthrough in a switch is intentional. + * Can be replaced by [[fallthrough]] annotation if we move to C++17. + * Including conditional support for it for people who set -std=c++17 + * themselves. + * Requires a trailing semicolon when used. + */ +#if __cplusplus >= 201703L +#define FALLTHROUGH [[fallthrough]] +#elif defined(__GNUC__) && __GNUC__ >= 7 +#define FALLTHROUGH __attribute__((fallthrough)) +#elif defined(__llvm__) && __cplusplus >= 201103L && defined(__has_feature) +#if __has_feature(cxx_attributes) && defined(__has_warning) +#if __has_warning("-Wimplicit-fallthrough") +#define FALLTHROUGH [[clang::fallthrough]] +#endif +#endif +#endif + +#ifndef FALLTHROUGH +#define FALLTHROUGH +#endif + #endif // TYPEDEFS_H diff --git a/core/undo_redo.cpp b/core/undo_redo.cpp index e13164d50f..69581e4115 100644 --- a/core/undo_redo.cpp +++ b/core/undo_redo.cpp @@ -90,7 +90,7 @@ void UndoRedo::create_action(const String &p_name, MergeMode p_mode) { actions.write[actions.size() - 1].last_tick = ticks; merge_mode = p_mode; - + merging = true; } else { Action new_action; @@ -250,6 +250,11 @@ void UndoRedo::commit_action() { if (action_level > 0) return; //still nested + if (merging) { + version--; + merging = false; + } + commiting++; redo(); // perform action commiting--; @@ -396,6 +401,7 @@ UndoRedo::UndoRedo() { action_level = 0; current_action = -1; merge_mode = MERGE_DISABLE; + merging = false; callback = NULL; callback_ud = NULL; diff --git a/core/undo_redo.h b/core/undo_redo.h index b626149ce6..6293e77acc 100644 --- a/core/undo_redo.h +++ b/core/undo_redo.h @@ -80,6 +80,7 @@ private: int current_action; int action_level; MergeMode merge_mode; + bool merging; uint64_t version; void _pop_history_tail(); diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 25a0f3957c..3812592639 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -773,6 +773,8 @@ struct _VariantCall { VCALL_PTR0R(Basis, get_orthogonal_index); VCALL_PTR0R(Basis, orthonormalized); VCALL_PTR2R(Basis, slerp); + VCALL_PTR2R(Basis, is_equal_approx); + VCALL_PTR0R(Basis, get_rotation_quat); VCALL_PTR0R(Transform, inverse); VCALL_PTR0R(Transform, affine_inverse); @@ -1842,6 +1844,8 @@ void register_variant_methods() { ADDFUNC1R(BASIS, VECTOR3, Basis, xform_inv, VECTOR3, "v", varray()); ADDFUNC0R(BASIS, INT, Basis, get_orthogonal_index, varray()); ADDFUNC2R(BASIS, BASIS, Basis, slerp, BASIS, "b", REAL, "t", varray()); + ADDFUNC2R(BASIS, BOOL, Basis, is_equal_approx, BASIS, "b", REAL, "epsilon", varray(CMP_EPSILON)); + ADDFUNC0R(BASIS, QUAT, Basis, get_rotation_quat, varray()); ADDFUNC0R(TRANSFORM, TRANSFORM, Transform, inverse, varray()); ADDFUNC0R(TRANSFORM, TRANSFORM, Transform, affine_inverse, varray()); diff --git a/doc/classes/@GDScript.xml b/doc/classes/@GDScript.xml index 7b4b3e43ba..df52f8503a 100644 --- a/doc/classes/@GDScript.xml +++ b/doc/classes/@GDScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="@GDScript" category="Core" version="3.1"> +<class name="@GDScript" category="Core" version="3.2"> <brief_description> Built-in GDScript functions. </brief_description> @@ -127,7 +127,7 @@ <description> Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle of tangent [code]y/x[/code]. To compute the value, the method takes into account the sign of both arguments in order to determine the quadrant. [codeblock] - a = atan(0, -1) # a is 3.141593 + a = atan2(0, -1) # a is 3.141593 [/codeblock] </description> </method> @@ -136,8 +136,11 @@ </return> <argument index="0" name="bytes" type="PoolByteArray"> </argument> + <argument index="1" name="allow_objects" type="bool" default="false"> + </argument> <description> - Decodes a byte array back to a value. + Decodes a byte array back to a value. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). </description> </method> <method name="cartesian2polar"> @@ -1112,8 +1115,10 @@ </return> <argument index="0" name="var" type="Variant"> </argument> + <argument index="1" name="full_objects" type="bool" default="false"> + </argument> <description> - Encodes a variable value to a byte array. + Encodes a variable value to a byte array. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code). </description> </method> <method name="var2str"> diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index ba2eb35f8c..64ca2e54f6 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="@GlobalScope" category="Core" version="3.1"> +<class name="@GlobalScope" category="Core" version="3.2"> <brief_description> Global scope constants and variables. </brief_description> diff --git a/doc/classes/@NativeScript.xml b/doc/classes/@NativeScript.xml index 2bf1dc7a7c..10174debe1 100644 --- a/doc/classes/@NativeScript.xml +++ b/doc/classes/@NativeScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="@NativeScript" category="Core" version="3.1"> +<class name="@NativeScript" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/@VisualScript.xml b/doc/classes/@VisualScript.xml index d4a924a259..c345bc5ee5 100644 --- a/doc/classes/@VisualScript.xml +++ b/doc/classes/@VisualScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="@VisualScript" category="Core" version="3.1"> +<class name="@VisualScript" category="Core" version="3.2"> <brief_description> Built-in visual script functions. </brief_description> diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml index 2e0d0c15b2..66122159a2 100644 --- a/doc/classes/AABB.xml +++ b/doc/classes/AABB.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AABB" category="Built-In Types" version="3.1"> +<class name="AABB" category="Built-In Types" version="3.2"> <brief_description> Axis-Aligned Bounding Box. </brief_description> @@ -29,7 +29,7 @@ <argument index="0" name="with" type="AABB"> </argument> <description> - Returns [code]true[/code] if this [code]AABB[/code] completely encloses another one. + Returns [code]true[/code] if this [AABB] completely encloses another one. </description> </method> <method name="expand"> @@ -38,14 +38,14 @@ <argument index="0" name="to_point" type="Vector3"> </argument> <description> - Returns this [code]AABB[/code] expanded to include a given point. + Returns this [AABB] expanded to include a given point. </description> </method> <method name="get_area"> <return type="float"> </return> <description> - Gets the area of the [code]AABB[/code]. + Gets the area of the [AABB]. </description> </method> <method name="get_endpoint"> @@ -54,49 +54,49 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Gets the position of the 8 endpoints of the [code]AABB[/code] in space. + Gets the position of the 8 endpoints of the [AABB] in space. </description> </method> <method name="get_longest_axis"> <return type="Vector3"> </return> <description> - Returns the normalized longest axis of the [code]AABB[/code]. + Returns the normalized longest axis of the [AABB]. </description> </method> <method name="get_longest_axis_index"> <return type="int"> </return> <description> - Returns the index of the longest axis of the [code]AABB[/code] (according to [Vector3]::AXIS* enum). + Returns the index of the longest axis of the [AABB] (according to [Vector3]::AXIS* enum). </description> </method> <method name="get_longest_axis_size"> <return type="float"> </return> <description> - Returns the scalar length of the longest axis of the [code]AABB[/code]. + Returns the scalar length of the longest axis of the [AABB]. </description> </method> <method name="get_shortest_axis"> <return type="Vector3"> </return> <description> - Returns the normalized shortest axis of the [code]AABB[/code]. + Returns the normalized shortest axis of the [AABB]. </description> </method> <method name="get_shortest_axis_index"> <return type="int"> </return> <description> - Returns the index of the shortest axis of the [code]AABB[/code] (according to [Vector3]::AXIS* enum). + Returns the index of the shortest axis of the [AABB] (according to [Vector3]::AXIS* enum). </description> </method> <method name="get_shortest_axis_size"> <return type="float"> </return> <description> - Returns the scalar length of the shortest axis of the [code]AABB[/code]. + Returns the scalar length of the shortest axis of the [AABB]. </description> </method> <method name="get_support"> @@ -114,21 +114,21 @@ <argument index="0" name="by" type="float"> </argument> <description> - Returns a copy of the [code]AABB[/code] grown a given amount of units towards all the sides. + Returns a copy of the [AABB] grown a given amount of units towards all the sides. </description> </method> <method name="has_no_area"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the [code]AABB[/code] is flat or empty. + Returns [code]true[/code] if the [AABB] is flat or empty. </description> </method> <method name="has_no_surface"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the [code]AABB[/code] is empty. + Returns [code]true[/code] if the [AABB] is empty. </description> </method> <method name="has_point"> @@ -137,7 +137,7 @@ <argument index="0" name="point" type="Vector3"> </argument> <description> - Returns [code]true[/code] if the [code]AABB[/code] contains a point. + Returns [code]true[/code] if the [AABB] contains a point. </description> </method> <method name="intersection"> @@ -146,7 +146,7 @@ <argument index="0" name="with" type="AABB"> </argument> <description> - Returns the intersection between two [code]AABB[/code]. An empty AABB (size 0,0,0) is returned on failure. + Returns the intersection between two [AABB]. An empty AABB (size 0,0,0) is returned on failure. </description> </method> <method name="intersects"> @@ -155,7 +155,7 @@ <argument index="0" name="with" type="AABB"> </argument> <description> - Returns [code]true[/code] if the [code]AABB[/code] overlaps with another. + Returns [code]true[/code] if the [AABB] overlaps with another. </description> </method> <method name="intersects_plane"> @@ -164,7 +164,7 @@ <argument index="0" name="plane" type="Plane"> </argument> <description> - Returns [code]true[/code] if the [code]AABB[/code] is on both sides of a plane. + Returns [code]true[/code] if the [AABB] is on both sides of a plane. </description> </method> <method name="intersects_segment"> @@ -175,7 +175,7 @@ <argument index="1" name="to" type="Vector3"> </argument> <description> - Returns [code]true[/code] if the [code]AABB[/code] intersects the line segment between [code]from[/code] and [code]to[/code]. + Returns [code]true[/code] if the [AABB] intersects the line segment between [code]from[/code] and [code]to[/code]. </description> </method> <method name="merge"> diff --git a/doc/classes/ARVRAnchor.xml b/doc/classes/ARVRAnchor.xml index 5b9188b171..5197c1c651 100644 --- a/doc/classes/ARVRAnchor.xml +++ b/doc/classes/ARVRAnchor.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRAnchor" inherits="Spatial" category="Core" version="3.1"> +<class name="ARVRAnchor" inherits="Spatial" category="Core" version="3.2"> <brief_description> Anchor point in AR Space. </brief_description> diff --git a/doc/classes/ARVRCamera.xml b/doc/classes/ARVRCamera.xml index aca8282a7c..7e360df27d 100644 --- a/doc/classes/ARVRCamera.xml +++ b/doc/classes/ARVRCamera.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRCamera" inherits="Camera" category="Core" version="3.1"> +<class name="ARVRCamera" inherits="Camera" category="Core" version="3.2"> <brief_description> A camera node with a few overrules for AR/VR applied, such as location tracking. </brief_description> diff --git a/doc/classes/ARVRController.xml b/doc/classes/ARVRController.xml index ccb55375d2..1264f89f64 100644 --- a/doc/classes/ARVRController.xml +++ b/doc/classes/ARVRController.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRController" inherits="Spatial" category="Core" version="3.1"> +<class name="ARVRController" inherits="Spatial" category="Core" version="3.2"> <brief_description> A spatial node representing a spatially tracked controller. </brief_description> diff --git a/doc/classes/ARVRInterface.xml b/doc/classes/ARVRInterface.xml index bf72902410..76f7c352bb 100644 --- a/doc/classes/ARVRInterface.xml +++ b/doc/classes/ARVRInterface.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRInterface" inherits="Reference" category="Core" version="3.1"> +<class name="ARVRInterface" inherits="Reference" category="Core" version="3.2"> <brief_description> Base class for ARVR interface implementation. </brief_description> diff --git a/doc/classes/ARVROrigin.xml b/doc/classes/ARVROrigin.xml index 55062ba3ae..2d908ed500 100644 --- a/doc/classes/ARVROrigin.xml +++ b/doc/classes/ARVROrigin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVROrigin" inherits="Spatial" category="Core" version="3.1"> +<class name="ARVROrigin" inherits="Spatial" category="Core" version="3.2"> <brief_description> Our origin point in AR/VR. </brief_description> diff --git a/doc/classes/ARVRPositionalTracker.xml b/doc/classes/ARVRPositionalTracker.xml index e703de36f4..c1be8d2356 100644 --- a/doc/classes/ARVRPositionalTracker.xml +++ b/doc/classes/ARVRPositionalTracker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRPositionalTracker" inherits="Object" category="Core" version="3.1"> +<class name="ARVRPositionalTracker" inherits="Object" category="Core" version="3.2"> <brief_description> A tracked object </brief_description> diff --git a/doc/classes/ARVRServer.xml b/doc/classes/ARVRServer.xml index e089360c46..608c031e14 100644 --- a/doc/classes/ARVRServer.xml +++ b/doc/classes/ARVRServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRServer" inherits="Object" category="Core" version="3.1"> +<class name="ARVRServer" inherits="Object" category="Core" version="3.2"> <brief_description> This is our AR/VR Server. </brief_description> diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml index e1b79a2a3e..5a62c69a67 100644 --- a/doc/classes/AStar.xml +++ b/doc/classes/AStar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AStar" inherits="Reference" category="Core" version="3.1"> +<class name="AStar" inherits="Reference" category="Core" version="3.2"> <brief_description> AStar class representation that uses vectors as edges. </brief_description> diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml index fc27bdbb81..71b161ccb1 100644 --- a/doc/classes/AcceptDialog.xml +++ b/doc/classes/AcceptDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AcceptDialog" inherits="WindowDialog" category="Core" version="3.1"> +<class name="AcceptDialog" inherits="WindowDialog" category="Core" version="3.2"> <brief_description> Base dialog for user notification. </brief_description> diff --git a/doc/classes/AnimatedSprite.xml b/doc/classes/AnimatedSprite.xml index 7f9167c49a..0ee1c75348 100644 --- a/doc/classes/AnimatedSprite.xml +++ b/doc/classes/AnimatedSprite.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimatedSprite" inherits="Node2D" category="Core" version="3.1"> +<class name="AnimatedSprite" inherits="Node2D" category="Core" version="3.2"> <brief_description> Sprite node that can use multiple textures for animation. </brief_description> @@ -24,7 +24,7 @@ <argument index="0" name="anim" type="String" default=""""> </argument> <description> - Play the animation set in parameter. If no parameter is provided, the current animation is played. + Play the animation set in parameter. If no parameter is provided, the current animation is played. Property [code]backwards[/code] plays the animation in reverse if set to [code]true[/code]. </description> </method> <method name="stop"> diff --git a/doc/classes/AnimatedSprite3D.xml b/doc/classes/AnimatedSprite3D.xml index dcc44e2df4..d4ed5d5adc 100644 --- a/doc/classes/AnimatedSprite3D.xml +++ b/doc/classes/AnimatedSprite3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimatedSprite3D" inherits="SpriteBase3D" category="Core" version="3.1"> +<class name="AnimatedSprite3D" inherits="SpriteBase3D" category="Core" version="3.2"> <brief_description> 2D sprite node in 3D world, that can use multiple 2D textures for animation. </brief_description> diff --git a/doc/classes/AnimatedTexture.xml b/doc/classes/AnimatedTexture.xml index 08cd79e78f..88c14671b0 100644 --- a/doc/classes/AnimatedTexture.xml +++ b/doc/classes/AnimatedTexture.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimatedTexture" inherits="Texture" category="Core" version="3.1"> +<class name="AnimatedTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> Proxy texture for simple frame-based animations. </brief_description> <description> - [code]AnimatedTexture[/code] is a resource format for simple frame-based animations, where multiple frames textures can be chained automatically with a predefined delay for each frame. It's not a [Node], contrarily to [AnimationPlayer] or [AnimatedSprite], but has the advantage of being usable at any place where a [Texture] resource can be used, e.g. in a [TileSet]. + [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite], it isn't a [Node], but has the advantage of being usable anywhere a [Texture] resource can be used, e.g. in a [TileSet]. The playback of the animation is controlled by the [member fps] property as well as each frame's optional delay (see [method set_frame_delay]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame. - [code]AnimatedTexture[/code] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one. + [AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one. </description> <tutorials> </tutorials> @@ -19,7 +19,7 @@ <argument index="0" name="frame" type="int"> </argument> <description> - Retrieves the delayed assigned to the given [code]frame[/code] ID. + Returns the given frame's delay value. </description> </method> <method name="get_frame_texture" qualifiers="const"> @@ -28,7 +28,7 @@ <argument index="0" name="frame" type="int"> </argument> <description> - Retrieves the [Texture] assigned to the given [code]frame[/code] ID. + Returns the given frame's [Texture]. </description> </method> <method name="set_frame_delay"> @@ -39,7 +39,7 @@ <argument index="1" name="delay" type="float"> </argument> <description> - Defines an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by [member fps]. By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be [code]1.0 / fps + delay[/code]. + Sets an additional delay (in seconds) between this frame and the next one, that will be added to the time interval defined by [member fps]. By default, frames have no delay defined. If a delay value is defined, the final time interval between this frame and the next will be [code]1.0 / fps + delay[/code]. For example, for an animation with 3 frames, 2 FPS and a frame delay on the second frame of 1.2, the resulting playback will be: [codeblock] Frame 0: 0.5 s (1 / fps) @@ -57,15 +57,15 @@ <argument index="1" name="texture" type="Texture"> </argument> <description> - Assigns a [Texture] to the given [code]frame[/code] ID. IDs start at 0 (so the first frame has ID 0, and the last frame of the animation has ID [member frames] - 1). - You can define any frame texture up to [constant MAX_FRAMES], but keep in mind that only frames from 0 to [member frames] - 1 will be part of the animation. + Assigns a [Texture] to the given frame. Frame IDs start at 0, so the first frame has ID 0, and the last frame of the animation has ID [member frames] - 1. + You can define any number of textures up to [constant MAX_FRAMES], but keep in mind that only frames from 0 to [member frames] - 1 will be part of the animation. </description> </method> </methods> <members> <member name="fps" type="float" setter="set_fps" getter="get_fps"> - Number of frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]). Default value: 4. - For example, an animation with 8 frames, no frame delay and a [code]fps[/code] value of 2 will run over 4 seconds, with one frame each 0.5 seconds. + Animation speed in frames per second. This value defines the default time interval between two frames of the animation, and thus the overall duration of the animation loop based on the [member frames] property. A value of 0 means no predefined number of frames per second, the animation will play according to each frame's frame delay (see [method set_frame_delay]). Default value: 4. + For example, an animation with 8 frames, no frame delay and a [code]fps[/code] value of 2 will run for 4 seconds, with each frame lasting 0.5 seconds. </member> <member name="frames" type="int" setter="set_frames" getter="get_frames"> Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES]. Default value: 1. @@ -73,7 +73,7 @@ </members> <constants> <constant name="MAX_FRAMES" value="256"> - The maximum number of frames supported by [code]AnimatedTexture[/code]. If you need more frames in your animation, use [AnimationPlayer] or [AnimatedSprite]. + The maximum number of frames supported by [AnimatedTexture]. If you need more frames in your animation, use [AnimationPlayer] or [AnimatedSprite]. </constant> </constants> </class> diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml index eaaa64d53d..04f142585e 100644 --- a/doc/classes/Animation.xml +++ b/doc/classes/Animation.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Animation" inherits="Resource" category="Core" version="3.1"> +<class name="Animation" inherits="Resource" category="Core" version="3.2"> <brief_description> Contains data used to animate everything in the engine. </brief_description> diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml index a98facf541..f8478cbbf8 100644 --- a/doc/classes/AnimationNode.xml +++ b/doc/classes/AnimationNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNode" inherits="Resource" category="Core" version="3.1"> +<class name="AnimationNode" inherits="Resource" category="Core" version="3.2"> <brief_description> Base resource for [AnimationTree] nodes. </brief_description> diff --git a/doc/classes/AnimationNodeAdd2.xml b/doc/classes/AnimationNodeAdd2.xml index 9297faa1b7..b4ae87652b 100644 --- a/doc/classes/AnimationNodeAdd2.xml +++ b/doc/classes/AnimationNodeAdd2.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeAdd2" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeAdd2" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeAdd3.xml b/doc/classes/AnimationNodeAdd3.xml index deb8d74a38..3170b8c28c 100644 --- a/doc/classes/AnimationNodeAdd3.xml +++ b/doc/classes/AnimationNodeAdd3.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeAdd3" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeAdd3" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeAnimation.xml b/doc/classes/AnimationNodeAnimation.xml index de8e918f68..e096bb15cf 100644 --- a/doc/classes/AnimationNodeAnimation.xml +++ b/doc/classes/AnimationNodeAnimation.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeAnimation" inherits="AnimationRootNode" category="Core" version="3.1"> +<class name="AnimationNodeAnimation" inherits="AnimationRootNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeBlend2.xml b/doc/classes/AnimationNodeBlend2.xml index 42bb12d9d0..9a8a9f4181 100644 --- a/doc/classes/AnimationNodeBlend2.xml +++ b/doc/classes/AnimationNodeBlend2.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeBlend2" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeBlend2" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeBlend3.xml b/doc/classes/AnimationNodeBlend3.xml index cd3d9f9bc8..1e97d0b418 100644 --- a/doc/classes/AnimationNodeBlend3.xml +++ b/doc/classes/AnimationNodeBlend3.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeBlend3" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeBlend3" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeBlendSpace1D.xml b/doc/classes/AnimationNodeBlendSpace1D.xml index 2113948b2e..09cd135374 100644 --- a/doc/classes/AnimationNodeBlendSpace1D.xml +++ b/doc/classes/AnimationNodeBlendSpace1D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeBlendSpace1D" inherits="AnimationRootNode" category="Core" version="3.1"> +<class name="AnimationNodeBlendSpace1D" inherits="AnimationRootNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeBlendSpace2D.xml b/doc/classes/AnimationNodeBlendSpace2D.xml index b205c01468..ad7d9dd380 100644 --- a/doc/classes/AnimationNodeBlendSpace2D.xml +++ b/doc/classes/AnimationNodeBlendSpace2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeBlendSpace2D" inherits="AnimationRootNode" category="Core" version="3.1"> +<class name="AnimationNodeBlendSpace2D" inherits="AnimationRootNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml index cd28232908..b91c8a18fd 100644 --- a/doc/classes/AnimationNodeBlendTree.xml +++ b/doc/classes/AnimationNodeBlendTree.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeBlendTree" inherits="AnimationRootNode" category="Core" version="3.1"> +<class name="AnimationNodeBlendTree" inherits="AnimationRootNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml index 12cb9775a2..09e1727527 100644 --- a/doc/classes/AnimationNodeOneShot.xml +++ b/doc/classes/AnimationNodeOneShot.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeOneShot" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeOneShot" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeOutput.xml b/doc/classes/AnimationNodeOutput.xml index 98a41bc9cb..86cd77f9be 100644 --- a/doc/classes/AnimationNodeOutput.xml +++ b/doc/classes/AnimationNodeOutput.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeOutput" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeOutput" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeStateMachine.xml b/doc/classes/AnimationNodeStateMachine.xml index ed4098d938..6de544c9ac 100644 --- a/doc/classes/AnimationNodeStateMachine.xml +++ b/doc/classes/AnimationNodeStateMachine.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeStateMachine" inherits="AnimationRootNode" category="Core" version="3.1"> +<class name="AnimationNodeStateMachine" inherits="AnimationRootNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml index 6bf9504efb..01bf982281 100644 --- a/doc/classes/AnimationNodeStateMachinePlayback.xml +++ b/doc/classes/AnimationNodeStateMachinePlayback.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeStateMachinePlayback" inherits="Resource" category="Core" version="3.1"> +<class name="AnimationNodeStateMachinePlayback" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml index e07a9fc980..a1ee381882 100644 --- a/doc/classes/AnimationNodeStateMachineTransition.xml +++ b/doc/classes/AnimationNodeStateMachineTransition.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeStateMachineTransition" inherits="Resource" category="Core" version="3.1"> +<class name="AnimationNodeStateMachineTransition" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeTimeScale.xml b/doc/classes/AnimationNodeTimeScale.xml index 226c855b83..6a7b29ae81 100644 --- a/doc/classes/AnimationNodeTimeScale.xml +++ b/doc/classes/AnimationNodeTimeScale.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeTimeScale" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeTimeScale" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeTimeSeek.xml b/doc/classes/AnimationNodeTimeSeek.xml index 707b09a4a5..2d32f0658d 100644 --- a/doc/classes/AnimationNodeTimeSeek.xml +++ b/doc/classes/AnimationNodeTimeSeek.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeTimeSeek" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeTimeSeek" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationNodeTransition.xml b/doc/classes/AnimationNodeTransition.xml index 317bc5ed69..fa408c1c08 100644 --- a/doc/classes/AnimationNodeTransition.xml +++ b/doc/classes/AnimationNodeTransition.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationNodeTransition" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationNodeTransition" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index 21aba282ee..442d9e92da 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationPlayer" inherits="Node" category="Core" version="3.1"> +<class name="AnimationPlayer" inherits="Node" category="Core" version="3.2"> <brief_description> Container and player of [Animation] resources. </brief_description> @@ -57,7 +57,7 @@ <return type="void"> </return> <description> - [code]AnimationPlayer[/code] caches animated nodes. It may not notice if a node disappears, so clear_caches forces it to update the cache again. + [AnimationPlayer] caches animated nodes. It may not notice if a node disappears, so clear_caches forces it to update the cache again. </description> </method> <method name="clear_queue"> @@ -122,7 +122,7 @@ <argument index="0" name="name" type="String"> </argument> <description> - Returns [code]true[/code] if the [code]AnimationPlayer[/code] stores an [Animation] with key [code]name[/code]. + Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with key [code]name[/code]. </description> </method> <method name="is_playing" qualifiers="const"> diff --git a/doc/classes/AnimationRootNode.xml b/doc/classes/AnimationRootNode.xml index dab2c12373..37bab88c76 100644 --- a/doc/classes/AnimationRootNode.xml +++ b/doc/classes/AnimationRootNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationRootNode" inherits="AnimationNode" category="Core" version="3.1"> +<class name="AnimationRootNode" inherits="AnimationNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationTrackEditPlugin.xml b/doc/classes/AnimationTrackEditPlugin.xml index f322a556b1..346b10cc7c 100644 --- a/doc/classes/AnimationTrackEditPlugin.xml +++ b/doc/classes/AnimationTrackEditPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationTrackEditPlugin" inherits="Reference" category="Core" version="3.1"> +<class name="AnimationTrackEditPlugin" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml index 9a6a75079c..1101c0ee62 100644 --- a/doc/classes/AnimationTree.xml +++ b/doc/classes/AnimationTree.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationTree" inherits="Node" category="Core" version="3.1"> +<class name="AnimationTree" inherits="Node" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AnimationTreePlayer.xml b/doc/classes/AnimationTreePlayer.xml index cfec75bc3a..a8b7e50673 100644 --- a/doc/classes/AnimationTreePlayer.xml +++ b/doc/classes/AnimationTreePlayer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimationTreePlayer" inherits="Node" category="Core" version="3.1"> +<class name="AnimationTreePlayer" inherits="Node" category="Core" version="3.2"> <brief_description> Animation Player that uses a node graph for blending Animations. </brief_description> @@ -38,7 +38,7 @@ <argument index="0" name="id" type="String"> </argument> <description> - Returns the [AnimationPlayer]'s [Animation] bound to the [code]AnimationTreePlayer[/code]'s animation node with name [code]id[/code]. + Returns the [AnimationPlayer]'s [Animation] bound to the [AnimationTreePlayer]'s animation node with name [code]id[/code]. </description> </method> <method name="animation_node_get_master_animation" qualifiers="const"> @@ -66,7 +66,7 @@ <argument index="1" name="animation" type="Animation"> </argument> <description> - Binds a new [Animation] from the [member master_player] to the [code]AnimationTreePlayer[/code]'s animation node with name [code]id[/code]. + Binds a new [Animation] from the [member master_player] to the [AnimationTreePlayer]'s animation node with name [code]id[/code]. </description> </method> <method name="animation_node_set_filter_path"> @@ -472,7 +472,7 @@ <return type="void"> </return> <description> - Resets this [code]AnimationTreePlayer[/code]. + Resets this [AnimationTreePlayer]. </description> </method> <method name="timescale_node_get_scale" qualifiers="const"> @@ -607,14 +607,14 @@ </methods> <members> <member name="active" type="bool" setter="set_active" getter="is_active"> - If [code]true[/code], the [code]AnimationTreePlayer[/code] is able to play animations. Default value: [code]false[/code]. + If [code]true[/code], the [AnimationTreePlayer] is able to play animations. Default value: [code]false[/code]. </member> <member name="base_path" type="NodePath" setter="set_base_path" getter="get_base_path"> The node from which to relatively access other nodes. Default value: [code]".."[/code]. It accesses the Bones, so it should point to the same Node the AnimationPlayer would point its Root Node at. </member> <member name="master_player" type="NodePath" setter="set_master_player" getter="get_master_player"> - The path to the [AnimationPlayer] from which this [code]AnimationTreePlayer[/code] binds animations to animation nodes. + The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes. Once set, Animation nodes can be added to the AnimationTreePlayer. </member> <member name="playback_process_mode" type="int" setter="set_animation_process_mode" getter="get_animation_process_mode" enum="AnimationTreePlayer.AnimationProcessMode"> diff --git a/doc/classes/Area.xml b/doc/classes/Area.xml index a538fe9935..5147123dce 100644 --- a/doc/classes/Area.xml +++ b/doc/classes/Area.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Area" inherits="CollisionObject" category="Core" version="3.1"> +<class name="Area" inherits="CollisionObject" category="Core" version="3.2"> <brief_description> General purpose area node for detection and 3D physics influence. </brief_description> @@ -33,7 +33,7 @@ <return type="Array"> </return> <description> - Returns a list of intersecting [code]Area[/code]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. + Returns a list of intersecting [Area]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. </description> </method> <method name="get_overlapping_bodies" qualifiers="const"> @@ -69,7 +69,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> - Set/clear individual bits on the layer mask. This simplifies editing this [code]Area[/code]'s layers. + Set/clear individual bits on the layer mask. This simplifies editing this [Area]'s layers. </description> </method> <method name="set_collision_mask_bit"> @@ -80,7 +80,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> - Set/clear individual bits on the collision mask. This simplifies editing which [code]Area[/code] layers this [code]Area[/code] scans. + Set/clear individual bits on the collision mask. This simplifies editing which [Area] layers this [Area] scans. </description> </method> </methods> diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml index 7980fe79ba..52df168acc 100644 --- a/doc/classes/Area2D.xml +++ b/doc/classes/Area2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Area2D" inherits="CollisionObject2D" category="Core" version="3.1"> +<class name="Area2D" inherits="CollisionObject2D" category="Core" version="3.2"> <brief_description> 2D area for detection and 2D physics influence. </brief_description> @@ -33,7 +33,7 @@ <return type="Array"> </return> <description> - Returns a list of intersecting [code]Area2D[/code]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. + Returns a list of intersecting [Area2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. </description> </method> <method name="get_overlapping_bodies" qualifiers="const"> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 0b5c0eb0b3..fe8b36ff4b 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Array" category="Built-In Types" version="3.1"> +<class name="Array" category="Built-In Types" version="3.2"> <brief_description> Generic array datatype. </brief_description> diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml index fd66777997..067ca08390 100644 --- a/doc/classes/ArrayMesh.xml +++ b/doc/classes/ArrayMesh.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ArrayMesh" inherits="Mesh" category="Core" version="3.1"> +<class name="ArrayMesh" inherits="Mesh" category="Core" version="3.2"> <brief_description> </brief_description> <description> - The [code]ArrayMesh[/code] is used to construct a [Mesh] by specifying the attributes as arrays. The most basic example is the creation of a single triangle + The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes as arrays. The most basic example is the creation of a single triangle [codeblock] var vertices = PoolVector3Array() vertices.push_back(Vector3(0, 1, 0)) @@ -57,14 +57,14 @@ <return type="void"> </return> <description> - Remove all blend shapes from this [code]ArrayMesh[/code]. + Remove all blend shapes from this [ArrayMesh]. </description> </method> <method name="get_blend_shape_count" qualifiers="const"> <return type="int"> </return> <description> - Returns the number of blend shapes that the [code]ArrayMesh[/code] holds. + Returns the number of blend shapes that the [ArrayMesh] holds. </description> </method> <method name="get_blend_shape_name" qualifiers="const"> @@ -84,14 +84,14 @@ <argument index="1" name="texel_size" type="float"> </argument> <description> - Will perform a UV unwrap on the [code]ArrayMesh[/code] to prepare the mesh for lightmapping. + Will perform a UV unwrap on the [ArrayMesh] to prepare the mesh for lightmapping. </description> </method> <method name="regen_normalmaps"> <return type="void"> </return> <description> - Will regenerate normal maps for the [code]ArrayMesh[/code]. + Will regenerate normal maps for the [ArrayMesh]. </description> </method> <method name="surface_find_by_name" qualifiers="const"> @@ -100,7 +100,7 @@ <argument index="0" name="name" type="String"> </argument> <description> - Return the index of the first surface with this name held within this [code]ArrayMesh[/code]. If none are found -1 is returned. + Return the index of the first surface with this name held within this [ArrayMesh]. If none are found -1 is returned. </description> </method> <method name="surface_get_array_index_len" qualifiers="const"> diff --git a/doc/classes/AtlasTexture.xml b/doc/classes/AtlasTexture.xml index 3f5eb892af..ca2d294796 100644 --- a/doc/classes/AtlasTexture.xml +++ b/doc/classes/AtlasTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AtlasTexture" inherits="Texture" category="Core" version="3.1"> +<class name="AtlasTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> Packs multiple small textures in a single, bigger one. Helps to optimize video memory costs and render calls. </brief_description> diff --git a/doc/classes/AudioBusLayout.xml b/doc/classes/AudioBusLayout.xml index f122906167..59cfe96610 100644 --- a/doc/classes/AudioBusLayout.xml +++ b/doc/classes/AudioBusLayout.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioBusLayout" inherits="Resource" category="Core" version="3.1"> +<class name="AudioBusLayout" inherits="Resource" category="Core" version="3.2"> <brief_description> Stores information about the audiobusses. </brief_description> diff --git a/doc/classes/AudioEffect.xml b/doc/classes/AudioEffect.xml index acbc96e70e..456bf56231 100644 --- a/doc/classes/AudioEffect.xml +++ b/doc/classes/AudioEffect.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffect" inherits="Resource" category="Core" version="3.1"> +<class name="AudioEffect" inherits="Resource" category="Core" version="3.2"> <brief_description> Audio Effect For Audio. </brief_description> diff --git a/doc/classes/AudioEffectAmplify.xml b/doc/classes/AudioEffectAmplify.xml index 3582ddc4f7..0d99f280df 100644 --- a/doc/classes/AudioEffectAmplify.xml +++ b/doc/classes/AudioEffectAmplify.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectAmplify" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectAmplify" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Amplify audio effect to an Audio bus. Increases or decreases the volume of the selected audio bus. diff --git a/doc/classes/AudioEffectBandLimitFilter.xml b/doc/classes/AudioEffectBandLimitFilter.xml index c9ddbd5b9a..bea0b106b2 100644 --- a/doc/classes/AudioEffectBandLimitFilter.xml +++ b/doc/classes/AudioEffectBandLimitFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectBandLimitFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectBandLimitFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> Adds a band limit filter to the Audio Bus. </brief_description> diff --git a/doc/classes/AudioEffectBandPassFilter.xml b/doc/classes/AudioEffectBandPassFilter.xml index 7f4c9f4632..18fb0490a4 100644 --- a/doc/classes/AudioEffectBandPassFilter.xml +++ b/doc/classes/AudioEffectBandPassFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectBandPassFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectBandPassFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> Adds a band pass filter to the Audio Bus. </brief_description> diff --git a/doc/classes/AudioEffectChorus.xml b/doc/classes/AudioEffectChorus.xml index 43e14b3964..dc82f1b047 100644 --- a/doc/classes/AudioEffectChorus.xml +++ b/doc/classes/AudioEffectChorus.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectChorus" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectChorus" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a chorus audio effect. </brief_description> diff --git a/doc/classes/AudioEffectCompressor.xml b/doc/classes/AudioEffectCompressor.xml index fa81bcf030..d8ca33cccb 100644 --- a/doc/classes/AudioEffectCompressor.xml +++ b/doc/classes/AudioEffectCompressor.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectCompressor" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectCompressor" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Compressor audio effect to an Audio bus. Reduces sounds that exceed a certain threshold level, smooths out the dynamics and increases the overall volume. diff --git a/doc/classes/AudioEffectDelay.xml b/doc/classes/AudioEffectDelay.xml index 872b94a0cd..65536efc5d 100644 --- a/doc/classes/AudioEffectDelay.xml +++ b/doc/classes/AudioEffectDelay.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectDelay" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectDelay" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Delay audio effect to an Audio bus. Plays input signal back after a period of time. Two tap delay and feedback options. diff --git a/doc/classes/AudioEffectDistortion.xml b/doc/classes/AudioEffectDistortion.xml index 74d12df554..ac85b503f2 100644 --- a/doc/classes/AudioEffectDistortion.xml +++ b/doc/classes/AudioEffectDistortion.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectDistortion" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectDistortion" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Distortion audio effect to an Audio bus. Modify the sound to make it dirty. diff --git a/doc/classes/AudioEffectEQ.xml b/doc/classes/AudioEffectEQ.xml index 35a6f7557d..eb2c68d129 100644 --- a/doc/classes/AudioEffectEQ.xml +++ b/doc/classes/AudioEffectEQ.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectEQ" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectEQ" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Base class for audio equalizers. Gives you control over frequencies. Use it to create a custom equalizer if [AudioEffectEQ6], [AudioEffectEQ10] or [AudioEffectEQ21] don't fit your needs. diff --git a/doc/classes/AudioEffectEQ10.xml b/doc/classes/AudioEffectEQ10.xml index daca342ace..e259c68668 100644 --- a/doc/classes/AudioEffectEQ10.xml +++ b/doc/classes/AudioEffectEQ10.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectEQ10" inherits="AudioEffectEQ" category="Core" version="3.1"> +<class name="AudioEffectEQ10" inherits="AudioEffectEQ" category="Core" version="3.2"> <brief_description> Adds a 10-band equalizer audio effect to an Audio bus. Gives you control over frequencies from 31 Hz to 16000 Hz. Each frequency can be modulated between -60/+24 dB. diff --git a/doc/classes/AudioEffectEQ21.xml b/doc/classes/AudioEffectEQ21.xml index 99d35604fc..74a1034667 100644 --- a/doc/classes/AudioEffectEQ21.xml +++ b/doc/classes/AudioEffectEQ21.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectEQ21" inherits="AudioEffectEQ" category="Core" version="3.1"> +<class name="AudioEffectEQ21" inherits="AudioEffectEQ" category="Core" version="3.2"> <brief_description> Adds a 21-band equalizer audio effect to an Audio bus. Gives you control over frequencies from 22 Hz to 22000 Hz. Each frequency can be modulated between -60/+24 dB. diff --git a/doc/classes/AudioEffectEQ6.xml b/doc/classes/AudioEffectEQ6.xml index 047c4c960f..06d8ebe07c 100644 --- a/doc/classes/AudioEffectEQ6.xml +++ b/doc/classes/AudioEffectEQ6.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectEQ6" inherits="AudioEffectEQ" category="Core" version="3.1"> +<class name="AudioEffectEQ6" inherits="AudioEffectEQ" category="Core" version="3.2"> <brief_description> Adds a 6-band equalizer audio effect to an Audio bus. Gives you control over frequencies from 32 Hz to 10000 Hz. Each frequency can be modulated between -60/+24 dB. diff --git a/doc/classes/AudioEffectFilter.xml b/doc/classes/AudioEffectFilter.xml index 5a86c092a0..d3669f8fb0 100644 --- a/doc/classes/AudioEffectFilter.xml +++ b/doc/classes/AudioEffectFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectFilter" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectFilter" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a filter to the Audio Bus. </brief_description> diff --git a/doc/classes/AudioEffectHighPassFilter.xml b/doc/classes/AudioEffectHighPassFilter.xml index 6c97199cb9..ad3ef9f4f1 100644 --- a/doc/classes/AudioEffectHighPassFilter.xml +++ b/doc/classes/AudioEffectHighPassFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectHighPassFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectHighPassFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> Adds a high pass filter to the Audio Bus. </brief_description> diff --git a/doc/classes/AudioEffectHighShelfFilter.xml b/doc/classes/AudioEffectHighShelfFilter.xml index ca2312ba6a..3c2e56b715 100644 --- a/doc/classes/AudioEffectHighShelfFilter.xml +++ b/doc/classes/AudioEffectHighShelfFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectHighShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectHighShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AudioEffectLimiter.xml b/doc/classes/AudioEffectLimiter.xml index 5c5c55d17b..17a568838c 100644 --- a/doc/classes/AudioEffectLimiter.xml +++ b/doc/classes/AudioEffectLimiter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectLimiter" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectLimiter" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a soft clip Limiter audio effect to an Audio bus. </brief_description> diff --git a/doc/classes/AudioEffectLowPassFilter.xml b/doc/classes/AudioEffectLowPassFilter.xml index 7048a56e6c..3a28424091 100644 --- a/doc/classes/AudioEffectLowPassFilter.xml +++ b/doc/classes/AudioEffectLowPassFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectLowPassFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectLowPassFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> Adds a low pass filter to the Audio Bus. </brief_description> diff --git a/doc/classes/AudioEffectLowShelfFilter.xml b/doc/classes/AudioEffectLowShelfFilter.xml index aadbf30eaa..32b4f0713a 100644 --- a/doc/classes/AudioEffectLowShelfFilter.xml +++ b/doc/classes/AudioEffectLowShelfFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectLowShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectLowShelfFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AudioEffectNotchFilter.xml b/doc/classes/AudioEffectNotchFilter.xml index 0378934890..b866148658 100644 --- a/doc/classes/AudioEffectNotchFilter.xml +++ b/doc/classes/AudioEffectNotchFilter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectNotchFilter" inherits="AudioEffectFilter" category="Core" version="3.1"> +<class name="AudioEffectNotchFilter" inherits="AudioEffectFilter" category="Core" version="3.2"> <brief_description> Adds a notch filter to the Audio Bus. </brief_description> diff --git a/doc/classes/AudioEffectPanner.xml b/doc/classes/AudioEffectPanner.xml index cbd14de905..da66b877ac 100644 --- a/doc/classes/AudioEffectPanner.xml +++ b/doc/classes/AudioEffectPanner.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectPanner" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectPanner" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Panner audio effect to an Audio bus. Pans sound left or right. </brief_description> diff --git a/doc/classes/AudioEffectPhaser.xml b/doc/classes/AudioEffectPhaser.xml index 10566d089b..e55e381690 100644 --- a/doc/classes/AudioEffectPhaser.xml +++ b/doc/classes/AudioEffectPhaser.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectPhaser" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectPhaser" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Phaser audio effect to an Audio bus. Combines the original signal with a copy that is slightly out of phase with the original. diff --git a/doc/classes/AudioEffectPitchShift.xml b/doc/classes/AudioEffectPitchShift.xml index 99095bae44..2e270b43f7 100644 --- a/doc/classes/AudioEffectPitchShift.xml +++ b/doc/classes/AudioEffectPitchShift.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectPitchShift" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectPitchShift" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Pitch shift audio effect to an Audio bus. Raises or lowers the pitch of original sound. diff --git a/doc/classes/AudioEffectRecord.xml b/doc/classes/AudioEffectRecord.xml index b7771fc9c5..5f3d4e31e1 100644 --- a/doc/classes/AudioEffectRecord.xml +++ b/doc/classes/AudioEffectRecord.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectRecord" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectRecord" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AudioEffectReverb.xml b/doc/classes/AudioEffectReverb.xml index 008c644466..435b9d5126 100644 --- a/doc/classes/AudioEffectReverb.xml +++ b/doc/classes/AudioEffectReverb.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectReverb" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectReverb" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> Adds a Reverb audio effect to an Audio bus. Simulates the sound of acoustic environments such as rooms, concert halls, caverns, or an open spaces. diff --git a/doc/classes/AudioEffectStereoEnhance.xml b/doc/classes/AudioEffectStereoEnhance.xml index ae296d81a0..9c5715c165 100644 --- a/doc/classes/AudioEffectStereoEnhance.xml +++ b/doc/classes/AudioEffectStereoEnhance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioEffectStereoEnhance" inherits="AudioEffect" category="Core" version="3.1"> +<class name="AudioEffectStereoEnhance" inherits="AudioEffect" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml index eb3c7cb3b4..82e17e4957 100644 --- a/doc/classes/AudioServer.xml +++ b/doc/classes/AudioServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioServer" inherits="Object" category="Core" version="3.1"> +<class name="AudioServer" inherits="Object" category="Core" version="3.2"> <brief_description> Server interface for low level audio access. </brief_description> diff --git a/doc/classes/AudioStream.xml b/doc/classes/AudioStream.xml index c0a16adda9..860340e430 100644 --- a/doc/classes/AudioStream.xml +++ b/doc/classes/AudioStream.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStream" inherits="Resource" category="Core" version="3.1"> +<class name="AudioStream" inherits="Resource" category="Core" version="3.2"> <brief_description> Base class for audio streams. </brief_description> diff --git a/doc/classes/AudioStreamMicrophone.xml b/doc/classes/AudioStreamMicrophone.xml index 079555d17e..2927bf5472 100644 --- a/doc/classes/AudioStreamMicrophone.xml +++ b/doc/classes/AudioStreamMicrophone.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamMicrophone" inherits="AudioStream" category="Core" version="3.1"> +<class name="AudioStreamMicrophone" inherits="AudioStream" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/AudioStreamPlayback.xml b/doc/classes/AudioStreamPlayback.xml index 0960935ad9..245cd9908d 100644 --- a/doc/classes/AudioStreamPlayback.xml +++ b/doc/classes/AudioStreamPlayback.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamPlayback" inherits="Reference" category="Core" version="3.1"> +<class name="AudioStreamPlayback" inherits="Reference" category="Core" version="3.2"> <brief_description> Meta class for playing back audio. </brief_description> diff --git a/doc/classes/AudioStreamPlayer.xml b/doc/classes/AudioStreamPlayer.xml index e880fc1323..d8b87a3c19 100644 --- a/doc/classes/AudioStreamPlayer.xml +++ b/doc/classes/AudioStreamPlayer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamPlayer" inherits="Node" category="Core" version="3.1"> +<class name="AudioStreamPlayer" inherits="Node" category="Core" version="3.2"> <brief_description> Plays back audio. </brief_description> diff --git a/doc/classes/AudioStreamPlayer2D.xml b/doc/classes/AudioStreamPlayer2D.xml index 28754f8695..1cd2bf7645 100644 --- a/doc/classes/AudioStreamPlayer2D.xml +++ b/doc/classes/AudioStreamPlayer2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamPlayer2D" inherits="Node2D" category="Core" version="3.1"> +<class name="AudioStreamPlayer2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Plays audio in 2D. </brief_description> diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml index a0260d8261..8ff5223e4f 100644 --- a/doc/classes/AudioStreamPlayer3D.xml +++ b/doc/classes/AudioStreamPlayer3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamPlayer3D" inherits="Spatial" category="Core" version="3.1"> +<class name="AudioStreamPlayer3D" inherits="Spatial" category="Core" version="3.2"> <brief_description> Plays 3D sound in 3D space. </brief_description> diff --git a/doc/classes/AudioStreamRandomPitch.xml b/doc/classes/AudioStreamRandomPitch.xml index 992c731d47..3201dcdfb0 100644 --- a/doc/classes/AudioStreamRandomPitch.xml +++ b/doc/classes/AudioStreamRandomPitch.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamRandomPitch" inherits="AudioStream" category="Core" version="3.1"> +<class name="AudioStreamRandomPitch" inherits="AudioStream" category="Core" version="3.2"> <brief_description> Plays audio with random pitch tweaking. </brief_description> diff --git a/doc/classes/AudioStreamSample.xml b/doc/classes/AudioStreamSample.xml index 77d5f14ab7..d9b07007de 100644 --- a/doc/classes/AudioStreamSample.xml +++ b/doc/classes/AudioStreamSample.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamSample" inherits="AudioStream" category="Core" version="3.1"> +<class name="AudioStreamSample" inherits="AudioStream" category="Core" version="3.2"> <brief_description> Plays audio. </brief_description> @@ -12,11 +12,13 @@ </demos> <methods> <method name="save_to_wav"> - <return type="void"> + <return type="int" enum="Error"> </return> <argument index="0" name="path" type="String"> </argument> <description> + Saves the AudioStreamSample as a WAV file to [code]path[/code]. Samples with IMA ADPCM format can't be saved. + Note that a [code].wav[/code] extension is automatically appended to [code]path[/code] if it is missing. </description> </method> </methods> diff --git a/doc/classes/BackBufferCopy.xml b/doc/classes/BackBufferCopy.xml index 62c97feaf9..5bbd51f12a 100644 --- a/doc/classes/BackBufferCopy.xml +++ b/doc/classes/BackBufferCopy.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BackBufferCopy" inherits="Node2D" category="Core" version="3.1"> +<class name="BackBufferCopy" inherits="Node2D" category="Core" version="3.2"> <brief_description> Copies a region of the screen (or the whole screen) to a buffer so it can be accessed with [code]SCREEN_TEXTURE[/code] in the [code]texture()[/code] function. </brief_description> diff --git a/doc/classes/BakedLightmap.xml b/doc/classes/BakedLightmap.xml index d376bf667f..0eb0ec091c 100644 --- a/doc/classes/BakedLightmap.xml +++ b/doc/classes/BakedLightmap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BakedLightmap" inherits="VisualInstance" category="Core" version="3.1"> +<class name="BakedLightmap" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> Prerendered indirect light map for a scene. </brief_description> diff --git a/doc/classes/BakedLightmapData.xml b/doc/classes/BakedLightmapData.xml index 8ee10b0b8b..14d30a36d9 100644 --- a/doc/classes/BakedLightmapData.xml +++ b/doc/classes/BakedLightmapData.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BakedLightmapData" inherits="Resource" category="Core" version="3.1"> +<class name="BakedLightmapData" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index ff3e22ba26..a8bd79e628 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BaseButton" inherits="Control" category="Core" version="3.1"> +<class name="BaseButton" inherits="Control" category="Core" version="3.2"> <brief_description> Base class for different kinds of buttons. </brief_description> @@ -48,7 +48,7 @@ </member> <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask"> Binary mask to choose which mouse buttons this button will respond to. - To allow both left-click and right-click, set this to 3, because it's BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT. + To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code]. </member> <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled"> If [code]true[/code], the button is in disabled state and can't be clicked or toggled. diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index b96daed6fc..7b43d58c71 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Basis" category="Built-In Types" version="3.1"> +<class name="Basis" category="Built-In Types" version="3.2"> <brief_description> 3x3 matrix datatype. </brief_description> diff --git a/doc/classes/BitMap.xml b/doc/classes/BitMap.xml index 4b7f8007ca..2a666befaf 100644 --- a/doc/classes/BitMap.xml +++ b/doc/classes/BitMap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BitMap" inherits="Resource" category="Core" version="3.1"> +<class name="BitMap" inherits="Resource" category="Core" version="3.2"> <brief_description> Boolean matrix. </brief_description> diff --git a/doc/classes/BitmapFont.xml b/doc/classes/BitmapFont.xml index 8ed563be5b..cc76abfb33 100644 --- a/doc/classes/BitmapFont.xml +++ b/doc/classes/BitmapFont.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BitmapFont" inherits="Font" category="Core" version="3.1"> +<class name="BitmapFont" inherits="Font" category="Core" version="3.2"> <brief_description> Renders text using [code]*.fnt[/code] fonts. </brief_description> @@ -38,7 +38,7 @@ <argument index="2" name="kerning" type="int"> </argument> <description> - Adds a kerning pair to the [code]BitmapFont[/code] as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character. + Adds a kerning pair to the [BitmapFont] as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character. </description> </method> <method name="add_texture"> @@ -47,7 +47,7 @@ <argument index="0" name="texture" type="Texture"> </argument> <description> - Adds a texture to the [code]BitmapFont[/code]. + Adds a texture to the [BitmapFont]. </description> </method> <method name="clear"> diff --git a/doc/classes/Bone2D.xml b/doc/classes/Bone2D.xml index 7e714305cd..064506b539 100644 --- a/doc/classes/Bone2D.xml +++ b/doc/classes/Bone2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Bone2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Bone2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/BoneAttachment.xml b/doc/classes/BoneAttachment.xml index a85453a415..a109efd897 100644 --- a/doc/classes/BoneAttachment.xml +++ b/doc/classes/BoneAttachment.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BoneAttachment" inherits="Spatial" category="Core" version="3.1"> +<class name="BoneAttachment" inherits="Spatial" category="Core" version="3.2"> <brief_description> A node that will attach to a bone. </brief_description> diff --git a/doc/classes/BoxContainer.xml b/doc/classes/BoxContainer.xml index 3fbad58a24..cab115ea01 100644 --- a/doc/classes/BoxContainer.xml +++ b/doc/classes/BoxContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BoxContainer" inherits="Container" category="Core" version="3.1"> +<class name="BoxContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Base class for box containers. </brief_description> diff --git a/doc/classes/BoxShape.xml b/doc/classes/BoxShape.xml index d98a188870..211eed6200 100644 --- a/doc/classes/BoxShape.xml +++ b/doc/classes/BoxShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BoxShape" inherits="Shape" category="Core" version="3.1"> +<class name="BoxShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Box shape resource. </brief_description> diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml index 382a538f2b..26c8f27f33 100644 --- a/doc/classes/Button.xml +++ b/doc/classes/Button.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Button" inherits="BaseButton" category="Core" version="3.1"> +<class name="Button" inherits="BaseButton" category="Core" version="3.2"> <brief_description> Standard themed Button. </brief_description> diff --git a/doc/classes/ButtonGroup.xml b/doc/classes/ButtonGroup.xml index 6273c8f83f..b73a88f8b8 100644 --- a/doc/classes/ButtonGroup.xml +++ b/doc/classes/ButtonGroup.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ButtonGroup" inherits="Resource" category="Core" version="3.1"> +<class name="ButtonGroup" inherits="Resource" category="Core" version="3.2"> <brief_description> Group of Buttons. </brief_description> @@ -16,7 +16,7 @@ <return type="Array"> </return> <description> - Returns an [Array] of [Button]s who have this as their [code]ButtonGroup[/code] (see [member BaseButton.group]). + Returns an [Array] of [Button]s who have this as their [ButtonGroup] (see [member BaseButton.group]). </description> </method> <method name="get_pressed_button"> diff --git a/doc/classes/CPUParticles.xml b/doc/classes/CPUParticles.xml index 6db2acac43..7843add097 100644 --- a/doc/classes/CPUParticles.xml +++ b/doc/classes/CPUParticles.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CPUParticles" inherits="GeometryInstance" category="Core" version="3.1"> +<class name="CPUParticles" inherits="GeometryInstance" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index 12a176589c..8bcdd96253 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CPUParticles2D" inherits="Node2D" category="Core" version="3.1"> +<class name="CPUParticles2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Camera.xml b/doc/classes/Camera.xml index e56fb63dc5..16b59c725f 100644 --- a/doc/classes/Camera.xml +++ b/doc/classes/Camera.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Camera" inherits="Spatial" category="Core" version="3.1"> +<class name="Camera" inherits="Spatial" category="Core" version="3.2"> <brief_description> Camera node, displays from a point of view. </brief_description> diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml index fa907dd648..375124cf36 100644 --- a/doc/classes/Camera2D.xml +++ b/doc/classes/Camera2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Camera2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Camera2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Camera node for 2D scenes. </brief_description> @@ -23,7 +23,7 @@ <return type="void"> </return> <description> - Removes any [code]Camera2D[/code] from the ancestor [Viewport]'s internal currently-assigned camera. + Removes any [Camera2D] from the ancestor [Viewport]'s internal currently-assigned camera. </description> </method> <method name="force_update_scroll"> @@ -44,7 +44,7 @@ <return type="Vector2"> </return> <description> - Returns the location of the [code]Camera2D[/code]'s screen-center, relative to the origin. + Returns the location of the [Camera2D]'s screen-center, relative to the origin. </description> </method> <method name="make_current"> @@ -71,7 +71,7 @@ If [code]true[/code], the camera is the active camera for the current scene. Only one camera can be current, so setting a different camera [code]current[/code] will disable this one. </member> <member name="custom_viewport" type="Node" setter="set_custom_viewport" getter="get_custom_viewport"> - The custom [Viewport] node attached to the [code]Camera2D[/code]. If null or not a [Viewport], uses the default viewport instead. + The custom [Viewport] node attached to the [Camera2D]. If null or not a [Viewport], uses the default viewport instead. </member> <member name="drag_margin_bottom" type="float" setter="set_drag_margin" getter="get_drag_margin"> Bottom margin needed to drag the camera. A value of [code]1[/code] makes the camera move only when reaching the edge of the screen. diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index 0ec28f93a7..c1cf7dcabe 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CanvasItem" inherits="Node" category="Core" version="3.1"> +<class name="CanvasItem" inherits="Node" category="Core" version="3.2"> <brief_description> Base class of anything 2D. </brief_description> @@ -510,16 +510,16 @@ </methods> <members> <member name="light_mask" type="int" setter="set_light_mask" getter="get_light_mask"> - The rendering layers in which this [code]CanvasItem[/code] responds to [Light2D] nodes. Default value: [code]1[/code]. + The rendering layers in which this [CanvasItem] responds to [Light2D] nodes. Default value: [code]1[/code]. </member> <member name="material" type="Material" setter="set_material" getter="get_material"> - The material applied to textures on this [code]CanvasItem[/code]. Default value: [code]null[/code]. + The material applied to textures on this [CanvasItem]. Default value: [code]null[/code]. </member> <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate"> - The color applied to textures on this [code]CanvasItem[/code]. Default value: [code]Color(1, 1, 1, 1)[/code] (opaque "white"). + The color applied to textures on this [CanvasItem]. Default value: [code]Color(1, 1, 1, 1)[/code] (opaque "white"). </member> <member name="self_modulate" type="Color" setter="set_self_modulate" getter="get_self_modulate"> - The color applied to textures on this [code]CanvasItem[/code]. This is not inherited by children [code]CanvasItem[/code]s. Default value: [code]Color(1, 1, 1, 1)[/code] (opaque "white").. + The color applied to textures on this [CanvasItem]. This is not inherited by children [CanvasItem]s. Default value: [code]Color(1, 1, 1, 1)[/code] (opaque "white").. </member> <member name="show_behind_parent" type="bool" setter="set_draw_behind_parent" getter="is_draw_behind_parent_enabled"> If [code]true[/code], the object draws behind its parent. Default value: [code]false[/code]. @@ -528,10 +528,10 @@ If [code]true[/code], the object draws on top of its parent. Default value: [code]true[/code]. </member> <member name="use_parent_material" type="bool" setter="set_use_parent_material" getter="get_use_parent_material"> - If [code]true[/code], the parent [code]CanvasItem[/code]'s [member material] property is used as this one's material. Default value: [code]false[/code]. + If [code]true[/code], the parent [CanvasItem]'s [member material] property is used as this one's material. Default value: [code]false[/code]. </member> <member name="visible" type="bool" setter="set_visible" getter="is_visible"> - If [code]true[/code], this [code]CanvasItem[/code] is drawn. Default value: [code]true[/code]. For controls that inherit [Popup], the correct way to make them visible is to call one of the multiple popup*() functions instead. + If [code]true[/code], this [CanvasItem] is drawn. Default value: [code]true[/code]. For controls that inherit [Popup], the correct way to make them visible is to call one of the multiple popup*() functions instead. </member> </members> <signals> diff --git a/doc/classes/CanvasItemMaterial.xml b/doc/classes/CanvasItemMaterial.xml index 69d873f446..85d496a4bb 100644 --- a/doc/classes/CanvasItemMaterial.xml +++ b/doc/classes/CanvasItemMaterial.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CanvasItemMaterial" inherits="Material" category="Core" version="3.1"> +<class name="CanvasItemMaterial" inherits="Material" category="Core" version="3.2"> <brief_description> A material for [CanvasItem]s. </brief_description> <description> - [code]CanvasItemMaterial[/code]s provide a means of modifying the textures associated with a CanvasItem. They specialize in describing blend and lighting behaviors for textures. Use a [ShaderMaterial] to more fully customize a material's interactions with a [CanvasItem]. + [CanvasItemMaterial]s provide a means of modifying the textures associated with a CanvasItem. They specialize in describing blend and lighting behaviors for textures. Use a [ShaderMaterial] to more fully customize a material's interactions with a [CanvasItem]. </description> <tutorials> </tutorials> diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml index c39b47ab07..3d69c92ea3 100644 --- a/doc/classes/CanvasLayer.xml +++ b/doc/classes/CanvasLayer.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CanvasLayer" inherits="Node" category="Core" version="3.1"> +<class name="CanvasLayer" inherits="Node" category="Core" version="3.2"> <brief_description> Canvas drawing layer. </brief_description> <description> - Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [code]CanvasLayer[/code] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [code]CanvasLayer[/code] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below). + Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below). </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_transforms.html</link> @@ -23,7 +23,7 @@ </methods> <members> <member name="custom_viewport" type="Node" setter="set_custom_viewport" getter="get_custom_viewport"> - The custom [Viewport] node assigned to the [code]CanvasLayer[/code]. If null, uses the default viewport instead. + The custom [Viewport] node assigned to the [CanvasLayer]. If null, uses the default viewport instead. </member> <member name="layer" type="int" setter="set_layer" getter="get_layer"> Layer index for draw order. Lower values are drawn first. Default value: [code]1[/code]. diff --git a/doc/classes/CanvasModulate.xml b/doc/classes/CanvasModulate.xml index 7740423cf5..6023c7b11f 100644 --- a/doc/classes/CanvasModulate.xml +++ b/doc/classes/CanvasModulate.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CanvasModulate" inherits="Node2D" category="Core" version="3.1"> +<class name="CanvasModulate" inherits="Node2D" category="Core" version="3.2"> <brief_description> Tint the entire canvas. </brief_description> <description> - [code]CanvasModulate[/code] tints the canvas elements using its assigned [code]color[/code]. + [CanvasModulate] tints the canvas elements using its assigned [code]color[/code]. </description> <tutorials> </tutorials> diff --git a/doc/classes/CapsuleMesh.xml b/doc/classes/CapsuleMesh.xml index 3500701290..c1806bba36 100644 --- a/doc/classes/CapsuleMesh.xml +++ b/doc/classes/CapsuleMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CapsuleMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="CapsuleMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Class representing a capsule-shaped [PrimitiveMesh]. </brief_description> diff --git a/doc/classes/CapsuleShape.xml b/doc/classes/CapsuleShape.xml index 0c00288783..2b60eb6cd3 100644 --- a/doc/classes/CapsuleShape.xml +++ b/doc/classes/CapsuleShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CapsuleShape" inherits="Shape" category="Core" version="3.1"> +<class name="CapsuleShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Capsule shape for collisions. </brief_description> diff --git a/doc/classes/CapsuleShape2D.xml b/doc/classes/CapsuleShape2D.xml index f05b194601..0fa21ad618 100644 --- a/doc/classes/CapsuleShape2D.xml +++ b/doc/classes/CapsuleShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CapsuleShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="CapsuleShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Capsule shape for 2D collisions. </brief_description> diff --git a/doc/classes/CenterContainer.xml b/doc/classes/CenterContainer.xml index 93c4208765..1575d1ab3e 100644 --- a/doc/classes/CenterContainer.xml +++ b/doc/classes/CenterContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CenterContainer" inherits="Container" category="Core" version="3.1"> +<class name="CenterContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Keeps children controls centered. </brief_description> @@ -14,7 +14,7 @@ </methods> <members> <member name="use_top_left" type="bool" setter="set_use_top_left" getter="is_using_top_left"> - If [code]true[/code], centers children relative to the [code]CenterContainer[/code]'s top left corner. Default value: [code]false[/code]. + If [code]true[/code], centers children relative to the [CenterContainer]'s top left corner. Default value: [code]false[/code]. </member> </members> <constants> diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml index a2a7cf85e8..097e32b997 100644 --- a/doc/classes/CheckBox.xml +++ b/doc/classes/CheckBox.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CheckBox" inherits="Button" category="Core" version="3.1"> +<class name="CheckBox" inherits="Button" category="Core" version="3.2"> <brief_description> Binary choice user interface widget. </brief_description> diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml index 24875017fe..fe1fcbbecd 100644 --- a/doc/classes/CheckButton.xml +++ b/doc/classes/CheckButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CheckButton" inherits="Button" category="Core" version="3.1"> +<class name="CheckButton" inherits="Button" category="Core" version="3.2"> <brief_description> Checkable button. </brief_description> diff --git a/doc/classes/CircleShape2D.xml b/doc/classes/CircleShape2D.xml index db84c82e48..2248553eb5 100644 --- a/doc/classes/CircleShape2D.xml +++ b/doc/classes/CircleShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CircleShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="CircleShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Circular shape for 2D collisions. </brief_description> diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml index e215585b74..6e5381769a 100644 --- a/doc/classes/ClassDB.xml +++ b/doc/classes/ClassDB.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ClassDB" inherits="Object" category="Core" version="3.1"> +<class name="ClassDB" inherits="Object" category="Core" version="3.2"> <brief_description> Class information repository. </brief_description> diff --git a/doc/classes/ClippedCamera.xml b/doc/classes/ClippedCamera.xml index 509ddb01fc..6898b9b719 100644 --- a/doc/classes/ClippedCamera.xml +++ b/doc/classes/ClippedCamera.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ClippedCamera" inherits="Camera" category="Core" version="3.1"> +<class name="ClippedCamera" inherits="Camera" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/CollisionObject.xml b/doc/classes/CollisionObject.xml index f702fbadbb..a4e49fd1d5 100644 --- a/doc/classes/CollisionObject.xml +++ b/doc/classes/CollisionObject.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionObject" inherits="Spatial" category="Core" version="3.1"> +<class name="CollisionObject" inherits="Spatial" category="Core" version="3.2"> <brief_description> Base node for collision objects. </brief_description> @@ -183,7 +183,7 @@ </methods> <members> <member name="input_capture_on_drag" type="bool" setter="set_capture_input_on_drag" getter="get_capture_input_on_drag"> - If [code]true[/code], the [code]CollisionObject[/code] will continue to receive input events as the mouse is dragged across its shapes. Default value: [code]false[/code]. + If [code]true[/code], the [CollisionObject] will continue to receive input events as the mouse is dragged across its shapes. Default value: [code]false[/code]. </member> <member name="input_ray_pickable" type="bool" setter="set_ray_pickable" getter="is_ray_pickable"> If [code]true[/code], the [CollisionObject]'s shapes will respond to [RayCast]s. Default value: [code]true[/code]. diff --git a/doc/classes/CollisionObject2D.xml b/doc/classes/CollisionObject2D.xml index 91f283a2b7..31204dc268 100644 --- a/doc/classes/CollisionObject2D.xml +++ b/doc/classes/CollisionObject2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionObject2D" inherits="Node2D" category="Core" version="3.1"> +<class name="CollisionObject2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Base node for 2D collision objects. </brief_description> @@ -70,7 +70,7 @@ <argument index="0" name="owner_id" type="int"> </argument> <description> - Returns [code]true[/code] if collisions for the shape owner originating from this [code]CollisionObject2D[/code] will not be reported to collided with [code]CollisionObject2D[/code]s. + Returns [code]true[/code] if collisions for the shape owner originating from this [CollisionObject2D] will not be reported to collided with [CollisionObject2D]s. </description> </method> <method name="remove_shape_owner"> @@ -190,7 +190,7 @@ <argument index="1" name="enable" type="bool"> </argument> <description> - If [code]enable[/code] is [code]true[/code], collisions for the shape owner originating from this [code]CollisionObject2D[/code] will not be reported to collided with [code]CollisionObject2D[/code]s. + If [code]enable[/code] is [code]true[/code], collisions for the shape owner originating from this [CollisionObject2D] will not be reported to collided with [CollisionObject2D]s. </description> </method> <method name="shape_owner_set_one_way_collision_margin"> diff --git a/doc/classes/CollisionPolygon.xml b/doc/classes/CollisionPolygon.xml index 0b4f07578e..9a9a3ca673 100644 --- a/doc/classes/CollisionPolygon.xml +++ b/doc/classes/CollisionPolygon.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionPolygon" inherits="Spatial" category="Core" version="3.1"> +<class name="CollisionPolygon" inherits="Spatial" category="Core" version="3.2"> <brief_description> Editor-only class for defining a collision polygon in 3D space. </brief_description> diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml index e754a2f2d1..8ac72013e3 100644 --- a/doc/classes/CollisionPolygon2D.xml +++ b/doc/classes/CollisionPolygon2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionPolygon2D" inherits="Node2D" category="Core" version="3.1"> +<class name="CollisionPolygon2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Defines a 2D collision polygon. </brief_description> diff --git a/doc/classes/CollisionShape.xml b/doc/classes/CollisionShape.xml index 740a6b7ab1..ab14f18bfe 100644 --- a/doc/classes/CollisionShape.xml +++ b/doc/classes/CollisionShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionShape" inherits="Spatial" category="Core" version="3.1"> +<class name="CollisionShape" inherits="Spatial" category="Core" version="3.2"> <brief_description> Node that represents collision shape data in 3D space. </brief_description> diff --git a/doc/classes/CollisionShape2D.xml b/doc/classes/CollisionShape2D.xml index 07dbde1c21..0f8cafe896 100644 --- a/doc/classes/CollisionShape2D.xml +++ b/doc/classes/CollisionShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionShape2D" inherits="Node2D" category="Core" version="3.1"> +<class name="CollisionShape2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Node that represents collision shape data in 2D space. </brief_description> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index 68f5734491..9aa30c6755 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Color" category="Built-In Types" version="3.1"> +<class name="Color" category="Built-In Types" version="3.2"> <brief_description> Color in RGBA format with some support for ARGB format. </brief_description> diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index dfe0492d0b..ca1390feb3 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ColorPicker" inherits="BoxContainer" category="Core" version="3.1"> +<class name="ColorPicker" inherits="BoxContainer" category="Core" version="3.2"> <brief_description> Color picker control. </brief_description> diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index e1a6290161..ec1662f99d 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ColorPickerButton" inherits="Button" category="Core" version="3.1"> +<class name="ColorPickerButton" inherits="Button" category="Core" version="3.2"> <brief_description> Button that pops out a [ColorPicker]. </brief_description> diff --git a/doc/classes/ColorRect.xml b/doc/classes/ColorRect.xml index e1bffb719e..1bc522a187 100644 --- a/doc/classes/ColorRect.xml +++ b/doc/classes/ColorRect.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ColorRect" inherits="Control" category="Core" version="3.1"> +<class name="ColorRect" inherits="Control" category="Core" version="3.2"> <brief_description> Colored rectangle. </brief_description> diff --git a/doc/classes/ConcavePolygonShape.xml b/doc/classes/ConcavePolygonShape.xml index f4958d88d0..bc3fdc04af 100644 --- a/doc/classes/ConcavePolygonShape.xml +++ b/doc/classes/ConcavePolygonShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConcavePolygonShape" inherits="Shape" category="Core" version="3.1"> +<class name="ConcavePolygonShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Concave polygon shape. </brief_description> diff --git a/doc/classes/ConcavePolygonShape2D.xml b/doc/classes/ConcavePolygonShape2D.xml index a653872353..218c676dbc 100644 --- a/doc/classes/ConcavePolygonShape2D.xml +++ b/doc/classes/ConcavePolygonShape2D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConcavePolygonShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="ConcavePolygonShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Concave polygon 2D shape resource for physics. </brief_description> <description> Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for [RigidBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions. - The main difference between a [ConvexPolygonShape2D] and a [code]ConcavePolygonShape2D[/code] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection. + The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection. </description> <tutorials> </tutorials> @@ -15,7 +15,7 @@ </methods> <members> <member name="segments" type="PoolVector2Array" setter="set_segments" getter="get_segments"> - The array of points that make up the [code]ConcavePolygonShape2D[/code]'s line segments. + The array of points that make up the [ConcavePolygonShape2D]'s line segments. </member> </members> <constants> diff --git a/doc/classes/ConeTwistJoint.xml b/doc/classes/ConeTwistJoint.xml index d6b2f191a4..2f6a4901b9 100644 --- a/doc/classes/ConeTwistJoint.xml +++ b/doc/classes/ConeTwistJoint.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConeTwistJoint" inherits="Joint" category="Core" version="3.1"> +<class name="ConeTwistJoint" inherits="Joint" category="Core" version="3.2"> <brief_description> A twist joint between two 3D bodies. </brief_description> @@ -28,7 +28,7 @@ <member name="swing_span" type="float" setter="_set_swing_span" getter="_get_swing_span"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. The swing span defines, how much rotation will not get corrected allong the swing axis. - Could be defined as looseness in the [code]ConeTwistJoint[/code]. + Could be defined as looseness in the [ConeTwistJoint]. If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code]. </member> <member name="twist_span" type="float" setter="_set_twist_span" getter="_get_twist_span"> @@ -40,7 +40,7 @@ <constant name="PARAM_SWING_SPAN" value="0" enum="Param"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. The swing span defines, how much rotation will not get corrected allong the swing axis. - Could be defined as looseness in the [code]ConeTwistJoint[/code]. + Could be defined as looseness in the [ConeTwistJoint]. If below 0.05, this behaviour is locked. Default value: [code]PI/4[/code]. </constant> <constant name="PARAM_TWIST_SPAN" value="1" enum="Param"> diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml index 703043294b..5958a6d079 100644 --- a/doc/classes/ConfigFile.xml +++ b/doc/classes/ConfigFile.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConfigFile" inherits="Reference" category="Core" version="3.1"> +<class name="ConfigFile" inherits="Reference" category="Core" version="3.2"> <brief_description> Helper class to handle INI-style files. </brief_description> diff --git a/doc/classes/ConfirmationDialog.xml b/doc/classes/ConfirmationDialog.xml index 461f48420a..d8d8c038ba 100644 --- a/doc/classes/ConfirmationDialog.xml +++ b/doc/classes/ConfirmationDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConfirmationDialog" inherits="AcceptDialog" category="Core" version="3.1"> +<class name="ConfirmationDialog" inherits="AcceptDialog" category="Core" version="3.2"> <brief_description> Dialog for confirmation of actions. </brief_description> diff --git a/doc/classes/Container.xml b/doc/classes/Container.xml index db365db233..215dc94d79 100644 --- a/doc/classes/Container.xml +++ b/doc/classes/Container.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Container" inherits="Control" category="Core" version="3.1"> +<class name="Container" inherits="Control" category="Core" version="3.2"> <brief_description> Base node for containers. </brief_description> <description> - Base node for containers. A [code]Container[/code] contains other controls and automatically arranges them in a certain way. + Base node for containers. A [Container] contains other controls and automatically arranges them in a certain way. A Control can inherit this to create custom container classes. </description> <tutorials> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 0152cca957..6a99d119fc 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Control" inherits="CanvasItem" category="Core" version="3.1"> +<class name="Control" inherits="CanvasItem" category="Core" version="3.2"> <brief_description> All User Interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent. </brief_description> <description> - Base class for all User Interface or [i]UI[/i] related nodes. [code]Control[/code] features a bounding rectangle that defines its extents, an anchor position relative to its parent and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change. - For more information on Godot's UI system, anchors, margins, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from [code]Control[/code] and [Container] nodes. + Base class for all User Interface or [i]UI[/i] related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change. + For more information on Godot's UI system, anchors, margins, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from [Control] and [Container] nodes. [b]User Interface nodes and input[/b] Godot sends input events to the scene's root node first, by calling [method Node._input]. [method Node._input] forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls [method MainLoop._input_event]. Call [method accept_event] so no other node receives the event. Once you accepted an input, it becomes handled so [method Node._unhandled_input] will not process it. - Only one [code]Control[/code] node can be in keyboard focus. Only the node in focus will receive keyboard events. To get the focus, call [method grab_focus]. [code]Control[/code] nodes lose focus when another node grabs it, or if you hide the node in focus. - Set [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a [code]Control[/code] node to ignore mouse or touch events. You'll need it if you place an icon on top of a button. - [Theme] resources change the Control's appearance. If you change the [Theme] on a [code]Control[/code] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_*_override[/code] methods, like [method add_font_override]. You can override the theme with the inspector. + Only one [Control] node can be in keyboard focus. Only the node in focus will receive keyboard events. To get the focus, call [method grab_focus]. [Control] nodes lose focus when another node grabs it, or if you hide the node in focus. + Set [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a [Control] node to ignore mouse or touch events. You'll need it if you place an icon on top of a button. + [Theme] resources change the Control's appearance. If you change the [Theme] on a [Control] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_*_override[/code] methods, like [method add_font_override]. You can override the theme with the inspector. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/gui/index.html</link> @@ -632,16 +632,16 @@ The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals. </member> <member name="focus_neighbour_bottom" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour"> - Tells Godot which node it should give keyboard focus to if the user presses the down arrow on the keyboard or down on a gamepad by default. You can change the key by editing the [code]ui_down[/code] input action. The node must be a [code]Control[/code]. If this property is not set, Godot will give focus to the closest [code]Control[/code] to the bottom of this one. + Tells Godot which node it should give keyboard focus to if the user presses the down arrow on the keyboard or down on a gamepad by default. You can change the key by editing the [code]ui_down[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the bottom of this one. </member> <member name="focus_neighbour_left" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour"> - Tells Godot which node it should give keyboard focus to if the user presses the left arrow on the keyboard or left on a gamepad by default. You can change the key by editing the [code]ui_left[/code] input action. The node must be a [code]Control[/code]. If this property is not set, Godot will give focus to the closest [code]Control[/code] to the left of this one. + Tells Godot which node it should give keyboard focus to if the user presses the left arrow on the keyboard or left on a gamepad by default. You can change the key by editing the [code]ui_left[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the left of this one. </member> <member name="focus_neighbour_right" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour"> - Tells Godot which node it should give keyboard focus to if the user presses the right arrow on the keyboard or right on a gamepad by default. You can change the key by editing the [code]ui_right[/code] input action. The node must be a [code]Control[/code]. If this property is not set, Godot will give focus to the closest [code]Control[/code] to the bottom of this one. + Tells Godot which node it should give keyboard focus to if the user presses the right arrow on the keyboard or right on a gamepad by default. You can change the key by editing the [code]ui_right[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the bottom of this one. </member> <member name="focus_neighbour_top" type="NodePath" setter="set_focus_neighbour" getter="get_focus_neighbour"> - Tells Godot which node it should give keyboard focus to if the user presses the top arrow on the keyboard or top on a gamepad by default. You can change the key by editing the [code]ui_top[/code] input action. The node must be a [code]Control[/code]. If this property is not set, Godot will give focus to the closest [code]Control[/code] to the bottom of this one. + Tells Godot which node it should give keyboard focus to if the user presses the top arrow on the keyboard or top on a gamepad by default. You can change the key by editing the [code]ui_top[/code] input action. The node must be a [Control]. If this property is not set, Godot will give focus to the closest [Control] to the bottom of this one. </member> <member name="focus_next" type="NodePath" setter="set_focus_next" getter="get_focus_next"> Tells Godot which node it should give keyboard focus to if the user presses Tab on a keyboard by default. You can change the key by editing the [code]ui_focus_next[/code] input action. @@ -717,7 +717,7 @@ Tells the parent [Container] nodes how they should resize and place the node on the Y axis. Use one of the [code]SIZE_*[/code] constants to change the flags. See the constants to learn what each does. </member> <member name="theme" type="Theme" setter="set_theme" getter="get_theme"> - Changing this property replaces the current [Theme] resource this node and all its [code]Control[/code] children use. + Changing this property replaces the current [Theme] resource this node and all its [Control] children use. </member> </members> <signals> @@ -745,7 +745,7 @@ </signal> <signal name="modal_closed"> <description> - Emitted when a modal [code]Control[/code] is closed. See [method show_modal]. + Emitted when a modal [Control] is closed. See [method show_modal]. </description> </signal> <signal name="mouse_entered"> @@ -903,7 +903,7 @@ Snap all 4 anchors to a horizontal line that cuts the parent control in half. Use with [method set_anchors_preset]. </constant> <constant name="PRESET_WIDE" value="15" enum="LayoutPreset"> - Snap all 4 anchors to the respective corners of the parent control. Set all 4 margins to 0 after you applied this preset and the [code]Control[/code] will fit its parent control. This is equivalent to to the "Full Rect" layout option in the editor. Use with [method set_anchors_preset]. + Snap all 4 anchors to the respective corners of the parent control. Set all 4 margins to 0 after you applied this preset and the [Control] will fit its parent control. This is equivalent to to the "Full Rect" layout option in the editor. Use with [method set_anchors_preset]. </constant> <constant name="PRESET_MODE_MINSIZE" value="0" enum="LayoutPresetMode"> </constant> diff --git a/doc/classes/ConvexPolygonShape.xml b/doc/classes/ConvexPolygonShape.xml index 757b053ffe..874088a6f1 100644 --- a/doc/classes/ConvexPolygonShape.xml +++ b/doc/classes/ConvexPolygonShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConvexPolygonShape" inherits="Shape" category="Core" version="3.1"> +<class name="ConvexPolygonShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Convex polygon shape for 3D physics. </brief_description> diff --git a/doc/classes/ConvexPolygonShape2D.xml b/doc/classes/ConvexPolygonShape2D.xml index 8210e7dc9c..bc60e3f363 100644 --- a/doc/classes/ConvexPolygonShape2D.xml +++ b/doc/classes/ConvexPolygonShape2D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConvexPolygonShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="ConvexPolygonShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Convex Polygon Shape for 2D physics. </brief_description> <description> Convex Polygon Shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check). - The main difference between a [code]ConvexPolygonShape2D[/code] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection. + The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection. </description> <tutorials> </tutorials> diff --git a/doc/classes/CubeMap.xml b/doc/classes/CubeMap.xml index ac5359738e..2dc9b3d844 100644 --- a/doc/classes/CubeMap.xml +++ b/doc/classes/CubeMap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CubeMap" inherits="Resource" category="Core" version="3.1"> +<class name="CubeMap" inherits="Resource" category="Core" version="3.2"> <brief_description> A CubeMap is a 6 sided 3D texture. </brief_description> @@ -15,7 +15,7 @@ <return type="int"> </return> <description> - Returns the [code]CubeMap[/code]'s height. + Returns the [CubeMap]'s height. </description> </method> <method name="get_side" qualifiers="const"> @@ -24,14 +24,14 @@ <argument index="0" name="side" type="int" enum="CubeMap.Side"> </argument> <description> - Returns an [Image] for a side of the [code]CubeMap[/code] using one of the [code]SIDE_*[/code] constants or an integer 0-5. + Returns an [Image] for a side of the [CubeMap] using one of the [code]SIDE_*[/code] constants or an integer 0-5. </description> </method> <method name="get_width" qualifiers="const"> <return type="int"> </return> <description> - Returns the [code]CubeMap[/code]'s width. + Returns the [CubeMap]'s width. </description> </method> <method name="set_side"> @@ -42,48 +42,48 @@ <argument index="1" name="image" type="Image"> </argument> <description> - Sets an [Image] for a side of the [code]CubeMap[/code] using one of the [code]SIDE_*[/code] constants or an integer 0-5. + Sets an [Image] for a side of the [CubeMap] using one of the [code]SIDE_*[/code] constants or an integer 0-5. </description> </method> </methods> <members> <member name="flags" type="int" setter="set_flags" getter="get_flags"> - The render flags for the [code]CubeMap[/code]. See the [code]FLAG_*[/code] constants for details. + The render flags for the [CubeMap]. See the [code]FLAG_*[/code] constants for details. </member> <member name="lossy_storage_quality" type="float" setter="set_lossy_storage_quality" getter="get_lossy_storage_quality"> - The lossy storage quality of the [code]CubeMap[/code] if the storage mode is set to STORAGE_COMPRESS_LOSSY. + The lossy storage quality of the [CubeMap] if the storage mode is set to STORAGE_COMPRESS_LOSSY. </member> <member name="storage_mode" type="int" setter="set_storage" getter="get_storage" enum="CubeMap.Storage"> - The [code]CubeMap[/code]'s storage mode. See [code]STORAGE_*[/code] constants. + The [CubeMap]'s storage mode. See [code]STORAGE_*[/code] constants. </member> </members> <constants> <constant name="STORAGE_RAW" value="0" enum="Storage"> - Store the [code]CubeMap[/code] without any compression. + Store the [CubeMap] without any compression. </constant> <constant name="STORAGE_COMPRESS_LOSSY" value="1" enum="Storage"> - Store the [code]CubeMap[/code] with strong compression that reduces image quality. + Store the [CubeMap] with strong compression that reduces image quality. </constant> <constant name="STORAGE_COMPRESS_LOSSLESS" value="2" enum="Storage"> - Store the [code]CubeMap[/code] with moderate compression that doesn't reduce image quality. + Store the [CubeMap] with moderate compression that doesn't reduce image quality. </constant> <constant name="SIDE_LEFT" value="0" enum="Side"> - Identifier for the left face of the [code]CubeMap[/code]. + Identifier for the left face of the [CubeMap]. </constant> <constant name="SIDE_RIGHT" value="1" enum="Side"> - Identifier for the right face of the [code]CubeMap[/code]. + Identifier for the right face of the [CubeMap]. </constant> <constant name="SIDE_BOTTOM" value="2" enum="Side"> - Identifier for the bottom face of the [code]CubeMap[/code]. + Identifier for the bottom face of the [CubeMap]. </constant> <constant name="SIDE_TOP" value="3" enum="Side"> - Identifier for the top face of the [code]CubeMap[/code]. + Identifier for the top face of the [CubeMap]. </constant> <constant name="SIDE_FRONT" value="4" enum="Side"> - Identifier for the front face of the [code]CubeMap[/code]. + Identifier for the front face of the [CubeMap]. </constant> <constant name="SIDE_BACK" value="5" enum="Side"> - Identifier for the back face of the [code]CubeMap[/code]. + Identifier for the back face of the [CubeMap]. </constant> <constant name="FLAG_MIPMAPS" value="1" enum="Flags"> Generate mipmaps, to enable smooth zooming out of the texture. diff --git a/doc/classes/CubeMesh.xml b/doc/classes/CubeMesh.xml index cef412bbde..811c350014 100644 --- a/doc/classes/CubeMesh.xml +++ b/doc/classes/CubeMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CubeMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="CubeMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Generate an axis-aligned cuboid [PrimitiveMesh]. </brief_description> diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml index 490772e400..327dc42142 100644 --- a/doc/classes/Curve.xml +++ b/doc/classes/Curve.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Curve" inherits="Resource" category="Core" version="3.1"> +<class name="Curve" inherits="Resource" category="Core" version="3.2"> <brief_description> A mathematic curve. </brief_description> diff --git a/doc/classes/Curve2D.xml b/doc/classes/Curve2D.xml index dd80ec8e8f..7fe05181ab 100644 --- a/doc/classes/Curve2D.xml +++ b/doc/classes/Curve2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Curve2D" inherits="Resource" category="Core" version="3.1"> +<class name="Curve2D" inherits="Resource" category="Core" version="3.2"> <brief_description> Describes a Bezier curve in 2D space. </brief_description> diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml index e9ee1c6974..41957af506 100644 --- a/doc/classes/Curve3D.xml +++ b/doc/classes/Curve3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Curve3D" inherits="Resource" category="Core" version="3.1"> +<class name="Curve3D" inherits="Resource" category="Core" version="3.2"> <brief_description> Describes a Bezier curve in 3D space. </brief_description> diff --git a/doc/classes/CurveTexture.xml b/doc/classes/CurveTexture.xml index 10e8a61f99..e0de5d2581 100644 --- a/doc/classes/CurveTexture.xml +++ b/doc/classes/CurveTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CurveTexture" inherits="Texture" category="Core" version="3.1"> +<class name="CurveTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> A texture that shows a curve. </brief_description> diff --git a/doc/classes/CylinderMesh.xml b/doc/classes/CylinderMesh.xml index 623830371a..a5e39d4972 100644 --- a/doc/classes/CylinderMesh.xml +++ b/doc/classes/CylinderMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CylinderMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="CylinderMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Class representing a cylindrical [PrimitiveMesh]. </brief_description> diff --git a/doc/classes/CylinderShape.xml b/doc/classes/CylinderShape.xml index a63cc8831e..bd6849a8c4 100644 --- a/doc/classes/CylinderShape.xml +++ b/doc/classes/CylinderShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CylinderShape" inherits="Shape" category="Core" version="3.1"> +<class name="CylinderShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Cylinder shape for collisions. </brief_description> diff --git a/doc/classes/DampedSpringJoint2D.xml b/doc/classes/DampedSpringJoint2D.xml index 12e29cec32..bd43e20140 100644 --- a/doc/classes/DampedSpringJoint2D.xml +++ b/doc/classes/DampedSpringJoint2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="DampedSpringJoint2D" inherits="Joint2D" category="Core" version="3.1"> +<class name="DampedSpringJoint2D" inherits="Joint2D" category="Core" version="3.2"> <brief_description> Damped spring constraint for 2D physics. </brief_description> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index 9c78853cfe..4a654f7425 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -1,13 +1,23 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Dictionary" category="Built-In Types" version="3.1"> +<class name="Dictionary" category="Built-In Types" version="3.2"> <brief_description> Dictionary type. </brief_description> <description> Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are always passed by reference. Erasing elements while iterating over them [b]is not supported[/b]. + Creating a dictionary: + [codeblock] + var d = {4: 5, "A key": "A value", 28: [1, 2, 3]} + [/codeblock] + To add a key to an existing dictionary, access it like an existing key and assign to it: + [codeblock] + d[4] = "hello" # Add integer 4 as a key and assign the String "hello" as its value. + d["Godot"] = 3.01 # Add String "Godot" as a key and assign the value 3.01 to it. + [/codeblock] </description> <tutorials> + <link>https://docs.godotengine.org/en/latest/getting_started/scripting/gdscript/gdscript_basics.html#dictionary</link> </tutorials> <demos> </demos> @@ -50,7 +60,7 @@ <argument index="1" name="default" type="Variant" default="Null"> </argument> <description> - Returns the current value for the specified key in the [code]Dictionary[/code]. If the key does not exist, the method returns the value of the optional default argument, or Null if it is omitted. + Returns the current value for the specified key in the [Dictionary]. If the key does not exist, the method returns the value of the optional default argument, or Null if it is omitted. </description> </method> <method name="has"> @@ -82,7 +92,7 @@ <return type="Array"> </return> <description> - Return the list of keys in the [code]Dictionary[/code]. + Return the list of keys in the [Dictionary]. </description> </method> <method name="size"> @@ -96,7 +106,7 @@ <return type="Array"> </return> <description> - Return the list of values in the [code]Dictionary[/code]. + Return the list of values in the [Dictionary]. </description> </method> </methods> diff --git a/doc/classes/DirectionalLight.xml b/doc/classes/DirectionalLight.xml index 4a2802ffa4..cb509b8bb3 100644 --- a/doc/classes/DirectionalLight.xml +++ b/doc/classes/DirectionalLight.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="DirectionalLight" inherits="Light" category="Core" version="3.1"> +<class name="DirectionalLight" inherits="Light" category="Core" version="3.2"> <brief_description> Directional light from a distance, as from the Sun. </brief_description> diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml index 57301f954f..18e819784a 100644 --- a/doc/classes/Directory.xml +++ b/doc/classes/Directory.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Directory" inherits="Reference" category="Core" version="3.1"> +<class name="Directory" inherits="Reference" category="Core" version="3.2"> <brief_description> Type used to handle the filesystem. </brief_description> diff --git a/doc/classes/DynamicFont.xml b/doc/classes/DynamicFont.xml index 249d0955f2..500da1b30f 100644 --- a/doc/classes/DynamicFont.xml +++ b/doc/classes/DynamicFont.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="DynamicFont" inherits="Font" category="Core" version="3.1"> +<class name="DynamicFont" inherits="Font" category="Core" version="3.2"> <brief_description> DynamicFont renders vector font files at runtime. </brief_description> diff --git a/doc/classes/DynamicFontData.xml b/doc/classes/DynamicFontData.xml index 5fcccf7db9..d9fd6bfcb0 100644 --- a/doc/classes/DynamicFontData.xml +++ b/doc/classes/DynamicFontData.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="DynamicFontData" inherits="Resource" category="Core" version="3.1"> +<class name="DynamicFontData" inherits="Resource" category="Core" version="3.2"> <brief_description> Used with [DynamicFont] to describe the location of a font file. </brief_description> diff --git a/doc/classes/EditorExportPlugin.xml b/doc/classes/EditorExportPlugin.xml index a6b72d08ff..e25c76b3f5 100644 --- a/doc/classes/EditorExportPlugin.xml +++ b/doc/classes/EditorExportPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorExportPlugin" inherits="Reference" category="Core" version="3.1"> +<class name="EditorExportPlugin" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml index fc5a26fc33..281229bd10 100644 --- a/doc/classes/EditorFileDialog.xml +++ b/doc/classes/EditorFileDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorFileDialog" inherits="ConfirmationDialog" category="Core" version="3.1"> +<class name="EditorFileDialog" inherits="ConfirmationDialog" category="Core" version="3.2"> <brief_description> </brief_description> <description> @@ -15,7 +15,7 @@ <argument index="0" name="filter" type="String"> </argument> <description> - Adds a comma-delimited file extension filter option to the [code]EditorFileDialog[/code] with an optional semi-colon-delimited label. + Adds a comma-delimited file extension filter option to the [EditorFileDialog] with an optional semi-colon-delimited label. Example: "*.tscn, *.scn; Scenes", results in filter text "Scenes (*.tscn, *.scn)". </description> </method> @@ -37,7 +37,7 @@ <return type="void"> </return> <description> - Notify the [code]EditorFileDialog[/code] that its view of the data is no longer accurate. Updates the view contents on next view update. + Notify the [EditorFileDialog] that its view of the data is no longer accurate. Updates the view contents on next view update. </description> </method> </methods> @@ -55,16 +55,16 @@ The file system path in the address bar. </member> <member name="disable_overwrite_warning" type="bool" setter="set_disable_overwrite_warning" getter="is_overwrite_warning_disabled"> - If [code]true[/code], the [code]EditorFileDialog[/code] will not warn the user before overwriting files. + If [code]true[/code], the [EditorFileDialog] will not warn the user before overwriting files. </member> <member name="display_mode" type="int" setter="set_display_mode" getter="get_display_mode" enum="EditorFileDialog.DisplayMode"> - The view format in which the [code]EditorFileDialog[/code] displays resources to the user. + The view format in which the [EditorFileDialog] displays resources to the user. </member> <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="EditorFileDialog.Mode"> - The purpose of the [code]EditorFileDialog[/code]. Changes allowed behaviors. + The purpose of the [EditorFileDialog]. Changes allowed behaviors. </member> <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files"> - If [code]true[/code], hidden files and directories will be visible in the [code]EditorFileDialog[/code]. + If [code]true[/code], hidden files and directories will be visible in the [EditorFileDialog]. </member> </members> <signals> @@ -92,34 +92,34 @@ </signals> <constants> <constant name="MODE_OPEN_FILE" value="0" enum="Mode"> - The [code]EditorFileDialog[/code] can select only one file. Accepting the window will open the file. + The [EditorFileDialog] can select only one file. Accepting the window will open the file. </constant> <constant name="MODE_OPEN_FILES" value="1" enum="Mode"> - The [code]EditorFileDialog[/code] can select multiple files. Accepting the window will open all files. + The [EditorFileDialog] can select multiple files. Accepting the window will open all files. </constant> <constant name="MODE_OPEN_DIR" value="2" enum="Mode"> - The [code]EditorFileDialog[/code] can select only one directory. Accepting the window will open the directory. + The [EditorFileDialog] can select only one directory. Accepting the window will open the directory. </constant> <constant name="MODE_OPEN_ANY" value="3" enum="Mode"> - The [code]EditorFileDialog[/code] can select a file or directory. Accepting the window will open it. + The [EditorFileDialog] can select a file or directory. Accepting the window will open it. </constant> <constant name="MODE_SAVE_FILE" value="4" enum="Mode"> - The [code]EditorFileDialog[/code] can select only one file. Accepting the window will save the file. + The [EditorFileDialog] can select only one file. Accepting the window will save the file. </constant> <constant name="ACCESS_RESOURCES" value="0" enum="Access"> - The [code]EditorFileDialog[/code] can only view [code]res://[/code] directory contents. + The [EditorFileDialog] can only view [code]res://[/code] directory contents. </constant> <constant name="ACCESS_USERDATA" value="1" enum="Access"> - The [code]EditorFileDialog[/code] can only view [code]user://[/code] directory contents. + The [EditorFileDialog] can only view [code]user://[/code] directory contents. </constant> <constant name="ACCESS_FILESYSTEM" value="2" enum="Access"> - The [code]EditorFileDialog[/code] can view the entire local file system. + The [EditorFileDialog] can view the entire local file system. </constant> <constant name="DISPLAY_THUMBNAILS" value="0" enum="DisplayMode"> - The [code]EditorFileDialog[/code] displays resources as thumbnails. + The [EditorFileDialog] displays resources as thumbnails. </constant> <constant name="DISPLAY_LIST" value="1" enum="DisplayMode"> - The [code]EditorFileDialog[/code] displays resources as a list of filenames. + The [EditorFileDialog] displays resources as a list of filenames. </constant> </constants> </class> diff --git a/doc/classes/EditorFileSystem.xml b/doc/classes/EditorFileSystem.xml index 91e5bd81c3..9e4380e6a0 100644 --- a/doc/classes/EditorFileSystem.xml +++ b/doc/classes/EditorFileSystem.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorFileSystem" inherits="Node" category="Core" version="3.1"> +<class name="EditorFileSystem" inherits="Node" category="Core" version="3.2"> <brief_description> Resource filesystem, as the editor sees it. </brief_description> diff --git a/doc/classes/EditorFileSystemDirectory.xml b/doc/classes/EditorFileSystemDirectory.xml index 9dd28d2400..bf6a9a1dc1 100644 --- a/doc/classes/EditorFileSystemDirectory.xml +++ b/doc/classes/EditorFileSystemDirectory.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorFileSystemDirectory" inherits="Object" category="Core" version="3.1"> +<class name="EditorFileSystemDirectory" inherits="Object" category="Core" version="3.2"> <brief_description> A directory for the resource filesystem. </brief_description> diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml index 9005d4a765..c1eead174d 100644 --- a/doc/classes/EditorImportPlugin.xml +++ b/doc/classes/EditorImportPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.1"> +<class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.2"> <brief_description> Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type. </brief_description> diff --git a/doc/classes/EditorInspector.xml b/doc/classes/EditorInspector.xml index 5601f9b5ae..e7e9ea495d 100644 --- a/doc/classes/EditorInspector.xml +++ b/doc/classes/EditorInspector.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorInspector" inherits="ScrollContainer" category="Core" version="3.1"> +<class name="EditorInspector" inherits="ScrollContainer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml index 9bda768b14..e5e886057f 100644 --- a/doc/classes/EditorInspectorPlugin.xml +++ b/doc/classes/EditorInspectorPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorInspectorPlugin" inherits="Reference" category="Core" version="3.1"> +<class name="EditorInspectorPlugin" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index c7b81d7c75..30ff609a81 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorInterface" inherits="Node" category="Core" version="3.1"> +<class name="EditorInterface" inherits="Node" category="Core" version="3.2"> <brief_description> Godot editor's interface. </brief_description> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index bcf6d3009c..9d0f0d8035 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorPlugin" inherits="Node" category="Core" version="3.1"> +<class name="EditorPlugin" inherits="Node" category="Core" version="3.2"> <brief_description> Used by the editor to extend its functionality. </brief_description> diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml index b3fc036edb..b3e1a613b0 100644 --- a/doc/classes/EditorProperty.xml +++ b/doc/classes/EditorProperty.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorProperty" inherits="Container" category="Core" version="3.1"> +<class name="EditorProperty" inherits="Container" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/EditorResourceConversionPlugin.xml b/doc/classes/EditorResourceConversionPlugin.xml index ad0b7b0586..9f8412becd 100644 --- a/doc/classes/EditorResourceConversionPlugin.xml +++ b/doc/classes/EditorResourceConversionPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorResourceConversionPlugin" inherits="Reference" category="Core" version="3.1"> +<class name="EditorResourceConversionPlugin" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/EditorResourcePreview.xml b/doc/classes/EditorResourcePreview.xml index 3b3e8a8369..d5f7a8ac89 100644 --- a/doc/classes/EditorResourcePreview.xml +++ b/doc/classes/EditorResourcePreview.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorResourcePreview" inherits="Node" category="Core" version="3.1"> +<class name="EditorResourcePreview" inherits="Node" category="Core" version="3.2"> <brief_description> Helper to generate previews of resources or files. </brief_description> diff --git a/doc/classes/EditorResourcePreviewGenerator.xml b/doc/classes/EditorResourcePreviewGenerator.xml index c4dcbbbc82..d607b66c05 100644 --- a/doc/classes/EditorResourcePreviewGenerator.xml +++ b/doc/classes/EditorResourcePreviewGenerator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorResourcePreviewGenerator" inherits="Reference" category="Core" version="3.1"> +<class name="EditorResourcePreviewGenerator" inherits="Reference" category="Core" version="3.2"> <brief_description> Custom generator of previews. </brief_description> diff --git a/doc/classes/EditorSceneImporter.xml b/doc/classes/EditorSceneImporter.xml index 6394dfdfe9..aee8712e74 100644 --- a/doc/classes/EditorSceneImporter.xml +++ b/doc/classes/EditorSceneImporter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSceneImporter" inherits="Reference" category="Core" version="3.1"> +<class name="EditorSceneImporter" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/EditorScenePostImport.xml b/doc/classes/EditorScenePostImport.xml index e69f3b0119..788574d7d2 100644 --- a/doc/classes/EditorScenePostImport.xml +++ b/doc/classes/EditorScenePostImport.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorScenePostImport" inherits="Reference" category="Core" version="3.1"> +<class name="EditorScenePostImport" inherits="Reference" category="Core" version="3.2"> <brief_description> Post process scenes after import </brief_description> diff --git a/doc/classes/EditorScript.xml b/doc/classes/EditorScript.xml index 1c22095b37..117817d311 100644 --- a/doc/classes/EditorScript.xml +++ b/doc/classes/EditorScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorScript" inherits="Reference" category="Core" version="3.1"> +<class name="EditorScript" inherits="Reference" category="Core" version="3.2"> <brief_description> Base script that can be used to add extension functions to the editor. </brief_description> diff --git a/doc/classes/EditorSelection.xml b/doc/classes/EditorSelection.xml index 4edd8583a0..d1975d786e 100644 --- a/doc/classes/EditorSelection.xml +++ b/doc/classes/EditorSelection.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSelection" inherits="Object" category="Core" version="3.1"> +<class name="EditorSelection" inherits="Object" category="Core" version="3.2"> <brief_description> Manages the SceneTree selection in the editor. </brief_description> diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index 9d48669a6b..0743a4bd6b 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSettings" inherits="Resource" category="Core" version="3.1"> +<class name="EditorSettings" inherits="Resource" category="Core" version="3.2"> <brief_description> Object that holds the project-independent editor settings. </brief_description> diff --git a/doc/classes/EditorSpatialGizmo.xml b/doc/classes/EditorSpatialGizmo.xml index 0bec11e183..0eff0bc0f8 100644 --- a/doc/classes/EditorSpatialGizmo.xml +++ b/doc/classes/EditorSpatialGizmo.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSpatialGizmo" inherits="SpatialGizmo" category="Core" version="3.1"> +<class name="EditorSpatialGizmo" inherits="SpatialGizmo" category="Core" version="3.2"> <brief_description> Custom gizmo for editing Spatial objects. </brief_description> diff --git a/doc/classes/EditorSpatialGizmoPlugin.xml b/doc/classes/EditorSpatialGizmoPlugin.xml index a6c0413c19..bebf166e37 100644 --- a/doc/classes/EditorSpatialGizmoPlugin.xml +++ b/doc/classes/EditorSpatialGizmoPlugin.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSpatialGizmoPlugin" inherits="Resource" category="Core" version="3.1"> +<class name="EditorSpatialGizmoPlugin" inherits="Resource" category="Core" version="3.2"> <brief_description> Used by the editor to define Spatial gizmo types. </brief_description> @@ -137,6 +137,12 @@ Override this method to provide the name that will appear in the gizmo visibility menu. </description> </method> + <method name="get_priority" qualifiers="virtual"> + <return type="String"> + </return> + <description> + </description> + </method> <method name="has_gizmo" qualifiers="virtual"> <return type="bool"> </return> diff --git a/doc/classes/EncodedObjectAsID.xml b/doc/classes/EncodedObjectAsID.xml index 8e6a117ea2..f7052de46e 100644 --- a/doc/classes/EncodedObjectAsID.xml +++ b/doc/classes/EncodedObjectAsID.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EncodedObjectAsID" inherits="Reference" category="Core" version="3.1"> +<class name="EncodedObjectAsID" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index d947784676..76d3a8390c 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Engine" inherits="Object" category="Core" version="3.1"> +<class name="Engine" inherits="Object" category="Core" version="3.2"> <brief_description> Access to basic engine properties. </brief_description> <description> - The [code]Engine[/code] class allows you to query and modify the game's run-time parameters, such as frames per second, time scale, and others. + The [Engine] class allows you to query and modify the game's run-time parameters, such as frames per second, time scale, and others. </description> <tutorials> </tutorials> diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index ced9ab7269..d75baa30cf 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Environment" inherits="Resource" category="Core" version="3.1"> +<class name="Environment" inherits="Resource" category="Core" version="3.2"> <brief_description> Resource for environment nodes (like [WorldEnvironment]) that define multiple rendering options. </brief_description> diff --git a/doc/classes/Expression.xml b/doc/classes/Expression.xml index 78623b359e..a983ab0cf3 100644 --- a/doc/classes/Expression.xml +++ b/doc/classes/Expression.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Expression" inherits="Reference" category="Core" version="3.1"> +<class name="Expression" inherits="Reference" category="Core" version="3.2"> <brief_description> A class that stores an expression you can execute. </brief_description> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index c9a8f18116..533a6d6399 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="File" inherits="Reference" category="Core" version="3.1"> +<class name="File" inherits="Reference" category="Core" version="3.2"> <brief_description> Type to handle file reading and writing operations. </brief_description> @@ -204,8 +204,11 @@ <method name="get_var" qualifiers="const"> <return type="Variant"> </return> + <argument index="0" name="allow_objects" type="bool" default="false"> + </argument> <description> - Returns the next [Variant] value from the file. + Returns the next [Variant] value from the file. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). </description> </method> <method name="is_open" qualifiers="const"> @@ -398,8 +401,10 @@ </return> <argument index="0" name="value" type="Variant"> </argument> + <argument index="1" name="full_objects" type="bool" default="false"> + </argument> <description> - Stores any Variant value in the file. + Stores any Variant value in the file. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code). </description> </method> </methods> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index 0af645975a..3ebe37e5ba 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="FileDialog" inherits="ConfirmationDialog" category="Core" version="3.1"> +<class name="FileDialog" inherits="ConfirmationDialog" category="Core" version="3.2"> <brief_description> Dialog for selecting files or directories in the filesystem. </brief_description> diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml index 6cb5e0b17a..3e2347a4f8 100644 --- a/doc/classes/Font.xml +++ b/doc/classes/Font.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Font" inherits="Resource" category="Core" version="3.1"> +<class name="Font" inherits="Resource" category="Core" version="3.2"> <brief_description> Internationalized font and text drawing support. </brief_description> diff --git a/doc/classes/FuncRef.xml b/doc/classes/FuncRef.xml index 02b9dcfd88..f0254cecaf 100644 --- a/doc/classes/FuncRef.xml +++ b/doc/classes/FuncRef.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="FuncRef" inherits="Reference" category="Core" version="3.1"> +<class name="FuncRef" inherits="Reference" category="Core" version="3.2"> <brief_description> Reference to a function in an object. </brief_description> <description> In GDScript, functions are not [i]first-class objects[/i]. This means it is impossible to store them directly as variables, return them from another function, or pass them as arguments. - However, by creating a [code]FuncRef[/code] using the [method @GDScript.funcref] function, a reference to a function in a given object can be created, passed around and called. + However, by creating a [FuncRef] using the [method @GDScript.funcref] function, a reference to a function in a given object can be created, passed around and called. </description> <tutorials> </tutorials> diff --git a/doc/classes/GDNativeLibraryResourceLoader.xml b/doc/classes/GDNativeLibraryResourceLoader.xml index 865381667d..17ee34c41b 100644 --- a/doc/classes/GDNativeLibraryResourceLoader.xml +++ b/doc/classes/GDNativeLibraryResourceLoader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDNativeLibraryResourceLoader" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="GDNativeLibraryResourceLoader" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/GDNativeLibraryResourceSaver.xml b/doc/classes/GDNativeLibraryResourceSaver.xml index 39f423d762..f7d4b538ae 100644 --- a/doc/classes/GDNativeLibraryResourceSaver.xml +++ b/doc/classes/GDNativeLibraryResourceSaver.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDNativeLibraryResourceSaver" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="GDNativeLibraryResourceSaver" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml index 5fb0ccc33d..c32fbc651e 100644 --- a/doc/classes/GIProbe.xml +++ b/doc/classes/GIProbe.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GIProbe" inherits="VisualInstance" category="Core" version="3.1"> +<class name="GIProbe" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/GIProbeData.xml b/doc/classes/GIProbeData.xml index b2186d7647..fcb9e6c14c 100644 --- a/doc/classes/GIProbeData.xml +++ b/doc/classes/GIProbeData.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GIProbeData" inherits="Resource" category="Core" version="3.1"> +<class name="GIProbeData" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Generic6DOFJoint.xml b/doc/classes/Generic6DOFJoint.xml index 95f9a76662..0a3b7b9027 100644 --- a/doc/classes/Generic6DOFJoint.xml +++ b/doc/classes/Generic6DOFJoint.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Generic6DOFJoint" inherits="Joint" category="Core" version="3.1"> +<class name="Generic6DOFJoint" inherits="Joint" category="Core" version="3.2"> <brief_description> The generic 6 degrees of freedom joint can implement a variety of joint-types by locking certain axes' rotation or translation. </brief_description> diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml index ea2e2f7595..fe431d55a9 100644 --- a/doc/classes/Geometry.xml +++ b/doc/classes/Geometry.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Geometry" inherits="Object" category="Core" version="3.1"> +<class name="Geometry" inherits="Object" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/GeometryInstance.xml b/doc/classes/GeometryInstance.xml index d6267044f7..023b782586 100644 --- a/doc/classes/GeometryInstance.xml +++ b/doc/classes/GeometryInstance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GeometryInstance" inherits="VisualInstance" category="Core" version="3.1"> +<class name="GeometryInstance" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> Base node for geometry based visual instances. </brief_description> diff --git a/doc/classes/Gradient.xml b/doc/classes/Gradient.xml index bf3f125e48..321d630b08 100644 --- a/doc/classes/Gradient.xml +++ b/doc/classes/Gradient.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Gradient" inherits="Resource" category="Core" version="3.1"> +<class name="Gradient" inherits="Resource" category="Core" version="3.2"> <brief_description> Color interpolator node. </brief_description> diff --git a/doc/classes/GradientTexture.xml b/doc/classes/GradientTexture.xml index d064e15e17..f343fb9b34 100644 --- a/doc/classes/GradientTexture.xml +++ b/doc/classes/GradientTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GradientTexture" inherits="Texture" category="Core" version="3.1"> +<class name="GradientTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> Gradient filled texture. </brief_description> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 715c23d869..68ab1a40c6 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GraphEdit" inherits="Control" category="Core" version="3.1"> +<class name="GraphEdit" inherits="Control" category="Core" version="3.2"> <brief_description> GraphEdit is an area capable of showing various GraphNodes. It manages connection events between them. </brief_description> diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index 6e09926c11..a26310e912 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GraphNode" inherits="Container" category="Core" version="3.1"> +<class name="GraphNode" inherits="Container" category="Core" version="3.2"> <brief_description> A GraphNode is a container with several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types. </brief_description> diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml index a304f34ed2..8825296611 100644 --- a/doc/classes/GridContainer.xml +++ b/doc/classes/GridContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GridContainer" inherits="Container" category="Core" version="3.1"> +<class name="GridContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Grid container used to arrange elements in a grid like layout. </brief_description> @@ -14,7 +14,7 @@ </methods> <members> <member name="columns" type="int" setter="set_columns" getter="get_columns"> - The number of columns in the [code]GridContainer[/code]. If modified, [code]GridContainer[/code] reorders its children to accommodate the new layout. + The number of columns in the [GridContainer]. If modified, [GridContainer] reorders its children to accommodate the new layout. </member> </members> <constants> diff --git a/doc/classes/GrooveJoint2D.xml b/doc/classes/GrooveJoint2D.xml index a15c658f78..7c951eca83 100644 --- a/doc/classes/GrooveJoint2D.xml +++ b/doc/classes/GrooveJoint2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GrooveJoint2D" inherits="Joint2D" category="Core" version="3.1"> +<class name="GrooveJoint2D" inherits="Joint2D" category="Core" version="3.2"> <brief_description> Groove constraint for 2D physics. </brief_description> diff --git a/doc/classes/HBoxContainer.xml b/doc/classes/HBoxContainer.xml index 9c86f17ef1..3adaf56cbf 100644 --- a/doc/classes/HBoxContainer.xml +++ b/doc/classes/HBoxContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HBoxContainer" inherits="BoxContainer" category="Core" version="3.1"> +<class name="HBoxContainer" inherits="BoxContainer" category="Core" version="3.2"> <brief_description> Horizontal box container. </brief_description> diff --git a/doc/classes/HScrollBar.xml b/doc/classes/HScrollBar.xml index 61759c4f94..fd6fa148cb 100644 --- a/doc/classes/HScrollBar.xml +++ b/doc/classes/HScrollBar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HScrollBar" inherits="ScrollBar" category="Core" version="3.1"> +<class name="HScrollBar" inherits="ScrollBar" category="Core" version="3.2"> <brief_description> Horizontal scroll bar. </brief_description> diff --git a/doc/classes/HSeparator.xml b/doc/classes/HSeparator.xml index 1a9cf25857..f5d9f23993 100644 --- a/doc/classes/HSeparator.xml +++ b/doc/classes/HSeparator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HSeparator" inherits="Separator" category="Core" version="3.1"> +<class name="HSeparator" inherits="Separator" category="Core" version="3.2"> <brief_description> Horizontal separator. </brief_description> diff --git a/doc/classes/HSlider.xml b/doc/classes/HSlider.xml index 6d5acded3c..fe34404572 100644 --- a/doc/classes/HSlider.xml +++ b/doc/classes/HSlider.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HSlider" inherits="Slider" category="Core" version="3.1"> +<class name="HSlider" inherits="Slider" category="Core" version="3.2"> <brief_description> Horizontal slider. </brief_description> diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml index 45b99c85a6..88527cf4ea 100644 --- a/doc/classes/HSplitContainer.xml +++ b/doc/classes/HSplitContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HSplitContainer" inherits="SplitContainer" category="Core" version="3.1"> +<class name="HSplitContainer" inherits="SplitContainer" category="Core" version="3.2"> <brief_description> Horizontal split container. </brief_description> diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 5436e2b1eb..f03b47afc5 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HTTPClient" inherits="Reference" category="Core" version="3.1"> +<class name="HTTPClient" inherits="Reference" category="Core" version="3.2"> <brief_description> Hyper-text transfer protocol client. </brief_description> <description> Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases. Note that this client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started. - A [code]HTTPClient[/code] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side. + A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side. For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616). </description> <tutorials> @@ -20,7 +20,7 @@ <return type="void"> </return> <description> - Closes the current connection, allowing reuse of this [code]HTTPClient[/code]. + Closes the current connection, allowing reuse of this [HTTPClient]. </description> </method> <method name="connect_to_host"> @@ -82,14 +82,14 @@ <return type="bool"> </return> <description> - If [code]true[/code], this [code]HTTPClient[/code] has a response available. + If [code]true[/code], this [HTTPClient] has a response available. </description> </method> <method name="is_response_chunked" qualifiers="const"> <return type="bool"> </return> <description> - If [code]true[/code], this [code]HTTPClient[/code] has a response that is chunked. + If [code]true[/code], this [HTTPClient] has a response that is chunked. </description> </method> <method name="poll"> diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml index 3271fef8e3..7444503060 100644 --- a/doc/classes/HTTPRequest.xml +++ b/doc/classes/HTTPRequest.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HTTPRequest" inherits="Node" category="Core" version="3.1"> +<class name="HTTPRequest" inherits="Node" category="Core" version="3.2"> <brief_description> A node with the ability to send HTTP requests. </brief_description> diff --git a/doc/classes/HingeJoint.xml b/doc/classes/HingeJoint.xml index 41d3b2311d..cb99cca6bf 100644 --- a/doc/classes/HingeJoint.xml +++ b/doc/classes/HingeJoint.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HingeJoint" inherits="Joint" category="Core" version="3.1"> +<class name="HingeJoint" inherits="Joint" category="Core" version="3.2"> <brief_description> A hinge between two 3D bodies. </brief_description> diff --git a/doc/classes/IP.xml b/doc/classes/IP.xml index bcb15e44fc..4c7365b0f6 100644 --- a/doc/classes/IP.xml +++ b/doc/classes/IP.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="IP" inherits="Object" category="Core" version="3.1"> +<class name="IP" inherits="Object" category="Core" version="3.2"> <brief_description> Internet protocol (IP) support functions like DNS resolution. </brief_description> diff --git a/doc/classes/IP_Unix.xml b/doc/classes/IP_Unix.xml index 0dd4455562..68392c9bdf 100644 --- a/doc/classes/IP_Unix.xml +++ b/doc/classes/IP_Unix.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="IP_Unix" inherits="IP" category="Core" version="3.1"> +<class name="IP_Unix" inherits="IP" category="Core" version="3.2"> <brief_description> Unix IP support. See [IP]. </brief_description> diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index f165027d44..3ebd9432e5 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Image" inherits="Resource" category="Core" version="3.1"> +<class name="Image" inherits="Resource" category="Core" version="3.2"> <brief_description> Image datatype. </brief_description> <description> - Native image datatype. Contains image data, which can be converted to a [Texture], and several functions to interact with it. The maximum width and height for an [code]Image[/code] are [constant MAX_WIDTH] and [constant MAX_HEIGHT]. + Native image datatype. Contains image data, which can be converted to a [Texture], and several functions to interact with it. The maximum width and height for an [Image] are [constant MAX_WIDTH] and [constant MAX_HEIGHT]. </description> <tutorials> </tutorials> @@ -477,10 +477,10 @@ </members> <constants> <constant name="MAX_WIDTH" value="16384"> - The maximal width allowed for [code]Image[/code] resources. + The maximal width allowed for [Image] resources. </constant> <constant name="MAX_HEIGHT" value="16384"> - The maximal height allowed for [code]Image[/code] resources. + The maximal height allowed for [Image] resources. </constant> <constant name="FORMAT_L8" value="0" enum="Format"> </constant> diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml index 579886c771..79eb97717b 100644 --- a/doc/classes/ImageTexture.xml +++ b/doc/classes/ImageTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ImageTexture" inherits="Texture" category="Core" version="3.1"> +<class name="ImageTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> A [Texture] based on an [Image]. </brief_description> @@ -23,7 +23,7 @@ <argument index="3" name="flags" type="int" default="7"> </argument> <description> - Create a new [code]ImageTexture[/code] with [code]width[/code] and [code]height[/code]. + Create a new [ImageTexture] with [code]width[/code] and [code]height[/code]. [code]format[/code] is a value from [enum Image.Format], [code]flags[/code] is any combination of [enum Texture.Flags]. </description> </method> @@ -35,14 +35,14 @@ <argument index="1" name="flags" type="int" default="7"> </argument> <description> - Create a new [code]ImageTexture[/code] from an [Image] with [code]flags[/code] from [enum Texture.Flags]. An sRGB to linear color space conversion can take place, according to [enum Image.Format]. + Create a new [ImageTexture] from an [Image] with [code]flags[/code] from [enum Texture.Flags]. An sRGB to linear color space conversion can take place, according to [enum Image.Format]. </description> </method> <method name="get_format" qualifiers="const"> <return type="int" enum="Image.Format"> </return> <description> - Return the format of the [code]ImageTexture[/code], one of [enum Image.Format]. + Return the format of the [ImageTexture], one of [enum Image.Format]. </description> </method> <method name="load"> @@ -51,7 +51,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Load an [code]ImageTexture[/code] from a file path. + Load an [ImageTexture] from a file path. </description> </method> <method name="set_data"> @@ -60,7 +60,7 @@ <argument index="0" name="image" type="Image"> </argument> <description> - Set the [Image] of this [code]ImageTexture[/code]. + Set the [Image] of this [ImageTexture]. </description> </method> <method name="set_size_override"> @@ -69,7 +69,7 @@ <argument index="0" name="size" type="Vector2"> </argument> <description> - Resizes the [code]ImageTexture[/code] to the specified dimensions. + Resizes the [ImageTexture] to the specified dimensions. </description> </method> </methods> diff --git a/doc/classes/ImmediateGeometry.xml b/doc/classes/ImmediateGeometry.xml index 29d05bf877..8ea3f41812 100644 --- a/doc/classes/ImmediateGeometry.xml +++ b/doc/classes/ImmediateGeometry.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ImmediateGeometry" inherits="GeometryInstance" category="Core" version="3.1"> +<class name="ImmediateGeometry" inherits="GeometryInstance" category="Core" version="3.2"> <brief_description> Draws simple geometry from code. </brief_description> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index 29c60f902e..6302515fcb 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Input" inherits="Object" category="Core" version="3.1"> +<class name="Input" inherits="Object" category="Core" version="3.2"> <brief_description> A Singleton that deals with inputs. </brief_description> @@ -90,7 +90,7 @@ <argument index="1" name="axis" type="int"> </argument> <description> - Returns the current value of the joypad axis at given index (see [code]JOY_*[/code] constants in [@GlobalScope]) + Returns the current value of the joypad axis at given index (see [enum JoystickList]). </description> </method> <method name="get_joy_axis_index_from_string"> @@ -108,7 +108,7 @@ <argument index="0" name="axis_index" type="int"> </argument> <description> - Receives a [code]JOY_AXIS_*[/code] Enum and returns its equivalent name as a string. + Receives a [enum JoystickList] axis and returns its equivalent name as a string. </description> </method> <method name="get_joy_button_index_from_string"> @@ -126,7 +126,7 @@ <argument index="0" name="button_index" type="int"> </argument> <description> - Receives a [code]JOY_BUTTON_*[/code] Enum and returns its equivalent name as a string. + Receives a joy button from [enum JoystickList] and returns its equivalent name as a string. </description> </method> <method name="get_joy_guid" qualifiers="const"> @@ -229,7 +229,7 @@ <argument index="1" name="button" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the joypad button. (see [code]JOY_*[/code] constants in [@GlobalScope]) + Returns [code]true[/code] if you are pressing the joypad button (see [enum JoystickList]). </description> </method> <method name="is_joy_known"> @@ -238,7 +238,7 @@ <argument index="0" name="device" type="int"> </argument> <description> - Returns [code]true[/code] if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in the [code]JOY_*[/code] constants (see [@GlobalScope]). Unknown joypads are not expected to match these constants, but you can still retrieve events from them. + Returns [code]true[/code] if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in [enum JoystickList]. Unknown joypads are not expected to match these constants, but you can still retrieve events from them. </description> </method> <method name="is_key_pressed" qualifiers="const"> @@ -247,7 +247,7 @@ <argument index="0" name="scancode" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the key. You can pass [code]KEY_*[/code], which are pre-defined constants listed in [@GlobalScope]. + Returns [code]true[/code] if you are pressing the key. You can pass a [enum KeyList] constant. </description> </method> <method name="is_mouse_button_pressed" qualifiers="const"> @@ -256,7 +256,7 @@ <argument index="0" name="button" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the mouse button. You can pass [code]BUTTON_*[/code], which are pre-defined constants listed in [@GlobalScope]. + Returns [code]true[/code] if you are pressing the mouse button specified with [enum ButtonList]. </description> </method> <method name="joy_connection_changed"> diff --git a/doc/classes/InputDefault.xml b/doc/classes/InputDefault.xml index 27bfff2e67..471a43ff7e 100644 --- a/doc/classes/InputDefault.xml +++ b/doc/classes/InputDefault.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputDefault" inherits="Input" category="Core" version="3.1"> +<class name="InputDefault" inherits="Input" category="Core" version="3.2"> <brief_description> Default implementation of the [Input] class. </brief_description> diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml index cd08cd4fe7..447c7251b8 100644 --- a/doc/classes/InputEvent.xml +++ b/doc/classes/InputEvent.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEvent" inherits="Resource" category="Core" version="3.1"> +<class name="InputEvent" inherits="Resource" category="Core" version="3.2"> <brief_description> Generic input event </brief_description> @@ -67,7 +67,7 @@ <return type="bool"> </return> <description> - Returns [code]true[/code] if this input event's type is one of the [code]InputEvent[/code] constants. + Returns [code]true[/code] if this input event's type is one of the [InputEvent] constants. </description> </method> <method name="is_echo" qualifiers="const"> diff --git a/doc/classes/InputEventAction.xml b/doc/classes/InputEventAction.xml index bd0d774180..a3eeea8756 100644 --- a/doc/classes/InputEventAction.xml +++ b/doc/classes/InputEventAction.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventAction" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventAction" inherits="InputEvent" category="Core" version="3.2"> <brief_description> Input event type for actions. </brief_description> diff --git a/doc/classes/InputEventGesture.xml b/doc/classes/InputEventGesture.xml index eb1e613b7c..9d6b44f140 100644 --- a/doc/classes/InputEventGesture.xml +++ b/doc/classes/InputEventGesture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventGesture" inherits="InputEventWithModifiers" category="Core" version="3.1"> +<class name="InputEventGesture" inherits="InputEventWithModifiers" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/InputEventJoypadButton.xml b/doc/classes/InputEventJoypadButton.xml index 1875ea508a..f77bf86cb9 100644 --- a/doc/classes/InputEventJoypadButton.xml +++ b/doc/classes/InputEventJoypadButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventJoypadButton" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventJoypadButton" inherits="InputEvent" category="Core" version="3.2"> <brief_description> Input event for gamepad buttons. </brief_description> @@ -15,7 +15,7 @@ </methods> <members> <member name="button_index" type="int" setter="set_button_index" getter="get_button_index"> - Button identifier. One of the [code]JOY_BUTTON_*[/code] constants from [@GlobalScope]. + Button identifier. One of the [enum JoystickList] button constants. </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed"> If [code]true[/code], the button's state is pressed. If [code]false[/code], the button's state is released. diff --git a/doc/classes/InputEventJoypadMotion.xml b/doc/classes/InputEventJoypadMotion.xml index 0c73f53158..35b7c0ce46 100644 --- a/doc/classes/InputEventJoypadMotion.xml +++ b/doc/classes/InputEventJoypadMotion.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventJoypadMotion" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventJoypadMotion" inherits="InputEvent" category="Core" version="3.2"> <brief_description> Input event type for gamepad joysticks and other motions. For buttons see [code]InputEventJoypadButton[/code]. </brief_description> <description> - Stores information about joystick motions. One [code]InputEventJoypadMotion[/code] represents one axis at a time. + Stores information about joystick motions. One [InputEventJoypadMotion] represents one axis at a time. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html</link> @@ -15,7 +15,7 @@ </methods> <members> <member name="axis" type="int" setter="set_axis" getter="get_axis"> - Axis identifier. Use one of the [code]JOY_AXIS_*[/code] constants in [@GlobalScope]. + Axis identifier. Use one of the [enum JoystickList] axis constants. </member> <member name="axis_value" type="float" setter="set_axis_value" getter="get_axis_value"> Current position of the joystick on the given axis. The value ranges from [code]-1.0[/code] to [code]1.0[/code]. A value of [code]0[/code] means the axis is in its resting position. diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml index 4d8a2f6242..90a01eef4c 100644 --- a/doc/classes/InputEventKey.xml +++ b/doc/classes/InputEventKey.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventKey" inherits="InputEventWithModifiers" category="Core" version="3.1"> +<class name="InputEventKey" inherits="InputEventWithModifiers" category="Core" version="3.2"> <brief_description> Input event type for keyboard events. </brief_description> @@ -28,7 +28,7 @@ If [code]true[/code], the key's state is pressed. If [code]false[/code], the key's state is released. </member> <member name="scancode" type="int" setter="set_scancode" getter="get_scancode"> - Key scancode, one of the [code]KEY_*[/code] constants in [@GlobalScope]. + Key scancode, one of the [enum KeyList] constants. </member> <member name="unicode" type="int" setter="set_unicode" getter="get_unicode"> Key unicode identifier when relevant. diff --git a/doc/classes/InputEventMIDI.xml b/doc/classes/InputEventMIDI.xml index 2cdd70e42c..3f7cf0cf7c 100644 --- a/doc/classes/InputEventMIDI.xml +++ b/doc/classes/InputEventMIDI.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventMIDI" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventMIDI" inherits="InputEvent" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/InputEventMagnifyGesture.xml b/doc/classes/InputEventMagnifyGesture.xml index e9a0149c56..c4f66c4d45 100644 --- a/doc/classes/InputEventMagnifyGesture.xml +++ b/doc/classes/InputEventMagnifyGesture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventMagnifyGesture" inherits="InputEventGesture" category="Core" version="3.1"> +<class name="InputEventMagnifyGesture" inherits="InputEventGesture" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/InputEventMouse.xml b/doc/classes/InputEventMouse.xml index 27e8d17407..05e1be0fe7 100644 --- a/doc/classes/InputEventMouse.xml +++ b/doc/classes/InputEventMouse.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventMouse" inherits="InputEventWithModifiers" category="Core" version="3.1"> +<class name="InputEventMouse" inherits="InputEventWithModifiers" category="Core" version="3.2"> <brief_description> Base input event type for mouse events. </brief_description> @@ -15,7 +15,7 @@ </methods> <members> <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask"> - Mouse button mask identifier, one of or a bitwise combination of the BUTTON_MASK_* constants in [@GlobalScope]. + Mouse button mask identifier, one of or a bitwise combination of the [enum ButtonList] button masks. </member> <member name="global_position" type="Vector2" setter="set_global_position" getter="get_global_position"> Mouse position relative to the current [Viewport] when used in [method Control._gui_input], otherwise is at 0,0. diff --git a/doc/classes/InputEventMouseButton.xml b/doc/classes/InputEventMouseButton.xml index 8603a4f673..2647f80dd8 100644 --- a/doc/classes/InputEventMouseButton.xml +++ b/doc/classes/InputEventMouseButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventMouseButton" inherits="InputEventMouse" category="Core" version="3.1"> +<class name="InputEventMouseButton" inherits="InputEventMouse" category="Core" version="3.2"> <brief_description> Input event type for mouse button events. </brief_description> @@ -15,7 +15,7 @@ </methods> <members> <member name="button_index" type="int" setter="set_button_index" getter="get_button_index"> - Mouse button identifier, one of the BUTTON_* or BUTTON_WHEEL_* constants in [@GlobalScope]. + Mouse button identifier, one of the [enum ButtonList] button or button wheel constants. </member> <member name="doubleclick" type="bool" setter="set_doubleclick" getter="is_doubleclick"> If [code]true[/code], the mouse button's state is a double-click. diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml index f7f6358910..0accf02aaf 100644 --- a/doc/classes/InputEventMouseMotion.xml +++ b/doc/classes/InputEventMouseMotion.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventMouseMotion" inherits="InputEventMouse" category="Core" version="3.1"> +<class name="InputEventMouseMotion" inherits="InputEventMouse" category="Core" version="3.2"> <brief_description> Input event type for mouse motion events. </brief_description> diff --git a/doc/classes/InputEventPanGesture.xml b/doc/classes/InputEventPanGesture.xml index 063986ae65..be5867e7b9 100644 --- a/doc/classes/InputEventPanGesture.xml +++ b/doc/classes/InputEventPanGesture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventPanGesture" inherits="InputEventGesture" category="Core" version="3.1"> +<class name="InputEventPanGesture" inherits="InputEventGesture" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/InputEventScreenDrag.xml b/doc/classes/InputEventScreenDrag.xml index a320c0a028..9d9e4b33ba 100644 --- a/doc/classes/InputEventScreenDrag.xml +++ b/doc/classes/InputEventScreenDrag.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventScreenDrag" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventScreenDrag" inherits="InputEvent" category="Core" version="3.2"> <brief_description> Input event type for screen drag events. (only available on mobile devices) diff --git a/doc/classes/InputEventScreenTouch.xml b/doc/classes/InputEventScreenTouch.xml index 8b1b9cae9f..6c5d37330f 100644 --- a/doc/classes/InputEventScreenTouch.xml +++ b/doc/classes/InputEventScreenTouch.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventScreenTouch" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventScreenTouch" inherits="InputEvent" category="Core" version="3.2"> <brief_description> Input event type for screen touch events. (only available on mobile devices) diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml index fcf2fd545e..620927af08 100644 --- a/doc/classes/InputEventWithModifiers.xml +++ b/doc/classes/InputEventWithModifiers.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventWithModifiers" inherits="InputEvent" category="Core" version="3.1"> +<class name="InputEventWithModifiers" inherits="InputEvent" category="Core" version="3.2"> <brief_description> Base class for keys events with modifiers. </brief_description> diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml index 3779aa399f..5c6bba44cc 100644 --- a/doc/classes/InputMap.xml +++ b/doc/classes/InputMap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputMap" inherits="Object" category="Core" version="3.1"> +<class name="InputMap" inherits="Object" category="Core" version="3.2"> <brief_description> Singleton that manages [InputEventAction]. </brief_description> @@ -72,7 +72,7 @@ <argument index="1" name="deadzone" type="float" default="0.5"> </argument> <description> - Adds an empty action to the [code]InputMap[/code] with a configurable [code]deadzone[/code]. + Adds an empty action to the [InputMap] with a configurable [code]deadzone[/code]. An [InputEvent] can then be added to this action with [method action_add_event]. </description> </method> @@ -82,7 +82,7 @@ <argument index="0" name="action" type="String"> </argument> <description> - Removes an action from the [code]InputMap[/code]. + Removes an action from the [InputMap]. </description> </method> <method name="event_is_action" qualifiers="const"> @@ -109,7 +109,7 @@ <return type="Array"> </return> <description> - Returns an array of all actions in the [code]InputMap[/code]. + Returns an array of all actions in the [InputMap]. </description> </method> <method name="has_action" qualifiers="const"> @@ -118,14 +118,14 @@ <argument index="0" name="action" type="String"> </argument> <description> - Returns [code]true[/code] if the [code]InputMap[/code] has a registered action with the given name. + Returns [code]true[/code] if the [InputMap] has a registered action with the given name. </description> </method> <method name="load_from_globals"> <return type="void"> </return> <description> - Clears all [InputEventAction] in the [code]InputMap[/code] and load it anew from [ProjectSettings]. + Clears all [InputEventAction] in the [InputMap] and load it anew from [ProjectSettings]. </description> </method> </methods> diff --git a/doc/classes/InstancePlaceholder.xml b/doc/classes/InstancePlaceholder.xml index 71c859fd9e..7dc5b4031a 100644 --- a/doc/classes/InstancePlaceholder.xml +++ b/doc/classes/InstancePlaceholder.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InstancePlaceholder" inherits="Node" category="Core" version="3.1"> +<class name="InstancePlaceholder" inherits="Node" category="Core" version="3.2"> <brief_description> Placeholder for the root [Node] of a [PackedScene]. </brief_description> diff --git a/doc/classes/InterpolatedCamera.xml b/doc/classes/InterpolatedCamera.xml index fdb4361091..38b97be962 100644 --- a/doc/classes/InterpolatedCamera.xml +++ b/doc/classes/InterpolatedCamera.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InterpolatedCamera" inherits="Camera" category="Core" version="3.1"> +<class name="InterpolatedCamera" inherits="Camera" category="Core" version="3.2"> <brief_description> Camera which moves toward another node. </brief_description> diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index 4df8a14804..b16a80a537 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ItemList" inherits="Control" category="Core" version="3.1"> +<class name="ItemList" inherits="Control" category="Core" version="3.2"> <brief_description> Control that provides a list of selectable items (and/or icons) in a single column, or optionally in multiple columns. </brief_description> diff --git a/doc/classes/JSON.xml b/doc/classes/JSON.xml index fbf9aea7f9..ee02733615 100644 --- a/doc/classes/JSON.xml +++ b/doc/classes/JSON.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="JSON" inherits="Object" category="Core" version="3.1"> +<class name="JSON" inherits="Object" category="Core" version="3.2"> <brief_description> Helper class for parsing JSON data. </brief_description> diff --git a/doc/classes/JSONParseResult.xml b/doc/classes/JSONParseResult.xml index 4d2987cc04..0d28b5bf61 100644 --- a/doc/classes/JSONParseResult.xml +++ b/doc/classes/JSONParseResult.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="JSONParseResult" inherits="Reference" category="Core" version="3.1"> +<class name="JSONParseResult" inherits="Reference" category="Core" version="3.2"> <brief_description> Data class wrapper for decoded JSON. </brief_description> <description> - Returned by [method JSON.parse], [code]JSONParseResult[/code] contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with [code]if json_result.error == OK[/code]. + Returned by [method JSON.parse], [JSONParseResult] contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with [code]if json_result.error == OK[/code]. </description> <tutorials> </tutorials> diff --git a/doc/classes/JavaScript.xml b/doc/classes/JavaScript.xml index fa3aaed684..524de0c915 100644 --- a/doc/classes/JavaScript.xml +++ b/doc/classes/JavaScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="JavaScript" inherits="Object" category="Core" version="3.1"> +<class name="JavaScript" inherits="Object" category="Core" version="3.2"> <brief_description> Singleton that connects the engine with the browser's JavaScript context in HTML5 export. </brief_description> diff --git a/doc/classes/Joint.xml b/doc/classes/Joint.xml index 32fdb31a99..8ebe597d80 100644 --- a/doc/classes/Joint.xml +++ b/doc/classes/Joint.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Joint" inherits="Spatial" category="Core" version="3.1"> +<class name="Joint" inherits="Spatial" category="Core" version="3.2"> <brief_description> Base class for all 3D joints </brief_description> diff --git a/doc/classes/Joint2D.xml b/doc/classes/Joint2D.xml index 641765e671..61df0ee698 100644 --- a/doc/classes/Joint2D.xml +++ b/doc/classes/Joint2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Joint2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Joint2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Base node for all joint constraints in 2D physics. </brief_description> diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml index 4aec75d89f..9ef1d0cdb9 100644 --- a/doc/classes/KinematicBody.xml +++ b/doc/classes/KinematicBody.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="KinematicBody" inherits="PhysicsBody" category="Core" version="3.1"> +<class name="KinematicBody" inherits="PhysicsBody" category="Core" version="3.2"> <brief_description> Kinematic body 3D node. </brief_description> @@ -90,13 +90,14 @@ <argument index="5" name="infinite_inertia" type="bool" default="true"> </argument> <description> - Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [code]KinematicBody[/code] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. + Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. [code]linear_velocity[/code] is the velocity vector (typically meters per second). Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity. [code]floor_normal[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector3(0, 0, 0)[/code], everything is considered a wall. This is useful for topdown games. - If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes. + If [code]stop_on_slope[/code] is true, body will not slide on slopes if you include gravity in [code]linear_velocity[/code]. If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops. [code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees. - Returns the movement that remained when the body stopped. To get more detailed information about collisions that occurred, use [method get_slide_collision]. + If [code]infinite_inertia[/code] is true, body will be able to push [RigidBody] nodes, but it won't also detect any collisions with them. When false, it will interact with [RigidBody] nodes like with [StaticBody]. + Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use [method get_slide_collision]. </description> </method> <method name="move_and_slide_with_snap"> diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml index d5bfc91f66..c0eebcbd31 100644 --- a/doc/classes/KinematicBody2D.xml +++ b/doc/classes/KinematicBody2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="KinematicBody2D" inherits="PhysicsBody2D" category="Core" version="3.1"> +<class name="KinematicBody2D" inherits="PhysicsBody2D" category="Core" version="3.2"> <brief_description> Kinematic body 2D node. </brief_description> @@ -27,6 +27,12 @@ </argument> <description> Returns a [KinematicCollision2D], which contains information about a collision that occurred during the last [method move_and_slide] call. Since the body can collide several times in a single call to [method move_and_slide], you must specify the index of the collision in the range 0 to ([method get_slide_count] - 1). + Example usage: + [codeblock] + for i in get_slide_count(): + var collision = get_slide_collision(i) + print("Collided with: ", collision.collider.name) + [/codeblock] </description> </method> <method name="get_slide_count" qualifiers="const"> @@ -88,13 +94,14 @@ <argument index="5" name="infinite_inertia" type="bool" default="true"> </argument> <description> - Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [code]KinematicBody2D[/code] or [RigidBody2D], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. + Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody2D] or [RigidBody2D], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. [code]linear_velocity[/code] is the velocity vector in pixels per second. Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity. [code]floor_normal[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector2(0, 0)[/code], everything is considered a wall. This is useful for topdown games. - If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes. + If [code]stop_on_slope[/code] is true, body will not slide on slopes when you include gravity in [code]linear_velocity[/code] and the body is standing still. If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops. [code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees. - Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a slide collision occurred. To get more detailed information about collisions that occurred, use [method get_slide_collision]. + If [code]infinite_inertia[/code] is true, body will be able to push [RigidBody2D] nodes, but it won't also detect any collisions with them. When false, it will interact with [RigidBody2D] nodes like with [StaticBody2D]. + Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use [method get_slide_collision]. </description> </method> <method name="move_and_slide_with_snap"> diff --git a/doc/classes/KinematicCollision.xml b/doc/classes/KinematicCollision.xml index 87eb9e77b5..b2ae9445bb 100644 --- a/doc/classes/KinematicCollision.xml +++ b/doc/classes/KinematicCollision.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="KinematicCollision" inherits="Reference" category="Core" version="3.1"> +<class name="KinematicCollision" inherits="Reference" category="Core" version="3.2"> <brief_description> Collision data for KinematicBody collisions. </brief_description> diff --git a/doc/classes/KinematicCollision2D.xml b/doc/classes/KinematicCollision2D.xml index e403ada0b9..8a57dc0188 100644 --- a/doc/classes/KinematicCollision2D.xml +++ b/doc/classes/KinematicCollision2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="KinematicCollision2D" inherits="Reference" category="Core" version="3.1"> +<class name="KinematicCollision2D" inherits="Reference" category="Core" version="3.2"> <brief_description> Collision data for KinematicBody2D collisions. </brief_description> diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml index 36aa3c8b55..056391ae40 100644 --- a/doc/classes/Label.xml +++ b/doc/classes/Label.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Label" inherits="Control" category="Core" version="3.1"> +<class name="Label" inherits="Control" category="Core" version="3.2"> <brief_description> Displays plain text in a line or wrapped inside a rectangle. For formatted text, use [RichTextLabel]. </brief_description> @@ -37,7 +37,7 @@ <return type="int"> </return> <description> - Returns the number of lines shown. Useful if the [code]Label[/code] 's height cannot currently display all lines. + Returns the number of lines shown. Useful if the [Label] 's height cannot currently display all lines. </description> </method> </methods> diff --git a/doc/classes/LargeTexture.xml b/doc/classes/LargeTexture.xml index 9526604e6d..59757e3101 100644 --- a/doc/classes/LargeTexture.xml +++ b/doc/classes/LargeTexture.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="LargeTexture" inherits="Texture" category="Core" version="3.1"> +<class name="LargeTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> A Texture capable of storing many smaller Textures with offsets. </brief_description> <description> A Texture capable of storing many smaller Textures with offsets. - You can dynamically add pieces([Texture]) to this [code]LargeTexture[/code] using different offsets. + You can dynamically add pieces([Texture]) to this [LargeTexture] using different offsets. </description> <tutorials> </tutorials> @@ -20,21 +20,21 @@ <argument index="1" name="texture" type="Texture"> </argument> <description> - Add another [Texture] to this [code]LargeTexture[/code], starting on offset "ofs". + Add another [Texture] to this [LargeTexture], starting on offset "ofs". </description> </method> <method name="clear"> <return type="void"> </return> <description> - Clears the [code]LargeTexture[/code]. + Clears the [LargeTexture]. </description> </method> <method name="get_piece_count" qualifiers="const"> <return type="int"> </return> <description> - Returns the number of pieces currently in this [code]LargeTexture[/code]. + Returns the number of pieces currently in this [LargeTexture]. </description> </method> <method name="get_piece_offset" qualifiers="const"> @@ -83,7 +83,7 @@ <argument index="0" name="size" type="Vector2"> </argument> <description> - Sets the size of this [code]LargeTexture[/code]. + Sets the size of this [LargeTexture]. </description> </method> </methods> diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml index a7b0d86a7a..54f0e4336b 100644 --- a/doc/classes/Light.xml +++ b/doc/classes/Light.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Light" inherits="VisualInstance" category="Core" version="3.1"> +<class name="Light" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> Provides a base class for different kinds of light nodes. </brief_description> diff --git a/doc/classes/Light2D.xml b/doc/classes/Light2D.xml index 0d754f1d4e..2626382a48 100644 --- a/doc/classes/Light2D.xml +++ b/doc/classes/Light2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Light2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Light2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Casts light in a 2D environment. </brief_description> @@ -7,6 +7,7 @@ Casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related). Note that Light2D can be used as a mask. </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/LightOccluder2D.xml b/doc/classes/LightOccluder2D.xml index 38b9054411..a5df0a5d11 100644 --- a/doc/classes/LightOccluder2D.xml +++ b/doc/classes/LightOccluder2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="LightOccluder2D" inherits="Node2D" category="Core" version="3.1"> +<class name="LightOccluder2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Occludes light cast by a Light2D, casting shadows. </brief_description> @@ -7,6 +7,7 @@ Occludes light cast by a Light2D, casting shadows. The LightOccluder2D must be provided with an [OccluderPolygon2D] in order for the shadow to be computed. </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_lights_and_shadows.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml index c1682e71e5..7efaf2b55f 100644 --- a/doc/classes/Line2D.xml +++ b/doc/classes/Line2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Line2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Line2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> A 2D line. </brief_description> @@ -20,6 +20,13 @@ Add a point at the [code]position[/code]. Appends the point at the end of the line. </description> </method> + <method name="clear_points"> + <return type="void"> + </return> + <description> + Removes all points from the line. + </description> + </method> <method name="get_point_count" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 1e1ffd71b5..6c8b419552 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="LineEdit" inherits="Control" category="Core" version="3.1"> +<class name="LineEdit" inherits="Control" category="Core" version="3.2"> <brief_description> Control that provides single line string editing. </brief_description> @@ -24,7 +24,7 @@ <return type="void"> </return> <description> - Erases the [code]LineEdit[/code] text. + Erases the [LineEdit] text. </description> </method> <method name="deselect"> @@ -38,7 +38,7 @@ <return type="PopupMenu"> </return> <description> - Returns the [PopupMenu] of this [code]LineEdit[/code]. By default, this menu is displayed when right-clicking on the [code]LineEdit[/code]. + Returns the [PopupMenu] of this [LineEdit]. By default, this menu is displayed when right-clicking on the [LineEdit]. </description> </method> <method name="menu_option"> @@ -58,7 +58,7 @@ <argument index="1" name="to" type="int" default="-1"> </argument> <description> - Selects characters inside [code]LineEdit[/code] between [code]from[/code] and [code]to[/code]. By default [code]from[/code] is at the beginning and [code]to[/code] at the end. + Selects characters inside [LineEdit] between [code]from[/code] and [code]to[/code]. By default [code]from[/code] is at the beginning and [code]to[/code] at the end. [codeblock] text = "Welcome" select() # Welcome @@ -86,10 +86,10 @@ Duration (in seconds) of a caret's blinking cycle. </member> <member name="caret_position" type="int" setter="set_cursor_position" getter="get_cursor_position"> - The cursor's position inside the [code]LineEdit[/code]. When set, the text may scroll to accommodate it. + The cursor's position inside the [LineEdit]. When set, the text may scroll to accommodate it. </member> <member name="clear_button_enabled" type="bool" setter="set_clear_button_enabled" getter="is_clear_button_enabled"> - If [code]true[/code], the [code]LineEdit[/code] will show a clear button if [code]text[/code] is not empty. + If [code]true[/code], the [LineEdit] will show a clear button if [code]text[/code] is not empty. </member> <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled"> If [code]true[/code], the context menu will appear when right clicked. @@ -98,19 +98,19 @@ If [code]false[/code], existing text cannot be modified and new text cannot be added. </member> <member name="expand_to_text_length" type="bool" setter="set_expand_to_text_length" getter="get_expand_to_text_length"> - If [code]true[/code], the [code]LineEdit[/code] width will increase to stay longer than the [member text]. It will [b]not[/b] compress if the [member text] is shortened. + If [code]true[/code], the [LineEdit] width will increase to stay longer than the [member text]. It will [b]not[/b] compress if the [member text] is shortened. </member> <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode"> - Defines how the [code]LineEdit[/code] can grab focus (Keyboard and mouse, only keyboard, or none). See [code]enum FocusMode[/code] in [Control] for details. + Defines how the [LineEdit] can grab focus (Keyboard and mouse, only keyboard, or none). See [enum Control.FocusMode] in [Control] for details. </member> <member name="max_length" type="int" setter="set_max_length" getter="get_max_length"> - Maximum amount of characters that can be entered inside the [code]LineEdit[/code]. If [code]0[/code], there is no limit. + Maximum amount of characters that can be entered inside the [LineEdit]. If [code]0[/code], there is no limit. </member> <member name="placeholder_alpha" type="float" setter="set_placeholder_alpha" getter="get_placeholder_alpha"> Opacity of the [member placeholder_text]. From [code]0[/code] to [code]1[/code]. </member> <member name="placeholder_text" type="String" setter="set_placeholder" getter="get_placeholder"> - Text shown when the [code]LineEdit[/code] is empty. It is [b]not[/b] the [code]LineEdit[/code]'s default value (see [member text]). + Text shown when the [LineEdit] is empty. It is [b]not[/b] the [LineEdit]'s default value (see [member text]). </member> <member name="secret" type="bool" setter="set_secret" getter="is_secret"> If [code]true[/code], every character is replaced with the secret character (see [member secret_character]). @@ -119,7 +119,7 @@ The character to use to mask secret input (defaults to "*"). Only a single character can be used as the secret character. </member> <member name="text" type="String" setter="set_text" getter="get_text"> - String value of the [code]LineEdit[/code]. + String value of the [LineEdit]. </member> </members> <signals> @@ -134,22 +134,22 @@ <argument index="0" name="new_text" type="String"> </argument> <description> - Emitted when the user presses [code]KEY_ENTER[/code] on the [code]LineEdit[/code]. + Emitted when the user presses [constant KEY_ENTER] on the [LineEdit]. </description> </signal> </signals> <constants> <constant name="ALIGN_LEFT" value="0" enum="Align"> - Aligns the text on the left hand side of the [code]LineEdit[/code]. + Aligns the text on the left hand side of the [LineEdit]. </constant> <constant name="ALIGN_CENTER" value="1" enum="Align"> - Centers the text in the middle of the [code]LineEdit[/code]. + Centers the text in the middle of the [LineEdit]. </constant> <constant name="ALIGN_RIGHT" value="2" enum="Align"> - Aligns the text on the right hand side of the [code]LineEdit[/code]. + Aligns the text on the right hand side of the [LineEdit]. </constant> <constant name="ALIGN_FILL" value="3" enum="Align"> - Stretches whitespaces to fit the [code]LineEdit[/code]'s width. + Stretches whitespaces to fit the [LineEdit]'s width. </constant> <constant name="MENU_CUT" value="0" enum="MenuItems"> Cuts (copies and clears) the selected text. @@ -161,10 +161,10 @@ Pastes the clipboard text over the selected text (or at the cursor's position). </constant> <constant name="MENU_CLEAR" value="3" enum="MenuItems"> - Erases the whole [code]LineEdit[/code] text. + Erases the whole [LineEdit] text. </constant> <constant name="MENU_SELECT_ALL" value="4" enum="MenuItems"> - Selects the whole [code]LineEdit[/code] text. + Selects the whole [LineEdit] text. </constant> <constant name="MENU_UNDO" value="5" enum="MenuItems"> Undoes the previous action. diff --git a/doc/classes/LineShape2D.xml b/doc/classes/LineShape2D.xml index 4a5486583a..fb5925277e 100644 --- a/doc/classes/LineShape2D.xml +++ b/doc/classes/LineShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="LineShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="LineShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Line shape for 2D collisions. </brief_description> diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml index a09edfad89..80729877cf 100644 --- a/doc/classes/LinkButton.xml +++ b/doc/classes/LinkButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="LinkButton" inherits="BaseButton" category="Core" version="3.1"> +<class name="LinkButton" inherits="BaseButton" category="Core" version="3.2"> <brief_description> Simple button used to represent a link to some resource. </brief_description> diff --git a/doc/classes/Listener.xml b/doc/classes/Listener.xml index 720a7eafc5..41daf99c78 100644 --- a/doc/classes/Listener.xml +++ b/doc/classes/Listener.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Listener" inherits="Spatial" category="Core" version="3.1"> +<class name="Listener" inherits="Spatial" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml index 01836cff95..8d8d4c46cc 100644 --- a/doc/classes/MainLoop.xml +++ b/doc/classes/MainLoop.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MainLoop" inherits="Object" category="Core" version="3.1"> +<class name="MainLoop" inherits="Object" category="Core" version="3.2"> <brief_description> Main loop is the abstract main loop base class. </brief_description> <description> - Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a [code]MainLoop[/code] has to be provided to OS, else the application will exit. This happens automatically (and a [SceneTree] is created), unless a main [Script] is supplied, which may or not create and return a [code]MainLoop[/code]. + Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a [MainLoop] has to be provided to OS, else the application will exit. This happens automatically (and a [SceneTree] is created), unless a main [Script] is supplied, which may or not create and return a [MainLoop]. </description> <tutorials> </tutorials> diff --git a/doc/classes/MarginContainer.xml b/doc/classes/MarginContainer.xml index 15613e4bec..2224c83271 100644 --- a/doc/classes/MarginContainer.xml +++ b/doc/classes/MarginContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MarginContainer" inherits="Container" category="Core" version="3.1"> +<class name="MarginContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Simple margin container. </brief_description> diff --git a/doc/classes/Marshalls.xml b/doc/classes/Marshalls.xml index 687f81eec7..9210d0b0f5 100644 --- a/doc/classes/Marshalls.xml +++ b/doc/classes/Marshalls.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Marshalls" inherits="Reference" category="Core" version="3.1"> +<class name="Marshalls" inherits="Reference" category="Core" version="3.2"> <brief_description> Data transformation (marshalling) and encoding helpers. </brief_description> @@ -34,8 +34,11 @@ </return> <argument index="0" name="base64_str" type="String"> </argument> + <argument index="1" name="allow_objects" type="bool" default="false"> + </argument> <description> - Return [Variant] of a given base64 encoded String. + Return [Variant] of a given base64 encoded String. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). </description> </method> <method name="raw_to_base64"> @@ -61,8 +64,10 @@ </return> <argument index="0" name="variant" type="Variant"> </argument> + <argument index="1" name="full_objects" type="bool" default="false"> + </argument> <description> - Return base64 encoded String of a given [Variant]. + Return base64 encoded String of a given [Variant]. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code). </description> </method> </methods> diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml index 7420a5deb0..976adfd331 100644 --- a/doc/classes/Material.xml +++ b/doc/classes/Material.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Material" inherits="Resource" category="Core" version="3.1"> +<class name="Material" inherits="Resource" category="Core" version="3.2"> <brief_description> Abstract base [Resource] for coloring and shading geometry. </brief_description> diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index 636edd504b..aa10946afe 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MenuButton" inherits="Button" category="Core" version="3.1"> +<class name="MenuButton" inherits="Button" category="Core" version="3.2"> <brief_description> Special button that brings up a [PopupMenu] when clicked. </brief_description> diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index 4852d4701d..5299045ec1 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Mesh" inherits="Resource" category="Core" version="3.1"> +<class name="Mesh" inherits="Resource" category="Core" version="3.2"> <brief_description> A [Resource] that contains vertex-array based geometry. </brief_description> @@ -52,7 +52,7 @@ <return type="int"> </return> <description> - Return the amount of surfaces that the [code]Mesh[/code] holds. + Return the amount of surfaces that the [Mesh] holds. </description> </method> <method name="surface_get_arrays" qualifiers="const"> diff --git a/doc/classes/MeshDataTool.xml b/doc/classes/MeshDataTool.xml index 7bd98323c7..cfe565b538 100644 --- a/doc/classes/MeshDataTool.xml +++ b/doc/classes/MeshDataTool.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MeshDataTool" inherits="Reference" category="Core" version="3.1"> +<class name="MeshDataTool" inherits="Reference" category="Core" version="3.2"> <brief_description> Helper tool to access and edit [Mesh] data. </brief_description> diff --git a/doc/classes/MeshInstance.xml b/doc/classes/MeshInstance.xml index bcc9a7cad9..3a5df32563 100644 --- a/doc/classes/MeshInstance.xml +++ b/doc/classes/MeshInstance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MeshInstance" inherits="GeometryInstance" category="Core" version="3.1"> +<class name="MeshInstance" inherits="GeometryInstance" category="Core" version="3.2"> <brief_description> Node that instances meshes into a scenario. </brief_description> diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml index 7f0136bf77..a39782acbf 100644 --- a/doc/classes/MeshInstance2D.xml +++ b/doc/classes/MeshInstance2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MeshInstance2D" inherits="Node2D" category="Core" version="3.1"> +<class name="MeshInstance2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> </brief_description> <description> </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_meshes.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/MeshLibrary.xml b/doc/classes/MeshLibrary.xml index 3726524638..8fb10696f2 100644 --- a/doc/classes/MeshLibrary.xml +++ b/doc/classes/MeshLibrary.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MeshLibrary" inherits="Resource" category="Core" version="3.1"> +<class name="MeshLibrary" inherits="Resource" category="Core" version="3.2"> <brief_description> Library of meshes. </brief_description> diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml index 0cc9764e36..885fcf259f 100644 --- a/doc/classes/MultiMesh.xml +++ b/doc/classes/MultiMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MultiMesh" inherits="Resource" category="Core" version="3.1"> +<class name="MultiMesh" inherits="Resource" category="Core" version="3.2"> <brief_description> Provides high performance mesh instancing. </brief_description> @@ -10,6 +10,7 @@ Since instances may have any behavior, the AABB used for visibility must be provided by the user. </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link> </tutorials> <demos> </demos> @@ -65,7 +66,7 @@ </argument> <description> Set the color of a specific instance. - For the color to take effect, ensure that [member color_format] is non-[code]null[/code] on the [code]MultiMesh[/code] and [member SpatialMaterial.vertex_color_use_as_albedo] is [code]true[/code] on the material. + For the color to take effect, ensure that [member color_format] is non-[code]null[/code] on the [MultiMesh] and [member SpatialMaterial.vertex_color_use_as_albedo] is [code]true[/code] on the material. </description> </method> <method name="set_instance_custom_data"> diff --git a/doc/classes/MultiMeshInstance.xml b/doc/classes/MultiMeshInstance.xml index 5e021dfe9b..68c415af22 100644 --- a/doc/classes/MultiMeshInstance.xml +++ b/doc/classes/MultiMeshInstance.xml @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MultiMeshInstance" inherits="GeometryInstance" category="Core" version="3.1"> +<class name="MultiMeshInstance" inherits="GeometryInstance" category="Core" version="3.2"> <brief_description> Node that instances a [MultiMesh]. </brief_description> <description> - [code]MultiMeshInstance[/code] is a specialized node to instance [GeometryInstance]s based on a [MultiMesh] resource. + [MultiMeshInstance] is a specialized node to instance [GeometryInstance]s based on a [MultiMesh] resource. This is useful to optimize the rendering of a high amount of instances of a given mesh (for example tree in a forest or grass strands). </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/animating_thousands_of_fish.html</link> + <link>http://docs.godotengine.org/en/latest/tutorials/3d/using_multi_mesh_instance.html</link> </tutorials> <demos> </demos> @@ -15,7 +17,7 @@ </methods> <members> <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh"> - The [MultiMesh] resource that will be used and shared among all instances of the [code]MultiMeshInstance[/code]. + The [MultiMesh] resource that will be used and shared among all instances of the [MultiMeshInstance]. </member> </members> <constants> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index f3e26a3bcb..4e7f6c5b17 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MultiplayerAPI" inherits="Reference" category="Core" version="3.1"> +<class name="MultiplayerAPI" inherits="Reference" category="Core" version="3.2"> <brief_description> High Level Multiplayer API. </brief_description> @@ -89,6 +89,10 @@ </method> </methods> <members> + <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed"> + If [code]true[/code] (or if the [member network_peer] [member PacketPeer.allow_object_decoding] the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). + </member> <member name="network_peer" type="NetworkedMultiplayerPeer" setter="set_network_peer" getter="get_network_peer"> The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with [method is_network_server]) and will set root node's network mode to master (see NETWORK_MODE_* constants in [Node]), or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals. </member> diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml index 718b3b04b2..cee38c4f86 100644 --- a/doc/classes/Mutex.xml +++ b/doc/classes/Mutex.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Mutex" inherits="Reference" category="Core" version="3.1"> +<class name="Mutex" inherits="Reference" category="Core" version="3.2"> <brief_description> A synchronization Mutex. </brief_description> @@ -15,21 +15,21 @@ <return type="void"> </return> <description> - Lock this [code]Mutex[/code], blocks until it is unlocked by the current owner. + Lock this [Mutex], blocks until it is unlocked by the current owner. </description> </method> <method name="try_lock"> <return type="int" enum="Error"> </return> <description> - Try locking this [code]Mutex[/code], does not block. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. + Try locking this [Mutex], does not block. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. </description> </method> <method name="unlock"> <return type="void"> </return> <description> - Unlock this [code]Mutex[/code], leaving it to other threads. + Unlock this [Mutex], leaving it to other threads. </description> </method> </methods> diff --git a/doc/classes/Navigation.xml b/doc/classes/Navigation.xml index 9d830168d3..baa3ca57fa 100644 --- a/doc/classes/Navigation.xml +++ b/doc/classes/Navigation.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Navigation" inherits="Spatial" category="Core" version="3.1"> +<class name="Navigation" inherits="Spatial" category="Core" version="3.2"> <brief_description> Mesh-based navigation and pathfinding node. </brief_description> diff --git a/doc/classes/Navigation2D.xml b/doc/classes/Navigation2D.xml index 4982c6f87d..6dd26ccf71 100644 --- a/doc/classes/Navigation2D.xml +++ b/doc/classes/Navigation2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Navigation2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Navigation2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> 2D navigation and pathfinding node. </brief_description> diff --git a/doc/classes/NavigationMesh.xml b/doc/classes/NavigationMesh.xml index f0654e5b12..0e093992ba 100644 --- a/doc/classes/NavigationMesh.xml +++ b/doc/classes/NavigationMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationMesh" inherits="Resource" category="Core" version="3.1"> +<class name="NavigationMesh" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/NavigationMeshInstance.xml b/doc/classes/NavigationMeshInstance.xml index 643bfc726f..1e94292c48 100644 --- a/doc/classes/NavigationMeshInstance.xml +++ b/doc/classes/NavigationMeshInstance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationMeshInstance" inherits="Spatial" category="Core" version="3.1"> +<class name="NavigationMeshInstance" inherits="Spatial" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/NavigationPolygon.xml b/doc/classes/NavigationPolygon.xml index 53389d6599..099ffbc429 100644 --- a/doc/classes/NavigationPolygon.xml +++ b/doc/classes/NavigationPolygon.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationPolygon" inherits="Resource" category="Core" version="3.1"> +<class name="NavigationPolygon" inherits="Resource" category="Core" version="3.2"> <brief_description> A node that has methods to draw outlines or use indices of vertices to create navigation polygons. </brief_description> diff --git a/doc/classes/NavigationPolygonInstance.xml b/doc/classes/NavigationPolygonInstance.xml index ff95f652f1..ae4db14a37 100644 --- a/doc/classes/NavigationPolygonInstance.xml +++ b/doc/classes/NavigationPolygonInstance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationPolygonInstance" inherits="Node2D" category="Core" version="3.1"> +<class name="NavigationPolygonInstance" inherits="Node2D" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/NetworkedMultiplayerPeer.xml b/doc/classes/NetworkedMultiplayerPeer.xml index 42f08b36af..2119aea05f 100644 --- a/doc/classes/NetworkedMultiplayerPeer.xml +++ b/doc/classes/NetworkedMultiplayerPeer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NetworkedMultiplayerPeer" inherits="PacketPeer" category="Core" version="3.1"> +<class name="NetworkedMultiplayerPeer" inherits="PacketPeer" category="Core" version="3.2"> <brief_description> A high-level network interface to simplify multiplayer interactions. </brief_description> @@ -23,14 +23,14 @@ <return type="int"> </return> <description> - Returns the ID of the [code]NetworkedMultiplayerPeer[/code] who sent the most recent packet. + Returns the ID of the [NetworkedMultiplayerPeer] who sent the most recent packet. </description> </method> <method name="get_unique_id" qualifiers="const"> <return type="int"> </return> <description> - Returns the ID of this [code]NetworkedMultiplayerPeer[/code]. + Returns the ID of this [NetworkedMultiplayerPeer]. </description> </method> <method name="poll"> @@ -53,7 +53,7 @@ </methods> <members> <member name="refuse_new_connections" type="bool" setter="set_refuse_new_connections" getter="is_refusing_new_connections"> - If [code]true[/code], this [code]NetworkedMultiplayerPeer[/code] refuses new connections. Default value: [code]false[/code]. + If [code]true[/code], this [NetworkedMultiplayerPeer] refuses new connections. Default value: [code]false[/code]. </member> <member name="transfer_mode" type="int" setter="set_transfer_mode" getter="get_transfer_mode" enum="NetworkedMultiplayerPeer.TransferMode"> The manner in which to send packets to the [code]target_peer[/code]. See [enum TransferMode]. diff --git a/doc/classes/Nil.xml b/doc/classes/Nil.xml index e09dba6511..1e29da047b 100644 --- a/doc/classes/Nil.xml +++ b/doc/classes/Nil.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Nil" category="Built-In Types" version="3.1"> +<class name="Nil" category="Built-In Types" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/NinePatchRect.xml b/doc/classes/NinePatchRect.xml index f40b32951f..c8574d9c3a 100644 --- a/doc/classes/NinePatchRect.xml +++ b/doc/classes/NinePatchRect.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NinePatchRect" inherits="Control" category="Core" version="3.1"> +<class name="NinePatchRect" inherits="Control" category="Core" version="3.2"> <brief_description> Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes. </brief_description> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index e872fee1cc..e01e3d3a20 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Node" inherits="Object" category="Core" version="3.1"> +<class name="Node" inherits="Object" category="Core" version="3.2"> <brief_description> Base class for all [i]scene[/i] objects. </brief_description> @@ -275,14 +275,14 @@ <argument index="0" name="path" type="NodePath"> </argument> <description> - Similar to [method get_node], but does not raise an error when [code]path[/code] does not point to a valid [code]Node[/code]. + Similar to [method get_node], but does not raise an error when [code]path[/code] does not point to a valid [Node]. </description> </method> <method name="get_parent" qualifiers="const"> <return type="Node"> </return> <description> - Returns the parent node of the current node, or an empty [code]Node[/code] if the node lacks a parent. + Returns the parent node of the current node, or an empty [Node] if the node lacks a parent. </description> </method> <method name="get_path" qualifiers="const"> diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml index 80f9329402..e6bb35cf0f 100644 --- a/doc/classes/Node2D.xml +++ b/doc/classes/Node2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Node2D" inherits="CanvasItem" category="Core" version="3.1"> +<class name="Node2D" inherits="CanvasItem" category="Core" version="3.2"> <brief_description> A 2D game object, parent of all 2D related nodes. Has a position, rotation, scale and Z-index. </brief_description> diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index f589fa12b7..8bec19bbd3 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NodePath" category="Built-In Types" version="3.1"> +<class name="NodePath" category="Built-In Types" version="3.2"> <brief_description> Pre-parsed scene tree path. </brief_description> <description> A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code] would refer to the size property of the texture resource on the node named "Sprite" which is a child of the other named nodes in the path. Note that if you want to get a resource, you must end the path with a colon, otherwise the last element will be used as a property name. - You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [code]NodePath[/code] or the literal syntax [code]@"path"[/code]. Exporting a [code]NodePath[/code] variable will give you a node selection widget in the properties panel of the editor, which can often be useful. - A [code]NodePath[/code] is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource. + You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]@"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful. + A [NodePath] is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource. </description> <tutorials> </tutorials> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 04aac298e5..0cd2e2b708 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="OS" inherits="Object" category="Core" version="3.1"> +<class name="OS" inherits="Object" category="Core" version="3.2"> <brief_description> Operating System functions. </brief_description> @@ -687,8 +687,10 @@ <method name="request_permission"> <return type="bool"> </return> + <argument index="0" name="name" type="String"> + </argument> <description> - At the moment this function is only used by the AudioDriverOpenSL to request permission for RECORD_AUDIO on Android. + At the moment this function is only used by [code]AudioDriverOpenSL[/code] to request permission for [code]RECORD_AUDIO[/code] on Android. </description> </method> <method name="set_icon"> diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index 76cbe5eebd..f76038fd69 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Object" category="Core" version="3.1"> +<class name="Object" category="Core" version="3.2"> <brief_description> Base class for all non built-in types. </brief_description> diff --git a/doc/classes/OccluderPolygon2D.xml b/doc/classes/OccluderPolygon2D.xml index b8adc4c96f..6d8d9d9a70 100644 --- a/doc/classes/OccluderPolygon2D.xml +++ b/doc/classes/OccluderPolygon2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="OccluderPolygon2D" inherits="Resource" category="Core" version="3.1"> +<class name="OccluderPolygon2D" inherits="Resource" category="Core" version="3.2"> <brief_description> Defines a 2D polygon for LightOccluder2D. </brief_description> diff --git a/doc/classes/OmniLight.xml b/doc/classes/OmniLight.xml index 8d67cb626b..649c4c08f0 100644 --- a/doc/classes/OmniLight.xml +++ b/doc/classes/OmniLight.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="OmniLight" inherits="Light" category="Core" version="3.1"> +<class name="OmniLight" inherits="Light" category="Core" version="3.2"> <brief_description> Omnidirectional light, such as a light bulb or a candle. </brief_description> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index 0f795b4bf8..28fd8deba8 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="OptionButton" inherits="Button" category="Core" version="3.1"> +<class name="OptionButton" inherits="Button" category="Core" version="3.2"> <brief_description> Button control that provides selectable options when pressed. </brief_description> @@ -46,7 +46,7 @@ <return type="void"> </return> <description> - Clear all the items in the [code]OptionButton[/code]. + Clear all the items in the [OptionButton]. </description> </method> <method name="get_item_count" qualifiers="const"> diff --git a/doc/classes/PCKPacker.xml b/doc/classes/PCKPacker.xml index 01985a9bb3..83610c82f0 100644 --- a/doc/classes/PCKPacker.xml +++ b/doc/classes/PCKPacker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PCKPacker" inherits="Reference" category="Core" version="3.1"> +<class name="PCKPacker" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PHashTranslation.xml b/doc/classes/PHashTranslation.xml index e5745375b0..2dcbdc80e1 100644 --- a/doc/classes/PHashTranslation.xml +++ b/doc/classes/PHashTranslation.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PHashTranslation" inherits="Translation" category="Core" version="3.1"> +<class name="PHashTranslation" inherits="Translation" category="Core" version="3.2"> <brief_description> Optimized translation. </brief_description> diff --git a/doc/classes/PackedDataContainer.xml b/doc/classes/PackedDataContainer.xml index e6dbe57925..087674a64a 100644 --- a/doc/classes/PackedDataContainer.xml +++ b/doc/classes/PackedDataContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PackedDataContainer" inherits="Resource" category="Core" version="3.1"> +<class name="PackedDataContainer" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PackedDataContainerRef.xml b/doc/classes/PackedDataContainerRef.xml index 371fe5a5ac..a9545d40e7 100644 --- a/doc/classes/PackedDataContainerRef.xml +++ b/doc/classes/PackedDataContainerRef.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PackedDataContainerRef" inherits="Reference" category="Core" version="3.1"> +<class name="PackedDataContainerRef" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PackedScene.xml b/doc/classes/PackedScene.xml index 432ca4b23f..531fd4006c 100644 --- a/doc/classes/PackedScene.xml +++ b/doc/classes/PackedScene.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PackedScene" inherits="Resource" category="Core" version="3.1"> +<class name="PackedScene" inherits="Resource" category="Core" version="3.2"> <brief_description> An abstraction of a serialized scene. </brief_description> diff --git a/doc/classes/PacketPeer.xml b/doc/classes/PacketPeer.xml index a4cf0c8029..3cc7ed1f84 100644 --- a/doc/classes/PacketPeer.xml +++ b/doc/classes/PacketPeer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PacketPeer" inherits="Reference" category="Core" version="3.1"> +<class name="PacketPeer" inherits="Reference" category="Core" version="3.2"> <brief_description> Abstraction and base class for packet-based protocols. </brief_description> @@ -35,8 +35,11 @@ <method name="get_var"> <return type="Variant"> </return> + <argument index="0" name="allow_objects" type="bool" default="false"> + </argument> <description> - Get a Variant. + Get a Variant. When [code]allow_objects[/code] (or [member allow_object_decoding]) is [code]true[/code] decoding objects is allowed. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). </description> </method> <method name="put_packet"> @@ -53,13 +56,18 @@ </return> <argument index="0" name="var" type="Variant"> </argument> + <argument index="1" name="full_objects" type="bool" default="false"> + </argument> <description> - Send a Variant as a packet. + Send a Variant as a packet. When [code]full_objects[/code] (or [member allow_object_decoding]) is [code]true[/code] encoding objects is allowed (and can potentially include code). </description> </method> </methods> <members> <member name="allow_object_decoding" type="bool" setter="set_allow_object_decoding" getter="is_object_decoding_allowed"> + Deprecated. Use [code]get_var[/code] and [code]put_var[/code] parameters instead. + If [code]true[/code] the PacketPeer will allow encoding and decoding of object via [method get_var] and [method put_var]. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). </member> </members> <constants> diff --git a/doc/classes/PacketPeerStream.xml b/doc/classes/PacketPeerStream.xml index 9e3195bb44..5fb5aea46e 100644 --- a/doc/classes/PacketPeerStream.xml +++ b/doc/classes/PacketPeerStream.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PacketPeerStream" inherits="PacketPeer" category="Core" version="3.1"> +<class name="PacketPeerStream" inherits="PacketPeer" category="Core" version="3.2"> <brief_description> Wrapper to use a PacketPeer over a StreamPeer. </brief_description> diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml index d4e3d17de6..b535b6d892 100644 --- a/doc/classes/PacketPeerUDP.xml +++ b/doc/classes/PacketPeerUDP.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PacketPeerUDP" inherits="PacketPeer" category="Core" version="3.1"> +<class name="PacketPeerUDP" inherits="PacketPeer" category="Core" version="3.2"> <brief_description> UDP packet peer. </brief_description> @@ -15,7 +15,7 @@ <return type="void"> </return> <description> - Close the UDP socket the [code]PacketPeerUDP[/code] is currently listening on. + Close the UDP socket the [PacketPeerUDP] is currently listening on. </description> </method> <method name="get_packet_ip" qualifiers="const"> @@ -36,7 +36,7 @@ <return type="bool"> </return> <description> - Return whether this [code]PacketPeerUDP[/code] is listening. + Return whether this [PacketPeerUDP] is listening. </description> </method> <method name="listen"> @@ -49,7 +49,7 @@ <argument index="2" name="recv_buf_size" type="int" default="65536"> </argument> <description> - Make this [code]PacketPeerUDP[/code] listen on the "port" binding to "bind_address" with a buffer size "recv_buf_size". + Make this [PacketPeerUDP] listen on the "port" binding to "bind_address" with a buffer size "recv_buf_size". If "bind_address" is set as "*" (default), the peer will listen on all available addresses (both IPv4 and IPv6). If "bind_address" is set as "0.0.0.0" (for IPv4) or "::" (for IPv6), the peer will listen on all available addresses matching that IP type. If "bind_address" is set to any valid address (e.g. "192.168.1.101", "::1", etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists). diff --git a/doc/classes/Panel.xml b/doc/classes/Panel.xml index 758925e969..483f31dbc2 100644 --- a/doc/classes/Panel.xml +++ b/doc/classes/Panel.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Panel" inherits="Control" category="Core" version="3.1"> +<class name="Panel" inherits="Control" category="Core" version="3.2"> <brief_description> Provides an opaque background for [Control] children. </brief_description> diff --git a/doc/classes/PanelContainer.xml b/doc/classes/PanelContainer.xml index f5c351fa21..681777119c 100644 --- a/doc/classes/PanelContainer.xml +++ b/doc/classes/PanelContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PanelContainer" inherits="Container" category="Core" version="3.1"> +<class name="PanelContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Panel container type. </brief_description> diff --git a/doc/classes/PanoramaSky.xml b/doc/classes/PanoramaSky.xml index 402e65c573..664b867c13 100644 --- a/doc/classes/PanoramaSky.xml +++ b/doc/classes/PanoramaSky.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PanoramaSky" inherits="Sky" category="Core" version="3.1"> +<class name="PanoramaSky" inherits="Sky" category="Core" version="3.2"> <brief_description> A type of [Sky] used to draw a background texture. </brief_description> diff --git a/doc/classes/ParallaxBackground.xml b/doc/classes/ParallaxBackground.xml index 81795df87f..911d6377d5 100644 --- a/doc/classes/ParallaxBackground.xml +++ b/doc/classes/ParallaxBackground.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ParallaxBackground" inherits="CanvasLayer" category="Core" version="3.1"> +<class name="ParallaxBackground" inherits="CanvasLayer" category="Core" version="3.2"> <brief_description> A node used to create a parallax scrolling background. </brief_description> diff --git a/doc/classes/ParallaxLayer.xml b/doc/classes/ParallaxLayer.xml index e6ea166282..5ca3c9b4ae 100644 --- a/doc/classes/ParallaxLayer.xml +++ b/doc/classes/ParallaxLayer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ParallaxLayer" inherits="Node2D" category="Core" version="3.1"> +<class name="ParallaxLayer" inherits="Node2D" category="Core" version="3.2"> <brief_description> A parallax scrolling layer to be used with [ParallaxBackground]. </brief_description> diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml index b6e31d3576..aa64461f38 100644 --- a/doc/classes/Particles.xml +++ b/doc/classes/Particles.xml @@ -1,13 +1,14 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Particles" inherits="GeometryInstance" category="Core" version="3.1"> +<class name="Particles" inherits="GeometryInstance" category="Core" version="3.2"> <brief_description> 3D particle emitter. </brief_description> <description> - 3D particle node used to create a variety of particle systems and effects. [code]Particles[/code] features an emitter that generates some number of particles at a given rate. + 3D particle node used to create a variety of particle systems and effects. [Particles] features an emitter that generates some number of particles at a given rate. Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles. </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/3d/vertex_animation/controlling_thousands_of_fish.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Particles2D.xml b/doc/classes/Particles2D.xml index 91c1a0ca9b..ec7c49ae45 100644 --- a/doc/classes/Particles2D.xml +++ b/doc/classes/Particles2D.xml @@ -1,13 +1,14 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Particles2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Particles2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> 2D particle emitter. </brief_description> <description> - 2D particle node used to create a variety of particle systems and effects. [code]Particles2D[/code] features an emitter that generates some number of particles at a given rate. + 2D particle node used to create a variety of particle systems and effects. [Particles2D] features an emitter that generates some number of particles at a given rate. Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles. </description> <tutorials> + <link>https://docs.godotengine.org/en/latest/tutorials/2d/particle_systems_2d.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml index 89913d9e0d..ab6eb5e656 100644 --- a/doc/classes/ParticlesMaterial.xml +++ b/doc/classes/ParticlesMaterial.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ParticlesMaterial" inherits="Material" category="Core" version="3.1"> +<class name="ParticlesMaterial" inherits="Material" category="Core" version="3.2"> <brief_description> Particle properties for [Particles] and [Particles2D] nodes. </brief_description> diff --git a/doc/classes/Path.xml b/doc/classes/Path.xml index 5ece747aaf..f490b2c36e 100644 --- a/doc/classes/Path.xml +++ b/doc/classes/Path.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Path" inherits="Spatial" category="Core" version="3.1"> +<class name="Path" inherits="Spatial" category="Core" version="3.2"> <brief_description> Container for a [Curve3D]. </brief_description> diff --git a/doc/classes/Path2D.xml b/doc/classes/Path2D.xml index 5e40fb6956..4f36fbf275 100644 --- a/doc/classes/Path2D.xml +++ b/doc/classes/Path2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Path2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Path2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Contains a [Curve2D] path for [PathFollow2D] nodes to follow. </brief_description> diff --git a/doc/classes/PathFollow.xml b/doc/classes/PathFollow.xml index da4782a7c3..651b2c1ab2 100644 --- a/doc/classes/PathFollow.xml +++ b/doc/classes/PathFollow.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PathFollow" inherits="Spatial" category="Core" version="3.1"> +<class name="PathFollow" inherits="Spatial" category="Core" version="3.2"> <brief_description> Point sampler for a [Path]. </brief_description> diff --git a/doc/classes/PathFollow2D.xml b/doc/classes/PathFollow2D.xml index a31652b7f9..dc89a03610 100644 --- a/doc/classes/PathFollow2D.xml +++ b/doc/classes/PathFollow2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PathFollow2D" inherits="Node2D" category="Core" version="3.1"> +<class name="PathFollow2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Point sampler for a [Path2D]. </brief_description> diff --git a/doc/classes/Performance.xml b/doc/classes/Performance.xml index 3b11d9e47f..4ee43d5760 100644 --- a/doc/classes/Performance.xml +++ b/doc/classes/Performance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Performance" inherits="Object" category="Core" version="3.1"> +<class name="Performance" inherits="Object" category="Core" version="3.2"> <brief_description> Exposes performance related data. </brief_description> diff --git a/doc/classes/PhysicalBone.xml b/doc/classes/PhysicalBone.xml index 5eb4550e93..29e6991a21 100644 --- a/doc/classes/PhysicalBone.xml +++ b/doc/classes/PhysicalBone.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicalBone" inherits="PhysicsBody" category="Core" version="3.1"> +<class name="PhysicalBone" inherits="PhysicsBody" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Physics2DDirectBodyState.xml b/doc/classes/Physics2DDirectBodyState.xml index 52c89248ff..e2d5886d87 100644 --- a/doc/classes/Physics2DDirectBodyState.xml +++ b/doc/classes/Physics2DDirectBodyState.xml @@ -1,12 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DDirectBodyState" inherits="Object" category="Core" version="3.1"> +<class name="Physics2DDirectBodyState" inherits="Object" category="Core" version="3.2"> <brief_description> Direct access object to a physics body in the [Physics2DServer]. </brief_description> <description> - Direct access object to a physics body in the [Physics2DServer]. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. + Provides direct access to a physics body in the [Physics2DServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody2D._integrate_forces]. </description> <tutorials> + <link>https://docs.godotengine.org/en/latest/tutorials/physics/ray-casting.html</link> </tutorials> <demos> </demos> @@ -17,6 +18,7 @@ <argument index="0" name="force" type="Vector2"> </argument> <description> + Adds a constant directional force without affecting rotation. </description> </method> <method name="add_force"> @@ -27,6 +29,7 @@ <argument index="1" name="force" type="Vector2"> </argument> <description> + Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates. </description> </method> <method name="add_torque"> @@ -35,6 +38,7 @@ <argument index="0" name="torque" type="float"> </argument> <description> + Adds a constant rotational force. </description> </method> <method name="apply_central_impulse"> @@ -43,6 +47,7 @@ <argument index="0" name="impulse" type="Vector2"> </argument> <description> + Applies a directional impulse without affecting rotation. </description> </method> <method name="apply_impulse"> @@ -53,6 +58,7 @@ <argument index="1" name="impulse" type="Vector2"> </argument> <description> + Applies a positioned impulse to the body. An impulse is time independent! Applying an impulse every frame would result in a framerate dependent force. For this reason it should only be used when simulating one-time impacts (use the "_force" functions otherwise). The offset uses the rotation of the global coordinate system, but is centered at the object's origin. </description> </method> <method name="apply_torque_impulse"> @@ -61,6 +67,7 @@ <argument index="0" name="impulse" type="float"> </argument> <description> + Applies a rotational impulse to the body. </description> </method> <method name="get_contact_collider" qualifiers="const"> @@ -69,7 +76,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the [RID] of the collider. + Returns the collider's [RID]. </description> </method> <method name="get_contact_collider_id" qualifiers="const"> @@ -78,7 +85,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the object id of the collider. + Returns the collider's object id. </description> </method> <method name="get_contact_collider_object" qualifiers="const"> @@ -87,7 +94,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the collider object, this depends on how it was created (will return a scene node if such was used to create it). + Returns the collider object. This depends on how it was created (will return a scene node if such was used to create it). </description> </method> <method name="get_contact_collider_position" qualifiers="const"> @@ -96,7 +103,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the contact position in the collider. + Returns the contact position in the collider. </description> </method> <method name="get_contact_collider_shape" qualifiers="const"> @@ -105,7 +112,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the collider shape index. + Returns the collider's shape index. </description> </method> <method name="get_contact_collider_shape_metadata" qualifiers="const"> @@ -114,7 +121,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the metadata of the collided shape. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + Returns the collided shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. </description> </method> <method name="get_contact_collider_velocity_at_position" qualifiers="const"> @@ -123,14 +130,14 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the linear velocity vector at contact point of the collider. + Returns the linear velocity vector at the collider's contact point. </description> </method> <method name="get_contact_count" qualifiers="const"> <return type="int"> </return> <description> - Return the amount of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts. + Returns the number of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts. See [member RigidBody2D.contact_monitor]. </description> </method> <method name="get_contact_local_normal" qualifiers="const"> @@ -139,7 +146,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the local normal (of this body) of the contact point. + Returns the local normal at the contact point. </description> </method> <method name="get_contact_local_position" qualifiers="const"> @@ -148,7 +155,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the local position (of this body) of the contact point. + Returns the local position of the contact point. </description> </method> <method name="get_contact_local_shape" qualifiers="const"> @@ -157,27 +164,27 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Return the local shape index of the collision. + Returns the local shape index of the collision. </description> </method> <method name="get_space_state"> <return type="Physics2DDirectSpaceState"> </return> <description> - Return the current state of space, useful for queries. + Returns the current state of the space, useful for queries. </description> </method> <method name="integrate_forces"> <return type="void"> </return> <description> - Call the built-in force integration code. + Calls the built-in force integration code. </description> </method> </methods> <members> <member name="angular_velocity" type="float" setter="set_angular_velocity" getter="get_angular_velocity"> - The angular velocity of the body. + The body's rotational velocity. </member> <member name="inverse_inertia" type="float" setter="" getter="get_inverse_inertia"> The inverse of the inertia of the body. @@ -186,10 +193,10 @@ The inverse of the mass of the body. </member> <member name="linear_velocity" type="Vector2" setter="set_linear_velocity" getter="get_linear_velocity"> - The linear velocity of the body. + The body's linear velocity. </member> <member name="sleeping" type="bool" setter="set_sleep_state" getter="is_sleeping"> - [code]true[/code] if this body is currently sleeping (not active). + If [code]true[/code], this body is currently sleeping (not active). </member> <member name="step" type="float" setter="" getter="get_step"> The timestep (delta) used for the simulation. @@ -204,7 +211,7 @@ The rate at which the body stops moving, if there are not any other forces moving it. </member> <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform"> - The transformation matrix of the body. + The body's transformation matrix. </member> </members> <constants> diff --git a/doc/classes/Physics2DDirectBodyStateSW.xml b/doc/classes/Physics2DDirectBodyStateSW.xml index cb1e9239b3..6f388443e9 100644 --- a/doc/classes/Physics2DDirectBodyStateSW.xml +++ b/doc/classes/Physics2DDirectBodyStateSW.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DDirectBodyStateSW" inherits="Physics2DDirectBodyState" category="Core" version="3.1"> +<class name="Physics2DDirectBodyStateSW" inherits="Physics2DDirectBodyState" category="Core" version="3.2"> <brief_description> Software implementation of [Physics2DDirectBodyState]. </brief_description> diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml index 1bffea0c09..6aa14bd087 100644 --- a/doc/classes/Physics2DDirectSpaceState.xml +++ b/doc/classes/Physics2DDirectSpaceState.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DDirectSpaceState" inherits="Object" category="Core" version="3.1"> +<class name="Physics2DDirectSpaceState" inherits="Object" category="Core" version="3.2"> <brief_description> Direct access object to a space in the [Physics2DServer]. </brief_description> diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/Physics2DServer.xml index 341457a2b3..bea2c88a3e 100644 --- a/doc/classes/Physics2DServer.xml +++ b/doc/classes/Physics2DServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DServer" inherits="Object" category="Core" version="3.1"> +<class name="Physics2DServer" inherits="Object" category="Core" version="3.2"> <brief_description> Physics 2D Server. </brief_description> diff --git a/doc/classes/Physics2DServerSW.xml b/doc/classes/Physics2DServerSW.xml index 49157bd94b..23e708af61 100644 --- a/doc/classes/Physics2DServerSW.xml +++ b/doc/classes/Physics2DServerSW.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DServerSW" inherits="Physics2DServer" category="Core" version="3.1"> +<class name="Physics2DServerSW" inherits="Physics2DServer" category="Core" version="3.2"> <brief_description> Software implementation of [Physics2DServer]. </brief_description> diff --git a/doc/classes/Physics2DShapeQueryParameters.xml b/doc/classes/Physics2DShapeQueryParameters.xml index f9e0c5e3de..9375bdbbf8 100644 --- a/doc/classes/Physics2DShapeQueryParameters.xml +++ b/doc/classes/Physics2DShapeQueryParameters.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DShapeQueryParameters" inherits="Reference" category="Core" version="3.1"> +<class name="Physics2DShapeQueryParameters" inherits="Reference" category="Core" version="3.2"> <brief_description> Parameters to be sent to a 2D shape physics query. </brief_description> diff --git a/doc/classes/Physics2DShapeQueryResult.xml b/doc/classes/Physics2DShapeQueryResult.xml index 52e7294e24..89f45437ab 100644 --- a/doc/classes/Physics2DShapeQueryResult.xml +++ b/doc/classes/Physics2DShapeQueryResult.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DShapeQueryResult" inherits="Reference" category="Core" version="3.1"> +<class name="Physics2DShapeQueryResult" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Physics2DTestMotionResult.xml b/doc/classes/Physics2DTestMotionResult.xml index 3b864433f0..9fe3564e70 100644 --- a/doc/classes/Physics2DTestMotionResult.xml +++ b/doc/classes/Physics2DTestMotionResult.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DTestMotionResult" inherits="Reference" category="Core" version="3.1"> +<class name="Physics2DTestMotionResult" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PhysicsBody.xml b/doc/classes/PhysicsBody.xml index 2658732f84..827a3e01dc 100644 --- a/doc/classes/PhysicsBody.xml +++ b/doc/classes/PhysicsBody.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsBody" inherits="CollisionObject" category="Core" version="3.1"> +<class name="PhysicsBody" inherits="CollisionObject" category="Core" version="3.2"> <brief_description> Base class for all objects affected by physics in 3D space. </brief_description> diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml index f848b6df70..1735e572fb 100644 --- a/doc/classes/PhysicsBody2D.xml +++ b/doc/classes/PhysicsBody2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsBody2D" inherits="CollisionObject2D" category="Core" version="3.1"> +<class name="PhysicsBody2D" inherits="CollisionObject2D" category="Core" version="3.2"> <brief_description> Base class for all objects affected by physics in 2D space. </brief_description> diff --git a/doc/classes/PhysicsDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState.xml index cf718f06b2..89fb785659 100644 --- a/doc/classes/PhysicsDirectBodyState.xml +++ b/doc/classes/PhysicsDirectBodyState.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsDirectBodyState" inherits="Object" category="Core" version="3.1"> +<class name="PhysicsDirectBodyState" inherits="Object" category="Core" version="3.2"> <brief_description> + Direct access object to a physics body in the [PhysicsServer]. </brief_description> <description> + Provides direct access to a physics body in the [PhysicsServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody._integrate_forces]. </description> <tutorials> </tutorials> @@ -27,7 +29,7 @@ <argument index="1" name="position" type="Vector3"> </argument> <description> - Adds a constant force (i.e. acceleration). + Adds a positioned force to the body. Both the force and the offset from the body origin are in global coordinates. </description> </method> <method name="add_torque"> @@ -36,7 +38,7 @@ <argument index="0" name="torque" type="Vector3"> </argument> <description> - Adds a constant rotational force (i.e. a motor) without affecting position. + Adds a constant rotational force without affecting position. </description> </method> <method name="apply_central_impulse"> @@ -75,6 +77,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the collider's [RID]. </description> </method> <method name="get_contact_collider_id" qualifiers="const"> @@ -83,6 +86,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the collider's object id. </description> </method> <method name="get_contact_collider_object" qualifiers="const"> @@ -91,6 +95,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the collider object. </description> </method> <method name="get_contact_collider_position" qualifiers="const"> @@ -99,6 +104,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the contact position in the collider. </description> </method> <method name="get_contact_collider_shape" qualifiers="const"> @@ -107,6 +113,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the collider's shape index. </description> </method> <method name="get_contact_collider_velocity_at_position" qualifiers="const"> @@ -115,12 +122,14 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the linear velocity vector at the collider's contact point. </description> </method> <method name="get_contact_count" qualifiers="const"> <return type="int"> </return> <description> + Returns the number of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts. See [member RigidBody.contact_monitor]. </description> </method> <method name="get_contact_impulse" qualifiers="const"> @@ -138,6 +147,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the local normal at the contact point. </description> </method> <method name="get_contact_local_position" qualifiers="const"> @@ -146,6 +156,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the local position of the contact point. </description> </method> <method name="get_contact_local_shape" qualifiers="const"> @@ -154,24 +165,27 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> + Returns the local shape index of the collision. </description> </method> <method name="get_space_state"> <return type="PhysicsDirectSpaceState"> </return> <description> + Returns the current state of the space, useful for queries. </description> </method> <method name="integrate_forces"> <return type="void"> </return> <description> + Calls the built-in force integration code. </description> </method> </methods> <members> <member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity"> - The angular velocity of the body. + The body's rotational velocity. </member> <member name="center_of_mass" type="Vector3" setter="" getter="get_center_of_mass"> </member> @@ -182,12 +196,12 @@ The inverse of the mass of the body. </member> <member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity"> - The linear velocity of the body. + The body's linear velocity. </member> <member name="principal_inertia_axes" type="Basis" setter="" getter="get_principal_inertia_axes"> </member> <member name="sleeping" type="bool" setter="set_sleep_state" getter="is_sleeping"> - [code]true[/code] if this body is currently sleeping (not active). + If [code]true[/code], this body is currently sleeping (not active). </member> <member name="step" type="float" setter="" getter="get_step"> The timestep (delta) used for the simulation. @@ -202,7 +216,7 @@ The rate at which the body stops moving, if there are not any other forces moving it. </member> <member name="transform" type="Transform" setter="set_transform" getter="get_transform"> - The transformation matrix of the body. + The body's transformation matrix. </member> </members> <constants> diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState.xml index 118010b3cf..a029b7d37b 100644 --- a/doc/classes/PhysicsDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsDirectSpaceState" inherits="Object" category="Core" version="3.1"> +<class name="PhysicsDirectSpaceState" inherits="Object" category="Core" version="3.2"> <brief_description> Direct access object to a space in the [PhysicsServer]. </brief_description> diff --git a/doc/classes/PhysicsMaterial.xml b/doc/classes/PhysicsMaterial.xml index 3eebcc57a1..80ae115418 100644 --- a/doc/classes/PhysicsMaterial.xml +++ b/doc/classes/PhysicsMaterial.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsMaterial" inherits="Resource" category="Core" version="3.1"> +<class name="PhysicsMaterial" inherits="Resource" category="Core" version="3.2"> <brief_description> A material for physics properties. </brief_description> diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer.xml index b797e6ecf7..d8238a7af7 100644 --- a/doc/classes/PhysicsServer.xml +++ b/doc/classes/PhysicsServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsServer" inherits="Object" category="Core" version="3.1"> +<class name="PhysicsServer" inherits="Object" category="Core" version="3.2"> <brief_description> Server interface for low level physics access. </brief_description> diff --git a/doc/classes/PhysicsShapeQueryParameters.xml b/doc/classes/PhysicsShapeQueryParameters.xml index 7cca231ad2..75e0cdfb73 100644 --- a/doc/classes/PhysicsShapeQueryParameters.xml +++ b/doc/classes/PhysicsShapeQueryParameters.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsShapeQueryParameters" inherits="Reference" category="Core" version="3.1"> +<class name="PhysicsShapeQueryParameters" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PhysicsShapeQueryResult.xml b/doc/classes/PhysicsShapeQueryResult.xml index 080d7389b7..41c04970d7 100644 --- a/doc/classes/PhysicsShapeQueryResult.xml +++ b/doc/classes/PhysicsShapeQueryResult.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsShapeQueryResult" inherits="Reference" category="Core" version="3.1"> +<class name="PhysicsShapeQueryResult" inherits="Reference" category="Core" version="3.2"> <brief_description> Result of a shape query in Physics2DServer. </brief_description> diff --git a/doc/classes/PinJoint.xml b/doc/classes/PinJoint.xml index 470c22cd4c..3c705a9e01 100644 --- a/doc/classes/PinJoint.xml +++ b/doc/classes/PinJoint.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PinJoint" inherits="Joint" category="Core" version="3.1"> +<class name="PinJoint" inherits="Joint" category="Core" version="3.2"> <brief_description> Pin Joint for 3D Shapes. </brief_description> diff --git a/doc/classes/PinJoint2D.xml b/doc/classes/PinJoint2D.xml index 42708151ec..e7a89654d9 100644 --- a/doc/classes/PinJoint2D.xml +++ b/doc/classes/PinJoint2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PinJoint2D" inherits="Joint2D" category="Core" version="3.1"> +<class name="PinJoint2D" inherits="Joint2D" category="Core" version="3.2"> <brief_description> Pin Joint for 2D Shapes. </brief_description> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index a57659abda..4a7a099800 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Plane" category="Built-In Types" version="3.1"> +<class name="Plane" category="Built-In Types" version="3.2"> <brief_description> Plane in hessian form. </brief_description> diff --git a/doc/classes/PlaneMesh.xml b/doc/classes/PlaneMesh.xml index fc293ab4df..a5ad82f777 100644 --- a/doc/classes/PlaneMesh.xml +++ b/doc/classes/PlaneMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PlaneMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="PlaneMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Class representing a planar [PrimitiveMesh]. </brief_description> diff --git a/doc/classes/PlaneShape.xml b/doc/classes/PlaneShape.xml index bc3faf7c01..6468c86bbf 100644 --- a/doc/classes/PlaneShape.xml +++ b/doc/classes/PlaneShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PlaneShape" inherits="Shape" category="Core" version="3.1"> +<class name="PlaneShape" inherits="Shape" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml index 31ee0a9490..515a0fc017 100644 --- a/doc/classes/Polygon2D.xml +++ b/doc/classes/Polygon2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Polygon2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Polygon2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> A 2D polygon. </brief_description> diff --git a/doc/classes/PolygonPathFinder.xml b/doc/classes/PolygonPathFinder.xml index e4a4d9b976..504acf2125 100644 --- a/doc/classes/PolygonPathFinder.xml +++ b/doc/classes/PolygonPathFinder.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PolygonPathFinder" inherits="Resource" category="Core" version="3.1"> +<class name="PolygonPathFinder" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PoolByteArray.xml b/doc/classes/PoolByteArray.xml index 83a138be97..d197f0c600 100644 --- a/doc/classes/PoolByteArray.xml +++ b/doc/classes/PoolByteArray.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolByteArray" category="Built-In Types" version="3.1"> +<class name="PoolByteArray" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of bytes. </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolByteArray[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolByteArray]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolByteArray"> </argument> <description> - Append a [code]PoolByteArray[/code] at the end of this array. + Append a [PoolByteArray] at the end of this array. </description> </method> <method name="compress"> @@ -40,7 +40,7 @@ <argument index="0" name="compression_mode" type="int" default="0"> </argument> <description> - Returns a new [code]PoolByteArray[/code] with the data compressed. Set the compression mode using one of [enum File.CompressionMode]'s constants. + Returns a new [PoolByteArray] with the data compressed. Set the compression mode using one of [enum File.CompressionMode]'s constants. </description> </method> <method name="decompress"> @@ -51,7 +51,7 @@ <argument index="1" name="compression_mode" type="int" default="0"> </argument> <description> - Returns a new [code]PoolByteArray[/code] with the data decompressed. Set [code]buffer_size[/code] to the size of the uncompressed data. Set the compression mode using one of [enum File.CompressionMode]'s constants. + Returns a new [PoolByteArray] with the data decompressed. Set [code]buffer_size[/code] to the size of the uncompressed data. Set the compression mode using one of [enum File.CompressionMode]'s constants. </description> </method> <method name="get_string_from_ascii"> @@ -129,7 +129,7 @@ <argument index="1" name="to" type="int"> </argument> <description> - Returns the slice of the [code]PoolByteArray[/code] between indices (inclusive) as a new [code]PoolByteArray[/code]. Any negative index is considered to be from the end of the array. + Returns the slice of the [PoolByteArray] between indices (inclusive) as a new [PoolByteArray]. Any negative index is considered to be from the end of the array. </description> </method> </methods> diff --git a/doc/classes/PoolColorArray.xml b/doc/classes/PoolColorArray.xml index 9fdd1090ae..bcbc1697ba 100644 --- a/doc/classes/PoolColorArray.xml +++ b/doc/classes/PoolColorArray.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolColorArray" category="Built-In Types" version="3.1"> +<class name="PoolColorArray" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of [Color]. </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolColorArray[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolColorArray]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolColorArray"> </argument> <description> - Append a [code]PoolColorArray[/code] at the end of this array. + Append a [PoolColorArray] at the end of this array. </description> </method> <method name="insert"> diff --git a/doc/classes/PoolIntArray.xml b/doc/classes/PoolIntArray.xml index a8808284b5..72300345bc 100644 --- a/doc/classes/PoolIntArray.xml +++ b/doc/classes/PoolIntArray.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolIntArray" category="Built-In Types" version="3.1"> +<class name="PoolIntArray" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of integers ([int]). </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolIntArray[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolIntArray]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolIntArray"> </argument> <description> - Append a [code]PoolIntArray[/code] at the end of this array. + Append a [PoolIntArray] at the end of this array. </description> </method> <method name="insert"> diff --git a/doc/classes/PoolRealArray.xml b/doc/classes/PoolRealArray.xml index 3eb485ce12..cdcd3e1353 100644 --- a/doc/classes/PoolRealArray.xml +++ b/doc/classes/PoolRealArray.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolRealArray" category="Built-In Types" version="3.1"> +<class name="PoolRealArray" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of reals ([float]). </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolRealArray[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolRealArray]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolRealArray"> </argument> <description> - Append a [code]PoolRealArray[/code] at the end of this array. + Append a [PoolRealArray] at the end of this array. </description> </method> <method name="insert"> diff --git a/doc/classes/PoolStringArray.xml b/doc/classes/PoolStringArray.xml index a02c6c1bdb..f494c151b7 100644 --- a/doc/classes/PoolStringArray.xml +++ b/doc/classes/PoolStringArray.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolStringArray" category="Built-In Types" version="3.1"> +<class name="PoolStringArray" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of [String]. </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolStringArray[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolStringArray]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolStringArray"> </argument> <description> - Append a [code]PoolStringArray[/code] at the end of this array. + Append a [PoolStringArray] at the end of this array. </description> </method> <method name="insert"> diff --git a/doc/classes/PoolVector2Array.xml b/doc/classes/PoolVector2Array.xml index 39d89c2ebd..2ba184bd88 100644 --- a/doc/classes/PoolVector2Array.xml +++ b/doc/classes/PoolVector2Array.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolVector2Array" category="Built-In Types" version="3.1"> +<class name="PoolVector2Array" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of [Vector2]. </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolVector2Array[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolVector2Array]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolVector2Array"> </argument> <description> - Append a [code]PoolVector2Array[/code] at the end of this array. + Append a [PoolVector2Array] at the end of this array. </description> </method> <method name="insert"> diff --git a/doc/classes/PoolVector3Array.xml b/doc/classes/PoolVector3Array.xml index 3f77e737f6..ed62220ad6 100644 --- a/doc/classes/PoolVector3Array.xml +++ b/doc/classes/PoolVector3Array.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PoolVector3Array" category="Built-In Types" version="3.1"> +<class name="PoolVector3Array" category="Built-In Types" version="3.2"> <brief_description> A pooled [Array] of [Vector3]. </brief_description> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Array"> </argument> <description> - Construct a new [code]PoolVector3Array[/code]. Optionally, you can pass in a generic [Array] that will be converted. + Construct a new [PoolVector3Array]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> @@ -31,7 +31,7 @@ <argument index="0" name="array" type="PoolVector3Array"> </argument> <description> - Append a [code]PoolVector3Array[/code] at the end of this array. + Append a [PoolVector3Array] at the end of this array. </description> </method> <method name="insert"> diff --git a/doc/classes/Popup.xml b/doc/classes/Popup.xml index be6e8b6ef1..095993a56e 100644 --- a/doc/classes/Popup.xml +++ b/doc/classes/Popup.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Popup" inherits="Control" category="Core" version="3.1"> +<class name="Popup" inherits="Control" category="Core" version="3.2"> <brief_description> Base container control for popups and dialogs. </brief_description> diff --git a/doc/classes/PopupDialog.xml b/doc/classes/PopupDialog.xml index 4f15fb4b05..0aebfb7712 100644 --- a/doc/classes/PopupDialog.xml +++ b/doc/classes/PopupDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PopupDialog" inherits="Popup" category="Core" version="3.1"> +<class name="PopupDialog" inherits="Popup" category="Core" version="3.2"> <brief_description> Base class for Popup Dialogs. </brief_description> diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index ea696e624a..5b0ea5ef59 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PopupMenu" inherits="Popup" category="Core" version="3.1"> +<class name="PopupMenu" inherits="Popup" category="Core" version="3.2"> <brief_description> PopupMenu displays a list of options. </brief_description> diff --git a/doc/classes/PopupPanel.xml b/doc/classes/PopupPanel.xml index 694c29efda..58b9f3fcf4 100644 --- a/doc/classes/PopupPanel.xml +++ b/doc/classes/PopupPanel.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PopupPanel" inherits="Popup" category="Core" version="3.1"> +<class name="PopupPanel" inherits="Popup" category="Core" version="3.2"> <brief_description> Class for displaying popups with a panel background. </brief_description> diff --git a/doc/classes/Position2D.xml b/doc/classes/Position2D.xml index 6c26bf412c..9bbfbdbc15 100644 --- a/doc/classes/Position2D.xml +++ b/doc/classes/Position2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Position2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Position2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Generic 2D Position hint for editing. </brief_description> diff --git a/doc/classes/Position3D.xml b/doc/classes/Position3D.xml index 7c0875cc0c..d563898d93 100644 --- a/doc/classes/Position3D.xml +++ b/doc/classes/Position3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Position3D" inherits="Spatial" category="Core" version="3.1"> +<class name="Position3D" inherits="Spatial" category="Core" version="3.2"> <brief_description> Generic 3D Position hint for editing. </brief_description> diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml index 0f0511258b..9003a3377b 100644 --- a/doc/classes/PrimitiveMesh.xml +++ b/doc/classes/PrimitiveMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PrimitiveMesh" inherits="Mesh" category="Core" version="3.1"> +<class name="PrimitiveMesh" inherits="Mesh" category="Core" version="3.2"> <brief_description> Base class for all primitive meshes. Handles applying a [Material] to a primitive mesh. </brief_description> diff --git a/doc/classes/PrismMesh.xml b/doc/classes/PrismMesh.xml index 11815d299b..4bbbc959d1 100644 --- a/doc/classes/PrismMesh.xml +++ b/doc/classes/PrismMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PrismMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="PrismMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Class representing a prism-shaped [PrimitiveMesh]. </brief_description> diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml index 090b626433..16c5bb423d 100644 --- a/doc/classes/ProceduralSky.xml +++ b/doc/classes/ProceduralSky.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ProceduralSky" inherits="Sky" category="Core" version="3.1"> +<class name="ProceduralSky" inherits="Sky" category="Core" version="3.2"> <brief_description> Type of [Sky] that is generated procedurally based on user input parameters. </brief_description> diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml index 8d6e77751d..848140bd34 100644 --- a/doc/classes/ProgressBar.xml +++ b/doc/classes/ProgressBar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ProgressBar" inherits="Range" category="Core" version="3.1"> +<class name="ProgressBar" inherits="Range" category="Core" version="3.2"> <brief_description> General purpose progress bar. </brief_description> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 74762df15e..e67e3c9a03 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ProjectSettings" inherits="Object" category="Core" version="3.1"> +<class name="ProjectSettings" inherits="Object" category="Core" version="3.2"> <brief_description> Contains global variables accessible from everywhere. </brief_description> @@ -323,6 +323,9 @@ <member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter=""> Hotspot for the custom mouse cursor image. </member> + <member name="display/mouse_cursor/tooltip_position_offset" type="Vector2" setter="" getter=""> + Position offset for tooltips, relative to the hotspot of the mouse cursor. + </member> <member name="display/window/dpi/allow_hidpi" type="bool" setter="" getter=""> Allow HiDPI display on Windows and OSX. On Desktop Linux, this can't be enabled or disabled. </member> diff --git a/doc/classes/ProximityGroup.xml b/doc/classes/ProximityGroup.xml index 1f1c45fbf9..bd7a7bc904 100644 --- a/doc/classes/ProximityGroup.xml +++ b/doc/classes/ProximityGroup.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ProximityGroup" inherits="Spatial" category="Core" version="3.1"> +<class name="ProximityGroup" inherits="Spatial" category="Core" version="3.2"> <brief_description> General purpose proximity-detection node. </brief_description> diff --git a/doc/classes/ProxyTexture.xml b/doc/classes/ProxyTexture.xml index 69702ee22e..1350462142 100644 --- a/doc/classes/ProxyTexture.xml +++ b/doc/classes/ProxyTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ProxyTexture" inherits="Texture" category="Core" version="3.1"> +<class name="ProxyTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/QuadMesh.xml b/doc/classes/QuadMesh.xml index a45b2ddf4b..fbc2c454d5 100644 --- a/doc/classes/QuadMesh.xml +++ b/doc/classes/QuadMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="QuadMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="QuadMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Class representing a square mesh. </brief_description> diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml index 990dcc7a91..3867fca24f 100644 --- a/doc/classes/Quat.xml +++ b/doc/classes/Quat.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Quat" category="Built-In Types" version="3.1"> +<class name="Quat" category="Built-In Types" version="3.2"> <brief_description> Quaternion. </brief_description> diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml index a289b68c9a..e8fa652b17 100644 --- a/doc/classes/RID.xml +++ b/doc/classes/RID.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RID" category="Built-In Types" version="3.1"> +<class name="RID" category="Built-In Types" version="3.2"> <brief_description> Handle for a [Resource]'s unique ID. </brief_description> diff --git a/doc/classes/RandomNumberGenerator.xml b/doc/classes/RandomNumberGenerator.xml index fff13402f1..6fa2d44fd0 100644 --- a/doc/classes/RandomNumberGenerator.xml +++ b/doc/classes/RandomNumberGenerator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RandomNumberGenerator" inherits="Reference" category="Core" version="3.1"> +<class name="RandomNumberGenerator" inherits="Reference" category="Core" version="3.2"> <brief_description> A class for generation pseudo-random numbers. </brief_description> diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml index 0dc02a68da..ea749f0537 100644 --- a/doc/classes/Range.xml +++ b/doc/classes/Range.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Range" inherits="Control" category="Core" version="3.1"> +<class name="Range" inherits="Control" category="Core" version="3.2"> <brief_description> Abstract base class for range-based controls. </brief_description> diff --git a/doc/classes/RayCast.xml b/doc/classes/RayCast.xml index 61f2737c01..3b3a207bc3 100644 --- a/doc/classes/RayCast.xml +++ b/doc/classes/RayCast.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RayCast" inherits="Spatial" category="Core" version="3.1"> +<class name="RayCast" inherits="Spatial" category="Core" version="3.2"> <brief_description> Query the closest object intersecting a ray. </brief_description> <description> A RayCast represents a line from its origin to its destination position, [code]cast_to[/code]. It is used to query the 3D space in order to find the closest object along the path of the ray. - RayCast can ignore some objects by adding them to the exception list via [code]add_exception[/code], by setting proper filtering with collision layers, or by filtering object types with type masks. + RayCast can ignore some objects by adding them to the exception list via [code]add_exception[/code] or by setting proper filtering with collision layers and masks. RayCast can be configured to report collisions with [Area]s ([member collide_with_areas]) and/or [PhysicsBody]s ([member collide_with_bodies]). Only enabled raycasts will be able to query the space and report collisions. - RayCast calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame) use [method force_raycast_update] after adjusting the raycast. + RayCast calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame), use [method force_raycast_update] after adjusting the raycast. </description> <tutorials> </tutorials> diff --git a/doc/classes/RayCast2D.xml b/doc/classes/RayCast2D.xml index afb80f2f6e..00345bff6b 100644 --- a/doc/classes/RayCast2D.xml +++ b/doc/classes/RayCast2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RayCast2D" inherits="Node2D" category="Core" version="3.1"> +<class name="RayCast2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Query the closest object intersecting a ray. </brief_description> diff --git a/doc/classes/RayShape.xml b/doc/classes/RayShape.xml index 50d324f72c..a14618a423 100644 --- a/doc/classes/RayShape.xml +++ b/doc/classes/RayShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RayShape" inherits="Shape" category="Core" version="3.1"> +<class name="RayShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Ray shape for 3D collisions. </brief_description> diff --git a/doc/classes/RayShape2D.xml b/doc/classes/RayShape2D.xml index 2fdc1930fb..4c3d0de34e 100644 --- a/doc/classes/RayShape2D.xml +++ b/doc/classes/RayShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RayShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="RayShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Ray shape for 2D collisions. </brief_description> diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml index 45bfd16cb8..90082af43b 100644 --- a/doc/classes/Rect2.xml +++ b/doc/classes/Rect2.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Rect2" category="Built-In Types" version="3.1"> +<class name="Rect2" category="Built-In Types" version="3.2"> <brief_description> 2D Axis-aligned bounding box. </brief_description> @@ -20,7 +20,7 @@ <argument index="1" name="size" type="Vector2"> </argument> <description> - Constructs a [code]Rect2[/code] by position and size. + Constructs a [Rect2] by position and size. </description> </method> <method name="Rect2"> @@ -35,14 +35,14 @@ <argument index="3" name="height" type="float"> </argument> <description> - Constructs a [code]Rect2[/code] by x, y, width, and height. + Constructs a [Rect2] by x, y, width, and height. </description> </method> <method name="abs"> <return type="Rect2"> </return> <description> - Returns a [code]Rect2[/code] with equivalent position and area, modified so that the top-left corner is the origin and [code]width[/code] and [code]height[/code] are positive. + Returns a [Rect2] with equivalent position and area, modified so that the top-left corner is the origin and [code]width[/code] and [code]height[/code] are positive. </description> </method> <method name="clip"> @@ -51,7 +51,7 @@ <argument index="0" name="b" type="Rect2"> </argument> <description> - Returns the intersection of this [code]Rect2[/code] and b. + Returns the intersection of this [Rect2] and b. </description> </method> <method name="encloses"> @@ -60,7 +60,7 @@ <argument index="0" name="b" type="Rect2"> </argument> <description> - Returns [code]true[/code] if this [code]Rect2[/code] completely encloses another one. + Returns [code]true[/code] if this [Rect2] completely encloses another one. </description> </method> <method name="expand"> @@ -69,14 +69,14 @@ <argument index="0" name="to" type="Vector2"> </argument> <description> - Returns this [code]Rect2[/code] expanded to include a given point. + Returns this [Rect2] expanded to include a given point. </description> </method> <method name="get_area"> <return type="float"> </return> <description> - Returns the area of the [code]Rect2[/code]. + Returns the area of the [Rect2]. </description> </method> <method name="grow"> @@ -85,7 +85,7 @@ <argument index="0" name="by" type="float"> </argument> <description> - Returns a copy of the [code]Rect2[/code] grown a given amount of units towards all the sides. + Returns a copy of the [Rect2] grown a given amount of units towards all the sides. </description> </method> <method name="grow_individual"> @@ -100,7 +100,7 @@ <argument index="3" name=" bottom" type="float"> </argument> <description> - Returns a copy of the [code]Rect2[/code] grown a given amount of units towards each direction individually. + Returns a copy of the [Rect2] grown a given amount of units towards each direction individually. </description> </method> <method name="grow_margin"> @@ -111,14 +111,14 @@ <argument index="1" name="by" type="float"> </argument> <description> - Returns a copy of the [code]Rect2[/code] grown a given amount of units towards the [enum Margin] direction. + Returns a copy of the [Rect2] grown a given amount of units towards the [enum Margin] direction. </description> </method> <method name="has_no_area"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the [code]Rect2[/code] is flat or empty. + Returns [code]true[/code] if the [Rect2] is flat or empty. </description> </method> <method name="has_point"> @@ -127,7 +127,7 @@ <argument index="0" name="point" type="Vector2"> </argument> <description> - Returns [code]true[/code] if the [code]Rect2[/code] contains a point. + Returns [code]true[/code] if the [Rect2] contains a point. </description> </method> <method name="intersects"> @@ -136,7 +136,7 @@ <argument index="0" name="b" type="Rect2"> </argument> <description> - Returns [code]true[/code] if the [code]Rect2[/code] overlaps with another. + Returns [code]true[/code] if the [Rect2] overlaps with another. </description> </method> <method name="merge"> @@ -145,7 +145,7 @@ <argument index="0" name="b" type="Rect2"> </argument> <description> - Returns a larger Rect2 that contains this Rect2 and [code]with[/code]. + Returns a larger Rect2 that contains this Rect2 and [code]b[/code]. </description> </method> </methods> diff --git a/doc/classes/RectangleShape2D.xml b/doc/classes/RectangleShape2D.xml index 4a312503f4..6d8411e127 100644 --- a/doc/classes/RectangleShape2D.xml +++ b/doc/classes/RectangleShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RectangleShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="RectangleShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Rectangle shape for 2D collisions. </brief_description> diff --git a/doc/classes/Reference.xml b/doc/classes/Reference.xml index 3238501633..b2e63befe4 100644 --- a/doc/classes/Reference.xml +++ b/doc/classes/Reference.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Reference" inherits="Object" category="Core" version="3.1"> +<class name="Reference" inherits="Object" category="Core" version="3.2"> <brief_description> Base class for anything that keeps a reference count. </brief_description> diff --git a/doc/classes/ReferenceRect.xml b/doc/classes/ReferenceRect.xml index e1cb104e40..b07b9bf80e 100644 --- a/doc/classes/ReferenceRect.xml +++ b/doc/classes/ReferenceRect.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ReferenceRect" inherits="Control" category="Core" version="3.1"> +<class name="ReferenceRect" inherits="Control" category="Core" version="3.2"> <brief_description> Reference frame for GUI. </brief_description> diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml index 7662f72eca..58bd254e29 100644 --- a/doc/classes/ReflectionProbe.xml +++ b/doc/classes/ReflectionProbe.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ReflectionProbe" inherits="VisualInstance" category="Core" version="3.1"> +<class name="ReflectionProbe" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/RemoteTransform.xml b/doc/classes/RemoteTransform.xml index 3df94bdfca..36260853f0 100644 --- a/doc/classes/RemoteTransform.xml +++ b/doc/classes/RemoteTransform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RemoteTransform" inherits="Spatial" category="Core" version="3.1"> +<class name="RemoteTransform" inherits="Spatial" category="Core" version="3.2"> <brief_description> RemoteTransform pushes its own [Transform] to another [Spatial] derived Node in the scene. </brief_description> diff --git a/doc/classes/RemoteTransform2D.xml b/doc/classes/RemoteTransform2D.xml index cf0e6c6199..e56cff2a76 100644 --- a/doc/classes/RemoteTransform2D.xml +++ b/doc/classes/RemoteTransform2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RemoteTransform2D" inherits="Node2D" category="Core" version="3.1"> +<class name="RemoteTransform2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> RemoteTransform2D pushes its own [Transform2D] to another [CanvasItem] derived Node in the scene. </brief_description> diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml index 4369f77abd..4a5d46b9a3 100644 --- a/doc/classes/Resource.xml +++ b/doc/classes/Resource.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Resource" inherits="Reference" category="Core" version="3.1"> +<class name="Resource" inherits="Reference" category="Core" version="3.2"> <brief_description> Base class for all resources. </brief_description> @@ -52,7 +52,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Sets the path of the resource. Differs from [code]set_path()[/code], if another [code]Resource[/code] exists with "path" it over-takes it, instead of failing. + Sets the path of the resource. Differs from [code]set_path()[/code], if another [Resource] exists with "path" it over-takes it, instead of failing. </description> </method> </methods> diff --git a/doc/classes/ResourceFormatDDS.xml b/doc/classes/ResourceFormatDDS.xml index e237dfc6a5..1a99773c35 100644 --- a/doc/classes/ResourceFormatDDS.xml +++ b/doc/classes/ResourceFormatDDS.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatDDS" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatDDS" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatImporter.xml b/doc/classes/ResourceFormatImporter.xml index fa5b44fa18..efe5dfe0b3 100644 --- a/doc/classes/ResourceFormatImporter.xml +++ b/doc/classes/ResourceFormatImporter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatImporter" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatImporter" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml index 97547a607a..f1899d3ddc 100644 --- a/doc/classes/ResourceFormatLoader.xml +++ b/doc/classes/ResourceFormatLoader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoader" inherits="Reference" category="Core" version="3.1"> +<class name="ResourceFormatLoader" inherits="Reference" category="Core" version="3.2"> <brief_description> Loads a specific resource type from a file. </brief_description> diff --git a/doc/classes/ResourceFormatLoaderBMFont.xml b/doc/classes/ResourceFormatLoaderBMFont.xml index 1e999353f8..e90fbc8834 100644 --- a/doc/classes/ResourceFormatLoaderBMFont.xml +++ b/doc/classes/ResourceFormatLoaderBMFont.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderBMFont" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderBMFont" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderBinary.xml b/doc/classes/ResourceFormatLoaderBinary.xml index 3c768851e2..5f172da9fb 100644 --- a/doc/classes/ResourceFormatLoaderBinary.xml +++ b/doc/classes/ResourceFormatLoaderBinary.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderBinary" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderBinary" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderDynamicFont.xml b/doc/classes/ResourceFormatLoaderDynamicFont.xml index 4cd5c9b2a6..7cbae5ba94 100644 --- a/doc/classes/ResourceFormatLoaderDynamicFont.xml +++ b/doc/classes/ResourceFormatLoaderDynamicFont.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderDynamicFont" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderDynamicFont" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderGDScript.xml b/doc/classes/ResourceFormatLoaderGDScript.xml index b661e4746a..6a6e0458f6 100644 --- a/doc/classes/ResourceFormatLoaderGDScript.xml +++ b/doc/classes/ResourceFormatLoaderGDScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderGDScript" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderGDScript" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderImage.xml b/doc/classes/ResourceFormatLoaderImage.xml index 5f7e55af28..1cd1687053 100644 --- a/doc/classes/ResourceFormatLoaderImage.xml +++ b/doc/classes/ResourceFormatLoaderImage.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderImage" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderImage" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderNativeScript.xml b/doc/classes/ResourceFormatLoaderNativeScript.xml index 496602e7dd..05dd3ed9d0 100644 --- a/doc/classes/ResourceFormatLoaderNativeScript.xml +++ b/doc/classes/ResourceFormatLoaderNativeScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderNativeScript" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderNativeScript" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderShader.xml b/doc/classes/ResourceFormatLoaderShader.xml index 0948810532..befd0a61db 100644 --- a/doc/classes/ResourceFormatLoaderShader.xml +++ b/doc/classes/ResourceFormatLoaderShader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderShader" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderShader" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderStreamTexture.xml b/doc/classes/ResourceFormatLoaderStreamTexture.xml index 34843f9e1a..5fdf863d82 100644 --- a/doc/classes/ResourceFormatLoaderStreamTexture.xml +++ b/doc/classes/ResourceFormatLoaderStreamTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderStreamTexture" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderStreamTexture" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderText.xml b/doc/classes/ResourceFormatLoaderText.xml index db3b28f233..7d77658fcb 100644 --- a/doc/classes/ResourceFormatLoaderText.xml +++ b/doc/classes/ResourceFormatLoaderText.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderText" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderText" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderTextureLayered.xml b/doc/classes/ResourceFormatLoaderTextureLayered.xml index cd31f35e49..b726139897 100644 --- a/doc/classes/ResourceFormatLoaderTextureLayered.xml +++ b/doc/classes/ResourceFormatLoaderTextureLayered.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderTextureLayered" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderTextureLayered" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderTheora.xml b/doc/classes/ResourceFormatLoaderTheora.xml index dff7e2f3dc..fd3caa9a69 100644 --- a/doc/classes/ResourceFormatLoaderTheora.xml +++ b/doc/classes/ResourceFormatLoaderTheora.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderTheora" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderTheora" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatLoaderWebm.xml b/doc/classes/ResourceFormatLoaderWebm.xml index f2b403161e..2a9e93af91 100644 --- a/doc/classes/ResourceFormatLoaderWebm.xml +++ b/doc/classes/ResourceFormatLoaderWebm.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderWebm" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderWebm" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatPKM.xml b/doc/classes/ResourceFormatPKM.xml index aa511823d3..16a085c83d 100644 --- a/doc/classes/ResourceFormatPKM.xml +++ b/doc/classes/ResourceFormatPKM.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatPKM" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatPKM" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatPVR.xml b/doc/classes/ResourceFormatPVR.xml index 4f3b4f670f..e330ab0712 100644 --- a/doc/classes/ResourceFormatPVR.xml +++ b/doc/classes/ResourceFormatPVR.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatPVR" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatPVR" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatSaver.xml b/doc/classes/ResourceFormatSaver.xml index d50027ef8e..ddc9f0460c 100644 --- a/doc/classes/ResourceFormatSaver.xml +++ b/doc/classes/ResourceFormatSaver.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaver" inherits="Reference" category="Core" version="3.1"> +<class name="ResourceFormatSaver" inherits="Reference" category="Core" version="3.2"> <brief_description> Saves a specific resource type to a file. </brief_description> <description> - The engine can save resources when you do it from the editor, or when you call [method ResourceSaver.save]. This is accomplished with multiple [code]ResourceFormatSaver[/code]s, each handling its own format. + The engine can save resources when you do it from the editor, or when you call [method ResourceSaver.save]. This is accomplished with multiple [ResourceFormatSaver]s, each handling its own format. By default, Godot saves resources as [code].tres[/code], [code].res[/code] or another built-in format, but you can choose to create your own format by extending this class. You should give it a global class name with [code]class_name[/code] for it to be registered. You may as well implement a [ResourceFormatLoader]. </description> <tutorials> diff --git a/doc/classes/ResourceFormatSaverBinary.xml b/doc/classes/ResourceFormatSaverBinary.xml index 7afec9ba23..adb4db35ad 100644 --- a/doc/classes/ResourceFormatSaverBinary.xml +++ b/doc/classes/ResourceFormatSaverBinary.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaverBinary" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="ResourceFormatSaverBinary" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatSaverGDScript.xml b/doc/classes/ResourceFormatSaverGDScript.xml index 27964c7c9b..5018122329 100644 --- a/doc/classes/ResourceFormatSaverGDScript.xml +++ b/doc/classes/ResourceFormatSaverGDScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaverGDScript" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="ResourceFormatSaverGDScript" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatSaverNativeScript.xml b/doc/classes/ResourceFormatSaverNativeScript.xml index 9f8c0ccc78..3c69915e18 100644 --- a/doc/classes/ResourceFormatSaverNativeScript.xml +++ b/doc/classes/ResourceFormatSaverNativeScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaverNativeScript" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="ResourceFormatSaverNativeScript" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatSaverShader.xml b/doc/classes/ResourceFormatSaverShader.xml index cdc512dfea..783cc00396 100644 --- a/doc/classes/ResourceFormatSaverShader.xml +++ b/doc/classes/ResourceFormatSaverShader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaverShader" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="ResourceFormatSaverShader" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceFormatSaverText.xml b/doc/classes/ResourceFormatSaverText.xml index 6ae4ff4a2c..b02ca40d7a 100644 --- a/doc/classes/ResourceFormatSaverText.xml +++ b/doc/classes/ResourceFormatSaverText.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaverText" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="ResourceFormatSaverText" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceImporter.xml b/doc/classes/ResourceImporter.xml index 09fe828bd3..96f9152ac0 100644 --- a/doc/classes/ResourceImporter.xml +++ b/doc/classes/ResourceImporter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceImporter" inherits="Reference" category="Core" version="3.1"> +<class name="ResourceImporter" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ResourceInteractiveLoader.xml b/doc/classes/ResourceInteractiveLoader.xml index 076121b42d..f1e9678499 100644 --- a/doc/classes/ResourceInteractiveLoader.xml +++ b/doc/classes/ResourceInteractiveLoader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceInteractiveLoader" inherits="Reference" category="Core" version="3.1"> +<class name="ResourceInteractiveLoader" inherits="Reference" category="Core" version="3.2"> <brief_description> Interactive Resource Loader. </brief_description> diff --git a/doc/classes/ResourceLoader.xml b/doc/classes/ResourceLoader.xml index 926bd63de2..9f207a49cd 100644 --- a/doc/classes/ResourceLoader.xml +++ b/doc/classes/ResourceLoader.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceLoader" inherits="Object" category="Core" version="3.1"> +<class name="ResourceLoader" inherits="Object" category="Core" version="3.2"> <brief_description> Resource Loader. </brief_description> <description> - Resource Loader. This is a static object accessible as [code]ResourceLoader[/code]. GDScript has a simplified load() function, though. + Resource Loader. This is a static object accessible as [ResourceLoader]. GDScript has a simplified load() function, though. </description> <tutorials> </tutorials> diff --git a/doc/classes/ResourcePreloader.xml b/doc/classes/ResourcePreloader.xml index 18d6e04d8e..9dc9469c4e 100644 --- a/doc/classes/ResourcePreloader.xml +++ b/doc/classes/ResourcePreloader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourcePreloader" inherits="Node" category="Core" version="3.1"> +<class name="ResourcePreloader" inherits="Node" category="Core" version="3.2"> <brief_description> Resource Preloader Node. </brief_description> diff --git a/doc/classes/ResourceSaver.xml b/doc/classes/ResourceSaver.xml index f388667891..165ab0dc95 100644 --- a/doc/classes/ResourceSaver.xml +++ b/doc/classes/ResourceSaver.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceSaver" inherits="Object" category="Core" version="3.1"> +<class name="ResourceSaver" inherits="Object" category="Core" version="3.2"> <brief_description> Resource saving interface. </brief_description> diff --git a/doc/classes/ResourceSaverPNG.xml b/doc/classes/ResourceSaverPNG.xml index a161a4de5f..3931c39c98 100644 --- a/doc/classes/ResourceSaverPNG.xml +++ b/doc/classes/ResourceSaverPNG.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceSaverPNG" inherits="ResourceFormatSaver" category="Core" version="3.1"> +<class name="ResourceSaverPNG" inherits="ResourceFormatSaver" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index dcfb980e21..4ecde6260b 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RichTextLabel" inherits="Control" category="Core" version="3.1"> +<class name="RichTextLabel" inherits="Control" category="Core" version="3.2"> <brief_description> Label that displays rich text. </brief_description> diff --git a/doc/classes/RigidBody.xml b/doc/classes/RigidBody.xml index 3c253c3bea..d55e56578a 100644 --- a/doc/classes/RigidBody.xml +++ b/doc/classes/RigidBody.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RigidBody" inherits="PhysicsBody" category="Core" version="3.1"> +<class name="RigidBody" inherits="PhysicsBody" category="Core" version="3.2"> <brief_description> Physics Body whose position is determined through physics simulation in 3D space. </brief_description> diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index 9b74dbedb4..f7fc408bca 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RigidBody2D" inherits="PhysicsBody2D" category="Core" version="3.1"> +<class name="RigidBody2D" inherits="PhysicsBody2D" category="Core" version="3.2"> <brief_description> A body that is controlled by the 2D physics engine. </brief_description> diff --git a/doc/classes/RootMotionView.xml b/doc/classes/RootMotionView.xml index 97008f05ff..c1b72b6205 100644 --- a/doc/classes/RootMotionView.xml +++ b/doc/classes/RootMotionView.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RootMotionView" inherits="VisualInstance" category="Core" version="3.1"> +<class name="RootMotionView" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/SceneState.xml b/doc/classes/SceneState.xml index bd2f883cae..711071cd68 100644 --- a/doc/classes/SceneState.xml +++ b/doc/classes/SceneState.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SceneState" inherits="Reference" category="Core" version="3.1"> +<class name="SceneState" inherits="Reference" category="Core" version="3.2"> <brief_description> A script interface to a scene file's data. </brief_description> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index 7e696badb2..fb23ef0654 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SceneTree" inherits="MainLoop" category="Core" version="3.1"> +<class name="SceneTree" inherits="MainLoop" category="Core" version="3.2"> <brief_description> SceneTree manages a hierarchy of nodes. </brief_description> <description> - As one of the most important classes, the [code]SceneTree[/code] manages the hierarchy of nodes in a scene as well as scenes themselves. Nodes can be added, retrieved and removed. The whole scene tree (and thus the current scene) can be paused. Scenes can be loaded, switched and reloaded. You can also use the SceneTree to organize your nodes into groups: every node can be assigned as many groups as you want to create, e.g. a "enemy" group. You can then iterate these groups or even call methods and set properties on all the group's members at once. + As one of the most important classes, the [SceneTree] manages the hierarchy of nodes in a scene as well as scenes themselves. Nodes can be added, retrieved and removed. The whole scene tree (and thus the current scene) can be paused. Scenes can be loaded, switched and reloaded. You can also use the SceneTree to organize your nodes into groups: every node can be assigned as many groups as you want to create, e.g. a "enemy" group. You can then iterate these groups or even call methods and set properties on all the group's members at once. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/getting_started/step_by_step/scene_tree.html</link> diff --git a/doc/classes/SceneTreeTimer.xml b/doc/classes/SceneTreeTimer.xml index f58c531ed5..52a5101986 100644 --- a/doc/classes/SceneTreeTimer.xml +++ b/doc/classes/SceneTreeTimer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SceneTreeTimer" inherits="Reference" category="Core" version="3.1"> +<class name="SceneTreeTimer" inherits="Reference" category="Core" version="3.2"> <brief_description> One-shot timer. </brief_description> diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index ec1d544c03..f9316a8dfc 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Script" inherits="Resource" category="Core" version="3.1"> +<class name="Script" inherits="Resource" category="Core" version="3.2"> <brief_description> A class stored as a resource. </brief_description> diff --git a/doc/classes/ScriptCreateDialog.xml b/doc/classes/ScriptCreateDialog.xml index 2e24a2626b..92a187eaa3 100644 --- a/doc/classes/ScriptCreateDialog.xml +++ b/doc/classes/ScriptCreateDialog.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ScriptCreateDialog" inherits="ConfirmationDialog" category="Core" version="3.1"> +<class name="ScriptCreateDialog" inherits="ConfirmationDialog" category="Core" version="3.2"> <brief_description> The Editor's popup dialog for creating new [Script] files. </brief_description> <description> - The [code]ScriptCreateDialog[/code] creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the [method Popup.popup] methods. + The [ScriptCreateDialog] creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the [method Popup.popup] methods. [codeblock] func _ready(): dialog.config("Node", "res://new_node.gd") # for in-engine types diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index 435ab8aafc..8f1f393da4 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ScriptEditor" inherits="PanelContainer" category="Core" version="3.1"> +<class name="ScriptEditor" inherits="PanelContainer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml index 736b780218..3175853912 100644 --- a/doc/classes/ScrollBar.xml +++ b/doc/classes/ScrollBar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ScrollBar" inherits="Range" category="Core" version="3.1"> +<class name="ScrollBar" inherits="Range" category="Core" version="3.2"> <brief_description> Base class for scroll bars. </brief_description> diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml index c8c7fa1d01..0c44f757d7 100644 --- a/doc/classes/ScrollContainer.xml +++ b/doc/classes/ScrollContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ScrollContainer" inherits="Container" category="Core" version="3.1"> +<class name="ScrollContainer" inherits="Container" category="Core" version="3.2"> <brief_description> A helper node for displaying scrollable elements (e.g. lists). </brief_description> diff --git a/doc/classes/SegmentShape2D.xml b/doc/classes/SegmentShape2D.xml index 63afb37a7b..227af45d62 100644 --- a/doc/classes/SegmentShape2D.xml +++ b/doc/classes/SegmentShape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SegmentShape2D" inherits="Shape2D" category="Core" version="3.1"> +<class name="SegmentShape2D" inherits="Shape2D" category="Core" version="3.2"> <brief_description> Segment shape for 2D collisions. </brief_description> diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml index 5f46b949aa..3b5c7f3b59 100644 --- a/doc/classes/Semaphore.xml +++ b/doc/classes/Semaphore.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Semaphore" inherits="Reference" category="Core" version="3.1"> +<class name="Semaphore" inherits="Reference" category="Core" version="3.2"> <brief_description> A synchronization Semaphore. </brief_description> @@ -15,14 +15,14 @@ <return type="int" enum="Error"> </return> <description> - Lowers the [code]Semaphore[/code], allowing one more thread in. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. + Lowers the [Semaphore], allowing one more thread in. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. </description> </method> <method name="wait"> <return type="int" enum="Error"> </return> <description> - Tries to wait for the [code]Semaphore[/code], if its value is zero, blocks until non-zero. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. + Tries to wait for the [Semaphore], if its value is zero, blocks until non-zero. Returns [code]OK[/code] on success, [code]ERR_BUSY[/code] otherwise. </description> </method> </methods> diff --git a/doc/classes/Separator.xml b/doc/classes/Separator.xml index e5efa4a100..882d82a93e 100644 --- a/doc/classes/Separator.xml +++ b/doc/classes/Separator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Separator" inherits="Control" category="Core" version="3.1"> +<class name="Separator" inherits="Control" category="Core" version="3.2"> <brief_description> Base class for separators. </brief_description> diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml index dd6a023af4..b42c39b03c 100644 --- a/doc/classes/Shader.xml +++ b/doc/classes/Shader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Shader" inherits="Resource" category="Core" version="3.1"> +<class name="Shader" inherits="Resource" category="Core" version="3.2"> <brief_description> A custom shader program. </brief_description> diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml index 7491d22479..6ccd255fc4 100644 --- a/doc/classes/ShaderMaterial.xml +++ b/doc/classes/ShaderMaterial.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ShaderMaterial" inherits="Material" category="Core" version="3.1"> +<class name="ShaderMaterial" inherits="Material" category="Core" version="3.2"> <brief_description> A material that uses a custom [Shader] program. </brief_description> @@ -7,6 +7,7 @@ A material that uses a custom [Shader] program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader. </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/shading/index.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/Shape.xml b/doc/classes/Shape.xml index 6e51d3156f..75b3cc162b 100644 --- a/doc/classes/Shape.xml +++ b/doc/classes/Shape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Shape" inherits="Resource" category="Core" version="3.1"> +<class name="Shape" inherits="Resource" category="Core" version="3.2"> <brief_description> Base class for all 3D shape resources. </brief_description> diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml index fc773faf5e..4daac404c2 100644 --- a/doc/classes/Shape2D.xml +++ b/doc/classes/Shape2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Shape2D" inherits="Resource" category="Core" version="3.1"> +<class name="Shape2D" inherits="Resource" category="Core" version="3.2"> <brief_description> Base class for all 2D Shapes. </brief_description> diff --git a/doc/classes/ShortCut.xml b/doc/classes/ShortCut.xml index b3bb364e54..c02f1765c5 100644 --- a/doc/classes/ShortCut.xml +++ b/doc/classes/ShortCut.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ShortCut" inherits="Resource" category="Core" version="3.1"> +<class name="ShortCut" inherits="Resource" category="Core" version="3.2"> <brief_description> A shortcut for binding input. </brief_description> diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton.xml index f07329f31f..003bd6a79b 100644 --- a/doc/classes/Skeleton.xml +++ b/doc/classes/Skeleton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Skeleton" inherits="Spatial" category="Core" version="3.1"> +<class name="Skeleton" inherits="Spatial" category="Core" version="3.2"> <brief_description> Skeleton for characters and animated objects. </brief_description> diff --git a/doc/classes/Skeleton2D.xml b/doc/classes/Skeleton2D.xml index d40b8a2fc7..6725de8116 100644 --- a/doc/classes/Skeleton2D.xml +++ b/doc/classes/Skeleton2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Skeleton2D" inherits="Node2D" category="Core" version="3.1"> +<class name="Skeleton2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> </brief_description> <description> </description> <tutorials> + <link>http://docs.godotengine.org/en/latest/tutorials/animation/2d_skeletons.html</link> </tutorials> <demos> </demos> diff --git a/doc/classes/SkeletonIK.xml b/doc/classes/SkeletonIK.xml index e720ff8f52..12127c81ea 100644 --- a/doc/classes/SkeletonIK.xml +++ b/doc/classes/SkeletonIK.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SkeletonIK" inherits="Node" category="Core" version="3.1"> +<class name="SkeletonIK" inherits="Node" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Sky.xml b/doc/classes/Sky.xml index 245da99084..113bc1abb1 100644 --- a/doc/classes/Sky.xml +++ b/doc/classes/Sky.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Sky" inherits="Resource" category="Core" version="3.1"> +<class name="Sky" inherits="Resource" category="Core" version="3.2"> <brief_description> The base class for [PanoramaSky] and [ProceduralSky]. </brief_description> diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml index 1e6ed65b48..1e665f0236 100644 --- a/doc/classes/Slider.xml +++ b/doc/classes/Slider.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Slider" inherits="Range" category="Core" version="3.1"> +<class name="Slider" inherits="Range" category="Core" version="3.2"> <brief_description> Base class for GUI Sliders. </brief_description> diff --git a/doc/classes/SliderJoint.xml b/doc/classes/SliderJoint.xml index b3d59d6b75..a7702efd55 100644 --- a/doc/classes/SliderJoint.xml +++ b/doc/classes/SliderJoint.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SliderJoint" inherits="Joint" category="Core" version="3.1"> +<class name="SliderJoint" inherits="Joint" category="Core" version="3.2"> <brief_description> Piston kind of slider between two bodies in 3D. </brief_description> diff --git a/doc/classes/SoftBody.xml b/doc/classes/SoftBody.xml index 6c3929d65b..29e359b548 100644 --- a/doc/classes/SoftBody.xml +++ b/doc/classes/SoftBody.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SoftBody" inherits="MeshInstance" category="Core" version="3.1"> +<class name="SoftBody" inherits="MeshInstance" category="Core" version="3.2"> <brief_description> A soft mesh physics body. </brief_description> diff --git a/doc/classes/Spatial.xml b/doc/classes/Spatial.xml index 518a942cc2..7e42e06960 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Spatial.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Spatial" inherits="Node" category="Core" version="3.1"> +<class name="Spatial" inherits="Node" category="Core" version="3.2"> <brief_description> Most basic 3D game object, parent of all 3D related nodes. </brief_description> <description> - Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use [code]Spatial[/code] as a parent node to move, scale, rotate and show/hide children in a 3D project. - Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the [code]Spatial[/code] object is set as top level. Affine operations in this coordinate system correspond to direct affine operations on the [code]Spatial[/code]'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the [code]Spatial[/code] object itself is referred to as object-local coordinate system. + Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use [Spatial] as a parent node to move, scale, rotate and show/hide children in a 3D project. + Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the [Spatial] object is set as top level. Affine operations in this coordinate system correspond to direct affine operations on the [Spatial]'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the [Spatial] object itself is referred to as object-local coordinate system. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/introduction_to_3d.html</link> @@ -23,14 +23,14 @@ <return type="Spatial"> </return> <description> - Returns the parent [code]Spatial[/code], or an empty [Object] if no parent exists or parent is not of type [code]Spatial[/code]. + Returns the parent [Spatial], or an empty [Object] if no parent exists or parent is not of type [Spatial]. </description> </method> <method name="get_world" qualifiers="const"> <return type="World"> </return> <description> - Returns the current [World] resource this [code]Spatial[/code] node is registered to. + Returns the current [World] resource this [Spatial] node is registered to. </description> </method> <method name="global_rotate"> @@ -72,7 +72,7 @@ <return type="bool"> </return> <description> - Returns whether node notifies about its local transformation changes. [code]Spatial[/code] will not propagate this by default. + Returns whether node notifies about its local transformation changes. [Spatial] will not propagate this by default. </description> </method> <method name="is_scale_disabled" qualifiers="const"> @@ -92,7 +92,7 @@ <return type="bool"> </return> <description> - Returns whether the node notifies about its global and local transformation changes. [code]Spatial[/code] will not propagate this by default. + Returns whether the node notifies about its global and local transformation changes. [Spatial] will not propagate this by default. </description> </method> <method name="is_visible_in_tree" qualifiers="const"> @@ -232,7 +232,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Set whether the node notifies about its local transformation changes. [code]Spatial[/code] will not propagate this by default. + Set whether the node notifies about its local transformation changes. [Spatial] will not propagate this by default. </description> </method> <method name="set_notify_transform"> @@ -241,7 +241,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Set whether the node notifies about its global and local transformation changes. [code]Spatial[/code] will not propagate this by default. + Set whether the node notifies about its global and local transformation changes. [Spatial] will not propagate this by default. </description> </method> <method name="show"> diff --git a/doc/classes/SpatialGizmo.xml b/doc/classes/SpatialGizmo.xml index 68d1d03296..aa6734ea40 100644 --- a/doc/classes/SpatialGizmo.xml +++ b/doc/classes/SpatialGizmo.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpatialGizmo" inherits="Reference" category="Core" version="3.1"> +<class name="SpatialGizmo" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml index 62a34821fe..c56e4b7feb 100644 --- a/doc/classes/SpatialMaterial.xml +++ b/doc/classes/SpatialMaterial.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpatialMaterial" inherits="Material" category="Core" version="3.1"> +<class name="SpatialMaterial" inherits="Material" category="Core" version="3.2"> <brief_description> Default 3D rendering material. </brief_description> diff --git a/doc/classes/SpatialVelocityTracker.xml b/doc/classes/SpatialVelocityTracker.xml index 45cc4232dc..caa483f34d 100644 --- a/doc/classes/SpatialVelocityTracker.xml +++ b/doc/classes/SpatialVelocityTracker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpatialVelocityTracker" inherits="Reference" category="Core" version="3.1"> +<class name="SpatialVelocityTracker" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/SphereMesh.xml b/doc/classes/SphereMesh.xml index e0e2d10408..b386ee4c19 100644 --- a/doc/classes/SphereMesh.xml +++ b/doc/classes/SphereMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SphereMesh" inherits="PrimitiveMesh" category="Core" version="3.1"> +<class name="SphereMesh" inherits="PrimitiveMesh" category="Core" version="3.2"> <brief_description> Class representing a spherical [PrimitiveMesh]. </brief_description> diff --git a/doc/classes/SphereShape.xml b/doc/classes/SphereShape.xml index bc0cd79ddd..54553d4cff 100644 --- a/doc/classes/SphereShape.xml +++ b/doc/classes/SphereShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SphereShape" inherits="Shape" category="Core" version="3.1"> +<class name="SphereShape" inherits="Shape" category="Core" version="3.2"> <brief_description> Sphere shape for 3D collisions. </brief_description> diff --git a/doc/classes/SpinBox.xml b/doc/classes/SpinBox.xml index 5087cf355a..cb32999332 100644 --- a/doc/classes/SpinBox.xml +++ b/doc/classes/SpinBox.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpinBox" inherits="Range" category="Core" version="3.1"> +<class name="SpinBox" inherits="Range" category="Core" version="3.2"> <brief_description> Numerical input text field. </brief_description> diff --git a/doc/classes/SplitContainer.xml b/doc/classes/SplitContainer.xml index 6370c40aba..a1b071572c 100644 --- a/doc/classes/SplitContainer.xml +++ b/doc/classes/SplitContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SplitContainer" inherits="Container" category="Core" version="3.1"> +<class name="SplitContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Container for splitting and adjusting. </brief_description> diff --git a/doc/classes/SpotLight.xml b/doc/classes/SpotLight.xml index 56ba2fc5b9..c84e364e83 100644 --- a/doc/classes/SpotLight.xml +++ b/doc/classes/SpotLight.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpotLight" inherits="Light" category="Core" version="3.1"> +<class name="SpotLight" inherits="Light" category="Core" version="3.2"> <brief_description> Spotlight [Light], such as a reflector spotlight or a lantern. </brief_description> diff --git a/doc/classes/SpringArm.xml b/doc/classes/SpringArm.xml index 198ff4a81d..c4eb5fabd1 100644 --- a/doc/classes/SpringArm.xml +++ b/doc/classes/SpringArm.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpringArm" inherits="Spatial" category="Core" version="3.1"> +<class name="SpringArm" inherits="Spatial" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Sprite.xml b/doc/classes/Sprite.xml index d1cdbffc6c..279d73b369 100644 --- a/doc/classes/Sprite.xml +++ b/doc/classes/Sprite.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Sprite" inherits="Node2D" category="Core" version="3.1"> +<class name="Sprite" inherits="Node2D" category="Core" version="3.2"> <brief_description> General purpose Sprite node. </brief_description> diff --git a/doc/classes/Sprite3D.xml b/doc/classes/Sprite3D.xml index f43fa34785..8b7af5449b 100644 --- a/doc/classes/Sprite3D.xml +++ b/doc/classes/Sprite3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Sprite3D" inherits="SpriteBase3D" category="Core" version="3.1"> +<class name="Sprite3D" inherits="SpriteBase3D" category="Core" version="3.2"> <brief_description> 2D Sprite node in 3D world. </brief_description> diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml index 12d58808d5..5173e130f7 100644 --- a/doc/classes/SpriteBase3D.xml +++ b/doc/classes/SpriteBase3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpriteBase3D" inherits="GeometryInstance" category="Core" version="3.1"> +<class name="SpriteBase3D" inherits="GeometryInstance" category="Core" version="3.2"> <brief_description> 2D Sprite node in 3D environment. </brief_description> diff --git a/doc/classes/SpriteFrames.xml b/doc/classes/SpriteFrames.xml index e261b2112f..3e94b196fc 100644 --- a/doc/classes/SpriteFrames.xml +++ b/doc/classes/SpriteFrames.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpriteFrames" inherits="Resource" category="Core" version="3.1"> +<class name="SpriteFrames" inherits="Resource" category="Core" version="3.2"> <brief_description> Sprite frame library for AnimatedSprite. </brief_description> diff --git a/doc/classes/StaticBody.xml b/doc/classes/StaticBody.xml index 01f5b07329..cd1b166924 100644 --- a/doc/classes/StaticBody.xml +++ b/doc/classes/StaticBody.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StaticBody" inherits="PhysicsBody" category="Core" version="3.1"> +<class name="StaticBody" inherits="PhysicsBody" category="Core" version="3.2"> <brief_description> Static body for 3D physics. </brief_description> diff --git a/doc/classes/StaticBody2D.xml b/doc/classes/StaticBody2D.xml index 917773d502..52c59762d2 100644 --- a/doc/classes/StaticBody2D.xml +++ b/doc/classes/StaticBody2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StaticBody2D" inherits="PhysicsBody2D" category="Core" version="3.1"> +<class name="StaticBody2D" inherits="PhysicsBody2D" category="Core" version="3.2"> <brief_description> Static body for 2D Physics. </brief_description> diff --git a/doc/classes/StreamPeer.xml b/doc/classes/StreamPeer.xml index 74ac8a79c0..4af50df0c7 100644 --- a/doc/classes/StreamPeer.xml +++ b/doc/classes/StreamPeer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StreamPeer" inherits="Reference" category="Core" version="3.1"> +<class name="StreamPeer" inherits="Reference" category="Core" version="3.2"> <brief_description> Abstraction and base class for stream-based protocols. </brief_description> @@ -43,7 +43,7 @@ <return type="int"> </return> <description> - Return the amount of bytes this [code]StreamPeer[/code] has available. + Return the amount of bytes this [StreamPeer] has available. </description> </method> <method name="get_data"> @@ -127,8 +127,11 @@ <method name="get_var"> <return type="Variant"> </return> + <argument index="0" name="allow_objects" type="bool" default="false"> + </argument> <description> - Get a Variant from the stream. + Get a Variant from the stream. When [code]allow_objects[/code] is [code]true[/code] decoding objects is allowed. + [b]WARNING:[/b] Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution). </description> </method> <method name="put_16"> @@ -262,14 +265,16 @@ </return> <argument index="0" name="value" type="Variant"> </argument> + <argument index="1" name="full_objects" type="bool" default="false"> + </argument> <description> - Put a Variant into the stream. + Put a Variant into the stream. When [code]full_objects[/code] is [code]true[/code] encoding objects is allowed (and can potentially include code). </description> </method> </methods> <members> <member name="big_endian" type="bool" setter="set_big_endian" getter="is_big_endian_enabled"> - If [code]true[/code], this [code]StreamPeer[/code] will using big-endian format for encoding and decoding. + If [code]true[/code], this [StreamPeer] will using big-endian format for encoding and decoding. </member> </members> <constants> diff --git a/doc/classes/StreamPeerBuffer.xml b/doc/classes/StreamPeerBuffer.xml index 3d9bdce762..d44c53abfe 100644 --- a/doc/classes/StreamPeerBuffer.xml +++ b/doc/classes/StreamPeerBuffer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StreamPeerBuffer" inherits="StreamPeer" category="Core" version="3.1"> +<class name="StreamPeerBuffer" inherits="StreamPeer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml index 40a4e04a80..76bb55ec29 100644 --- a/doc/classes/StreamPeerSSL.xml +++ b/doc/classes/StreamPeerSSL.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StreamPeerSSL" inherits="StreamPeer" category="Core" version="3.1"> +<class name="StreamPeerSSL" inherits="StreamPeer" category="Core" version="3.2"> <brief_description> SSL Stream peer. </brief_description> @@ -30,7 +30,7 @@ <argument index="2" name="for_hostname" type="String" default=""""> </argument> <description> - Connect to a peer using an underlying [StreamPeer] "stream", when "validate_certs" is true, [code]StreamPeerSSL[/code] will validate that the certificate presented by the peer matches the "for_hostname". + Connect to a peer using an underlying [StreamPeer] "stream", when "validate_certs" is true, [StreamPeerSSL] will validate that the certificate presented by the peer matches the "for_hostname". </description> </method> <method name="disconnect_from_stream"> @@ -61,12 +61,12 @@ </members> <constants> <constant name="STATUS_DISCONNECTED" value="0" enum="Status"> - A status representing a [code]StreamPeerSSL[/code] that is disconnected. + A status representing a [StreamPeerSSL] that is disconnected. </constant> <constant name="STATUS_HANDSHAKING" value="1" enum="Status"> </constant> <constant name="STATUS_CONNECTED" value="2" enum="Status"> - A status representing a [code]StreamPeerSSL[/code] that is connected to a host. + A status representing a [StreamPeerSSL] that is connected to a host. </constant> <constant name="STATUS_ERROR" value="3" enum="Status"> </constant> diff --git a/doc/classes/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml index 18324d9043..60d0bfc333 100644 --- a/doc/classes/StreamPeerTCP.xml +++ b/doc/classes/StreamPeerTCP.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StreamPeerTCP" inherits="StreamPeer" category="Core" version="3.1"> +<class name="StreamPeerTCP" inherits="StreamPeer" category="Core" version="3.2"> <brief_description> TCP Stream peer. </brief_description> @@ -70,16 +70,16 @@ </methods> <constants> <constant name="STATUS_NONE" value="0" enum="Status"> - The initial status of the [code]StreamPeerTCP[/code], also the status after a disconnect. + The initial status of the [StreamPeerTCP], also the status after a disconnect. </constant> <constant name="STATUS_CONNECTING" value="1" enum="Status"> - A status representing a [code]StreamPeerTCP[/code] that is connecting to a host. + A status representing a [StreamPeerTCP] that is connecting to a host. </constant> <constant name="STATUS_CONNECTED" value="2" enum="Status"> - A status representing a [code]StreamPeerTCP[/code] that is connected to a host. + A status representing a [StreamPeerTCP] that is connected to a host. </constant> <constant name="STATUS_ERROR" value="3" enum="Status"> - A status representing a [code]StreamPeerTCP[/code] in error state. + A status representing a [StreamPeerTCP] in error state. </constant> </constants> </class> diff --git a/doc/classes/StreamTexture.xml b/doc/classes/StreamTexture.xml index 3b44d0f00f..5f26ba0fab 100644 --- a/doc/classes/StreamTexture.xml +++ b/doc/classes/StreamTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StreamTexture" inherits="Texture" category="Core" version="3.1"> +<class name="StreamTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> A .stex texture. </brief_description> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 6ac47a89c2..c3c4b6f938 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="String" category="Built-In Types" version="3.1"> +<class name="String" category="Built-In Types" version="3.2"> <brief_description> Built-in string class. </brief_description> diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml index d8cc56cc8c..d80a5c0bc6 100644 --- a/doc/classes/StyleBox.xml +++ b/doc/classes/StyleBox.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StyleBox" inherits="Resource" category="Core" version="3.1"> +<class name="StyleBox" inherits="Resource" category="Core" version="3.2"> <brief_description> Base class for drawing stylized boxes for the UI. </brief_description> diff --git a/doc/classes/StyleBoxEmpty.xml b/doc/classes/StyleBoxEmpty.xml index a9eeeddd93..5833fc9c05 100644 --- a/doc/classes/StyleBoxEmpty.xml +++ b/doc/classes/StyleBoxEmpty.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StyleBoxEmpty" inherits="StyleBox" category="Core" version="3.1"> +<class name="StyleBoxEmpty" inherits="StyleBox" category="Core" version="3.2"> <brief_description> Empty stylebox (does not display anything). </brief_description> diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml index a162aa02b0..448b635886 100644 --- a/doc/classes/StyleBoxFlat.xml +++ b/doc/classes/StyleBoxFlat.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StyleBoxFlat" inherits="StyleBox" category="Core" version="3.1"> +<class name="StyleBoxFlat" inherits="StyleBox" category="Core" version="3.2"> <brief_description> Customizable Stylebox with a given set of parameters. (no texture required) </brief_description> diff --git a/doc/classes/StyleBoxLine.xml b/doc/classes/StyleBoxLine.xml index 146b4b0a3d..9cbeb2d675 100644 --- a/doc/classes/StyleBoxLine.xml +++ b/doc/classes/StyleBoxLine.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StyleBoxLine" inherits="StyleBox" category="Core" version="3.1"> +<class name="StyleBoxLine" inherits="StyleBox" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml index 806ed1941a..f6c29f0b62 100644 --- a/doc/classes/StyleBoxTexture.xml +++ b/doc/classes/StyleBoxTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StyleBoxTexture" inherits="StyleBox" category="Core" version="3.1"> +<class name="StyleBoxTexture" inherits="StyleBox" category="Core" version="3.2"> <brief_description> Texture Based 3x3 scale style. </brief_description> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index 587b0190fe..3ee0e0ac0a 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SurfaceTool" inherits="Reference" category="Core" version="3.1"> +<class name="SurfaceTool" inherits="Reference" category="Core" version="3.2"> <brief_description> Helper tool to create geometry. </brief_description> <description> - The [code]SurfaceTool[/code] is used to construct a [Mesh] by specifying vertex attributes individually. It can be used to construct a [Mesh] from script. All properties except index need to be added before a call to [method add_vertex]. For example adding vertex colors and UVs looks like + The [SurfaceTool] is used to construct a [Mesh] by specifying vertex attributes individually. It can be used to construct a [Mesh] from script. All properties except index need to be added before a call to [method add_vertex]. For example adding vertex colors and UVs looks like [codeblock] var st = SurfaceTool.new() st.begin(Mesh.PRIMITIVE_TRIANGLES) @@ -12,7 +12,7 @@ st.add_uv(Vector2(0, 0)) st.add_vertex(Vector3(0, 0, 0)) [/codeblock] - The [code]SurfaceTool[/code] now contains one vertex of a triangle which has a UV coordinate and a specified [Color]. If another vertex were added without calls to [method add_uv] or [method add_color] then the last values would be used. + The [SurfaceTool] now contains one vertex of a triangle which has a UV coordinate and a specified [Color]. If another vertex were added without calls to [method add_uv] or [method add_color] then the last values would be used. It is very important that vertex attributes are passed [b]before[/b] the call to [method add_vertex], failure to do this will result in an error when committing the vertex information to a mesh. Additionally, the attributes used before the first vertex is added determine the format of the mesh. For example if you only add UVs to the first vertex, you cannot add color to any of the subsequent vertices. </description> diff --git a/doc/classes/TCP_Server.xml b/doc/classes/TCP_Server.xml index 4e3544ce5c..41e70ec96f 100644 --- a/doc/classes/TCP_Server.xml +++ b/doc/classes/TCP_Server.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TCP_Server" inherits="Reference" category="Core" version="3.1"> +<class name="TCP_Server" inherits="Reference" category="Core" version="3.2"> <brief_description> TCP Server. </brief_description> diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml index 3c5bc25def..60b0e1da4e 100644 --- a/doc/classes/TabContainer.xml +++ b/doc/classes/TabContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TabContainer" inherits="Container" category="Core" version="3.1"> +<class name="TabContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Tabbed Container. </brief_description> @@ -7,7 +7,7 @@ Sets the active tab's [code]visible[/code] property to the value [code]true[/code]. Sets all other children's to [code]false[/code]. Ignores non-[Control] children. Individual tabs are always visible unless you use [method set_tab_disabled] and [method set_tab_title] to hide it. - To hide only a tab's content, nest the content inside a child [Control], so it receives the [code]TabContainer[/code]'s visibility setting instead. + To hide only a tab's content, nest the content inside a child [Control], so it receives the [TabContainer]'s visibility setting instead. </description> <tutorials> </tutorials> @@ -82,7 +82,7 @@ <return type="int"> </return> <description> - Returns the [code]TabContainer[/code] rearrange group id. + Returns the [TabContainer] rearrange group id. </description> </method> <method name="set_popup"> @@ -91,7 +91,7 @@ <argument index="0" name="popup" type="Node"> </argument> <description> - If set on a [Popup] node instance, a popup menu icon appears in the top-right corner of the [code]TabContainer[/code]. Clicking it will expand the [Popup] node. + If set on a [Popup] node instance, a popup menu icon appears in the top-right corner of the [TabContainer]. Clicking it will expand the [Popup] node. </description> </method> <method name="set_tab_disabled"> @@ -133,7 +133,7 @@ <argument index="0" name="group_id" type="int"> </argument> <description> - Defines rearrange group id, choose for each [code]TabContainer[/code] the same value to enable tab drag between [code]TabContainer[/code]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code]. + Defines rearrange group id, choose for each [TabContainer] the same value to enable tab drag between [TabContainer]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code]. </description> </method> </methods> @@ -154,7 +154,7 @@ <signals> <signal name="pre_popup_pressed"> <description> - Emitted when the [code]TabContainer[/code]'s [Popup] button is clicked. See [method set_popup] for details. + Emitted when the [TabContainer]'s [Popup] button is clicked. See [method set_popup] for details. </description> </signal> <signal name="tab_changed"> diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index b22d9d73da..303fce1386 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Tabs" inherits="Control" category="Core" version="3.1"> +<class name="Tabs" inherits="Control" category="Core" version="3.2"> <brief_description> Tabs Control. </brief_description> @@ -97,7 +97,7 @@ <return type="int"> </return> <description> - Returns the [code]Tabs[/code] rearrange group id. + Returns the [Tabs] rearrange group id. </description> </method> <method name="move_tab"> @@ -168,7 +168,7 @@ <argument index="0" name="group_id" type="int"> </argument> <description> - Defines rearrange group id, choose for each [code]Tabs[/code] the same value to enable tab drag between [code]Tabs[/code]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code]. + Defines rearrange group id, choose for each [Tabs] the same value to enable tab drag between [Tabs]. Enable drag with [code]set_drag_to_rearrange_enabled(true)[/code]. </description> </method> </methods> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index e237cfa220..0d52245538 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextEdit" inherits="Control" category="Core" version="3.1"> +<class name="TextEdit" inherits="Control" category="Core" version="3.2"> <brief_description> Multiline text editing control. </brief_description> diff --git a/doc/classes/TextFile.xml b/doc/classes/TextFile.xml index f8c1fd690e..be64f07396 100644 --- a/doc/classes/TextFile.xml +++ b/doc/classes/TextFile.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextFile" inherits="Resource" category="Core" version="3.1"> +<class name="TextFile" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Texture.xml b/doc/classes/Texture.xml index a9be42d1a1..17894d663d 100644 --- a/doc/classes/Texture.xml +++ b/doc/classes/Texture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Texture" inherits="Resource" category="Core" version="3.1"> +<class name="Texture" inherits="Resource" category="Core" version="3.2"> <brief_description> Texture for 2D and 3D. </brief_description> diff --git a/doc/classes/Texture3D.xml b/doc/classes/Texture3D.xml index 691d1f229e..895ba26c9c 100644 --- a/doc/classes/Texture3D.xml +++ b/doc/classes/Texture3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Texture3D" inherits="TextureLayered" category="Core" version="3.1"> +<class name="Texture3D" inherits="TextureLayered" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/TextureArray.xml b/doc/classes/TextureArray.xml index a08d8421f1..7f851ae68e 100644 --- a/doc/classes/TextureArray.xml +++ b/doc/classes/TextureArray.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextureArray" inherits="TextureLayered" category="Core" version="3.1"> +<class name="TextureArray" inherits="TextureLayered" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/TextureButton.xml b/doc/classes/TextureButton.xml index b25c69c680..6d17574b0e 100644 --- a/doc/classes/TextureButton.xml +++ b/doc/classes/TextureButton.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextureButton" inherits="BaseButton" category="Core" version="3.1"> +<class name="TextureButton" inherits="BaseButton" category="Core" version="3.2"> <brief_description> Texture-based button. Supports Pressed, Hover, Disabled and Focused states. </brief_description> <description> - [code]TextureButton[/code] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource. It is faster to create, but it doesn't support localization like more complex Controls. + [TextureButton] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource. It is faster to create, but it doesn't support localization like more complex Controls. The Normal state's texture is required. Others are optional. </description> <tutorials> diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml index 026144cf5a..b4cfc19414 100644 --- a/doc/classes/TextureLayered.xml +++ b/doc/classes/TextureLayered.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextureLayered" inherits="Resource" category="Core" version="3.1"> +<class name="TextureLayered" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/TextureProgress.xml b/doc/classes/TextureProgress.xml index a98a2e9f74..2230f472f1 100644 --- a/doc/classes/TextureProgress.xml +++ b/doc/classes/TextureProgress.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextureProgress" inherits="Range" category="Core" version="3.1"> +<class name="TextureProgress" inherits="Range" category="Core" version="3.2"> <brief_description> Texture-based progress bar. Useful for loading screens and life or stamina bars. </brief_description> diff --git a/doc/classes/TextureRect.xml b/doc/classes/TextureRect.xml index 78065afcc9..13fd762908 100644 --- a/doc/classes/TextureRect.xml +++ b/doc/classes/TextureRect.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TextureRect" inherits="Control" category="Core" version="3.1"> +<class name="TextureRect" inherits="Control" category="Core" version="3.2"> <brief_description> Control for drawing textures. </brief_description> diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml index bffd8ea6d9..9ebb9710d7 100644 --- a/doc/classes/Theme.xml +++ b/doc/classes/Theme.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Theme" inherits="Resource" category="Core" version="3.1"> +<class name="Theme" inherits="Resource" category="Core" version="3.2"> <brief_description> Theme for controls. </brief_description> diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml index 48d075c7f5..d2aa1a3f03 100644 --- a/doc/classes/Thread.xml +++ b/doc/classes/Thread.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Thread" inherits="Reference" category="Core" version="3.1"> +<class name="Thread" inherits="Reference" category="Core" version="3.2"> <brief_description> A unit of execution in a process. </brief_description> @@ -15,14 +15,14 @@ <return type="String"> </return> <description> - Returns the current [code]Thread[/code]s id, uniquely identifying it among all threads. + Returns the current [Thread]s id, uniquely identifying it among all threads. </description> </method> <method name="is_active" qualifiers="const"> <return type="bool"> </return> <description> - Returns true if this [code]Thread[/code] is currently active. An active [code]Thread[/code] cannot start work on a new method but can be joined with [method wait_to_finish]. + Returns true if this [Thread] is currently active. An active [Thread] cannot start work on a new method but can be joined with [method wait_to_finish]. </description> </method> <method name="start"> @@ -37,7 +37,7 @@ <argument index="3" name="priority" type="int" default="1"> </argument> <description> - Starts a new [code]Thread[/code] that runs "method" on object "instance" with "userdata" passed as an argument. The "priority" of the [code]Thread[/code] can be changed by passing a PRIORITY_* enum. + Starts a new [Thread] that runs "method" on object "instance" with "userdata" passed as an argument. The "priority" of the [Thread] can be changed by passing a PRIORITY_* enum. Returns OK on success, or ERR_CANT_CREATE on failure. </description> </method> @@ -45,7 +45,7 @@ <return type="Variant"> </return> <description> - Joins the [code]Thread[/code] and waits for it to finish. Returns what the method called returned. + Joins the [Thread] and waits for it to finish. Returns what the method called returned. </description> </method> </methods> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index fe3b2118a3..fe917acaae 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TileMap" inherits="Node2D" category="Core" version="3.1"> +<class name="TileMap" inherits="Node2D" category="Core" version="3.2"> <brief_description> Node for 2D tile-based maps. </brief_description> @@ -323,6 +323,12 @@ <constant name="HALF_OFFSET_DISABLED" value="2" enum="HalfOffset"> Half offset disabled. </constant> + <constant name="HALF_OFFSET_NEGATIVE_X" value="3" enum="HalfOffset"> + Half offset on the X coordinate (negative). + </constant> + <constant name="HALF_OFFSET_NEGATIVE_Y" value="4" enum="HalfOffset"> + Half offset on the Y coordinate (negative). + </constant> <constant name="TILE_ORIGIN_TOP_LEFT" value="0" enum="TileOrigin"> Tile origin at its top-left corner. </constant> diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index 4abe94f119..5445be518d 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TileSet" inherits="Resource" category="Core" version="3.1"> +<class name="TileSet" inherits="Resource" category="Core" version="3.2"> <brief_description> Tile library for tilemaps. </brief_description> diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml index ae0a3ad148..aaffbc7360 100644 --- a/doc/classes/Timer.xml +++ b/doc/classes/Timer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Timer" inherits="Node" category="Core" version="3.1"> +<class name="Timer" inherits="Node" category="Core" version="3.2"> <brief_description> A countdown timer. </brief_description> diff --git a/doc/classes/ToolButton.xml b/doc/classes/ToolButton.xml index b52e1d39dc..8769234ecd 100644 --- a/doc/classes/ToolButton.xml +++ b/doc/classes/ToolButton.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ToolButton" inherits="Button" category="Core" version="3.1"> +<class name="ToolButton" inherits="Button" category="Core" version="3.2"> <brief_description> Flat button helper class. </brief_description> <description> - This is a helper class to generate a flat [Button] (see [member Button.flat]), creating a [code]ToolButton[/code] is equivalent to: + This is a helper class to generate a flat [Button] (see [member Button.flat]), creating a [ToolButton] is equivalent to: [codeblock] var btn = Button.new() btn.flat = true diff --git a/doc/classes/TouchScreenButton.xml b/doc/classes/TouchScreenButton.xml index 6cc688d3c5..008a3ac8e1 100644 --- a/doc/classes/TouchScreenButton.xml +++ b/doc/classes/TouchScreenButton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TouchScreenButton" inherits="Node2D" category="Core" version="3.1"> +<class name="TouchScreenButton" inherits="Node2D" category="Core" version="3.2"> <brief_description> Button for touch screen devices. </brief_description> diff --git a/doc/classes/Transform.xml b/doc/classes/Transform.xml index b3168ef129..e110fa7b40 100644 --- a/doc/classes/Transform.xml +++ b/doc/classes/Transform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Transform" category="Built-In Types" version="3.1"> +<class name="Transform" category="Built-In Types" version="3.2"> <brief_description> 3D Transformation. 3x4 matrix. </brief_description> diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index bf0a745aa8..e2d83e0ea6 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Transform2D" category="Built-In Types" version="3.1"> +<class name="Transform2D" category="Built-In Types" version="3.2"> <brief_description> 2D Transformation. 3x2 matrix. </brief_description> diff --git a/doc/classes/Translation.xml b/doc/classes/Translation.xml index b57f8f3556..4dc6196b2b 100644 --- a/doc/classes/Translation.xml +++ b/doc/classes/Translation.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Translation" inherits="Resource" category="Core" version="3.1"> +<class name="Translation" inherits="Resource" category="Core" version="3.2"> <brief_description> Language Translation. </brief_description> diff --git a/doc/classes/TranslationLoaderPO.xml b/doc/classes/TranslationLoaderPO.xml index 58cf2f6572..0af0ee8cca 100644 --- a/doc/classes/TranslationLoaderPO.xml +++ b/doc/classes/TranslationLoaderPO.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TranslationLoaderPO" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="TranslationLoaderPO" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/TranslationServer.xml b/doc/classes/TranslationServer.xml index c2c400ccd5..c07a61b522 100644 --- a/doc/classes/TranslationServer.xml +++ b/doc/classes/TranslationServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TranslationServer" inherits="Object" category="Core" version="3.1"> +<class name="TranslationServer" inherits="Object" category="Core" version="3.2"> <brief_description> Server that manages all translations. </brief_description> diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index d4a11247dc..4659fe61b7 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Tree" inherits="Control" category="Core" version="3.1"> +<class name="Tree" inherits="Control" category="Core" version="3.2"> <brief_description> Control to show a tree of items. </brief_description> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index 209e5a8bd0..8d70e426c8 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TreeItem" inherits="Object" category="Core" version="3.1"> +<class name="TreeItem" inherits="Object" category="Core" version="3.2"> <brief_description> Control for a single item inside a [Tree]. </brief_description> <description> - Control for a single item inside a [Tree]. May have child [code]TreeItem[/code]s and be styled as well as contain buttons. + Control for a single item inside a [Tree]. May have child [TreeItem]s and be styled as well as contain buttons. </description> <tutorials> </tutorials> diff --git a/doc/classes/TriangleMesh.xml b/doc/classes/TriangleMesh.xml index 2bdc7b61f4..5dd77e2599 100644 --- a/doc/classes/TriangleMesh.xml +++ b/doc/classes/TriangleMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TriangleMesh" inherits="Reference" category="Core" version="3.1"> +<class name="TriangleMesh" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml index f5f50a75b1..296f9eff6b 100644 --- a/doc/classes/Tween.xml +++ b/doc/classes/Tween.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Tween" inherits="Node" category="Core" version="3.1"> +<class name="Tween" inherits="Node" category="Core" version="3.2"> <brief_description> Smoothly animates a node's properties over time. </brief_description> @@ -350,6 +350,11 @@ </member> </members> <signals> + <signal name="tween_all_completed"> + <description> + Emitted when all processes in a tween end. + </description> + </signal> <signal name="tween_completed"> <argument index="0" name="object" type="Object"> </argument> diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml index f0980f6414..42f89f01d6 100644 --- a/doc/classes/UndoRedo.xml +++ b/doc/classes/UndoRedo.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="UndoRedo" inherits="Object" category="Core" version="3.1"> +<class name="UndoRedo" inherits="Object" category="Core" version="3.2"> <brief_description> Helper to manage UndoRedo in the editor or custom tools. </brief_description> diff --git a/doc/classes/VBoxContainer.xml b/doc/classes/VBoxContainer.xml index 43a7be74c3..4de182ce67 100644 --- a/doc/classes/VBoxContainer.xml +++ b/doc/classes/VBoxContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VBoxContainer" inherits="BoxContainer" category="Core" version="3.1"> +<class name="VBoxContainer" inherits="BoxContainer" category="Core" version="3.2"> <brief_description> Vertical box container. </brief_description> diff --git a/doc/classes/VScrollBar.xml b/doc/classes/VScrollBar.xml index 5486140870..be58663210 100644 --- a/doc/classes/VScrollBar.xml +++ b/doc/classes/VScrollBar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VScrollBar" inherits="ScrollBar" category="Core" version="3.1"> +<class name="VScrollBar" inherits="ScrollBar" category="Core" version="3.2"> <brief_description> Vertical version of [ScrollBar], which goes from left (min) to right (max). </brief_description> diff --git a/doc/classes/VSeparator.xml b/doc/classes/VSeparator.xml index 4890b2d930..ab8de9131d 100644 --- a/doc/classes/VSeparator.xml +++ b/doc/classes/VSeparator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VSeparator" inherits="Separator" category="Core" version="3.1"> +<class name="VSeparator" inherits="Separator" category="Core" version="3.2"> <brief_description> Vertical version of [Separator]. </brief_description> diff --git a/doc/classes/VSlider.xml b/doc/classes/VSlider.xml index 1dc1b795f7..477c618064 100644 --- a/doc/classes/VSlider.xml +++ b/doc/classes/VSlider.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VSlider" inherits="Slider" category="Core" version="3.1"> +<class name="VSlider" inherits="Slider" category="Core" version="3.2"> <brief_description> Vertical slider. </brief_description> diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml index 2203035db3..83b2dca23c 100644 --- a/doc/classes/VSplitContainer.xml +++ b/doc/classes/VSplitContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VSplitContainer" inherits="SplitContainer" category="Core" version="3.1"> +<class name="VSplitContainer" inherits="SplitContainer" category="Core" version="3.2"> <brief_description> Vertical split container. </brief_description> diff --git a/doc/classes/Variant.xml b/doc/classes/Variant.xml index b2d21921a1..84aba3dabb 100644 --- a/doc/classes/Variant.xml +++ b/doc/classes/Variant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Variant" category="Core" version="3.1"> +<class name="Variant" category="Core" version="3.2"> <brief_description> The most important data type in Godot. </brief_description> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 1770dec80d..f1fd0173fe 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Vector2" category="Built-In Types" version="3.1"> +<class name="Vector2" category="Built-In Types" version="3.2"> <brief_description> Vector used for 2D math. </brief_description> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 48856875e7..7b0d1c5a97 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Vector3" category="Built-In Types" version="3.1"> +<class name="Vector3" category="Built-In Types" version="3.2"> <brief_description> Vector class, which performs basic 3D vector math operations. </brief_description> diff --git a/doc/classes/VehicleBody.xml b/doc/classes/VehicleBody.xml index 53a47ec7d6..184b8bd23e 100644 --- a/doc/classes/VehicleBody.xml +++ b/doc/classes/VehicleBody.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VehicleBody" inherits="RigidBody" category="Core" version="3.1"> +<class name="VehicleBody" inherits="RigidBody" category="Core" version="3.2"> <brief_description> Physics body that simulates the behaviour of a car. </brief_description> diff --git a/doc/classes/VehicleWheel.xml b/doc/classes/VehicleWheel.xml index f2c6f5f287..bf2df957ba 100644 --- a/doc/classes/VehicleWheel.xml +++ b/doc/classes/VehicleWheel.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VehicleWheel" inherits="Spatial" category="Core" version="3.1"> +<class name="VehicleWheel" inherits="Spatial" category="Core" version="3.2"> <brief_description> Physics object that simulates the behaviour of a wheel. </brief_description> diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml index c4c129b0f6..07c753835c 100644 --- a/doc/classes/VideoPlayer.xml +++ b/doc/classes/VideoPlayer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VideoPlayer" inherits="Control" category="Core" version="3.1"> +<class name="VideoPlayer" inherits="Control" category="Core" version="3.2"> <brief_description> Control for playing video streams. </brief_description> diff --git a/doc/classes/VideoStream.xml b/doc/classes/VideoStream.xml index 9f2655ed1b..8906763c8d 100644 --- a/doc/classes/VideoStream.xml +++ b/doc/classes/VideoStream.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VideoStream" inherits="Resource" category="Core" version="3.1"> +<class name="VideoStream" inherits="Resource" category="Core" version="3.2"> <brief_description> Base resource for video streams. </brief_description> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 09891ca889..5ceeb80e52 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Viewport" inherits="Node" category="Core" version="3.1"> +<class name="Viewport" inherits="Node" category="Core" version="3.2"> <brief_description> Creates a sub-view into the screen. </brief_description> diff --git a/doc/classes/ViewportContainer.xml b/doc/classes/ViewportContainer.xml index e022b8fa90..8a26de5ed7 100644 --- a/doc/classes/ViewportContainer.xml +++ b/doc/classes/ViewportContainer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ViewportContainer" inherits="Container" category="Core" version="3.1"> +<class name="ViewportContainer" inherits="Container" category="Core" version="3.2"> <brief_description> Control for holding [Viewport]s. </brief_description> diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml index 67f1e09c75..01832b18bf 100644 --- a/doc/classes/ViewportTexture.xml +++ b/doc/classes/ViewportTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ViewportTexture" inherits="Texture" category="Core" version="3.1"> +<class name="ViewportTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> Texture which displays the content of a [Viewport]. </brief_description> diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler.xml index fc6ceac5de..a507c0be9a 100644 --- a/doc/classes/VisibilityEnabler.xml +++ b/doc/classes/VisibilityEnabler.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisibilityEnabler" inherits="VisibilityNotifier" category="Core" version="3.1"> +<class name="VisibilityEnabler" inherits="VisibilityNotifier" category="Core" version="3.2"> <brief_description> Enable certain nodes only when visible. </brief_description> diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml index 8d393fc138..177c70246e 100644 --- a/doc/classes/VisibilityEnabler2D.xml +++ b/doc/classes/VisibilityEnabler2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" category="Core" version="3.1"> +<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" category="Core" version="3.2"> <brief_description> Enable certain nodes only when visible. </brief_description> diff --git a/doc/classes/VisibilityNotifier.xml b/doc/classes/VisibilityNotifier.xml index 16329d1d0d..e30078d82f 100644 --- a/doc/classes/VisibilityNotifier.xml +++ b/doc/classes/VisibilityNotifier.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisibilityNotifier" inherits="Spatial" category="Core" version="3.1"> +<class name="VisibilityNotifier" inherits="Spatial" category="Core" version="3.2"> <brief_description> Detects when the node is visible on screen. </brief_description> diff --git a/doc/classes/VisibilityNotifier2D.xml b/doc/classes/VisibilityNotifier2D.xml index c60591cce6..5689ced4bf 100644 --- a/doc/classes/VisibilityNotifier2D.xml +++ b/doc/classes/VisibilityNotifier2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisibilityNotifier2D" inherits="Node2D" category="Core" version="3.1"> +<class name="VisibilityNotifier2D" inherits="Node2D" category="Core" version="3.2"> <brief_description> Detects when the node is visible on screen. </brief_description> diff --git a/doc/classes/VisualInstance.xml b/doc/classes/VisualInstance.xml index 30dedb06f4..486c05eff7 100644 --- a/doc/classes/VisualInstance.xml +++ b/doc/classes/VisualInstance.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualInstance" inherits="Spatial" category="Core" version="3.1"> +<class name="VisualInstance" inherits="Spatial" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index 26a6bae48c..94a7786295 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualServer" inherits="Object" category="Core" version="3.1"> +<class name="VisualServer" inherits="Object" category="Core" version="3.2"> <brief_description> Server for anything visible. </brief_description> diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml index ab00080fef..7240d7a4d0 100644 --- a/doc/classes/VisualShader.xml +++ b/doc/classes/VisualShader.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShader" inherits="Shader" category="Core" version="3.1"> +<class name="VisualShader" inherits="Shader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml index ffcaf85eea..4175cb088a 100644 --- a/doc/classes/VisualShaderNode.xml +++ b/doc/classes/VisualShaderNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNode" inherits="Resource" category="Core" version="3.1"> +<class name="VisualShaderNode" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeColorConstant.xml b/doc/classes/VisualShaderNodeColorConstant.xml index f1079e0056..5f8005561c 100644 --- a/doc/classes/VisualShaderNodeColorConstant.xml +++ b/doc/classes/VisualShaderNodeColorConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeColorConstant" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeColorConstant" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeColorOp.xml b/doc/classes/VisualShaderNodeColorOp.xml index d23c674503..9b01bced8b 100644 --- a/doc/classes/VisualShaderNodeColorOp.xml +++ b/doc/classes/VisualShaderNodeColorOp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeColorOp" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeColorOp" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeColorUniform.xml b/doc/classes/VisualShaderNodeColorUniform.xml index 0b97c104a2..0a8d3a0449 100644 --- a/doc/classes/VisualShaderNodeColorUniform.xml +++ b/doc/classes/VisualShaderNodeColorUniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeColorUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.1"> +<class name="VisualShaderNodeColorUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeCubeMap.xml b/doc/classes/VisualShaderNodeCubeMap.xml index 9c56a23b7f..8427d012f1 100644 --- a/doc/classes/VisualShaderNodeCubeMap.xml +++ b/doc/classes/VisualShaderNodeCubeMap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeCubeMap" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeCubeMap" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeCubeMapUniform.xml b/doc/classes/VisualShaderNodeCubeMapUniform.xml index fc95e4ddd9..958c740082 100644 --- a/doc/classes/VisualShaderNodeCubeMapUniform.xml +++ b/doc/classes/VisualShaderNodeCubeMapUniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeCubeMapUniform" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeCubeMapUniform" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeDotProduct.xml b/doc/classes/VisualShaderNodeDotProduct.xml index c82f4cec3b..8d6182bcd6 100644 --- a/doc/classes/VisualShaderNodeDotProduct.xml +++ b/doc/classes/VisualShaderNodeDotProduct.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeDotProduct" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeDotProduct" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeInput.xml b/doc/classes/VisualShaderNodeInput.xml index 29de7f81d1..1d82716086 100644 --- a/doc/classes/VisualShaderNodeInput.xml +++ b/doc/classes/VisualShaderNodeInput.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeInput" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeInput" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeOutput.xml b/doc/classes/VisualShaderNodeOutput.xml index 7b65c6fd5e..d2b80dc3b4 100644 --- a/doc/classes/VisualShaderNodeOutput.xml +++ b/doc/classes/VisualShaderNodeOutput.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeOutput" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeOutput" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeScalarConstant.xml b/doc/classes/VisualShaderNodeScalarConstant.xml index 424fb2b3bd..81103d3b96 100644 --- a/doc/classes/VisualShaderNodeScalarConstant.xml +++ b/doc/classes/VisualShaderNodeScalarConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarConstant" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeScalarConstant" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeScalarFunc.xml b/doc/classes/VisualShaderNodeScalarFunc.xml index 7362ededce..67a5d3f5c4 100644 --- a/doc/classes/VisualShaderNodeScalarFunc.xml +++ b/doc/classes/VisualShaderNodeScalarFunc.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarFunc" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeScalarFunc" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeScalarInterp.xml b/doc/classes/VisualShaderNodeScalarInterp.xml index 8420b34dd3..96f664fb1c 100644 --- a/doc/classes/VisualShaderNodeScalarInterp.xml +++ b/doc/classes/VisualShaderNodeScalarInterp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarInterp" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeScalarInterp" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeScalarOp.xml b/doc/classes/VisualShaderNodeScalarOp.xml index 0ab0a46d0a..34ec89f8be 100644 --- a/doc/classes/VisualShaderNodeScalarOp.xml +++ b/doc/classes/VisualShaderNodeScalarOp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarOp" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeScalarOp" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeScalarUniform.xml b/doc/classes/VisualShaderNodeScalarUniform.xml index 352355b475..979574c6d8 100644 --- a/doc/classes/VisualShaderNodeScalarUniform.xml +++ b/doc/classes/VisualShaderNodeScalarUniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.1"> +<class name="VisualShaderNodeScalarUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTexture.xml b/doc/classes/VisualShaderNodeTexture.xml index 18b2fc3b3f..30c193d03a 100644 --- a/doc/classes/VisualShaderNodeTexture.xml +++ b/doc/classes/VisualShaderNodeTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTexture" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeTexture" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTextureUniform.xml b/doc/classes/VisualShaderNodeTextureUniform.xml index 1b5df52060..7000392261 100644 --- a/doc/classes/VisualShaderNodeTextureUniform.xml +++ b/doc/classes/VisualShaderNodeTextureUniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTextureUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.1"> +<class name="VisualShaderNodeTextureUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTransformCompose.xml b/doc/classes/VisualShaderNodeTransformCompose.xml index e1bda001e3..f103df2442 100644 --- a/doc/classes/VisualShaderNodeTransformCompose.xml +++ b/doc/classes/VisualShaderNodeTransformCompose.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTransformCompose" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeTransformCompose" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTransformConstant.xml b/doc/classes/VisualShaderNodeTransformConstant.xml index e86444563c..cf3ba87ccc 100644 --- a/doc/classes/VisualShaderNodeTransformConstant.xml +++ b/doc/classes/VisualShaderNodeTransformConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTransformConstant" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeTransformConstant" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTransformDecompose.xml b/doc/classes/VisualShaderNodeTransformDecompose.xml index ee6d5c5d74..ba4cbd0510 100644 --- a/doc/classes/VisualShaderNodeTransformDecompose.xml +++ b/doc/classes/VisualShaderNodeTransformDecompose.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTransformDecompose" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeTransformDecompose" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTransformMult.xml b/doc/classes/VisualShaderNodeTransformMult.xml index 31aa40db96..47026b400e 100644 --- a/doc/classes/VisualShaderNodeTransformMult.xml +++ b/doc/classes/VisualShaderNodeTransformMult.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTransformMult" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeTransformMult" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTransformUniform.xml b/doc/classes/VisualShaderNodeTransformUniform.xml index 65b1088247..f4f81b9000 100644 --- a/doc/classes/VisualShaderNodeTransformUniform.xml +++ b/doc/classes/VisualShaderNodeTransformUniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTransformUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.1"> +<class name="VisualShaderNodeTransformUniform" inherits="VisualShaderNodeUniform" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeTransformVecMult.xml b/doc/classes/VisualShaderNodeTransformVecMult.xml index d3fb445717..358ce31258 100644 --- a/doc/classes/VisualShaderNodeTransformVecMult.xml +++ b/doc/classes/VisualShaderNodeTransformVecMult.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeTransformVecMult" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeTransformVecMult" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeUniform.xml b/doc/classes/VisualShaderNodeUniform.xml index 2c02afd0a7..c685148161 100644 --- a/doc/classes/VisualShaderNodeUniform.xml +++ b/doc/classes/VisualShaderNodeUniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeUniform" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeUniform" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVec3Constant.xml b/doc/classes/VisualShaderNodeVec3Constant.xml index 7492f56223..401e937b52 100644 --- a/doc/classes/VisualShaderNodeVec3Constant.xml +++ b/doc/classes/VisualShaderNodeVec3Constant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVec3Constant" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVec3Constant" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVec3Uniform.xml b/doc/classes/VisualShaderNodeVec3Uniform.xml index 79a21680fb..e7ca1f90fb 100644 --- a/doc/classes/VisualShaderNodeVec3Uniform.xml +++ b/doc/classes/VisualShaderNodeVec3Uniform.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVec3Uniform" inherits="VisualShaderNodeUniform" category="Core" version="3.1"> +<class name="VisualShaderNodeVec3Uniform" inherits="VisualShaderNodeUniform" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVectorCompose.xml b/doc/classes/VisualShaderNodeVectorCompose.xml index 39798a82d1..49a7caf5e3 100644 --- a/doc/classes/VisualShaderNodeVectorCompose.xml +++ b/doc/classes/VisualShaderNodeVectorCompose.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVectorCompose" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVectorCompose" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVectorDecompose.xml b/doc/classes/VisualShaderNodeVectorDecompose.xml index 8df12d8ba9..f498f95ad0 100644 --- a/doc/classes/VisualShaderNodeVectorDecompose.xml +++ b/doc/classes/VisualShaderNodeVectorDecompose.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVectorDecompose" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVectorDecompose" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVectorFunc.xml b/doc/classes/VisualShaderNodeVectorFunc.xml index 850b089645..968d73d4e1 100644 --- a/doc/classes/VisualShaderNodeVectorFunc.xml +++ b/doc/classes/VisualShaderNodeVectorFunc.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVectorFunc" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVectorFunc" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVectorInterp.xml b/doc/classes/VisualShaderNodeVectorInterp.xml index 909cd7eacc..89c441f1f9 100644 --- a/doc/classes/VisualShaderNodeVectorInterp.xml +++ b/doc/classes/VisualShaderNodeVectorInterp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVectorInterp" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVectorInterp" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVectorLen.xml b/doc/classes/VisualShaderNodeVectorLen.xml index ad87d0bd0a..8e3ad6757a 100644 --- a/doc/classes/VisualShaderNodeVectorLen.xml +++ b/doc/classes/VisualShaderNodeVectorLen.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVectorLen" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVectorLen" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VisualShaderNodeVectorOp.xml b/doc/classes/VisualShaderNodeVectorOp.xml index 3e20168f15..16c1f8f25d 100644 --- a/doc/classes/VisualShaderNodeVectorOp.xml +++ b/doc/classes/VisualShaderNodeVectorOp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeVectorOp" inherits="VisualShaderNode" category="Core" version="3.1"> +<class name="VisualShaderNodeVectorOp" inherits="VisualShaderNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/doc/classes/WeakRef.xml b/doc/classes/WeakRef.xml index 4a0f3588c2..4b8f3de45b 100644 --- a/doc/classes/WeakRef.xml +++ b/doc/classes/WeakRef.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WeakRef" inherits="Reference" category="Core" version="3.1"> +<class name="WeakRef" inherits="Reference" category="Core" version="3.2"> <brief_description> Holds an [Object], but does not contribute to the reference count if the object is a reference. </brief_description> diff --git a/doc/classes/WindowDialog.xml b/doc/classes/WindowDialog.xml index 51931444fc..aac5b975ba 100644 --- a/doc/classes/WindowDialog.xml +++ b/doc/classes/WindowDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WindowDialog" inherits="Popup" category="Core" version="3.1"> +<class name="WindowDialog" inherits="Popup" category="Core" version="3.2"> <brief_description> Base class for window dialogs. </brief_description> diff --git a/doc/classes/World.xml b/doc/classes/World.xml index 4e954acd48..de5d290dea 100644 --- a/doc/classes/World.xml +++ b/doc/classes/World.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="World" inherits="Resource" category="Core" version="3.1"> +<class name="World" inherits="Resource" category="Core" version="3.2"> <brief_description> Class that has everything pertaining to a world. </brief_description> diff --git a/doc/classes/World2D.xml b/doc/classes/World2D.xml index 9c3d66dade..6bc33fd7da 100644 --- a/doc/classes/World2D.xml +++ b/doc/classes/World2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="World2D" inherits="Resource" category="Core" version="3.1"> +<class name="World2D" inherits="Resource" category="Core" version="3.2"> <brief_description> Class that has everything pertaining to a 2D world. </brief_description> diff --git a/doc/classes/WorldEnvironment.xml b/doc/classes/WorldEnvironment.xml index 8c212502d6..845a6bc936 100644 --- a/doc/classes/WorldEnvironment.xml +++ b/doc/classes/WorldEnvironment.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WorldEnvironment" inherits="Node" category="Core" version="3.1"> +<class name="WorldEnvironment" inherits="Node" category="Core" version="3.2"> <brief_description> Default environment properties for the entire scene (post-processing effects, lighting and background settings). </brief_description> <description> - The [code]WorldEnvironment[/code] node is used to configure the default [Environment] for the scene. - The parameters defined in the [code]WorldEnvironment[/code] can be overridden by an [Environment] node set on the current [Camera]. Additionally, only one [code]WorldEnvironment[/code] may be instanced in a given scene at a time. - The [code]WorldEnvironment[/code] allows the user to specify default lighting parameters (e.g. ambient lighting), various post-processing effects (e.g. SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, skybox). Usually, these are added in order to improve the realism/color balance of the scene. + The [WorldEnvironment] node is used to configure the default [Environment] for the scene. + The parameters defined in the [WorldEnvironment] can be overridden by an [Environment] node set on the current [Camera]. Additionally, only one [WorldEnvironment] may be instanced in a given scene at a time. + The [WorldEnvironment] allows the user to specify default lighting parameters (e.g. ambient lighting), various post-processing effects (e.g. SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, skybox). Usually, these are added in order to improve the realism/color balance of the scene. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/environment_and_post_processing.html</link> @@ -17,7 +17,7 @@ </methods> <members> <member name="environment" type="Environment" setter="set_environment" getter="get_environment"> - The [Environment] resource used by this [code]WorldEnvironment[/code], defining the default properties. + The [Environment] resource used by this [WorldEnvironment], defining the default properties. </member> </members> <constants> diff --git a/doc/classes/XMLParser.xml b/doc/classes/XMLParser.xml index fb03ab1692..8882f5cc6e 100644 --- a/doc/classes/XMLParser.xml +++ b/doc/classes/XMLParser.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="XMLParser" inherits="Reference" category="Core" version="3.1"> +<class name="XMLParser" inherits="Reference" category="Core" version="3.2"> <brief_description> Low-level class for creating parsers for XML files. </brief_description> diff --git a/doc/classes/YSort.xml b/doc/classes/YSort.xml index e9233ff079..7eb87f38c2 100644 --- a/doc/classes/YSort.xml +++ b/doc/classes/YSort.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="YSort" inherits="Node2D" category="Core" version="3.1"> +<class name="YSort" inherits="Node2D" category="Core" version="3.2"> <brief_description> Sort all child nodes based on their Y positions. </brief_description> <description> Sort all child nodes based on their Y positions. The child node must inherit from [CanvasItem] for it to be sorted. Nodes that have a higher Y position will be drawn later, so they will appear on top of nodes that have a lower Y position. + Nesting of YSort nodes is possible. Children YSort nodes will be sorted in the same space as the parent YSort, allowing to better organize a scene or divide it in multiple ones, yet keep the unique sorting. </description> <tutorials> </tutorials> diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml index 0fec8eb530..6f4c4771cd 100644 --- a/doc/classes/bool.xml +++ b/doc/classes/bool.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="bool" category="Built-In Types" version="3.1"> +<class name="bool" category="Built-In Types" version="3.2"> <brief_description> Boolean built-in type </brief_description> diff --git a/doc/classes/float.xml b/doc/classes/float.xml index 7297f5bf94..48d27f54b1 100644 --- a/doc/classes/float.xml +++ b/doc/classes/float.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="float" category="Built-In Types" version="3.1"> +<class name="float" category="Built-In Types" version="3.2"> <brief_description> Float built-in type </brief_description> diff --git a/doc/classes/int.xml b/doc/classes/int.xml index 7175b9fd88..ed62eacf8d 100644 --- a/doc/classes/int.xml +++ b/doc/classes/int.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="int" category="Built-In Types" version="3.1"> +<class name="int" category="Built-In Types" version="3.2"> <brief_description> Integer built-in type. </brief_description> <description> Signed 64-bit integer type. It can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around. - [code]int[/code] is a [Variant] type, and will thus be used when assigning an integer value to a [Variant]. It can also be enforced with the [code]: int[/code] type hint. + [int] is a [Variant] type, and will thus be used when assigning an integer value to a [Variant]. It can also be enforced with the [code]: int[/code] type hint. [codeblock] var my_variant = 0 # int, value 0 my_variant += 4.2 # float, value 4.2 diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py index 4b5785f604..dc6d270c08 100755 --- a/doc/tools/makerst.py +++ b/doc/tools/makerst.py @@ -702,7 +702,11 @@ def rstize_text(text, state): # type: (str, State) -> str escape_post = False if tag_text in state.classes: - tag_text = make_type(tag_text, state) + if tag_text == state.current_class: + # We don't want references to the same class + tag_text = '``{}``'.format(tag_text) + else: + tag_text = make_type(tag_text, state) escape_post = True else: # command cmd = tag_text @@ -757,14 +761,25 @@ def rstize_text(text, state): # type: (str, State) -> str elif cmd.startswith("constant"): found = False - if method_param in class_def.constants: - found = True - else: - for enum in class_def.enums.values(): - if method_param in enum.values: - found = True - break + # Search in the current class + search_class_defs = [class_def] + + if param.find('.') == -1: + # Also search in @GlobalScope as a last resort if no class was specified + search_class_defs.append(state.classes["@GlobalScope"]) + + for search_class_def in search_class_defs: + if method_param in search_class_def.constants: + class_param = search_class_def.name + found = True + + else: + for enum in search_class_def.enums.values(): + if method_param in enum.values: + class_param = search_class_def.name + found = True + break if not found: print_error("Unresolved constant '{}', file: {}".format(param, state.current_class), state) @@ -917,6 +932,9 @@ def make_enum(t, state): # type: (str, State) -> str if c in state.classes and e not in state.classes[c].enums: c = "@GlobalScope" + if not c in state.classes and c.startswith("_"): + c = c[1:] # Remove the underscore prefix + if c in state.classes and e in state.classes[c].enums: return ":ref:`{0}<enum_{1}_{0}>`".format(e, c) print_error("Unresolved enum '{}', file: {}".format(t, state.current_class), state) @@ -954,7 +972,7 @@ def make_method_signature(class_def, method_def, make_ref, state): # type: (Cla if len(method_def.parameters) > 0: out += ', ...' else: - out += '...' + out += ' ...' out += ' **)**' diff --git a/drivers/gl_context/context_gl.h b/drivers/gl_context/context_gl.h index 13141d795c..890683b7c5 100644 --- a/drivers/gl_context/context_gl.h +++ b/drivers/gl_context/context_gl.h @@ -58,7 +58,7 @@ public: virtual bool is_using_vsync() const = 0; ContextGL(); - ~ContextGL(); + virtual ~ContextGL(); }; #endif diff --git a/drivers/gles2/rasterizer_canvas_gles2.cpp b/drivers/gles2/rasterizer_canvas_gles2.cpp index 3671679b49..9eb159cb31 100644 --- a/drivers/gles2/rasterizer_canvas_gles2.cpp +++ b/drivers/gles2/rasterizer_canvas_gles2.cpp @@ -288,14 +288,14 @@ void RasterizerCanvasGLES2::_draw_polygon(const int *p_indices, int p_index_coun } else { glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors); glEnableVertexAttribArray(VS::ARRAY_COLOR); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Color) * p_vertex_count; } if (p_uvs) { glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Vector2) * p_vertex_count; } else { glDisableVertexAttribArray(VS::ARRAY_TEX_UV); @@ -304,12 +304,12 @@ void RasterizerCanvasGLES2::_draw_polygon(const int *p_indices, int p_index_coun if (p_weights && p_bones) { glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights); glEnableVertexAttribArray(VS::ARRAY_WEIGHTS); - glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4, ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(float) * 4 * p_vertex_count; glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(int) * 4 * p_vertex_count, p_bones); glEnableVertexAttribArray(VS::ARRAY_BONES); - glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, GL_FALSE, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, GL_FALSE, sizeof(int) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(int) * 4 * p_vertex_count; } else { @@ -342,7 +342,7 @@ void RasterizerCanvasGLES2::_draw_generic(GLuint p_primitive, int p_vertex_count glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(Vector2) * p_vertex_count, p_vertices); glEnableVertexAttribArray(VS::ARRAY_VERTEX); - glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), (uint8_t *)0); + glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), NULL); buffer_ofs += sizeof(Vector2) * p_vertex_count; if (p_singlecolor) { @@ -355,14 +355,14 @@ void RasterizerCanvasGLES2::_draw_generic(GLuint p_primitive, int p_vertex_count } else { glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors); glEnableVertexAttribArray(VS::ARRAY_COLOR); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Color) * p_vertex_count; } if (p_uvs) { glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); } else { glDisableVertexAttribArray(VS::ARRAY_TEX_UV); } @@ -419,12 +419,12 @@ void RasterizerCanvasGLES2::_draw_gui_primitive(int p_points, const Vector2 *p_v glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), NULL); if (p_colors) { - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride * sizeof(float), (uint8_t *)0 + color_offset * sizeof(float)); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(color_offset * sizeof(float))); glEnableVertexAttribArray(VS::ARRAY_COLOR); } if (p_uvs) { - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), (uint8_t *)0 + uv_offset * sizeof(float)); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(uv_offset * sizeof(float))); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); } @@ -840,7 +840,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur glEnableVertexAttribArray(VS::ARRAY_TEX_UV); glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), NULL); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), (uint8_t *)0 + (sizeof(float) * 2)); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), CAST_INT_TO_UCHAR_PTR((sizeof(float) * 2))); glDrawElements(GL_TRIANGLES, 18 * 3 - (np->draw_center ? 0 : 6), GL_UNSIGNED_BYTE, NULL); @@ -932,7 +932,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur for (int k = 0; k < VS::ARRAY_MAX - 1; k++) { if (s->attribs[k].enabled) { glEnableVertexAttribArray(k); - glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, (uint8_t *)0 + s->attribs[k].offset); + glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[k].offset)); } else { glDisableVertexAttribArray(k); switch (k) { @@ -1021,7 +1021,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur for (int k = 0; k < VS::ARRAY_MAX - 1; k++) { if (s->attribs[k].enabled) { glEnableVertexAttribArray(k); - glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, (uint8_t *)0 + s->attribs[k].offset); + glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[k].offset)); } else { glDisableVertexAttribArray(k); switch (k) { diff --git a/drivers/gles2/rasterizer_scene_gles2.cpp b/drivers/gles2/rasterizer_scene_gles2.cpp index 2ffc0d7463..3c8822175d 100644 --- a/drivers/gles2/rasterizer_scene_gles2.cpp +++ b/drivers/gles2/rasterizer_scene_gles2.cpp @@ -1358,7 +1358,7 @@ void RasterizerSceneGLES2::_setup_geometry(RenderList::Element *p_element, Raste for (int i = 0; i < VS::ARRAY_MAX - 1; i++) { if (s->attribs[i].enabled) { glEnableVertexAttribArray(i); - glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, (uint8_t *)0 + s->attribs[i].offset); + glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[i].offset)); } else { glDisableVertexAttribArray(i); switch (i) { @@ -1519,7 +1519,7 @@ void RasterizerSceneGLES2::_setup_geometry(RenderList::Element *p_element, Raste for (int i = 0; i < VS::ARRAY_MAX - 1; i++) { if (s->attribs[i].enabled) { glEnableVertexAttribArray(i); - glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, (uint8_t *)0 + s->attribs[i].offset); + glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[i].offset)); } else { glDisableVertexAttribArray(i); switch (i) { @@ -1566,8 +1566,10 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (s->index_array_len > 0) { glDrawElements(gl_primitive[s->primitive], s->index_array_len, (s->array_len >= (1 << 16)) ? GL_UNSIGNED_INT : GL_UNSIGNED_SHORT, 0); + storage->info.render.vertices_count += s->index_array_len; } else { glDrawArrays(gl_primitive[s->primitive], 0, s->array_len); + storage->info.render.vertices_count += s->array_len; } /* if (p_element->instance->skeleton.is_valid() && s->attribs[VS::ARRAY_BONES].enabled && s->attribs[VS::ARRAY_WEIGHTS].enabled) { @@ -1637,8 +1639,10 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (s->index_array_len > 0) { glDrawElements(gl_primitive[s->primitive], s->index_array_len, (s->array_len >= (1 << 16)) ? GL_UNSIGNED_INT : GL_UNSIGNED_SHORT, 0); + storage->info.render.vertices_count += s->index_array_len; } else { glDrawArrays(gl_primitive[s->primitive], 0, s->array_len); + storage->info.render.vertices_count += s->array_len; } } @@ -1698,7 +1702,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (!c.normals.empty()) { glEnableVertexAttribArray(VS::ARRAY_NORMAL); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.normals.ptr()); - glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Vector3) * vertices; } else { glDisableVertexAttribArray(VS::ARRAY_NORMAL); @@ -1707,7 +1711,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (!c.tangents.empty()) { glEnableVertexAttribArray(VS::ARRAY_TANGENT); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Plane) * vertices, c.tangents.ptr()); - glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, GL_FALSE, sizeof(Plane), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, GL_FALSE, sizeof(Plane), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Plane) * vertices; } else { glDisableVertexAttribArray(VS::ARRAY_TANGENT); @@ -1716,7 +1720,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (!c.colors.empty()) { glEnableVertexAttribArray(VS::ARRAY_COLOR); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Color) * vertices, c.colors.ptr()); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Color) * vertices; } else { glDisableVertexAttribArray(VS::ARRAY_COLOR); @@ -1725,7 +1729,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (!c.uvs.empty()) { glEnableVertexAttribArray(VS::ARRAY_TEX_UV); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs.ptr()); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Vector2) * vertices; } else { glDisableVertexAttribArray(VS::ARRAY_TEX_UV); @@ -1734,7 +1738,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { if (!c.uv2s.empty()) { glEnableVertexAttribArray(VS::ARRAY_TEX_UV2); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uv2s.ptr()); - glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Vector2) * vertices; } else { glDisableVertexAttribArray(VS::ARRAY_TEX_UV2); @@ -1742,7 +1746,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) { glEnableVertexAttribArray(VS::ARRAY_VERTEX); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.vertices.ptr()); - glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs)); glDrawArrays(gl_primitive[c.primitive], 0, c.vertices.size()); } @@ -2182,6 +2186,8 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements, float lightmap_energy = 1.0; bool prev_use_lightmap_capture = false; + storage->info.render.draw_call_count += p_element_count; + for (int i = 0; i < p_element_count; i++) { RenderList::Element *e = p_elements[i]; @@ -2389,11 +2395,17 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements, if (e->owner != prev_owner || e->geometry != prev_geometry || skeleton != prev_skeleton) { _setup_geometry(e, skeleton); + storage->info.render.surface_switch_count++; } bool shader_rebind = false; if (rebind || material != prev_material) { + + storage->info.render.material_switch_count++; shader_rebind = _setup_material(material, p_reverse_cull, p_alpha_pass, Size2i(skeleton ? skeleton->size * 3 : 0, 0)); + if (shader_rebind) { + storage->info.render.shader_rebind_count++; + } } if (i == 0 || shader_rebind) { //first time must rebind @@ -2598,7 +2610,7 @@ void RasterizerSceneGLES2::_draw_sky(RasterizerStorageGLES2::Sky *p_sky, const C // bind sky vertex array.... glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, 0); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, ((uint8_t *)NULL) + sizeof(Vector3)); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, CAST_INT_TO_UCHAR_PTR(sizeof(Vector3))); glEnableVertexAttribArray(VS::ARRAY_VERTEX); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); @@ -2637,6 +2649,8 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const Transform cam_transform = p_cam_transform; + storage->info.render.object_count += p_cull_count; + GLuint current_fb = 0; Environment *env = NULL; diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp index 8b8f902826..01d5e35e56 100644 --- a/drivers/gles2/rasterizer_storage_gles2.cpp +++ b/drivers/gles2/rasterizer_storage_gles2.cpp @@ -84,7 +84,7 @@ GLuint RasterizerStorageGLES2::system_fbo = 0; void RasterizerStorageGLES2::bind_quad_array() const { glBindBuffer(GL_ARRAY_BUFFER, resources.quadie); glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, ((uint8_t *)NULL) + 8); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(8)); glEnableVertexAttribArray(VS::ARRAY_VERTEX); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); @@ -120,9 +120,13 @@ Ref<Image> RasterizerStorageGLES2::_get_gl_image_and_format(const Ref<Image> &p_ } break; case Image::FORMAT_RG8: { - - ERR_EXPLAIN("RG texture not supported"); - ERR_FAIL_V(image); + ERR_PRINT("RG texture not supported, converting to RGB8."); + if (image.is_valid()) + image->convert(Image::FORMAT_RGB8); + r_real_format = Image::FORMAT_RGB8; + r_gl_internal_format = GL_RGB; + r_gl_format = GL_RGB; + r_gl_type = GL_UNSIGNED_BYTE; } break; case Image::FORMAT_RGB8: { @@ -155,42 +159,57 @@ Ref<Image> RasterizerStorageGLES2::_get_gl_image_and_format(const Ref<Image> &p_ } break; case Image::FORMAT_RF: { if (!config.float_texture_supported) { - ERR_EXPLAIN("R float texture not supported"); - ERR_FAIL_V(image); + ERR_PRINT("R float texture not supported, converting to RGB8."); + if (image.is_valid()) + image->convert(Image::FORMAT_RGB8); + r_real_format = Image::FORMAT_RGB8; + r_gl_internal_format = GL_RGB; + r_gl_format = GL_RGB; + r_gl_type = GL_UNSIGNED_BYTE; + } else { + r_gl_internal_format = GL_ALPHA; + r_gl_format = GL_ALPHA; + r_gl_type = GL_FLOAT; } - - r_gl_internal_format = GL_ALPHA; - r_gl_format = GL_ALPHA; - r_gl_type = GL_FLOAT; } break; case Image::FORMAT_RGF: { - ERR_EXPLAIN("RG float texture not supported"); - ERR_FAIL_V(image); - + ERR_PRINT("RG float texture not supported, converting to RGB8."); + if (image.is_valid()) + image->convert(Image::FORMAT_RGB8); + r_real_format = Image::FORMAT_RGB8; + r_gl_internal_format = GL_RGB; + r_gl_format = GL_RGB; + r_gl_type = GL_UNSIGNED_BYTE; } break; case Image::FORMAT_RGBF: { if (!config.float_texture_supported) { - - ERR_EXPLAIN("RGB float texture not supported"); - ERR_FAIL_V(image); + ERR_PRINT("RGB float texture not supported, converting to RGB8."); + if (image.is_valid()) + image->convert(Image::FORMAT_RGB8); + r_real_format = Image::FORMAT_RGB8; + r_gl_internal_format = GL_RGB; + r_gl_format = GL_RGB; + r_gl_type = GL_UNSIGNED_BYTE; + } else { + r_gl_internal_format = GL_RGB; + r_gl_format = GL_RGB; + r_gl_type = GL_FLOAT; } - - r_gl_internal_format = GL_RGB; - r_gl_format = GL_RGB; - r_gl_type = GL_FLOAT; - } break; case Image::FORMAT_RGBAF: { if (!config.float_texture_supported) { - - ERR_EXPLAIN("RGBA float texture not supported"); - ERR_FAIL_V(image); + ERR_PRINT("RGBA float texture not supported, converting to RGBA8."); + if (image.is_valid()) + image->convert(Image::FORMAT_RGBA8); + r_real_format = Image::FORMAT_RGBA8; + r_gl_internal_format = GL_RGBA; + r_gl_format = GL_RGBA; + r_gl_type = GL_UNSIGNED_BYTE; + } else { + r_gl_internal_format = GL_RGBA; + r_gl_format = GL_RGBA; + r_gl_type = GL_FLOAT; } - - r_gl_internal_format = GL_RGBA; - r_gl_format = GL_RGBA; - r_gl_type = GL_FLOAT; - } break; case Image::FORMAT_RH: { need_decompress = true; @@ -1137,7 +1156,7 @@ void RasterizerStorageGLES2::sky_set_texture(RID p_sky, RID p_panorama, int p_ra glGenTextures(1, &sky->radiance); glBindTexture(GL_TEXTURE_CUBE_MAP, sky->radiance); - int size = p_radiance_size / 4; //divide by four because its a cubemap (this is an approximation because GLES3 uses a dual paraboloid) + int size = p_radiance_size / 2; //divide by two because its a cubemap (this is an approximation because GLES3 uses a dual paraboloid) GLenum internal_format = GL_RGB; GLenum format = GL_RGB; @@ -1176,7 +1195,7 @@ void RasterizerStorageGLES2::sky_set_texture(RID p_sky, RID p_panorama, int p_ra int mipmaps = 6; int lod = 0; int mm_level = mipmaps; - size = p_radiance_size / 4; + size = p_radiance_size / 2; shaders.cubemap_filter.set_conditional(CubemapFilterShaderGLES2::USE_SOURCE_PANORAMA, true); shaders.cubemap_filter.set_conditional(CubemapFilterShaderGLES2::USE_DIRECT_WRITE, true); shaders.cubemap_filter.bind(); @@ -4733,6 +4752,7 @@ void RasterizerStorageGLES2::render_target_set_flag(RID p_render_target, RenderT rt->flags[p_flag] = p_value; switch (p_flag) { + case RENDER_TARGET_TRANSPARENT: case RENDER_TARGET_HDR: case RENDER_TARGET_NO_3D: case RENDER_TARGET_NO_SAMPLING: @@ -5188,18 +5208,72 @@ void RasterizerStorageGLES2::set_debug_generate_wireframes(bool p_generate) { } void RasterizerStorageGLES2::render_info_begin_capture() { + + info.snap = info.render; } void RasterizerStorageGLES2::render_info_end_capture() { + + info.snap.object_count = info.render.object_count - info.snap.object_count; + info.snap.draw_call_count = info.render.draw_call_count - info.snap.draw_call_count; + info.snap.material_switch_count = info.render.material_switch_count - info.snap.material_switch_count; + info.snap.surface_switch_count = info.render.surface_switch_count - info.snap.surface_switch_count; + info.snap.shader_rebind_count = info.render.shader_rebind_count - info.snap.shader_rebind_count; + info.snap.vertices_count = info.render.vertices_count - info.snap.vertices_count; } int RasterizerStorageGLES2::get_captured_render_info(VS::RenderInfo p_info) { - return get_render_info(p_info); + switch (p_info) { + case VS::INFO_OBJECTS_IN_FRAME: { + return info.snap.object_count; + } break; + case VS::INFO_VERTICES_IN_FRAME: { + return info.snap.vertices_count; + } break; + case VS::INFO_MATERIAL_CHANGES_IN_FRAME: { + return info.snap.material_switch_count; + } break; + case VS::INFO_SHADER_CHANGES_IN_FRAME: { + return info.snap.shader_rebind_count; + } break; + case VS::INFO_SURFACE_CHANGES_IN_FRAME: { + return info.snap.surface_switch_count; + } break; + case VS::INFO_DRAW_CALLS_IN_FRAME: { + return info.snap.draw_call_count; + } break; + default: { + return get_render_info(p_info); + } + } } int RasterizerStorageGLES2::get_render_info(VS::RenderInfo p_info) { - return 0; + switch (p_info) { + case VS::INFO_OBJECTS_IN_FRAME: + return info.render_final.object_count; + case VS::INFO_VERTICES_IN_FRAME: + return info.render_final.vertices_count; + case VS::INFO_MATERIAL_CHANGES_IN_FRAME: + return info.render_final.material_switch_count; + case VS::INFO_SHADER_CHANGES_IN_FRAME: + return info.render_final.shader_rebind_count; + case VS::INFO_SURFACE_CHANGES_IN_FRAME: + return info.render_final.surface_switch_count; + case VS::INFO_DRAW_CALLS_IN_FRAME: + return info.render_final.draw_call_count; + case VS::INFO_USAGE_VIDEO_MEM_TOTAL: + return 0; //no idea + case VS::INFO_VIDEO_MEM_USED: + return info.vertex_mem + info.texture_mem; + case VS::INFO_TEXTURE_MEM_USED: + return info.texture_mem; + case VS::INFO_VERTEX_MEM_USED: + return info.vertex_mem; + default: + return 0; //no idea either + } } void RasterizerStorageGLES2::initialize() { @@ -5468,7 +5542,9 @@ void RasterizerStorageGLES2::initialize() { #ifdef GLES_OVER_GL //this needs to be enabled manually in OpenGL 2.1 - glEnable(_EXT_TEXTURE_CUBE_MAP_SEAMLESS); + if (config.extensions.has("GL_ARB_seamless_cube_map")) { + glEnable(_EXT_TEXTURE_CUBE_MAP_SEAMLESS); + } glEnable(GL_POINT_SPRITE); glEnable(GL_VERTEX_PROGRAM_POINT_SIZE); #endif diff --git a/drivers/gles2/shaders/canvas.glsl b/drivers/gles2/shaders/canvas.glsl index f72a0d288b..7ba2856216 100644 --- a/drivers/gles2/shaders/canvas.glsl +++ b/drivers/gles2/shaders/canvas.glsl @@ -220,29 +220,25 @@ VERTEX_SHADER_CODE /* clang-format off */ [fragment] +// texture2DLodEXT and textureCubeLodEXT are fragment shader specific. +// Do not copy these defines in the vertex section. #ifndef USE_GLES_OVER_GL - #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #define texture2DLod(img, coord, lod) texture2DLodEXT(img, coord, lod) #define textureCubeLod(img, coord, lod) textureCubeLodEXT(img, coord, lod) #endif - -#endif +#endif // !USE_GLES_OVER_GL #ifdef GL_ARB_shader_texture_lod #extension GL_ARB_shader_texture_lod : enable #endif - #if !defined(GL_EXT_shader_texture_lod) && !defined(GL_ARB_shader_texture_lod) #define texture2DLod(img, coord, lod) texture2D(img, coord, lod) #define textureCubeLod(img, coord, lod) textureCube(img, coord, lod) #endif - - - #ifdef USE_GLES_OVER_GL #define lowp #define mediump diff --git a/drivers/gles2/shaders/cubemap_filter.glsl b/drivers/gles2/shaders/cubemap_filter.glsl index a6902836ed..db3d8b3a1b 100644 --- a/drivers/gles2/shaders/cubemap_filter.glsl +++ b/drivers/gles2/shaders/cubemap_filter.glsl @@ -25,15 +25,15 @@ void main() { /* clang-format off */ [fragment] +// texture2DLodEXT and textureCubeLodEXT are fragment shader specific. +// Do not copy these defines in the vertex section. #ifndef USE_GLES_OVER_GL - #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #define texture2DLod(img, coord, lod) texture2DLodEXT(img, coord, lod) #define textureCubeLod(img, coord, lod) textureCubeLodEXT(img, coord, lod) #endif - -#endif +#endif // !USE_GLES_OVER_GL #ifdef GL_ARB_shader_texture_lod #extension GL_ARB_shader_texture_lod : enable @@ -44,8 +44,6 @@ void main() { #define textureCubeLod(img, coord, lod) textureCube(img, coord, lod) #endif - - #ifdef USE_GLES_OVER_GL #define lowp #define mediump diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl index 3b0bca982d..5d21c679ba 100644 --- a/drivers/gles2/shaders/scene.glsl +++ b/drivers/gles2/shaders/scene.glsl @@ -675,15 +675,15 @@ VERTEX_SHADER_CODE /* clang-format off */ [fragment] +// texture2DLodEXT and textureCubeLodEXT are fragment shader specific. +// Do not copy these defines in the vertex section. #ifndef USE_GLES_OVER_GL - #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #define texture2DLod(img, coord, lod) texture2DLodEXT(img, coord, lod) #define textureCubeLod(img, coord, lod) textureCubeLodEXT(img, coord, lod) #endif - -#endif +#endif // !USE_GLES_OVER_GL #ifdef GL_ARB_shader_texture_lod #extension GL_ARB_shader_texture_lod : enable @@ -694,9 +694,6 @@ VERTEX_SHADER_CODE #define textureCubeLod(img, coord, lod) textureCube(img, coord, lod) #endif - - - #ifdef USE_GLES_OVER_GL #define lowp #define mediump @@ -1469,6 +1466,9 @@ void main() { float anisotropy = 0.0; vec2 anisotropy_flow = vec2(1.0, 0.0); float sss_strength = 0.0; //unused + // gl_FragDepth is not available in GLES2, so writing to DEPTH is not converted to gl_FragDepth by Godot compiler resulting in a + // compile error because DEPTH is not a variable. + float m_DEPTH = 0.0; float alpha = 1.0; float side = 1.0; diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index 4817a524f4..ec8202d92c 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -332,7 +332,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun #endif glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices); glEnableVertexAttribArray(VS::ARRAY_VERTEX); - glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Vector2) * p_vertex_count; //color #ifdef DEBUG_ENABLED @@ -350,7 +350,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors); glEnableVertexAttribArray(VS::ARRAY_COLOR); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Color) * p_vertex_count; } @@ -362,7 +362,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Vector2) * p_vertex_count; } else { @@ -378,12 +378,12 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(int) * 4 * p_vertex_count, p_bones); glEnableVertexAttribArray(VS::ARRAY_BONES); //glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, false, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs); - glVertexAttribIPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs); + glVertexAttribIPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, sizeof(int) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(int) * 4 * p_vertex_count; glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights); glEnableVertexAttribArray(VS::ARRAY_WEIGHTS); - glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, false, sizeof(float) * 4, ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, false, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(float) * 4 * p_vertex_count; } else if (state.using_skeleton) { @@ -423,7 +423,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count //vertex glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices); glEnableVertexAttribArray(VS::ARRAY_VERTEX); - glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Vector2) * p_vertex_count; //color @@ -438,7 +438,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors); glEnableVertexAttribArray(VS::ARRAY_COLOR); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Color) * p_vertex_count; } @@ -446,7 +446,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs)); buffer_ofs += sizeof(Vector2) * p_vertex_count; } else { @@ -888,17 +888,17 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur int stride = (multi_mesh->xform_floats + multi_mesh->color_floats + multi_mesh->custom_data_floats) * 4; glEnableVertexAttribArray(8); - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(0)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(4 * 4)); glVertexAttribDivisor(9, 1); int color_ofs; if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) { glEnableVertexAttribArray(10); - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 8 * 4); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(8 * 4)); glVertexAttribDivisor(10, 1); color_ofs = 12 * 4; } else { @@ -917,14 +917,14 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur } break; case VS::MULTIMESH_COLOR_8BIT: { glEnableVertexAttribArray(11); - glVertexAttribPointer(11, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, ((uint8_t *)NULL) + color_ofs); + glVertexAttribPointer(11, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs)); glVertexAttribDivisor(11, 1); custom_data_ofs += 4; } break; case VS::MULTIMESH_COLOR_FLOAT: { glEnableVertexAttribArray(11); - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + color_ofs); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs)); glVertexAttribDivisor(11, 1); custom_data_ofs += 4 * 4; } break; @@ -938,13 +938,13 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur } break; case VS::MULTIMESH_CUSTOM_DATA_8BIT: { glEnableVertexAttribArray(12); - glVertexAttribPointer(12, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, ((uint8_t *)NULL) + custom_data_ofs); + glVertexAttribPointer(12, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, CAST_INT_TO_UCHAR_PTR(custom_data_ofs)); glVertexAttribDivisor(12, 1); } break; case VS::MULTIMESH_CUSTOM_DATA_FLOAT: { glEnableVertexAttribArray(12); - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + custom_data_ofs); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(custom_data_ofs)); glVertexAttribDivisor(12, 1); } break; } @@ -1019,19 +1019,19 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur if (particles->draw_order != VS::PARTICLES_DRAW_ORDER_LIFETIME) { glEnableVertexAttribArray(8); //xform x - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 3); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 3)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); //xform y - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 4)); glVertexAttribDivisor(9, 1); glEnableVertexAttribArray(10); //xform z - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 5); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 5)); glVertexAttribDivisor(10, 1); glEnableVertexAttribArray(11); //color - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, NULL); glVertexAttribDivisor(11, 1); glEnableVertexAttribArray(12); //custom - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 2); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 2)); glVertexAttribDivisor(12, 1); glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, amount); @@ -1041,19 +1041,19 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur if (amount - split > 0) { glEnableVertexAttribArray(8); //xform x - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 3); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 3)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); //xform y - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 4)); glVertexAttribDivisor(9, 1); glEnableVertexAttribArray(10); //xform z - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 5); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 5)); glVertexAttribDivisor(10, 1); glEnableVertexAttribArray(11); //color - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + 0); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + 0)); glVertexAttribDivisor(11, 1); glEnableVertexAttribArray(12); //custom - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 2); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 2)); glVertexAttribDivisor(12, 1); glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, amount - split); @@ -1061,19 +1061,19 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur if (split > 0) { glEnableVertexAttribArray(8); //xform x - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 3); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 3)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); //xform y - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 4)); glVertexAttribDivisor(9, 1); glEnableVertexAttribArray(10); //xform z - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 5); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 5)); glVertexAttribDivisor(10, 1); glEnableVertexAttribArray(11); //color - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, NULL); glVertexAttribDivisor(11, 1); glEnableVertexAttribArray(12); //custom - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 2); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 2)); glVertexAttribDivisor(12, 1); glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, split); @@ -2043,7 +2043,7 @@ void RasterizerCanvasGLES3::initialize() { glEnableVertexAttribArray(VS::ARRAY_VERTEX); glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, (float *)0 + 2); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(2)); glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind } @@ -2080,16 +2080,16 @@ void RasterizerCanvasGLES3::initialize() { } glEnableVertexAttribArray(VS::ARRAY_VERTEX); - glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride, NULL); if (i & 1) { glEnableVertexAttribArray(VS::ARRAY_COLOR); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + color_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs)); } if (i & 2) { glEnableVertexAttribArray(VS::ARRAY_TEX_UV); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + uv_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(uv_ofs)); } glBindVertexArray(0); diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index 0c7d8c53d4..df8bd9feb0 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -1376,17 +1376,17 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo int stride = (multi_mesh->xform_floats + multi_mesh->color_floats + multi_mesh->custom_data_floats) * 4; glEnableVertexAttribArray(8); - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, NULL); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(4 * 4)); glVertexAttribDivisor(9, 1); int color_ofs; if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) { glEnableVertexAttribArray(10); - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 8 * 4); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(8 * 4)); glVertexAttribDivisor(10, 1); color_ofs = 12 * 4; } else { @@ -1405,14 +1405,14 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo } break; case VS::MULTIMESH_COLOR_8BIT: { glEnableVertexAttribArray(11); - glVertexAttribPointer(11, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, ((uint8_t *)NULL) + color_ofs); + glVertexAttribPointer(11, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs)); glVertexAttribDivisor(11, 1); custom_data_ofs += 4; } break; case VS::MULTIMESH_COLOR_FLOAT: { glEnableVertexAttribArray(11); - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + color_ofs); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs)); glVertexAttribDivisor(11, 1); custom_data_ofs += 4 * 4; } break; @@ -1426,13 +1426,13 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo } break; case VS::MULTIMESH_CUSTOM_DATA_8BIT: { glEnableVertexAttribArray(12); - glVertexAttribPointer(12, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, ((uint8_t *)NULL) + custom_data_ofs); + glVertexAttribPointer(12, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, CAST_INT_TO_UCHAR_PTR(custom_data_ofs)); glVertexAttribDivisor(12, 1); } break; case VS::MULTIMESH_CUSTOM_DATA_FLOAT: { glEnableVertexAttribArray(12); - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + custom_data_ofs); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(custom_data_ofs)); glVertexAttribDivisor(12, 1); } break; } @@ -1508,19 +1508,19 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo if (particles->draw_order != VS::PARTICLES_DRAW_ORDER_LIFETIME) { glEnableVertexAttribArray(8); //xform x - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 3); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 3)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); //xform y - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 4)); glVertexAttribDivisor(9, 1); glEnableVertexAttribArray(10); //xform z - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 5); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 5)); glVertexAttribDivisor(10, 1); glEnableVertexAttribArray(11); //color - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, NULL); glVertexAttribDivisor(11, 1); glEnableVertexAttribArray(12); //custom - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 2); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 2)); glVertexAttribDivisor(12, 1); } @@ -1659,7 +1659,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { glEnableVertexAttribArray(VS::ARRAY_NORMAL); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.normals.ptr()); - glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, false, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, false, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Vector3) * vertices; } else { @@ -1671,7 +1671,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { glEnableVertexAttribArray(VS::ARRAY_TANGENT); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Plane) * vertices, c.tangents.ptr()); - glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, false, sizeof(Plane), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, false, sizeof(Plane), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Plane) * vertices; } else { @@ -1683,7 +1683,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { glEnableVertexAttribArray(VS::ARRAY_COLOR); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Color) * vertices, c.colors.ptr()); - glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Color) * vertices; } else { @@ -1696,7 +1696,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { glEnableVertexAttribArray(VS::ARRAY_TEX_UV); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs.ptr()); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Vector2) * vertices; } else { @@ -1708,7 +1708,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { glEnableVertexAttribArray(VS::ARRAY_TEX_UV2); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs2.ptr()); - glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs)); buf_ofs += sizeof(Vector2) * vertices; } else { @@ -1718,7 +1718,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { glEnableVertexAttribArray(VS::ARRAY_VERTEX); glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.vertices.ptr()); - glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, false, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, false, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs)); glDrawArrays(gl_primitive[c.primitive], 0, c.vertices.size()); } @@ -1747,19 +1747,19 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { if (amount - split > 0) { glEnableVertexAttribArray(8); //xform x - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 3); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 3)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); //xform y - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 4)); glVertexAttribDivisor(9, 1); glEnableVertexAttribArray(10); //xform z - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 5); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 5)); glVertexAttribDivisor(10, 1); glEnableVertexAttribArray(11); //color - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + 0); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + 0)); glVertexAttribDivisor(11, 1); glEnableVertexAttribArray(12); //custom - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 2); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 2)); glVertexAttribDivisor(12, 1); #ifdef DEBUG_ENABLED @@ -1785,19 +1785,19 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { if (split > 0) { glEnableVertexAttribArray(8); //xform x - glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 3); + glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 3)); glVertexAttribDivisor(8, 1); glEnableVertexAttribArray(9); //xform y - glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 4); + glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 4)); glVertexAttribDivisor(9, 1); glEnableVertexAttribArray(10); //xform z - glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 5); + glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 5)); glVertexAttribDivisor(10, 1); glEnableVertexAttribArray(11); //color - glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0); + glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, NULL); glVertexAttribDivisor(11, 1); glEnableVertexAttribArray(12); //custom - glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 2); + glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 2)); glVertexAttribDivisor(12, 1); #ifdef DEBUG_ENABLED @@ -3170,6 +3170,7 @@ void RasterizerSceneGLES3::_fill_render_list(InstanceBase **p_cull_result, int p state.used_sss = false; state.used_screen_texture = false; state.used_depth_texture = false; + //fill list for (int i = 0; i < p_cull_count; i++) { @@ -3285,14 +3286,8 @@ void RasterizerSceneGLES3::_blur_effect_buffer() { } } -void RasterizerSceneGLES3::_render_mrts(Environment *env, const CameraMatrix &p_cam_projection) { - - glDepthMask(GL_FALSE); - glDisable(GL_DEPTH_TEST); - glDisable(GL_CULL_FACE); - glDisable(GL_BLEND); - - if (!state.used_depth_prepass_and_resolved) { +void RasterizerSceneGLES3::_prepare_depth_texture() { + if (!state.prepared_depth_texture) { //resolve depth buffer glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->buffers.fbo); glReadBuffer(GL_COLOR_ATTACHMENT0); @@ -3300,7 +3295,28 @@ void RasterizerSceneGLES3::_render_mrts(Environment *env, const CameraMatrix &p_ glBlitFramebuffer(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, 0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, GL_DEPTH_BUFFER_BIT, GL_NEAREST); glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); + state.prepared_depth_texture = true; } +} + +void RasterizerSceneGLES3::_bind_depth_texture() { + if (!state.bound_depth_texture) { + ERR_FAIL_COND(!state.prepared_depth_texture) + //bind depth for read + glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 8); + glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->depth); + state.bound_depth_texture = true; + } +} + +void RasterizerSceneGLES3::_render_mrts(Environment *env, const CameraMatrix &p_cam_projection) { + + glDepthMask(GL_FALSE); + glDisable(GL_DEPTH_TEST); + glDisable(GL_CULL_FACE); + glDisable(GL_BLEND); + + _prepare_depth_texture(); if (env->ssao_enabled || env->ssr_enabled) { @@ -3634,7 +3650,6 @@ void RasterizerSceneGLES3::_post_process(Environment *env, const CameraMatrix &p if (storage->frame.current_rt->buffers.active) { //transfer to effect buffer if using buffers, also resolve MSAA - glReadBuffer(GL_COLOR_ATTACHMENT0); glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->buffers.fbo); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, storage->frame.current_rt->effects.mip_maps[0].sizes[0].fbo); glBlitFramebuffer(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, 0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, GL_COLOR_BUFFER_BIT, GL_NEAREST); @@ -4154,7 +4169,8 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const glDepthFunc(GL_LEQUAL); state.used_contact_shadows = false; - state.used_depth_prepass_and_resolved = false; + state.prepared_depth_texture = false; + state.bound_depth_texture = false; for (int i = 0; i < p_light_cull_count; i++) { @@ -4166,7 +4182,17 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const } } - if (!storage->config.no_depth_prepass && storage->frame.current_rt && state.debug_draw != VS::VIEWPORT_DEBUG_DRAW_OVERDRAW && !storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_NO_3D_EFFECTS]) { //detect with state.used_contact_shadows too + // Do depth prepass if it's explicitly enabled + bool use_depth_prepass = storage->config.use_depth_prepass; + + // If contact shadows are used then we need to do depth prepass even if it's otherwise disabled + use_depth_prepass = use_depth_prepass || state.used_contact_shadows; + + // Never do depth prepass if effects are disabled or if we render overdraws + use_depth_prepass = use_depth_prepass && storage->frame.current_rt && !storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_NO_3D_EFFECTS]; + use_depth_prepass = use_depth_prepass && state.debug_draw != VS::VIEWPORT_DEBUG_DRAW_OVERDRAW; + + if (use_depth_prepass) { //pre z pass glDisable(GL_BLEND); @@ -4191,18 +4217,10 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const glColorMask(1, 1, 1, 1); - if (state.used_contact_shadows || state.used_depth_texture) { + if (state.used_contact_shadows) { - glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->buffers.fbo); - glReadBuffer(GL_COLOR_ATTACHMENT0); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, storage->frame.current_rt->fbo); - glBlitFramebuffer(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, 0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height, GL_DEPTH_BUFFER_BIT, GL_NEAREST); - glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - //bind depth for read - glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 8); - glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->depth); - state.used_depth_prepass_and_resolved = true; + _prepare_depth_texture(); + _bind_depth_texture(); } fb_cleared = true; @@ -4460,7 +4478,12 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const _render_mrts(env, p_cam_projection); } else { - //FIXME: check that this is possible to use + // Here we have to do the blits/resolves that otherwise are done in the MRT rendering, in particular + // - prepare screen texture for any geometry that uses a shader with screen texture + // - prepare depth texture for any geometry that uses a shader with depth texture + + bool framebuffer_dirty = false; + if (storage->frame.current_rt && storage->frame.current_rt->buffers.active && state.used_screen_texture) { glBindFramebuffer(GL_READ_FRAMEBUFFER, storage->frame.current_rt->buffers.fbo); glReadBuffer(GL_COLOR_ATTACHMENT0); @@ -4469,12 +4492,25 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); _blur_effect_buffer(); - //restored framebuffer + framebuffer_dirty = true; + } + + if (storage->frame.current_rt && storage->frame.current_rt->buffers.active && state.used_depth_texture) { + _prepare_depth_texture(); + framebuffer_dirty = true; + } + + if (framebuffer_dirty) { + // Restore framebuffer glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->buffers.fbo); glViewport(0, 0, storage->frame.current_rt->width, storage->frame.current_rt->height); } } + if (storage->frame.current_rt && state.used_depth_texture && storage->frame.current_rt->buffers.active) { + _bind_depth_texture(); + } + if (storage->frame.current_rt && state.used_screen_texture && storage->frame.current_rt->buffers.active) { glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 7); glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->effects.mip_maps[0].color); @@ -4954,7 +4990,7 @@ void RasterizerSceneGLES3::initialize() { glBindBuffer(GL_ARRAY_BUFFER, state.sky_verts); glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, 0); glEnableVertexAttribArray(VS::ARRAY_VERTEX); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, ((uint8_t *)NULL) + sizeof(Vector3)); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, CAST_INT_TO_UCHAR_PTR(sizeof(Vector3))); glEnableVertexAttribArray(VS::ARRAY_TEX_UV); glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h index 3ac5ade721..59e23e5ac9 100644 --- a/drivers/gles3/rasterizer_scene_gles3.h +++ b/drivers/gles3/rasterizer_scene_gles3.h @@ -204,9 +204,12 @@ public: bool cull_disabled; bool used_sss; bool used_screen_texture; - bool used_depth_texture; + bool used_depth_prepass; - bool used_depth_prepass_and_resolved; + + bool used_depth_texture; + bool prepared_depth_texture; + bool bound_depth_texture; VS::ViewportDebugDraw debug_draw; } state; @@ -848,6 +851,9 @@ public: void _render_mrts(Environment *env, const CameraMatrix &p_cam_projection); void _post_process(Environment *env, const CameraMatrix &p_cam_projection); + void _prepare_depth_texture(); + void _bind_depth_texture(); + virtual void render_scene(const Transform &p_cam_transform, const CameraMatrix &p_cam_projection, bool p_cam_ortogonal, InstanceBase **p_cull_result, int p_cull_count, RID *p_light_cull_result, int p_light_cull_count, RID *p_reflection_probe_cull_result, int p_reflection_probe_cull_count, RID p_environment, RID p_shadow_atlas, RID p_reflection_atlas, RID p_reflection_probe, int p_reflection_probe_pass); virtual void render_shadow(RID p_light, RID p_shadow_atlas, int p_pass, InstanceBase **p_cull_result, int p_cull_count); virtual bool free(RID p_rid); diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 1fa4eacd95..51e36c1d7e 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -3466,9 +3466,9 @@ void RasterizerStorageGLES3::mesh_add_surface(RID p_mesh, uint32_t p_format, VS: continue; if (attribs[i].integer) { - glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset); + glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset)); } else { - glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset); + glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset)); } glEnableVertexAttribArray(attribs[i].index); } @@ -3571,9 +3571,9 @@ void RasterizerStorageGLES3::mesh_add_surface(RID p_mesh, uint32_t p_format, VS: continue; if (attribs[i].integer) { - glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset); + glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset)); } else { - glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset); + glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset)); } glEnableVertexAttribArray(attribs[i].index); } @@ -3616,9 +3616,9 @@ void RasterizerStorageGLES3::mesh_add_surface(RID p_mesh, uint32_t p_format, VS: continue; if (attribs[j].integer) { - glVertexAttribIPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].stride, ((uint8_t *)0) + attribs[j].offset); + glVertexAttribIPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].stride, CAST_INT_TO_UCHAR_PTR(attribs[j].offset)); } else { - glVertexAttribPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].normalized, attribs[j].stride, ((uint8_t *)0) + attribs[j].offset); + glVertexAttribPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].normalized, attribs[j].stride, CAST_INT_TO_UCHAR_PTR(attribs[j].offset)); } glEnableVertexAttribArray(attribs[j].index); } @@ -4149,44 +4149,44 @@ void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, const float *p case VS::ARRAY_VERTEX: { if (s->format & VS::ARRAY_FLAG_USE_2D_VERTICES) { - glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 2 * 4; } else { - glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 3 * 4; } } break; case VS::ARRAY_NORMAL: { - glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 3 * 4; } break; case VS::ARRAY_TANGENT: { - glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; case VS::ARRAY_COLOR: { - glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; case VS::ARRAY_TEX_UV: { - glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 2 * 4; } break; case VS::ARRAY_TEX_UV2: { - glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 2 * 4; } break; case VS::ARRAY_BONES: { - glVertexAttribIPointer(i + 8, 4, GL_UNSIGNED_INT, stride, ((uint8_t *)0) + ofs); + glVertexAttribIPointer(i + 8, 4, GL_UNSIGNED_INT, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; case VS::ARRAY_WEIGHTS: { - glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; @@ -4219,44 +4219,44 @@ void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, const float *p case VS::ARRAY_VERTEX: { if (s->format & VS::ARRAY_FLAG_USE_2D_VERTICES) { - glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 2 * 4; } else { - glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 3 * 4; } } break; case VS::ARRAY_NORMAL: { - glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 3 * 4; } break; case VS::ARRAY_TANGENT: { - glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; case VS::ARRAY_COLOR: { - glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; case VS::ARRAY_TEX_UV: { - glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 2 * 4; } break; case VS::ARRAY_TEX_UV2: { - glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 2 * 4; } break; case VS::ARRAY_BONES: { - glVertexAttribIPointer(i, 4, GL_UNSIGNED_INT, stride, ((uint8_t *)0) + ofs); + glVertexAttribIPointer(i, 4, GL_UNSIGNED_INT, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; case VS::ARRAY_WEIGHTS: { - glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs); + glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs)); ofs += 4 * 4; } break; @@ -6080,7 +6080,7 @@ void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount) for (int j = 0; j < 6; j++) { glEnableVertexAttribArray(j); - glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, ((uint8_t *)0) + (j * 16)); + glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, CAST_INT_TO_UCHAR_PTR((j * 16))); } } @@ -6094,7 +6094,7 @@ void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount) for (int j = 0; j < 6; j++) { glEnableVertexAttribArray(j); - glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, ((uint8_t *)0) + (j * 16)); + glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, CAST_INT_TO_UCHAR_PTR(j * 16)); } particles->particle_valid_histories[i] = false; } @@ -6172,7 +6172,7 @@ void RasterizerStorageGLES3::_particles_update_histories(Particles *particles) { for (int j = 0; j < 6; j++) { glEnableVertexAttribArray(j); - glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, ((uint8_t *)0) + (j * 16)); + glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, CAST_INT_TO_UCHAR_PTR(j * 16)); } particles->particle_valid_histories[i] = false; @@ -7997,7 +7997,7 @@ void RasterizerStorageGLES3::initialize() { glBindBuffer(GL_ARRAY_BUFFER, resources.quadie); glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0); glEnableVertexAttribArray(0); - glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, ((uint8_t *)NULL) + 8); + glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(8)); glEnableVertexAttribArray(4); glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind @@ -8042,8 +8042,8 @@ void RasterizerStorageGLES3::initialize() { String renderer = (const char *)glGetString(GL_RENDERER); - config.no_depth_prepass = !bool(GLOBAL_GET("rendering/quality/depth_prepass/enable")); - if (!config.no_depth_prepass) { + config.use_depth_prepass = bool(GLOBAL_GET("rendering/quality/depth_prepass/enable")); + if (config.use_depth_prepass) { String vendors = GLOBAL_GET("rendering/quality/depth_prepass/disable_for_vendors"); Vector<String> vendor_match = vendors.split(","); @@ -8053,7 +8053,7 @@ void RasterizerStorageGLES3::initialize() { continue; if (renderer.findn(v) != -1) { - config.no_depth_prepass = true; + config.use_depth_prepass = false; } } } diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 2994bfb074..330139e179 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -103,7 +103,7 @@ public: bool keep_original_textures; - bool no_depth_prepass; + bool use_depth_prepass; bool force_vertex_shading; } config; diff --git a/editor/animation_track_editor.cpp b/editor/animation_track_editor.cpp index c561cdc249..8807a01f64 100644 --- a/editor/animation_track_editor.cpp +++ b/editor/animation_track_editor.cpp @@ -3424,6 +3424,10 @@ void AnimationTrackEditor::_animation_update() { bool same = true; + if (animation.is_null()) { + return; + } + if (track_edits.size() == animation->get_track_count()) { //check tracks are the same diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 7ee4d5b03b..0b06839ecf 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1085,6 +1085,79 @@ void CodeTextEditor::clone_lines_down() { text_editor->update(); } +void CodeTextEditor::toggle_inline_comment(const String &delimiter) { + text_editor->begin_complex_operation(); + if (text_editor->is_selection_active()) { + int begin = text_editor->get_selection_from_line(); + int end = text_editor->get_selection_to_line(); + + // End of selection ends on the first column of the last line, ignore it. + if (text_editor->get_selection_to_column() == 0) + end -= 1; + + int col_to = text_editor->get_selection_to_column(); + int cursor_pos = text_editor->cursor_get_column(); + + // Check if all lines in the selected block are commented + bool is_commented = true; + for (int i = begin; i <= end; i++) { + if (!text_editor->get_line(i).begins_with(delimiter)) { + is_commented = false; + break; + } + } + for (int i = begin; i <= end; i++) { + String line_text = text_editor->get_line(i); + + if (line_text.strip_edges().empty()) { + line_text = delimiter; + } else { + if (is_commented) { + line_text = line_text.substr(delimiter.length(), line_text.length()); + } else { + line_text = delimiter + line_text; + } + } + text_editor->set_line(i, line_text); + } + + // Adjust selection & cursor position. + int offset = (is_commented ? -1 : 1) * delimiter.length(); + int col_from = text_editor->get_selection_from_column() > 0 ? text_editor->get_selection_from_column() + offset : 0; + + if (is_commented && text_editor->cursor_get_column() == text_editor->get_line(text_editor->cursor_get_line()).length() + 1) + cursor_pos += 1; + + if (text_editor->get_selection_to_column() != 0 && col_to != text_editor->get_line(text_editor->get_selection_to_line()).length() + 1) + col_to += offset; + + if (text_editor->cursor_get_column() != 0) + cursor_pos += offset; + + text_editor->select(begin, col_from, text_editor->get_selection_to_line(), col_to); + text_editor->cursor_set_column(cursor_pos); + + } else { + int begin = text_editor->cursor_get_line(); + String line_text = text_editor->get_line(begin); + int delimiter_length = delimiter.length(); + + int col = text_editor->cursor_get_column(); + if (line_text.begins_with(delimiter)) { + line_text = line_text.substr(delimiter_length, line_text.length()); + col -= delimiter_length; + } else { + line_text = delimiter + line_text; + col += delimiter_length; + } + + text_editor->set_line(begin, line_text); + text_editor->cursor_set_column(col); + } + text_editor->end_complex_operation(); + text_editor->update(); +} + void CodeTextEditor::goto_line(int p_line) { text_editor->deselect(); text_editor->unfold_line(p_line); diff --git a/editor/code_editor.h b/editor/code_editor.h index 67e8fc9d3c..e3dbfe1ce0 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -211,6 +211,10 @@ public: void delete_lines(); void clone_lines_down(); + /// Toggle inline comment on currently selected lines, or on current line if nothing is selected, + /// by adding or removing comment delimiter + void toggle_inline_comment(const String &delimiter); + void goto_line(int p_line); void goto_line_selection(int p_line, int p_begin, int p_end); diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index f42154bd39..364c5126d7 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -204,7 +204,7 @@ void CreateDialog::add_type(const String &p_type, HashMap<String, TreeItem *> &p if (cpp_type) { String cpp_to_select_type = to_select_type; if (ScriptServer::is_global_class(to_select_type)) - cpp_to_select_type = ScriptServer::get_global_class_base(to_select_type); + cpp_to_select_type = ScriptServer::get_global_class_native_base(to_select_type); current_item_is_preferred = ClassDB::is_parent_class(p_type, preferred_search_result_type) && !ClassDB::is_parent_class(cpp_to_select_type, preferred_search_result_type); } else { current_item_is_preferred = ed.script_class_is_parent(p_type, preferred_search_result_type) && !ed.script_class_is_parent(to_select_type, preferred_search_result_type) && search_box->get_text() != to_select_type; diff --git a/editor/dependency_editor.cpp b/editor/dependency_editor.cpp index f559eb6cb2..5c35a91fea 100644 --- a/editor/dependency_editor.cpp +++ b/editor/dependency_editor.cpp @@ -496,14 +496,28 @@ void DependencyRemoveDialog::ok_pressed() { res->set_path(""); } - // If the file we are deleting is the main scene or default environment, clear its definition. + // If the file we are deleting for e.g. the main scene or default environment, we must clear its definition in Project Settings. + if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/config/icon")) { + ProjectSettings::get_singleton()->set("application/config/icon", ""); + } if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/run/main_scene")) { ProjectSettings::get_singleton()->set("application/run/main_scene", ""); } - + if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/boot_splash/image")) { + ProjectSettings::get_singleton()->set("application/boot_splash/image", ""); + } if (files_to_delete[i] == ProjectSettings::get_singleton()->get("rendering/environment/default_environment")) { ProjectSettings::get_singleton()->set("rendering/environment/default_environment", ""); } + if (files_to_delete[i] == ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) { + ProjectSettings::get_singleton()->set("display/mouse_cursor/custom_image", ""); + } + if (files_to_delete[i] == ProjectSettings::get_singleton()->get("gui/theme/custom")) { + ProjectSettings::get_singleton()->set("gui/theme/custom", ""); + } + if (files_to_delete[i] == ProjectSettings::get_singleton()->get("gui/theme/custom_font")) { + ProjectSettings::get_singleton()->set("gui/theme/custom_font", ""); + } String path = OS::get_singleton()->get_resource_dir() + files_to_delete[i].replace_first("res://", "/"); print_verbose("Moving to trash: " + path); diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index b87b80dafd..f61a831015 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -895,7 +895,7 @@ StringName EditorData::script_class_get_base(const String &p_class) const { Object *EditorData::script_class_instance(const String &p_class) { if (ScriptServer::is_global_class(p_class)) { - Object *obj = ClassDB::instance(ScriptServer::get_global_class_base(p_class)); + Object *obj = ClassDB::instance(ScriptServer::get_global_class_native_base(p_class)); if (obj) { RES script = ResourceLoader::load(ScriptServer::get_global_class_path(p_class)); if (script.is_valid()) diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h index 1b9b5f9812..edaccac51d 100644 --- a/editor/editor_file_dialog.h +++ b/editor/editor_file_dialog.h @@ -124,7 +124,6 @@ private: ToolButton *fav_up; ToolButton *fav_down; - ToolButton *fav_rm; ItemList *favorites; ItemList *recent; diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index e0acc5cd70..e0a2bbf477 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -48,11 +48,12 @@ void EditorHelp::_init_colors() { text_color = get_color("default_color", "RichTextLabel"); headline_color = get_color("headline_color", "EditorHelp"); base_type_color = title_color.linear_interpolate(text_color, 0.5); - comment_color = Color(text_color.r, text_color.g, text_color.b, 0.6); + comment_color = text_color * Color(1, 1, 1, 0.6); symbol_color = comment_color; - value_color = Color(text_color.r, text_color.g, text_color.b, 0.4); - qualifier_color = Color(text_color.r, text_color.g, text_color.b, 0.8); + value_color = text_color * Color(1, 1, 1, 0.4); + qualifier_color = text_color * Color(1, 1, 1, 0.8); type_color = get_color("accent_color", "Editor").linear_interpolate(text_color, 0.5); + class_desc->add_color_override("selection_color", get_color("accent_color", "Editor") * Color(1, 1, 1, 0.4)); } void EditorHelp::_unhandled_key_input(const Ref<InputEvent> &p_ev) { @@ -96,8 +97,8 @@ void EditorHelp::_class_desc_select(const String &p_select) { emit_signal("go_to_help", "class_name:" + p_select.substr(1, p_select.length())); return; } else if (p_select.begins_with("@")) { - String tag = p_select.substr(1, 6); - String link = p_select.substr(7, p_select.length()); + String tag = p_select.substr(1, 8).rstrip(" "); + String link = p_select.substr(9, p_select.length()); String topic; Map<String, int> *table = NULL; @@ -108,24 +109,50 @@ void EditorHelp::_class_desc_select(const String &p_select) { } else if (tag == "member") { topic = "class_property"; table = &this->property_line; - } else if (tag == "enum ") { + } else if (tag == "enum") { topic = "class_enum"; table = &this->enum_line; } else if (tag == "signal") { topic = "class_signal"; table = &this->signal_line; + } else if (tag == "constant") { + topic = "class_constant"; + table = &this->constant_line; } else { return; } if (link.find(".") != -1) { - emit_signal("go_to_help", topic + ":" + link.get_slice(".", 0) + ":" + link.get_slice(".", 1)); } else { - - if (!table->has(link)) - return; - class_desc->scroll_to_line((*table)[link]); + if (table->has(link)) { + // Found in the current page + class_desc->scroll_to_line((*table)[link]); + } else { + if (topic == "class_enum") { + // Try to find the enum in @GlobalScope + const DocData::ClassDoc &cd = doc->class_list["@GlobalScope"]; + + for (int i = 0; i < cd.constants.size(); i++) { + if (cd.constants[i].enumeration == link) { + // Found in @GlobalScope + emit_signal("go_to_help", topic + ":@GlobalScope:" + link); + break; + } + } + } else if (topic == "class_constant") { + // Try to find the constant in @GlobalScope + const DocData::ClassDoc &cd = doc->class_list["@GlobalScope"]; + + for (int i = 0; i < cd.constants.size(); i++) { + if (cd.constants[i].name == link) { + // Found in @GlobalScope + emit_signal("go_to_help", topic + ":@GlobalScope:" + link); + break; + } + } + } + } } } else if (p_select.begins_with("http")) { OS::get_singleton()->shell_open(p_select); @@ -733,6 +760,9 @@ void EditorHelp::_update_doc() { if (cd.name == "@GlobalScope") enumValuesContainer[enum_list[i].name] = enumStartingLine; + // Add the enum constant line to the constant_line map so we can locate it as a constant + constant_line[enum_list[i].name] = class_desc->get_line_count() - 2; + class_desc->push_font(doc_code_font); class_desc->push_color(headline_color); _add_text(enum_list[i].name); @@ -1160,10 +1190,10 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { p_rt->add_text("["); pos = brk_pos + 1; - } else if (tag.begins_with("method ") || tag.begins_with("member ") || tag.begins_with("signal ") || tag.begins_with("enum ")) { + } else if (tag.begins_with("method ") || tag.begins_with("member ") || tag.begins_with("signal ") || tag.begins_with("enum ") || tag.begins_with("constant ")) { String link_target = tag.substr(tag.find(" ") + 1, tag.length()); - String link_tag = tag.substr(0, tag.find(" ")).rpad(6); + String link_tag = tag.substr(0, tag.find(" ")).rpad(8); p_rt->push_color(link_color); p_rt->push_meta("@" + link_tag + link_target); p_rt->add_text(link_target + (tag.begins_with("method ") ? "()" : "")); @@ -1340,19 +1370,11 @@ void EditorHelp::_notification(int p_what) { switch (p_what) { - case NOTIFICATION_READY: { - - _update_doc(); - - } break; - + case NOTIFICATION_READY: case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { - - class_desc->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color")); _update_doc(); } break; - default: break; } } @@ -1426,7 +1448,7 @@ EditorHelp::EditorHelp() { class_desc = memnew(RichTextLabel); add_child(class_desc); class_desc->set_v_size_flags(SIZE_EXPAND_FILL); - class_desc->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color")); + class_desc->add_color_override("selection_color", get_color("accent_color", "Editor") * Color(1, 1, 1, 0.4)); class_desc->connect("meta_clicked", this, "_class_desc_select"); class_desc->connect("gui_input", this, "_class_desc_input"); @@ -1491,7 +1513,7 @@ void EditorHelpBit::_notification(int p_what) { switch (p_what) { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { - rich_text->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color")); + rich_text->add_color_override("selection_color", get_color("accent_color", "Editor") * Color(1, 1, 1, 0.4)); } break; default: break; @@ -1509,7 +1531,7 @@ EditorHelpBit::EditorHelpBit() { rich_text = memnew(RichTextLabel); add_child(rich_text); rich_text->connect("meta_clicked", this, "_meta_clicked"); - rich_text->add_color_override("selection_color", EditorSettings::get_singleton()->get("text_editor/theme/selection_color")); + rich_text->add_color_override("selection_color", get_color("accent_color", "Editor") * Color(1, 1, 1, 0.4)); rich_text->set_override_selected_font_color(false); set_custom_minimum_size(Size2(0, 70 * EDSCALE)); } diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f0c9e87b76..6c629c1869 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -81,6 +81,7 @@ #include "editor/plugins/collision_polygon_2d_editor_plugin.h" #include "editor/plugins/collision_polygon_editor_plugin.h" #include "editor/plugins/collision_shape_2d_editor_plugin.h" +#include "editor/plugins/cpu_particles_2d_editor_plugin.h" #include "editor/plugins/cpu_particles_editor_plugin.h" #include "editor/plugins/curve_editor_plugin.h" #include "editor/plugins/editor_preview_plugins.h" @@ -136,10 +137,10 @@ void EditorNode::_update_scene_tabs() { Ref<Texture> script_icon = gui_base->get_icon("Script", "EditorIcons"); for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { - String type = editor_data.get_scene_type(i); + Node *type_node = editor_data.get_edited_scene_root(i); Ref<Texture> icon; - if (type != String()) { - icon = get_class_icon(type, "Node"); + if (type_node) { + icon = EditorNode::get_singleton()->get_object_icon(type_node, "Node"); } int current = editor_data.get_edited_scene(); @@ -1899,7 +1900,8 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { break; } - } // fallthrough + FALLTHROUGH; + } case SCENE_TAB_CLOSE: case FILE_SAVE_SCENE: { @@ -1918,8 +1920,8 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { break; } - // fallthrough to save_as - }; + FALLTHROUGH; + } case FILE_SAVE_AS_SCENE: { int scene_idx = (p_option == FILE_SAVE_SCENE || p_option == FILE_SAVE_AS_SCENE) ? -1 : tab_closing; @@ -3350,12 +3352,30 @@ Ref<Texture> EditorNode::get_class_icon(const String &p_class, const String &p_f if (ScriptServer::is_global_class(p_class)) { String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(p_class); RES icon; + if (FileAccess::exists(icon_path)) { icon = ResourceLoader::load(icon_path); + if (icon.is_valid()) + return icon; + } + + Ref<Script> script = ResourceLoader::load(ScriptServer::get_global_class_path(p_class), "Script"); + + while (script.is_valid()) { + String current_icon_path; + script->get_language()->get_global_class_name(script->get_path(), NULL, ¤t_icon_path); + if (FileAccess::exists(current_icon_path)) { + RES texture = ResourceLoader::load(current_icon_path); + if (texture.is_valid()) + return texture; + } + script = script->get_base_script(); } - if (!icon.is_valid()) { + + if (icon.is_null()) { icon = gui_base->get_icon(ScriptServer::get_global_class_base(p_class), "EditorIcons"); } + return icon; } @@ -4232,7 +4252,13 @@ bool EditorNode::are_bottom_panels_hidden() const { void EditorNode::hide_bottom_panel() { - _bottom_panel_switch(false, 0); + for (int i = 0; i < bottom_panel_items.size(); i++) { + + if (bottom_panel_items[i].control->is_visible()) { + _bottom_panel_switch(false, i); + break; + } + } } void EditorNode::make_bottom_panel_item_visible(Control *p_item) { @@ -4269,7 +4295,7 @@ void EditorNode::remove_bottom_panel_item(Control *p_item) { if (bottom_panel_items[i].control == p_item) { if (p_item->is_visible_in_tree()) { - _bottom_panel_switch(false, 0); + _bottom_panel_switch(false, i); } bottom_panel_vb->remove_child(bottom_panel_items[i].control); bottom_panel_hb_editors->remove_child(bottom_panel_items[i].button); @@ -4289,6 +4315,10 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) { ERR_FAIL_INDEX(p_idx, bottom_panel_items.size()); + if (bottom_panel_items[p_idx].control->is_visible() == p_enable) { + return; + } + if (p_enable) { for (int i = 0; i < bottom_panel_items.size(); i++) { @@ -4309,11 +4339,8 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) { } else { bottom_panel->add_style_override("panel", gui_base->get_stylebox("panel", "TabContainer")); - for (int i = 0; i < bottom_panel_items.size(); i++) { - - bottom_panel_items[i].button->set_pressed(false); - bottom_panel_items[i].control->set_visible(false); - } + bottom_panel_items[p_idx].button->set_pressed(false); + bottom_panel_items[p_idx].control->set_visible(false); center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN); center_split->set_collapsed(true); bottom_panel_raise->hide(); @@ -5888,6 +5915,7 @@ EditorNode::EditorNode() { add_editor_plugin(memnew(SpriteEditorPlugin(this))); add_editor_plugin(memnew(Skeleton2DEditorPlugin(this))); add_editor_plugin(memnew(ParticlesEditorPlugin(this))); + add_editor_plugin(memnew(CPUParticles2DEditorPlugin(this))); add_editor_plugin(memnew(CPUParticlesEditorPlugin(this))); add_editor_plugin(memnew(ResourcePreloaderEditorPlugin(this))); add_editor_plugin(memnew(ItemListEditorPlugin(this))); diff --git a/editor/editor_plugin.cpp b/editor/editor_plugin.cpp index c2493729a3..8af4ee8017 100644 --- a/editor/editor_plugin.cpp +++ b/editor/editor_plugin.cpp @@ -240,6 +240,10 @@ bool EditorInterface::is_plugin_enabled(const String &p_plugin) const { return EditorNode::get_singleton()->is_addon_plugin_enabled(p_plugin); } +EditorInspector *EditorInterface::get_inspector() const { + return EditorNode::get_singleton()->get_inspector(); +} + Error EditorInterface::save_scene() { if (!get_edited_scene_root()) return ERR_CANT_CREATE; @@ -279,6 +283,8 @@ void EditorInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("set_plugin_enabled", "plugin", "enabled"), &EditorInterface::set_plugin_enabled); ClassDB::bind_method(D_METHOD("is_plugin_enabled", "plugin"), &EditorInterface::is_plugin_enabled); + ClassDB::bind_method(D_METHOD("get_inspector"), &EditorInterface::get_inspector); + ClassDB::bind_method(D_METHOD("save_scene"), &EditorInterface::save_scene); ClassDB::bind_method(D_METHOD("save_scene_as", "path", "with_preview"), &EditorInterface::save_scene_as, DEFVAL(true)); } diff --git a/editor/editor_plugin.h b/editor/editor_plugin.h index 3e41bb5612..2fcc487377 100644 --- a/editor/editor_plugin.h +++ b/editor/editor_plugin.h @@ -95,6 +95,8 @@ public: void set_plugin_enabled(const String &p_plugin, bool p_enabled); bool is_plugin_enabled(const String &p_plugin) const; + EditorInspector *get_inspector() const; + Error save_scene(); void save_scene_as(const String &p_scene, bool p_with_preview = true); diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 4f32fc7ac4..c13a4a5a5e 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -1982,6 +1982,8 @@ void EditorPropertyResource::_file_selected(const String &p_path) { RES res = ResourceLoader::load(p_path); + ERR_FAIL_COND(res.is_null()); + List<PropertyInfo> prop_list; get_edited_object()->get_property_list(&prop_list); String property_types; @@ -2190,7 +2192,7 @@ void EditorPropertyResource::_menu_option(int p_which) { Object *obj = NULL; if (ScriptServer::is_global_class(intype)) { - obj = ClassDB::instance(ScriptServer::get_global_class_base(intype)); + obj = ClassDB::instance(ScriptServer::get_global_class_native_base(intype)); if (obj) { Ref<Script> script = ResourceLoader::load(ScriptServer::get_global_class_path(intype)); if (script.is_valid()) { @@ -2540,6 +2542,7 @@ void EditorPropertyResource::update_property() { sub_inspector->edit(res.ptr()); } + sub_inspector->refresh(); } else { if (sub_inspector) { set_bottom_editor(NULL); diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp index 9345ea6b6f..173333dac9 100644 --- a/editor/editor_resource_preview.cpp +++ b/editor/editor_resource_preview.cpp @@ -188,6 +188,7 @@ void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref< void EditorResourcePreview::_thread() { +#ifndef SERVER_ENABLED while (!exit) { preview_sem->wait(); @@ -313,7 +314,7 @@ void EditorResourcePreview::_thread() { preview_mutex->unlock(); } } - +#endif exited = true; } diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 8d590e5268..5c257b86db 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -336,9 +336,9 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("interface/theme/icon_and_font_color", 0); hints["interface/theme/icon_and_font_color"] = PropertyInfo(Variant::INT, "interface/theme/icon_and_font_color", PROPERTY_HINT_ENUM, "Auto,Dark,Light", PROPERTY_USAGE_DEFAULT); _initial_set("interface/theme/base_color", Color::html("#323b4f")); - hints["interface/theme/accent_color"] = PropertyInfo(Variant::COLOR, "interface/theme/accent_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT); - _initial_set("interface/theme/accent_color", Color::html("#699ce8")); hints["interface/theme/base_color"] = PropertyInfo(Variant::COLOR, "interface/theme/base_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT); + _initial_set("interface/theme/accent_color", Color::html("#699ce8")); + hints["interface/theme/accent_color"] = PropertyInfo(Variant::COLOR, "interface/theme/accent_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT); _initial_set("interface/theme/contrast", 0.25); hints["interface/theme/contrast"] = PropertyInfo(Variant::REAL, "interface/theme/contrast", PROPERTY_HINT_RANGE, "0.01, 1, 0.01"); _initial_set("interface/theme/relationship_line_opacity", 0.1); @@ -407,7 +407,6 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("text_editor/theme/color_theme", "Adaptive"); hints["text_editor/theme/color_theme"] = PropertyInfo(Variant::STRING, "text_editor/theme/color_theme", PROPERTY_HINT_ENUM, "Adaptive,Default,Custom"); _initial_set("text_editor/theme/line_spacing", 6); - _initial_set("text_editor/theme/selection_color", Color::html("40808080")); _load_default_text_editor_theme(); @@ -635,7 +634,7 @@ void EditorSettings::_load_default_text_editor_theme() { _initial_set("text_editor/highlighting/caret_color", Color::html("aaaaaa")); _initial_set("text_editor/highlighting/caret_background_color", Color::html("000000")); _initial_set("text_editor/highlighting/text_selected_color", Color::html("000000")); - _initial_set("text_editor/highlighting/selection_color", Color::html("6ca9c2")); + _initial_set("text_editor/highlighting/selection_color", Color::html("5a699ce8")); _initial_set("text_editor/highlighting/brace_mismatch_color", Color(1, 0.2, 0.2)); _initial_set("text_editor/highlighting/current_line_color", Color(0.3, 0.5, 0.8, 0.15)); _initial_set("text_editor/highlighting/line_length_guideline_color", Color(0.3, 0.5, 0.8, 0.1)); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index c05db2571b..c930824b98 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -329,7 +329,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const Color font_color = mono_color.linear_interpolate(base_color, 0.25); const Color font_color_hl = mono_color.linear_interpolate(base_color, 0.15); const Color font_color_disabled = Color(mono_color.r, mono_color.g, mono_color.b, 0.3); - const Color font_color_selection = Color::html("#7d7d7d"); + const Color font_color_selection = accent_color * Color(1, 1, 1, 0.4); const Color color_disabled = mono_color.inverted().linear_interpolate(base_color, 0.7); const Color color_disabled_bg = mono_color.inverted().linear_interpolate(base_color, 0.9); @@ -821,6 +821,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("read_only", "LineEdit", style_widget_disabled); theme->set_color("read_only", "LineEdit", font_color_disabled); theme->set_color("font_color", "LineEdit", font_color); + theme->set_color("font_color_selected", "LineEdit", mono_color); theme->set_color("cursor_color", "LineEdit", font_color); theme->set_color("selection_color", "LineEdit", font_color_selection); theme->set_color("clear_button_color", "LineEdit", font_color); @@ -1105,7 +1106,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { const Color caret_color = mono_color; const Color caret_background_color = mono_color.inverted(); const Color text_selected_color = dark_color_3; - const Color selection_color = alpha2; + const Color selection_color = accent_color * Color(1, 1, 1, 0.35); const Color brace_mismatch_color = error_color; const Color current_line_color = alpha1; const Color line_length_guideline_color = dark_theme ? base_color : background_color; diff --git a/editor/icons/icon_issue.svg b/editor/icons/icon_issue.svg new file mode 100644 index 0000000000..73e21a9b68 --- /dev/null +++ b/editor/icons/icon_issue.svg @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + version="1.1" + viewBox="0 0 16 16" + id="svg6" + sodipodi:docname="icon_issue.svg" + inkscape:version="0.92.3 (2405546, 2018-03-11)"> + <metadata + id="metadata12"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs10" /> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2242" + inkscape:window-height="1224" + id="namedview8" + showgrid="false" + inkscape:zoom="29.5" + inkscape:cx="0.93716338" + inkscape:cy="15.746557" + inkscape:window-x="134" + inkscape:window-y="55" + inkscape:window-maximized="0" + inkscape:current-layer="svg6" /> + <g + transform="translate(0 -1036.4)" + id="g4" /> + <g + aria-label="!" + transform="matrix(1.2172834,0,0,0.60107067,0.478728,1.8392137)" + style="font-style:normal;font-weight:normal;font-size:19.68510056px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:0.92273909" + id="text3719"> + <path + d="M 5.2902433,14.98657 H 7.241452 v 2.441414 H 5.2902433 Z m 0,-11.909101 H 7.241452 V 9.3732409 L 7.0492147,12.804677 H 5.4920925 L 5.2902433,9.3732409 Z" + style="fill:#e0e0e0;fill-opacity:1;stroke-width:0.92273909" + id="path10" + inkscape:connector-curvature="0" /> + </g> + <path + style="fill:#e0e0e0;fill-opacity:1;stroke-width:0.88671917" + d="M 8.0503291,1.1522775 A 6.8983747,6.8983747 0 0 0 1.1522775,8.0503291 6.8983747,6.8983747 0 0 0 8.0503291,14.950113 6.8983747,6.8983747 0 0 0 14.950113,8.0503291 6.8983747,6.8983747 0 0 0 8.0503291,1.1522775 Z M 8.0208873,2.2953139 A 5.6659852,5.6659852 0 0 1 13.687577,7.9602717 5.6659852,5.6659852 0 0 1 8.0208873,13.626961 5.6659852,5.6659852 0 0 1 2.3541977,7.9602717 5.6659852,5.6659852 0 0 1 8.0208873,2.2953139 Z" + id="path4526" + inkscape:connector-curvature="0" /> +</svg> diff --git a/editor/import/editor_scene_importer_gltf.cpp b/editor/import/editor_scene_importer_gltf.cpp index 7032146229..e6e29df133 100644 --- a/editor/import/editor_scene_importer_gltf.cpp +++ b/editor/import/editor_scene_importer_gltf.cpp @@ -237,8 +237,7 @@ Error EditorSceneImporterGLTF::_parse_nodes(GLTFState &state) { node->scale = _arr_to_vec3(n["scale"]); } - node->xform.basis = Basis(node->rotation); - node->xform.basis.scale(node->scale); + node->xform.basis.set_quat_scale(node->rotation, node->scale); node->xform.origin = node->translation; } @@ -1698,6 +1697,22 @@ void EditorSceneImporterGLTF::_assign_scene_names(GLTFState &state) { } } +void EditorSceneImporterGLTF::_reparent_skeleton(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, Node *p_parent_node) { + //reparent skeletons to proper place + Vector<int> nodes = state.skeleton_nodes[p_node]; + for (int i = 0; i < nodes.size(); i++) { + Skeleton *skeleton = skeletons[nodes[i]]; + Node *owner = skeleton->get_owner(); + skeleton->get_parent()->remove_child(skeleton); + p_parent_node->add_child(skeleton); + skeleton->set_owner(owner); + //may have meshes as children, set owner in them too + for (int j = 0; j < skeleton->get_child_count(); j++) { + skeleton->get_child(j)->set_owner(owner); + } + } +} + void EditorSceneImporterGLTF::_generate_node(GLTFState &state, int p_node, Node *p_parent, Node *p_owner, Vector<Skeleton *> &skeletons) { ERR_FAIL_INDEX(p_node, state.nodes.size()); @@ -1769,24 +1784,17 @@ void EditorSceneImporterGLTF::_generate_node(GLTFState &state, int p_node, Node _generate_node(state, n->children[i], node, p_owner, skeletons); } } + + if (state.skeleton_nodes.has(p_node)) { + _reparent_skeleton(state, p_node, skeletons, node); + } } void EditorSceneImporterGLTF::_generate_bone(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, Node *p_parent_node) { ERR_FAIL_INDEX(p_node, state.nodes.size()); if (state.skeleton_nodes.has(p_node)) { - //reparent skeletons to proper place - Vector<int> nodes = state.skeleton_nodes[p_node]; - for (int i = 0; i < nodes.size(); i++) { - Node *owner = skeletons[i]->get_owner(); - skeletons[i]->get_parent()->remove_child(skeletons[i]); - p_parent_node->add_child(skeletons[i]); - skeletons[i]->set_owner(owner); - //may have meshes as children, set owner in them too - for (int j = 0; j < skeletons[i]->get_child_count(); j++) { - skeletons[i]->get_child(j)->set_owner(owner); - } - } + _reparent_skeleton(state, p_node, skeletons, p_parent_node); } GLTFNode *n = state.nodes[p_node]; diff --git a/editor/import/editor_scene_importer_gltf.h b/editor/import/editor_scene_importer_gltf.h index 0dff45abaf..ebf20e122a 100644 --- a/editor/import/editor_scene_importer_gltf.h +++ b/editor/import/editor_scene_importer_gltf.h @@ -310,6 +310,7 @@ class EditorSceneImporterGLTF : public EditorSceneImporter { Vector<Basis> _decode_accessor_as_basis(GLTFState &state, int p_accessor, bool p_for_vertex); Vector<Transform> _decode_accessor_as_xform(GLTFState &state, int p_accessor, bool p_for_vertex); + void _reparent_skeleton(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, Node *p_parent_node); void _generate_bone(GLTFState &state, int p_node, Vector<Skeleton *> &skeletons, Node *p_parent_node); void _generate_node(GLTFState &state, int p_node, Node *p_parent, Node *p_owner, Vector<Skeleton *> &skeletons); void _import_animation(GLTFState &state, AnimationPlayer *ap, int index, int bake_fps, Vector<Skeleton *> skeletons); diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index 5eb1d2ec6c..fb2e3c0401 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -942,6 +942,7 @@ void ResourceImporterScene::_make_external_resources(Node *p_node, const String old_anim->copy_track(i, anim); } } + anim->set_loop(old_anim->has_loop()); } } diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 28f786e99a..4a4e7f25b8 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -638,6 +638,13 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl const Color modulate = vertex == active_point ? Color(0.5, 1, 2) : Color(1, 1, 1); p_overlay->draw_texture(handle, point - handle->get_size() * 0.5, modulate); + + if (vertex == hover_point) { + Ref<Font> font = get_font("font", "Label"); + String num = String::num(vertex.vertex); + Size2 num_size = font->get_string_size(num); + p_overlay->draw_string(font, point - num_size * 0.5, num, Color(1.0, 1.0, 1.0, 0.5)); + } } } diff --git a/editor/plugins/asset_library_editor_plugin.cpp b/editor/plugins/asset_library_editor_plugin.cpp index a9e9607bc5..6d2cdfc583 100644 --- a/editor/plugins/asset_library_editor_plugin.cpp +++ b/editor/plugins/asset_library_editor_plugin.cpp @@ -818,7 +818,7 @@ void EditorAssetLibrary::_image_request_completed(int p_status, int p_code, cons _image_update(p_code == HTTPClient::RESPONSE_NOT_MODIFIED, true, p_data, p_queue_id); } else { - // WARN_PRINTS("Error getting image file from URL: " + image_queue[p_queue_id].image_url); + WARN_PRINTS("Error getting image file from URL: " + image_queue[p_queue_id].image_url); Object *obj = ObjectDB::get_instance(image_queue[p_queue_id].target); if (obj) { obj->call("set_image", image_queue[p_queue_id].image_type, image_queue[p_queue_id].image_index, get_icon("DefaultProjectIcon", "EditorIcons")); diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index ac05b03ed2..11eec528c7 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -2261,6 +2261,7 @@ void CanvasItemEditor::_gui_input_viewport(const Ref<InputEvent> &p_event) { break; case DRAG_PAN: c = CURSOR_DRAG; + break; default: break; } @@ -2597,6 +2598,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) { case DRAG_TOP_LEFT: case DRAG_BOTTOM_LEFT: _draw_margin_at_position(control->get_size().width, parent_transform.xform(Vector2((node_pos_in_parent[0] + node_pos_in_parent[2]) / 2, node_pos_in_parent[3])) + Vector2(0, 5), MARGIN_BOTTOM); + FALLTHROUGH; case DRAG_MOVE: start = Vector2(node_pos_in_parent[0], Math::lerp(node_pos_in_parent[1], node_pos_in_parent[3], ratio)); end = start - Vector2(control->get_margin(MARGIN_LEFT), 0); @@ -2611,6 +2613,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) { case DRAG_TOP_RIGHT: case DRAG_BOTTOM_RIGHT: _draw_margin_at_position(control->get_size().width, parent_transform.xform(Vector2((node_pos_in_parent[0] + node_pos_in_parent[2]) / 2, node_pos_in_parent[3])) + Vector2(0, 5), MARGIN_BOTTOM); + FALLTHROUGH; case DRAG_MOVE: start = Vector2(node_pos_in_parent[2], Math::lerp(node_pos_in_parent[3], node_pos_in_parent[1], ratio)); end = start - Vector2(control->get_margin(MARGIN_RIGHT), 0); @@ -2625,6 +2628,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) { case DRAG_TOP_LEFT: case DRAG_TOP_RIGHT: _draw_margin_at_position(control->get_size().height, parent_transform.xform(Vector2(node_pos_in_parent[2], (node_pos_in_parent[1] + node_pos_in_parent[3]) / 2)) + Vector2(5, 0), MARGIN_RIGHT); + FALLTHROUGH; case DRAG_MOVE: start = Vector2(Math::lerp(node_pos_in_parent[0], node_pos_in_parent[2], ratio), node_pos_in_parent[1]); end = start - Vector2(0, control->get_margin(MARGIN_TOP)); @@ -2639,6 +2643,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) { case DRAG_BOTTOM_LEFT: case DRAG_BOTTOM_RIGHT: _draw_margin_at_position(control->get_size().height, parent_transform.xform(Vector2(node_pos_in_parent[2], (node_pos_in_parent[1] + node_pos_in_parent[3]) / 2) + Vector2(5, 0)), MARGIN_RIGHT); + FALLTHROUGH; case DRAG_MOVE: start = Vector2(Math::lerp(node_pos_in_parent[2], node_pos_in_parent[0], ratio), node_pos_in_parent[3]); end = start - Vector2(0, control->get_margin(MARGIN_BOTTOM)); @@ -2828,13 +2833,20 @@ void CanvasItemEditor::_draw_selection() { Point2 bsfrom = transform.xform(drag_from); Point2 bsto = transform.xform(box_selecting_to); - VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(bsfrom, bsto - bsfrom), Color(0.7, 0.7, 1.0, 0.3)); + VisualServer::get_singleton()->canvas_item_add_rect( + ci, + Rect2(bsfrom, bsto - bsfrom), + get_color("accent_color", "Editor") * Color(1, 1, 1, 0.375)); } - Color rotate_color(0.4, 0.7, 1.0, 0.8); if (drag_type == DRAG_ROTATE) { // Draw the line when rotating a node - viewport->draw_line(transform.xform(drag_rotation_center), transform.xform(drag_to), rotate_color); + viewport->draw_line( + transform.xform(drag_rotation_center), + transform.xform(drag_to), + get_color("accent_color", "Editor") * Color(1, 1, 1, 0.6), + Math::round(2 * EDSCALE), + true); } } @@ -4144,6 +4156,14 @@ void CanvasItemEditor::_popup_callback(int p_op) { _focus_selection(p_op); } break; + case PREVIEW_CANVAS_SCALE: { + + bool preview = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(PREVIEW_CANVAS_SCALE)); + preview = !preview; + VS::get_singleton()->canvas_set_disable_scale(!preview); + view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(PREVIEW_CANVAS_SCALE), preview); + + } break; case SKELETON_MAKE_BONES: { Map<Node *, Object *> &selection = editor_selection->get_selection(); @@ -4162,6 +4182,7 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!skeleton_show_bones) skeleton_menu->get_popup()->activate_item(skeleton_menu->get_popup()->get_item_index(SKELETON_SHOW_BONES)); } + _queue_update_bone_list(); viewport->update(); } break; @@ -4181,6 +4202,7 @@ void CanvasItemEditor::_popup_callback(int p_op) { if (!skeleton_show_bones) skeleton_menu->get_popup()->activate_item(skeleton_menu->get_popup()->get_item_index(SKELETON_SHOW_BONES)); } + _queue_update_bone_list(); viewport->update(); } break; @@ -4817,6 +4839,8 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { p->add_separator(); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/center_selection", TTR("Center Selection"), KEY_F), VIEW_CENTER_TO_SELECTION); p->add_shortcut(ED_SHORTCUT("canvas_item_editor/frame_selection", TTR("Frame Selection"), KEY_MASK_SHIFT | KEY_F), VIEW_FRAME_TO_SELECTION); + p->add_separator(); + p->add_check_shortcut(ED_SHORTCUT("canvas_item_editor/preview_canvas_scale", TTR("Preview Canvas Scale"), KEY_MASK_SHIFT | KEY_MASK_CMD | KEY_P), PREVIEW_CANVAS_SCALE); presets_menu = memnew(MenuButton); presets_menu->set_text(TTR("Layout")); @@ -4922,7 +4946,6 @@ void CanvasItemEditorPlugin::make_visible(bool p_visible) { canvas_item_editor->show(); canvas_item_editor->set_physics_process(true); VisualServer::get_singleton()->viewport_set_hide_canvas(editor->get_scene_root()->get_viewport_rid(), false); - canvas_item_editor->viewport->grab_focus(); } else { @@ -5415,6 +5438,7 @@ CanvasItemEditorViewport::CanvasItemEditorViewport(EditorNode *p_node, CanvasIte label_desc->add_constant_override("line_spacing", 0); label_desc->hide(); editor->get_gui_base()->add_child(label_desc); + VS::get_singleton()->canvas_set_disable_scale(true); } CanvasItemEditorViewport::~CanvasItemEditorViewport() { diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index 7b6563944e..4d8c0282fd 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -171,6 +171,7 @@ private: ANIM_CLEAR_POSE, VIEW_CENTER_TO_SELECTION, VIEW_FRAME_TO_SELECTION, + PREVIEW_CANVAS_SCALE, SKELETON_MAKE_BONES, SKELETON_CLEAR_BONES, SKELETON_SHOW_BONES, diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.cpp b/editor/plugins/cpu_particles_2d_editor_plugin.cpp new file mode 100644 index 0000000000..559558cdb8 --- /dev/null +++ b/editor/plugins/cpu_particles_2d_editor_plugin.cpp @@ -0,0 +1,307 @@ +/*************************************************************************/ +/* cpu_particles_2d_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2019 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 "cpu_particles_2d_editor_plugin.h" + +#include "canvas_item_editor_plugin.h" +#include "core/io/image_loader.h" +#include "scene/2d/cpu_particles_2d.h" +#include "scene/gui/separator.h" +#include "scene/resources/particles_material.h" + +void CPUParticles2DEditorPlugin::edit(Object *p_object) { + + particles = Object::cast_to<CPUParticles2D>(p_object); +} + +bool CPUParticles2DEditorPlugin::handles(Object *p_object) const { + + return p_object->is_class("CPUParticles2D"); +} + +void CPUParticles2DEditorPlugin::make_visible(bool p_visible) { + + if (p_visible) { + + toolbar->show(); + } else { + + toolbar->hide(); + } +} + +void CPUParticles2DEditorPlugin::_file_selected(const String &p_file) { + + source_emission_file = p_file; + emission_mask->popup_centered_minsize(); +} + +void CPUParticles2DEditorPlugin::_menu_callback(int p_idx) { + + switch (p_idx) { + case MENU_LOAD_EMISSION_MASK: { + + file->popup_centered_ratio(); + + } break; + case MENU_CLEAR_EMISSION_MASK: { + + emission_mask->popup_centered_minsize(); + } break; + } +} + +void CPUParticles2DEditorPlugin::_generate_emission_mask() { + + Ref<Image> img; + img.instance(); + Error err = ImageLoader::load_image(source_emission_file, img); + ERR_EXPLAIN(TTR("Error loading image:") + " " + source_emission_file); + ERR_FAIL_COND(err != OK); + + if (img->is_compressed()) { + img->decompress(); + } + img->convert(Image::FORMAT_RGBA8); + ERR_FAIL_COND(img->get_format() != Image::FORMAT_RGBA8); + Size2i s = Size2(img->get_width(), img->get_height()); + ERR_FAIL_COND(s.width == 0 || s.height == 0); + + Vector<Point2> valid_positions; + Vector<Point2> valid_normals; + Vector<uint8_t> valid_colors; + + valid_positions.resize(s.width * s.height); + + EmissionMode emode = (EmissionMode)emission_mask_mode->get_selected(); + + if (emode == EMISSION_MODE_BORDER_DIRECTED) { + valid_normals.resize(s.width * s.height); + } + + bool capture_colors = emission_colors->is_pressed(); + + if (capture_colors) { + valid_colors.resize(s.width * s.height * 4); + } + + int vpc = 0; + + { + PoolVector<uint8_t> data = img->get_data(); + PoolVector<uint8_t>::Read r = data.read(); + + for (int i = 0; i < s.width; i++) { + for (int j = 0; j < s.height; j++) { + + uint8_t a = r[(j * s.width + i) * 4 + 3]; + + if (a > 128) { + + if (emode == EMISSION_MODE_SOLID) { + + if (capture_colors) { + valid_colors.write[vpc * 4 + 0] = r[(j * s.width + i) * 4 + 0]; + valid_colors.write[vpc * 4 + 1] = r[(j * s.width + i) * 4 + 1]; + valid_colors.write[vpc * 4 + 2] = r[(j * s.width + i) * 4 + 2]; + valid_colors.write[vpc * 4 + 3] = r[(j * s.width + i) * 4 + 3]; + } + valid_positions.write[vpc++] = Point2(i, j); + + } else { + + bool on_border = false; + for (int x = i - 1; x <= i + 1; x++) { + for (int y = j - 1; y <= j + 1; y++) { + + if (x < 0 || y < 0 || x >= s.width || y >= s.height || r[(y * s.width + x) * 4 + 3] <= 128) { + on_border = true; + break; + } + } + + if (on_border) + break; + } + + if (on_border) { + valid_positions.write[vpc] = Point2(i, j); + + if (emode == EMISSION_MODE_BORDER_DIRECTED) { + Vector2 normal; + for (int x = i - 2; x <= i + 2; x++) { + for (int y = j - 2; y <= j + 2; y++) { + + if (x == i && y == j) + continue; + + if (x < 0 || y < 0 || x >= s.width || y >= s.height || r[(y * s.width + x) * 4 + 3] <= 128) { + normal += Vector2(x - i, y - j).normalized(); + } + } + } + + normal.normalize(); + valid_normals.write[vpc] = normal; + } + + if (capture_colors) { + valid_colors.write[vpc * 4 + 0] = r[(j * s.width + i) * 4 + 0]; + valid_colors.write[vpc * 4 + 1] = r[(j * s.width + i) * 4 + 1]; + valid_colors.write[vpc * 4 + 2] = r[(j * s.width + i) * 4 + 2]; + valid_colors.write[vpc * 4 + 3] = r[(j * s.width + i) * 4 + 3]; + } + + vpc++; + } + } + } + } + } + } + + valid_positions.resize(vpc); + if (valid_normals.size()) { + valid_normals.resize(vpc); + } + + ERR_EXPLAIN(TTR("No pixels with transparency > 128 in image...")); + ERR_FAIL_COND(valid_positions.size() == 0); + + if (capture_colors) { + PoolColorArray pca; + pca.resize(vpc); + PoolColorArray::Write pcaw = pca.write(); + for (int i = 0; i < vpc; i += 1) { + Color color; + color.r = valid_colors[i * 4 + 0] / 255.0f; + color.g = valid_colors[i * 4 + 1] / 255.0f; + color.b = valid_colors[i * 4 + 2] / 255.0f; + color.a = valid_colors[i * 4 + 3] / 255.0f; + pcaw[i] = color; + } + particles->set_emission_colors(pca); + } + + if (valid_normals.size()) { + particles->set_emission_shape(CPUParticles2D::EMISSION_SHAPE_DIRECTED_POINTS); + PoolVector2Array norms; + norms.resize(valid_normals.size()); + PoolVector2Array::Write normsw = norms.write(); + for (int i = 0; i < valid_normals.size(); i += 1) { + normsw[i] = valid_normals[i]; + } + particles->set_emission_normals(norms); + } else { + particles->set_emission_shape(CPUParticles2D::EMISSION_SHAPE_POINTS); + } + + { + PoolVector2Array points; + points.resize(valid_positions.size()); + PoolVector2Array::Write pointsw = points.write(); + for (int i = 0; i < valid_positions.size(); i += 1) { + pointsw[i] = valid_positions[i]; + } + particles->set_emission_points(points); + } +} + +void CPUParticles2DEditorPlugin::_notification(int p_what) { + + if (p_what == NOTIFICATION_ENTER_TREE) { + + menu->get_popup()->connect("id_pressed", this, "_menu_callback"); + menu->set_icon(menu->get_popup()->get_icon("Particles2D", "EditorIcons")); + file->connect("file_selected", this, "_file_selected"); + } +} + +void CPUParticles2DEditorPlugin::_bind_methods() { + + ClassDB::bind_method(D_METHOD("_menu_callback"), &CPUParticles2DEditorPlugin::_menu_callback); + ClassDB::bind_method(D_METHOD("_file_selected"), &CPUParticles2DEditorPlugin::_file_selected); + ClassDB::bind_method(D_METHOD("_generate_emission_mask"), &CPUParticles2DEditorPlugin::_generate_emission_mask); +} + +CPUParticles2DEditorPlugin::CPUParticles2DEditorPlugin(EditorNode *p_node) { + + particles = NULL; + editor = p_node; + undo_redo = editor->get_undo_redo(); + + toolbar = memnew(HBoxContainer); + add_control_to_container(CONTAINER_CANVAS_EDITOR_MENU, toolbar); + toolbar->hide(); + + toolbar->add_child(memnew(VSeparator)); + + menu = memnew(MenuButton); + menu->get_popup()->add_item(TTR("Load Emission Mask"), MENU_LOAD_EMISSION_MASK); + // menu->get_popup()->add_item(TTR("Clear Emission Mask"), MENU_CLEAR_EMISSION_MASK); + menu->set_text(TTR("Particles")); + toolbar->add_child(menu); + + file = memnew(EditorFileDialog); + List<String> ext; + ImageLoader::get_recognized_extensions(&ext); + for (List<String>::Element *E = ext.front(); E; E = E->next()) { + file->add_filter("*." + E->get() + "; " + E->get().to_upper()); + } + file->set_mode(EditorFileDialog::MODE_OPEN_FILE); + toolbar->add_child(file); + + epoints = memnew(SpinBox); + epoints->set_min(1); + epoints->set_max(8192); + epoints->set_step(1); + epoints->set_value(512); + file->get_vbox()->add_margin_child(TTR("Generated Point Count:"), epoints); + + emission_mask = memnew(ConfirmationDialog); + emission_mask->set_title(TTR("Load Emission Mask")); + VBoxContainer *emvb = memnew(VBoxContainer); + emission_mask->add_child(emvb); + emission_mask_mode = memnew(OptionButton); + emvb->add_margin_child(TTR("Emission Mask"), emission_mask_mode); + emission_mask_mode->add_item("Solid Pixels", EMISSION_MODE_SOLID); + emission_mask_mode->add_item("Border Pixels", EMISSION_MODE_BORDER); + emission_mask_mode->add_item("Directed Border Pixels", EMISSION_MODE_BORDER_DIRECTED); + emission_colors = memnew(CheckBox); + emission_colors->set_text(TTR("Capture from Pixel")); + emvb->add_margin_child(TTR("Emission Colors"), emission_colors); + + toolbar->add_child(emission_mask); + + emission_mask->connect("confirmed", this, "_generate_emission_mask"); +} + +CPUParticles2DEditorPlugin::~CPUParticles2DEditorPlugin() { +} diff --git a/editor/plugins/cpu_particles_2d_editor_plugin.h b/editor/plugins/cpu_particles_2d_editor_plugin.h new file mode 100644 index 0000000000..f715abd87b --- /dev/null +++ b/editor/plugins/cpu_particles_2d_editor_plugin.h @@ -0,0 +1,92 @@ +/*************************************************************************/ +/* cpu_particles_2d_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2019 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 CPU_PARTICLES_2D_EDITOR_PLUGIN_H +#define CPU_PARTICLES_2D_EDITOR_PLUGIN_H + +#include "editor/editor_node.h" +#include "editor/editor_plugin.h" +#include "scene/2d/collision_polygon_2d.h" +#include "scene/2d/cpu_particles_2d.h" +#include "scene/gui/box_container.h" +#include "scene/gui/file_dialog.h" + +class CPUParticles2DEditorPlugin : public EditorPlugin { + + GDCLASS(CPUParticles2DEditorPlugin, EditorPlugin); + + enum { + MENU_LOAD_EMISSION_MASK, + MENU_CLEAR_EMISSION_MASK + }; + + enum EmissionMode { + EMISSION_MODE_SOLID, + EMISSION_MODE_BORDER, + EMISSION_MODE_BORDER_DIRECTED + }; + + CPUParticles2D *particles; + + EditorFileDialog *file; + EditorNode *editor; + + HBoxContainer *toolbar; + MenuButton *menu; + + SpinBox *epoints; + + ConfirmationDialog *emission_mask; + OptionButton *emission_mask_mode; + CheckBox *emission_colors; + + String source_emission_file; + + UndoRedo *undo_redo; + void _file_selected(const String &p_file); + void _menu_callback(int p_idx); + void _generate_emission_mask(); + +protected: + void _notification(int p_what); + static void _bind_methods(); + +public: + virtual String get_name() const { return "CPUParticles2D"; } + bool has_main_screen() const { return false; } + virtual void edit(Object *p_object); + virtual bool handles(Object *p_object) const; + virtual void make_visible(bool p_visible); + + CPUParticles2DEditorPlugin(EditorNode *p_node); + ~CPUParticles2DEditorPlugin(); +}; + +#endif // CPU_PARTICLES_2D_EDITOR_PLUGIN_H diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp index aedac7b45d..89eb253afe 100644 --- a/editor/plugins/mesh_library_editor_plugin.cpp +++ b/editor/plugins/mesh_library_editor_plugin.cpp @@ -127,7 +127,7 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library, continue; MeshLibrary::ShapeData shape_data; shape_data.shape = collision; - shape_data.local_transform = sb->shape_owner_get_transform(E->get()); + shape_data.local_transform = sb->get_transform() * sb->shape_owner_get_transform(E->get()); collisions.push_back(shape_data); } } @@ -136,17 +136,20 @@ void MeshLibraryEditor::_import_scene(Node *p_scene, Ref<MeshLibrary> p_library, p_library->set_item_shapes(id, collisions); Ref<NavigationMesh> navmesh; + Transform navmesh_transform; for (int j = 0; j < mi->get_child_count(); j++) { Node *child2 = mi->get_child(j); if (!Object::cast_to<NavigationMeshInstance>(child2)) continue; NavigationMeshInstance *sb = Object::cast_to<NavigationMeshInstance>(child2); navmesh = sb->get_navigation_mesh(); + navmesh_transform = sb->get_transform(); if (!navmesh.is_null()) break; } if (!navmesh.is_null()) { p_library->set_item_navmesh(id, navmesh); + p_library->set_item_navmesh_transform(id, navmesh_transform); } } diff --git a/editor/plugins/particles_2d_editor_plugin.cpp b/editor/plugins/particles_2d_editor_plugin.cpp index d00687f7ea..70d4919e9f 100644 --- a/editor/plugins/particles_2d_editor_plugin.cpp +++ b/editor/plugins/particles_2d_editor_plugin.cpp @@ -408,7 +408,7 @@ Particles2DEditorPlugin::Particles2DEditorPlugin(EditorNode *p_node) { generate_visibility_rect->connect("confirmed", this, "_generate_visibility_rect"); emission_mask = memnew(ConfirmationDialog); - emission_mask->set_title(TTR("Generate Visibility Rect")); + emission_mask->set_title(TTR("Load Emission Mask")); VBoxContainer *emvb = memnew(VBoxContainer); emission_mask->add_child(emvb); emission_mask_mode = memnew(OptionButton); diff --git a/editor/plugins/path_editor_plugin.cpp b/editor/plugins/path_editor_plugin.cpp index 6efa76ef80..88dc258c5f 100644 --- a/editor/plugins/path_editor_plugin.cpp +++ b/editor/plugins/path_editor_plugin.cpp @@ -638,6 +638,10 @@ String PathSpatialGizmoPlugin::get_name() const { return "Path"; } +int PathSpatialGizmoPlugin::get_priority() const { + return -1; +} + PathSpatialGizmoPlugin::PathSpatialGizmoPlugin() { Color path_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/path", Color(0.5, 0.5, 1.0, 0.8)); diff --git a/editor/plugins/path_editor_plugin.h b/editor/plugins/path_editor_plugin.h index ce3d3799d4..5482d09377 100644 --- a/editor/plugins/path_editor_plugin.h +++ b/editor/plugins/path_editor_plugin.h @@ -62,6 +62,7 @@ protected: public: String get_name() const; + int get_priority() const; PathSpatialGizmoPlugin(); }; diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index e648fa0820..3a61277f36 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -849,8 +849,7 @@ void ScriptEditor::_file_dialog_action(String p_file) { } file->close(); memdelete(file); - - // fallthrough to open the file. + FALLTHROUGH; } case FILE_OPEN: { @@ -979,6 +978,10 @@ void ScriptEditor::_menu_option(int p_option) { OS::get_singleton()->shell_open("https://docs.godotengine.org/"); } break; + case REQUEST_DOCS: { + + OS::get_singleton()->shell_open("https://github.com/godotengine/godot-docs/issues/new"); + } break; case WINDOW_NEXT: { @@ -1308,6 +1311,7 @@ void ScriptEditor::_notification(int p_what) { EditorSettings::get_singleton()->connect("settings_changed", this, "_editor_settings_changed"); help_search->set_icon(get_icon("HelpSearch", "EditorIcons")); site_search->set_icon(get_icon("Instance", "EditorIcons")); + request_docs->set_icon(get_icon("Issue", "EditorIcons")); script_forward->set_icon(get_icon("Forward", "EditorIcons")); script_back->set_icon(get_icon("Back", "EditorIcons")); @@ -1951,8 +1955,9 @@ bool ScriptEditor::edit(const RES &p_resource, int p_line, int p_col, bool p_gra if (is_visible_in_tree()) se->ensure_focus(); - if (p_line >= 0) + if (p_line > 0) { se->goto_line(p_line - 1); + } } return true; } @@ -2012,8 +2017,9 @@ bool ScriptEditor::edit(const RES &p_resource, int p_line, int p_col, bool p_gra _test_script_times_on_disk(p_resource); _update_modified_scripts_for_external_editor(p_resource); - if (p_line >= 0) + if (p_line > 0) { se->goto_line(p_line - 1); + } notify_script_changed(p_resource); _add_recent_script(p_resource->get_path()); @@ -3079,6 +3085,12 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { menu_hb->add_child(site_search); site_search->set_tooltip(TTR("Open Godot online documentation")); + request_docs = memnew(ToolButton); + request_docs->set_text(TTR("Request Docs")); + request_docs->connect("pressed", this, "_menu_option", varray(REQUEST_DOCS)); + menu_hb->add_child(request_docs); + request_docs->set_tooltip(TTR("Help improve the Godot documentation by giving feedback")); + help_search = memnew(ToolButton); help_search->set_text(TTR("Search Help")); help_search->connect("pressed", this, "_menu_option", varray(SEARCH_HELP)); diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index 11f4589f00..954b014935 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -157,6 +157,7 @@ class ScriptEditor : public PanelContainer { DEBUG_WITH_EXTERNAL_EDITOR, SEARCH_HELP, SEARCH_WEBSITE, + REQUEST_DOCS, HELP_SEARCH_FIND, HELP_SEARCH_FIND_NEXT, WINDOW_MOVE_UP, @@ -200,6 +201,7 @@ class ScriptEditor : public PanelContainer { Button *help_search; Button *site_search; + Button *request_docs; EditorHelpSearch *help_search_dialog; ItemList *script_list; diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index e95b1356bf..9fc42e3862 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -620,7 +620,9 @@ void ScriptTextEditor::_lookup_symbol(const String &p_symbol, int p_row, int p_c } ScriptLanguage::LookupResult result; - if (p_symbol.is_resource_file()) { + if (ScriptServer::is_global_class(p_symbol)) { + EditorNode::get_singleton()->load_resource(ScriptServer::get_global_class_path(p_symbol)); + } else if (p_symbol.is_resource_file()) { List<String> scene_extensions; ResourceLoader::get_recognized_extensions_for_type("PackedScene", &scene_extensions); @@ -794,92 +796,7 @@ void ScriptTextEditor::_edit_option(int p_op) { } break; case EDIT_TOGGLE_COMMENT: { - Ref<Script> scr = script; - if (scr.is_null()) - return; - - String delimiter = "#"; - List<String> comment_delimiters; - scr->get_language()->get_comment_delimiters(&comment_delimiters); - - for (List<String>::Element *E = comment_delimiters.front(); E; E = E->next()) { - String script_delimiter = E->get(); - if (script_delimiter.find(" ") == -1) { - delimiter = script_delimiter; - break; - } - } - - tx->begin_complex_operation(); - if (tx->is_selection_active()) { - int begin = tx->get_selection_from_line(); - int end = tx->get_selection_to_line(); - - // End of selection ends on the first column of the last line, ignore it. - if (tx->get_selection_to_column() == 0) - end -= 1; - - int col_to = tx->get_selection_to_column(); - int cursor_pos = tx->cursor_get_column(); - - // Check if all lines in the selected block are commented - bool is_commented = true; - for (int i = begin; i <= end; i++) { - if (!tx->get_line(i).begins_with(delimiter)) { - is_commented = false; - break; - } - } - for (int i = begin; i <= end; i++) { - String line_text = tx->get_line(i); - - if (line_text.strip_edges().empty()) { - line_text = delimiter; - } else { - if (is_commented) { - line_text = line_text.substr(delimiter.length(), line_text.length()); - } else { - line_text = delimiter + line_text; - } - } - tx->set_line(i, line_text); - } - - // Adjust selection & cursor position. - int offset = is_commented ? -1 : 1; - int col_from = tx->get_selection_from_column() > 0 ? tx->get_selection_from_column() + offset : 0; - - if (is_commented && tx->cursor_get_column() == tx->get_line(tx->cursor_get_line()).length() + 1) - cursor_pos += 1; - - if (tx->get_selection_to_column() != 0 && col_to != tx->get_line(tx->get_selection_to_line()).length() + 1) - col_to += offset; - - if (tx->cursor_get_column() != 0) - cursor_pos += offset; - - tx->select(begin, col_from, tx->get_selection_to_line(), col_to); - tx->cursor_set_column(cursor_pos); - - } else { - int begin = tx->cursor_get_line(); - String line_text = tx->get_line(begin); - - int col = tx->cursor_get_column(); - if (line_text.begins_with(delimiter)) { - line_text = line_text.substr(delimiter.length(), line_text.length()); - col -= 1; - } else { - line_text = delimiter + line_text; - col += 1; - } - - tx->set_line(begin, line_text); - tx->cursor_set_column(col); - } - tx->end_complex_operation(); - tx->update(); - + _edit_option_toggle_inline_comment(); } break; case EDIT_COMPLETE: { @@ -993,7 +910,7 @@ void ScriptTextEditor::_edit_option(int p_op) { tx->set_line_as_breakpoint(line, dobreak); ScriptEditor::get_singleton()->get_debugger()->set_breakpoint(script->get_path(), line + 1, dobreak); } - } + } break; case DEBUG_GOTO_NEXT_BREAKPOINT: { List<int> bpoints; @@ -1066,6 +983,25 @@ void ScriptTextEditor::_edit_option(int p_op) { } } +void ScriptTextEditor::_edit_option_toggle_inline_comment() { + if (script.is_null()) + return; + + String delimiter = "#"; + List<String> comment_delimiters; + script->get_language()->get_comment_delimiters(&comment_delimiters); + + for (List<String>::Element *E = comment_delimiters.front(); E; E = E->next()) { + String script_delimiter = E->get(); + if (script_delimiter.find(" ") == -1) { + delimiter = script_delimiter; + break; + } + } + + code_editor->toggle_inline_comment(delimiter); +} + void ScriptTextEditor::add_syntax_highlighter(SyntaxHighlighter *p_highlighter) { highlighters[p_highlighter->get_name()] = p_highlighter; highlighter_menu->add_radio_check_item(p_highlighter->get_name()); diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index f83aadddef..b081a31c18 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -136,6 +136,7 @@ protected: void _change_syntax_highlighter(int p_idx); void _edit_option(int p_op); + void _edit_option_toggle_inline_comment(); void _make_context_menu(bool p_selection, bool p_color, bool p_foldable, bool p_open_docs, bool p_goto_definition); void _text_edit_gui_input(const Ref<InputEvent> &ev); void _color_changed(const Color &p_color); diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index 2b6ceac8e2..d39e521113 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -248,19 +248,19 @@ void ShaderEditor::_menu_option(int p_option) { } break; case EDIT_INDENT_LEFT: { - TextEdit *tx = shader_editor->get_text_edit(); if (shader.is_null()) return; + TextEdit *tx = shader_editor->get_text_edit(); tx->indent_left(); } break; case EDIT_INDENT_RIGHT: { - TextEdit *tx = shader_editor->get_text_edit(); if (shader.is_null()) return; + TextEdit *tx = shader_editor->get_text_edit(); tx->indent_right(); } break; @@ -272,54 +272,10 @@ void ShaderEditor::_menu_option(int p_option) { } break; case EDIT_TOGGLE_COMMENT: { - TextEdit *tx = shader_editor->get_text_edit(); if (shader.is_null()) return; - tx->begin_complex_operation(); - if (tx->is_selection_active()) { - int begin = tx->get_selection_from_line(); - int end = tx->get_selection_to_line(); - - // End of selection ends on the first column of the last line, ignore it. - if (tx->get_selection_to_column() == 0) - end -= 1; - - // Check if all lines in the selected block are commented - bool is_commented = true; - for (int i = begin; i <= end; i++) { - if (!tx->get_line(i).begins_with("//")) { - is_commented = false; - break; - } - } - for (int i = begin; i <= end; i++) { - String line_text = tx->get_line(i); - - if (line_text.strip_edges().empty()) { - line_text = "//"; - } else { - if (is_commented) { - line_text = line_text.substr(2, line_text.length()); - } else { - line_text = "//" + line_text; - } - } - tx->set_line(i, line_text); - } - } else { - int begin = tx->cursor_get_line(); - String line_text = tx->get_line(begin); - - if (line_text.begins_with("//")) - line_text = line_text.substr(2, line_text.length()); - else - line_text = "//" + line_text; - tx->set_line(begin, line_text); - } - tx->end_complex_operation(); - tx->update(); - //tx->deselect(); + shader_editor->toggle_inline_comment("//"); } break; case EDIT_COMPLETE: { diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index ed11d26f25..f48887d342 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -1021,7 +1021,7 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } _edit.mouse_pos = b->get_position(); - _edit.snap = false; + _edit.snap = spatial_editor->is_snap_enabled(); _edit.mode = TRANSFORM_NONE; //gizmo has priority over everything @@ -1772,7 +1772,7 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (ED_IS_SHORTCUT("spatial_editor/snap", p_event)) { if (_edit.mode != TRANSFORM_NONE) { - _edit.snap = true; + _edit.snap = !_edit.snap; } } if (ED_IS_SHORTCUT("spatial_editor/bottom_view", p_event)) { @@ -2382,7 +2382,10 @@ void SpatialEditorViewport::_draw() { if (cursor.region_select) { - VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(cursor.region_begin, cursor.region_end - cursor.region_begin), Color(0.7, 0.7, 1.0, 0.3)); + VisualServer::get_singleton()->canvas_item_add_rect( + ci, + Rect2(cursor.region_begin, cursor.region_end - cursor.region_begin), + get_color("accent_color", "Editor") * Color(1, 1, 1, 0.375)); } if (message_time > 0) { @@ -2396,7 +2399,13 @@ void SpatialEditorViewport::_draw() { if (_edit.mode == TRANSFORM_ROTATE) { Point2 center = _point_to_screen(_edit.center); - VisualServer::get_singleton()->canvas_item_add_line(ci, _edit.mouse_pos, center, Color(0.4, 0.7, 1.0, 0.8)); + VisualServer::get_singleton()->canvas_item_add_line( + ci, + _edit.mouse_pos, + center, + get_color("accent_color", "Editor") * Color(1, 1, 1, 0.6), + Math::round(2 * EDSCALE), + true); } if (previewing) { @@ -3001,7 +3010,7 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) { previewing = Object::cast_to<Camera>(pv); previewing->connect("tree_exiting", this, "_preview_exited_scene"); VS::get_singleton()->viewport_attach_camera(viewport->get_viewport_rid(), previewing->get_camera()); //replace - view_menu->hide(); + view_menu->set_disabled(true); surface->update(); preview_camera->set_pressed(true); preview_camera->show(); @@ -4117,10 +4126,10 @@ Dictionary SpatialEditor::get_state() const { d["zfar"] = get_zfar(); Dictionary gizmos_status; - for (int i = 0; i < gizmo_plugins.size(); i++) { - if (!gizmo_plugins[i]->can_be_hidden()) continue; + for (int i = 0; i < gizmo_plugins_by_name.size(); i++) { + if (!gizmo_plugins_by_name[i]->can_be_hidden()) continue; int state = gizmos_menu->get_item_state(gizmos_menu->get_item_index(i)); - String name = gizmo_plugins[i]->get_name(); + String name = gizmo_plugins_by_name[i]->get_name(); gizmos_status[name] = state; } @@ -4170,9 +4179,13 @@ void SpatialEditor::set_state(const Dictionary &p_state) { if (d.has("viewports")) { Array vp = d["viewports"]; - ERR_FAIL_COND(vp.size() > 4); + uint32_t vp_size = static_cast<uint32_t>(vp.size()); + if (vp_size > VIEWPORTS_COUNT) { + WARN_PRINT("Ignoring superfluous viewport settings from spatial editor state.") + vp_size = VIEWPORTS_COUNT; + } - for (uint32_t i = 0; i < VIEWPORTS_COUNT; i++) { + for (uint32_t i = 0; i < vp_size; i++) { viewports[i]->set_state(vp[i]); } } @@ -4205,32 +4218,19 @@ void SpatialEditor::set_state(const Dictionary &p_state) { List<Variant> keys; gizmos_status.get_key_list(&keys); - for (int j = 0; j < gizmo_plugins.size(); ++j) { - if (!gizmo_plugins[j]->can_be_hidden()) continue; - int state = EditorSpatialGizmoPlugin::ON_TOP; + for (int j = 0; j < gizmo_plugins_by_name.size(); ++j) { + if (!gizmo_plugins_by_name[j]->can_be_hidden()) continue; + int state = EditorSpatialGizmoPlugin::VISIBLE; for (int i = 0; i < keys.size(); i++) { - if (gizmo_plugins.write[j]->get_name() == keys[i]) { + if (gizmo_plugins_by_name.write[j]->get_name() == keys[i]) { state = gizmos_status[keys[i]]; + break; } } - const int idx = gizmos_menu->get_item_index(j); - - gizmos_menu->set_item_multistate(idx, state); - gizmo_plugins.write[j]->set_state(state); - - switch (state) { - case EditorSpatialGizmoPlugin::VISIBLE: - gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_visible")); - break; - case EditorSpatialGizmoPlugin::ON_TOP: - gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_xray")); - break; - case EditorSpatialGizmoPlugin::HIDDEN: - gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_hidden")); - break; - } + gizmo_plugins_by_name.write[j]->set_state(state); } + _update_gizmos_menu(); } } @@ -4344,7 +4344,7 @@ void SpatialEditor::_menu_gizmo_toggled(int p_option) { break; } - gizmo_plugins.write[p_option]->set_state(state); + gizmo_plugins_by_name.write[p_option]->set_state(state); update_all_gizmos(); } @@ -4840,30 +4840,46 @@ void SpatialEditor::_init_indicators() { _generate_selection_box(); } -struct _GizmoPluginComparator { - - bool operator()(const Ref<EditorSpatialGizmoPlugin> &p_a, const Ref<EditorSpatialGizmoPlugin> &p_b) const { - return p_a->get_name() < p_b->get_name(); - } -}; - void SpatialEditor::_update_gizmos_menu() { gizmos_menu->clear(); - gizmo_plugins.sort_custom<_GizmoPluginComparator>(); - for (int i = 0; i < gizmo_plugins.size(); ++i) { - if (!gizmo_plugins[i]->can_be_hidden()) continue; - String plugin_name = gizmo_plugins[i]->get_name(); - gizmos_menu->add_multistate_item(TTR(plugin_name), 3, EditorSpatialGizmoPlugin::VISIBLE, i); - gizmos_menu->set_item_icon(gizmos_menu->get_item_index(i), gizmos_menu->get_icon("visibility_visible")); + for (int i = 0; i < gizmo_plugins_by_name.size(); ++i) { + if (!gizmo_plugins_by_name[i]->can_be_hidden()) continue; + String plugin_name = gizmo_plugins_by_name[i]->get_name(); + 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); + switch (plugin_state) { + case EditorSpatialGizmoPlugin::VISIBLE: + gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_visible")); + break; + case EditorSpatialGizmoPlugin::ON_TOP: + gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_xray")); + break; + case EditorSpatialGizmoPlugin::HIDDEN: + gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_hidden")); + break; + } } } void SpatialEditor::_update_gizmos_menu_theme() { - for (int i = 0; i < gizmo_plugins.size(); ++i) { - if (!gizmo_plugins[i]->can_be_hidden()) continue; - gizmos_menu->set_item_icon(gizmos_menu->get_item_index(i), gizmos_menu->get_icon("visibility_visible")); + for (int i = 0; i < gizmo_plugins_by_name.size(); ++i) { + if (!gizmo_plugins_by_name[i]->can_be_hidden()) continue; + const int plugin_state = gizmo_plugins_by_name[i]->get_state(); + const int idx = gizmos_menu->get_item_index(i); + switch (plugin_state) { + case EditorSpatialGizmoPlugin::VISIBLE: + gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_visible")); + break; + case EditorSpatialGizmoPlugin::ON_TOP: + gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_xray")); + break; + case EditorSpatialGizmoPlugin::HIDDEN: + gizmos_menu->set_item_icon(idx, gizmos_menu->get_icon("visibility_hidden")); + break; + } } } @@ -5225,8 +5241,8 @@ void SpatialEditor::_request_gizmo(Object *p_obj) { Ref<EditorSpatialGizmo> seg; - for (int i = 0; i < gizmo_plugins.size(); ++i) { - seg = gizmo_plugins.write[i]->get_gizmo(sp); + for (int i = 0; i < gizmo_plugins_by_priority.size(); ++i) { + seg = gizmo_plugins_by_priority.write[i]->get_gizmo(sp); if (seg.is_valid()) { sp->set_gizmo(seg); @@ -5751,15 +5767,39 @@ void SpatialEditorPlugin::snap_cursor_to_plane(const Plane &p_plane) { spatial_editor->snap_cursor_to_plane(p_plane); } +struct _GizmoPluginPriorityComparator { + + bool operator()(const Ref<EditorSpatialGizmoPlugin> &p_a, const Ref<EditorSpatialGizmoPlugin> &p_b) const { + if (p_a->get_priority() == p_b->get_priority()) { + return p_a->get_name() < p_b->get_name(); + } + return p_a->get_priority() > p_b->get_priority(); + } +}; + +struct _GizmoPluginNameComparator { + + bool operator()(const Ref<EditorSpatialGizmoPlugin> &p_a, const Ref<EditorSpatialGizmoPlugin> &p_b) const { + return p_a->get_name() < p_b->get_name(); + } +}; + void SpatialEditor::add_gizmo_plugin(Ref<EditorSpatialGizmoPlugin> p_plugin) { ERR_FAIL_NULL(p_plugin.ptr()); - gizmo_plugins.push_back(p_plugin); + + gizmo_plugins_by_priority.push_back(p_plugin); + gizmo_plugins_by_priority.sort_custom<_GizmoPluginPriorityComparator>(); + + gizmo_plugins_by_name.push_back(p_plugin); + gizmo_plugins_by_name.sort_custom<_GizmoPluginNameComparator>(); + _update_gizmos_menu(); SpatialEditor::get_singleton()->update_all_gizmos(); } void SpatialEditor::remove_gizmo_plugin(Ref<EditorSpatialGizmoPlugin> p_plugin) { - gizmo_plugins.erase(p_plugin); + gizmo_plugins_by_priority.erase(p_plugin); + gizmo_plugins_by_name.erase(p_plugin); _update_gizmos_menu(); } @@ -5912,6 +5952,13 @@ String EditorSpatialGizmoPlugin::get_name() const { return TTR("Nameless gizmo"); } +int EditorSpatialGizmoPlugin::get_priority() const { + if (get_script_instance() && get_script_instance()->has_method("get_priority")) { + return get_script_instance()->call("get_priority"); + } + return 0; +} + Ref<EditorSpatialGizmo> EditorSpatialGizmoPlugin::get_gizmo(Spatial *p_spatial) { if (get_script_instance() && get_script_instance()->has_method("get_gizmo")) { @@ -5944,6 +5991,7 @@ void EditorSpatialGizmoPlugin::_bind_methods() { ClassDB::bind_method(D_METHOD("get_material", "name", "gizmo"), &EditorSpatialGizmoPlugin::get_material); //, DEFVAL(Ref<EditorSpatialGizmo>())); BIND_VMETHOD(MethodInfo(Variant::STRING, "get_name")); + BIND_VMETHOD(MethodInfo(Variant::STRING, "get_priority")); BIND_VMETHOD(MethodInfo(Variant::BOOL, "can_be_hidden")); BIND_VMETHOD(MethodInfo(Variant::BOOL, "is_selectable_when_hidden")); @@ -6043,6 +6091,10 @@ void EditorSpatialGizmoPlugin::set_state(int p_state) { } } +int EditorSpatialGizmoPlugin::get_state() const { + return current_state; +} + void EditorSpatialGizmoPlugin::unregister_gizmo(EditorSpatialGizmo *p_gizmo) { current_gizmos.erase(p_gizmo); } diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index 6256b8b055..4a9d34a7f7 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -639,7 +639,8 @@ private: static SpatialEditor *singleton; void _node_removed(Node *p_node); - Vector<Ref<EditorSpatialGizmoPlugin> > gizmo_plugins; + Vector<Ref<EditorSpatialGizmoPlugin> > gizmo_plugins_by_priority; + Vector<Ref<EditorSpatialGizmoPlugin> > gizmo_plugins_by_name; void _register_all_gizmos(); @@ -782,6 +783,7 @@ public: Ref<SpatialMaterial> get_material(const String &p_name, const Ref<EditorSpatialGizmo> &p_gizmo = Ref<EditorSpatialGizmo>()); virtual String get_name() const; + virtual int get_priority() const; virtual bool can_be_hidden() const; virtual bool is_selectable_when_hidden() const; @@ -794,6 +796,7 @@ public: Ref<EditorSpatialGizmo> get_gizmo(Spatial *p_spatial); void set_state(int p_state); + int get_state() const; void unregister_gizmo(EditorSpatialGizmo *p_gizmo); EditorSpatialGizmoPlugin(); diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 89bb7440fe..5ba2fde763 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -347,9 +347,6 @@ void SpriteFramesEditor::_animation_name_edited() { for (List<Node *>::Element *E = nodes.front(); E; E = E->next()) { String current = E->get()->call("get_animation"); - if (current != edited_anim) - continue; - undo_redo->add_do_method(E->get(), "set_animation", name); undo_redo->add_undo_method(E->get(), "set_animation", edited_anim); } @@ -382,9 +379,6 @@ void SpriteFramesEditor::_animation_add() { for (List<Node *>::Element *E = nodes.front(); E; E = E->next()) { String current = E->get()->call("get_animation"); - if (frames->has_animation(current)) - continue; - undo_redo->add_do_method(E->get(), "set_animation", name); undo_redo->add_undo_method(E->get(), "set_animation", current); } diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp index 3eeb871380..0a59fc69e3 100644 --- a/editor/plugins/texture_region_editor_plugin.cpp +++ b/editor/plugins/texture_region_editor_plugin.cpp @@ -64,7 +64,7 @@ void TextureRegionEditor::_region_draw() { return; Transform2D mtx; - mtx.elements[2] = -draw_ofs; + mtx.elements[2] = -draw_ofs * draw_zoom; mtx.scale_basis(Vector2(draw_zoom, draw_zoom)); VS::get_singleton()->canvas_item_add_set_transform(edit_draw->get_canvas_item(), mtx); @@ -128,7 +128,7 @@ void TextureRegionEditor::_region_draw() { }; for (int i = 0; i < 4; i++) { int next = (i + 1) % 4; - edit_draw->draw_line(endpoints[i] - draw_ofs, endpoints[next] - draw_ofs, Color(0.3, 0.7, 1, 1), 2); + edit_draw->draw_line(endpoints[i] - draw_ofs * draw_zoom, endpoints[next] - draw_ofs * draw_zoom, Color(0.3, 0.7, 1, 1), 2); } } } @@ -153,16 +153,16 @@ void TextureRegionEditor::_region_draw() { Vector2 ofs = ((endpoints[i] - endpoints[prev]).normalized() + ((endpoints[i] - endpoints[next]).normalized())).normalized(); ofs *= 1.4144 * (select_handle->get_size().width / 2); - edit_draw->draw_line(endpoints[i] - draw_ofs, endpoints[next] - draw_ofs, color, 2); + edit_draw->draw_line(endpoints[i] - draw_ofs * draw_zoom, endpoints[next] - draw_ofs * draw_zoom, color, 2); if (snap_mode != SNAP_AUTOSLICE) - edit_draw->draw_texture(select_handle, (endpoints[i] + ofs - (select_handle->get_size() / 2)).floor() - draw_ofs); + edit_draw->draw_texture(select_handle, (endpoints[i] + ofs - (select_handle->get_size() / 2)).floor() - draw_ofs * draw_zoom); ofs = (endpoints[next] - endpoints[i]) / 2; ofs += (endpoints[next] - endpoints[i]).tangent().normalized() * (select_handle->get_size().width / 2); if (snap_mode != SNAP_AUTOSLICE) - edit_draw->draw_texture(select_handle, (endpoints[i] + ofs - (select_handle->get_size() / 2)).floor() - draw_ofs); + edit_draw->draw_texture(select_handle, (endpoints[i] + ofs - (select_handle->get_size() / 2)).floor() - draw_ofs * draw_zoom); scroll_rect.expand_to(endpoints[i]); } @@ -220,7 +220,7 @@ void TextureRegionEditor::_region_draw() { void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) { Transform2D mtx; - mtx.elements[2] = -draw_ofs; + mtx.elements[2] = -draw_ofs * draw_zoom; mtx.scale_basis(Vector2(draw_zoom, draw_zoom)); Vector2 endpoints[8] = { @@ -255,10 +255,10 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) { margins[3] = obj_styleBox->get_margin_size(MARGIN_RIGHT); } Vector2 pos[4] = { - mtx.basis_xform(rect.position + Vector2(0, margins[0])) - draw_ofs, - mtx.basis_xform(rect.position + rect.size - Vector2(0, margins[1])) - draw_ofs, - mtx.basis_xform(rect.position + Vector2(margins[2], 0)) - draw_ofs, - mtx.basis_xform(rect.position + rect.size - Vector2(margins[3], 0)) - draw_ofs + mtx.basis_xform(rect.position + Vector2(0, margins[0])) - draw_ofs * draw_zoom, + mtx.basis_xform(rect.position + rect.size - Vector2(0, margins[1])) - draw_ofs * draw_zoom, + mtx.basis_xform(rect.position + Vector2(margins[2], 0)) - draw_ofs * draw_zoom, + mtx.basis_xform(rect.position + rect.size - Vector2(margins[3], 0)) - draw_ofs * draw_zoom }; if (Math::abs(mb->get_position().y - pos[0].y) < 8) { edited_margin = 0; @@ -415,9 +415,9 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) { } } } else if (mb->get_button_index() == BUTTON_WHEEL_UP && mb->is_pressed()) { - _zoom_in(); + _zoom_on_position(draw_zoom * ((0.95 + (0.05 * mb->get_factor())) / 0.95), mb->get_position()); } else if (mb->get_button_index() == BUTTON_WHEEL_DOWN && mb->is_pressed()) { - _zoom_out(); + _zoom_on_position(draw_zoom * (1 - (0.05 * mb->get_factor())), mb->get_position()); } } @@ -427,7 +427,7 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) { if (mm->get_button_mask() & BUTTON_MASK_MIDDLE || Input::get_singleton()->is_key_pressed(KEY_SPACE)) { - Vector2 draged(mm->get_relative().x, mm->get_relative().y); + Vector2 draged(mm->get_relative().x / draw_zoom, mm->get_relative().y / draw_zoom); hscroll->set_value(hscroll->get_value() - draged.x); vscroll->set_value(vscroll->get_value() - draged.y); @@ -578,25 +578,30 @@ void TextureRegionEditor::_set_snap_sep_y(float p_val) { edit_draw->update(); } +void TextureRegionEditor::_zoom_on_position(float p_zoom, Point2 p_position) { + if (p_zoom < 0.25 || p_zoom > 8) + return; + + float prev_zoom = draw_zoom; + draw_zoom = p_zoom; + Point2 ofs = p_position; + ofs = ofs / prev_zoom - ofs / draw_zoom; + draw_ofs.x = Math::round(draw_ofs.x + ofs.x); + draw_ofs.y = Math::round(draw_ofs.y + ofs.y); + + edit_draw->update(); +} + void TextureRegionEditor::_zoom_in() { - if (draw_zoom < 8) { - draw_zoom *= 2; - edit_draw->update(); - } + _zoom_on_position(draw_zoom * 1.5, edit_draw->get_size() / 2.0); } void TextureRegionEditor::_zoom_reset() { - if (draw_zoom == 1) - return; - draw_zoom = 1; - edit_draw->update(); + _zoom_on_position(1.0, edit_draw->get_size() / 2.0); } void TextureRegionEditor::_zoom_out() { - if (draw_zoom > 0.25) { - draw_zoom /= 2; - edit_draw->update(); - } + _zoom_on_position(draw_zoom / 1.5, edit_draw->get_size() / 2.0); } void TextureRegionEditor::apply_rect(const Rect2 &p_rect) { @@ -743,6 +748,7 @@ void TextureRegionEditor::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_snap_step_y"), &TextureRegionEditor::_set_snap_step_y); ClassDB::bind_method(D_METHOD("_set_snap_sep_x"), &TextureRegionEditor::_set_snap_sep_x); ClassDB::bind_method(D_METHOD("_set_snap_sep_y"), &TextureRegionEditor::_set_snap_sep_y); + ClassDB::bind_method(D_METHOD("_zoom_on_position"), &TextureRegionEditor::_zoom_on_position); ClassDB::bind_method(D_METHOD("_zoom_in"), &TextureRegionEditor::_zoom_in); ClassDB::bind_method(D_METHOD("_zoom_reset"), &TextureRegionEditor::_zoom_reset); ClassDB::bind_method(D_METHOD("_zoom_out"), &TextureRegionEditor::_zoom_out); diff --git a/editor/plugins/texture_region_editor_plugin.h b/editor/plugins/texture_region_editor_plugin.h index 19eaef9bc3..a49e0fb96c 100644 --- a/editor/plugins/texture_region_editor_plugin.h +++ b/editor/plugins/texture_region_editor_plugin.h @@ -110,6 +110,7 @@ class TextureRegionEditor : public VBoxContainer { void _set_snap_step_y(float p_val); void _set_snap_sep_x(float p_val); void _set_snap_sep_y(float p_val); + void _zoom_on_position(float p_zoom, Point2 p_position = Point2()); void _zoom_in(); void _zoom_reset(); void _zoom_out(); diff --git a/editor/plugins/tile_map_editor_plugin.cpp b/editor/plugins/tile_map_editor_plugin.cpp index 1a367b61dd..8a18af7ae8 100644 --- a/editor/plugins/tile_map_editor_plugin.cpp +++ b/editor/plugins/tile_map_editor_plugin.cpp @@ -299,7 +299,11 @@ void TileMapEditor::_set_cell(const Point2i &p_pos, Vector<int> p_values, bool p } } - node->set_cell(p_pos.x, p_pos.y, p_value, p_flip_h, p_flip_v, p_transpose, p_autotile_coord); + Variant v_pos_x = p_pos.x, v_pos_y = p_pos.y, v_tile = p_value, v_flip_h = p_flip_h, v_flip_v = p_flip_v, v_transpose = p_transpose, v_autotile_coord = Vector2(p_autotile_coord.x, p_autotile_coord.y); + const Variant *args[7] = { &v_pos_x, &v_pos_y, &v_tile, &v_flip_h, &v_flip_v, &v_transpose, &v_autotile_coord }; + Variant::CallError ce; + node->call("set_cell", args, 7, ce); + if (manual_autotile || (p_value != -1 && node->get_tileset()->tile_get_tile_mode(p_value) == TileSet::ATLAS_TILE)) { if (current != -1) { node->set_cell_autotile_coord(p_pos.x, p_pos.y, position); @@ -1434,9 +1438,9 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { aabb.expand_to(node->world_to_map(xform_inv.xform(screen_size))); Rect2i si = aabb.grow(1.0); - if (node->get_half_offset() != TileMap::HALF_OFFSET_X) { + if (node->get_half_offset() != TileMap::HALF_OFFSET_X && node->get_half_offset() != TileMap::HALF_OFFSET_NEGATIVE_X) { - int max_lines = 2000; //avoid crash if size too smal + int max_lines = 2000; //avoid crash if size too small for (int i = (si.position.x) - 1; i <= (si.position.x + si.size.x); i++) { @@ -1450,7 +1454,7 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { } } else { - int max_lines = 10000; //avoid crash if size too smal + int max_lines = 10000; //avoid crash if size too small for (int i = (si.position.x) - 1; i <= (si.position.x + si.size.x); i++) { @@ -1458,23 +1462,26 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { Vector2 ofs; if (ABS(j) & 1) { - ofs = cell_xf[0] * 0.5; + ofs = cell_xf[0] * (node->get_half_offset() == TileMap::HALF_OFFSET_X ? 0.5 : -0.5); } Vector2 from = xform.xform(node->map_to_world(Vector2(i, j), true) + ofs); Vector2 to = xform.xform(node->map_to_world(Vector2(i, j + 1), true) + ofs); + Color col = i == 0 ? Color(1, 0.8, 0.2, 0.5) : Color(1, 0.3, 0.1, 0.2); p_overlay->draw_line(from, to, col, 1); - if (max_lines-- == 0) + if (--max_lines == 0) break; } + if (max_lines == 0) + break; } } int max_lines = 10000; //avoid crash if size too smal - if (node->get_half_offset() != TileMap::HALF_OFFSET_Y) { + if (node->get_half_offset() != TileMap::HALF_OFFSET_Y && node->get_half_offset() != TileMap::HALF_OFFSET_NEGATIVE_Y) { for (int i = (si.position.y) - 1; i <= (si.position.y + si.size.y); i++) { @@ -1495,17 +1502,20 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { Vector2 ofs; if (ABS(j) & 1) { - ofs = cell_xf[1] * 0.5; + ofs = cell_xf[1] * (node->get_half_offset() == TileMap::HALF_OFFSET_Y ? 0.5 : -0.5); } Vector2 from = xform.xform(node->map_to_world(Vector2(j, i), true) + ofs); Vector2 to = xform.xform(node->map_to_world(Vector2(j + 1, i), true) + ofs); + Color col = i == 0 ? Color(1, 0.8, 0.2, 0.5) : Color(1, 0.3, 0.1, 0.2); p_overlay->draw_line(from, to, col, 1); - if (max_lines-- == 0) + if (--max_lines == 0) break; } + if (max_lines == 0) + break; } } } @@ -1533,8 +1543,12 @@ void TileMapEditor::forward_canvas_draw_over_viewport(Control *p_overlay) { for (int i = 0; i < 4; i++) { if (node->get_half_offset() == TileMap::HALF_OFFSET_X && ABS(over_tile.y) & 1) endpoints[i] += cell_xf[0] * 0.5; + if (node->get_half_offset() == TileMap::HALF_OFFSET_NEGATIVE_X && ABS(over_tile.y) & 1) + endpoints[i] += cell_xf[0] * -0.5; if (node->get_half_offset() == TileMap::HALF_OFFSET_Y && ABS(over_tile.x) & 1) endpoints[i] += cell_xf[1] * 0.5; + if (node->get_half_offset() == TileMap::HALF_OFFSET_NEGATIVE_Y && ABS(over_tile.x) & 1) + endpoints[i] += cell_xf[1] * -0.5; endpoints[i] = xform.xform(endpoints[i]); } Color col; diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index dc099b84a7..8fc080c819 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -2417,6 +2417,8 @@ void TileSetEditor::draw_polygon_shapes() { colors.push_back(c_bg); } } + if (polygon.size() == 0) + continue; if (polygon.size() > 2) { workspace->draw_polygon(polygon, colors); } diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index a3bcfa6e70..095ec891cd 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -1136,7 +1136,7 @@ void ProjectManager::_unhandled_input(const Ref<InputEvent> &p_ev) { break; } - // else fallthrough to key_down + FALLTHROUGH; } case KEY_DOWN: { diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 1c6359a46b..bb72c621be 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -111,7 +111,7 @@ void ProjectSettingsEditor::_notification(int p_what) { restart_close_button->set_icon(get_icon("Close", "EditorIcons")); restart_container->add_style_override("panel", get_stylebox("bg", "Tree")); restart_icon->set_texture(get_icon("StatusWarning", "EditorIcons")); - restart_label->add_color_override("font_color", get_color("error_color", "Editor")); + restart_label->add_color_override("font_color", get_color("warning_color", "Editor")); } break; case NOTIFICATION_POPUP_HIDE: { @@ -703,7 +703,7 @@ void ProjectSettingsEditor::_update_actions() { item->add_button(2, get_icon("Add", "EditorIcons"), 1, false, TTR("Add Event")); if (!ProjectSettings::get_singleton()->get_input_presets().find(pi.name)) { item->add_button(2, get_icon("Remove", "EditorIcons"), 2, false, TTR("Remove")); - item->set_editable(2, true); + item->set_editable(0, true); } for (int i = 0; i < events.size(); i++) { diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 084830ed7b..7e4861cd09 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -377,7 +377,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { } break; case TOOL_CLEAR_SCRIPT: { - List<Node *> selection = editor_selection->get_selected_node_list(); + Array selection = editor_selection->get_selected_nodes(); if (selection.empty()) return; @@ -385,13 +385,14 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { editor_data->get_undo_redo().create_action(TTR("Clear Script")); editor_data->get_undo_redo().add_do_method(editor, "push_item", (Script *)NULL); - for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + for (int i = 0; i < selection.size(); i++) { - Ref<Script> existing = E->get()->get_script(); + Node *n = Object::cast_to<Node>(selection[i]); + Ref<Script> existing = n->get_script(); if (existing.is_valid()) { const RefPtr empty; - editor_data->get_undo_redo().add_do_method(E->get(), "set_script", empty); - editor_data->get_undo_redo().add_undo_method(E->get(), "set_script", existing); + editor_data->get_undo_redo().add_do_method(n, "set_script", empty); + editor_data->get_undo_redo().add_undo_method(n, "set_script", existing); } } @@ -827,7 +828,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) { if (TOOL_CREATE_FAVORITE == p_tool) { String name = selected_favorite_root.get_slicec(' ', 0); if (ScriptServer::is_global_class(name)) { - new_node = Object::cast_to<Node>(ClassDB::instance(ScriptServer::get_global_class_base(name))); + new_node = Object::cast_to<Node>(ClassDB::instance(ScriptServer::get_global_class_native_base(name))); Ref<Script> script = ResourceLoader::load(ScriptServer::get_global_class_path(name), "Script"); if (new_node && script.is_valid()) { new_node->set_script(script.get_ref_ptr()); @@ -962,7 +963,7 @@ void SceneTreeDock::_notification(int p_what) { Button *button_custom = memnew(Button); node_shortcuts->add_child(button_custom); - button_custom->set_text(TTR("Custom Node")); + button_custom->set_text(TTR("Other Node")); button_custom->set_icon(get_icon("Add", "EditorIcons")); button_custom->connect("pressed", this, "_tool_selected", make_binds(TOOL_NEW, false)); @@ -1653,9 +1654,9 @@ void SceneTreeDock::_update_script_button() { } } else { button_create_script->show(); - List<Node *> selection = EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list(); - for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { - Node *n = E->get(); + Array selection = editor_selection->get_selected_nodes(); + for (int i = 0; i < selection.size(); i++) { + Node *n = Object::cast_to<Node>(selection[i]); if (!n->get_script().is_null()) { button_clear_script->show(); return; @@ -1800,7 +1801,7 @@ void SceneTreeDock::replace_node(Node *p_node, Node *p_by_node, bool p_keep_prop Object::Connection &c = F->get(); if (!(c.flags & Object::CONNECT_PERSIST)) continue; - newnode->connect(c.signal, c.target, c.method, varray(), Object::CONNECT_PERSIST); + newnode->connect(c.signal, c.target, c.method, c.binds, Object::CONNECT_PERSIST); } } @@ -2294,7 +2295,7 @@ void SceneTreeDock::_update_create_root_dialog() { button->set_text(TTR(l)); String name = l.get_slicec(' ', 0); if (ScriptServer::is_global_class(name)) - name = ScriptServer::get_global_class_base(name); + name = ScriptServer::get_global_class_native_base(name); button->set_icon(EditorNode::get_singleton()->get_class_icon(name)); button->connect("pressed", this, "_favorite_root_selected", make_binds(l)); } diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 8cfc6d4e8e..c023c41747 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -244,7 +244,7 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) { item->set_tooltip(0, String(p_node->get_name()) + "\n" + TTR("Type:") + " " + p_node->get_class()); } - if (can_open_instance) { + if (can_open_instance && undo_redo) { //Show buttons only when necessary(SceneTreeDock) to avoid crashes if (!p_node->is_connected("script_changed", this, "_node_script_changed")) p_node->connect("script_changed", this, "_node_script_changed", varray(p_node)); diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index 611067214d..d6756b2bb3 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -187,7 +187,7 @@ void EditorSettingsDialog::_update_icons() { restart_close_button->set_icon(get_icon("Close", "EditorIcons")); restart_container->add_style_override("panel", get_stylebox("bg", "Tree")); restart_icon->set_texture(get_icon("StatusWarning", "EditorIcons")); - restart_label->add_color_override("font_color", get_color("error_color", "Editor")); + restart_label->add_color_override("font_color", get_color("warning_color", "Editor")); } void EditorSettingsDialog::_update_shortcuts() { diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp index 0a8e7ea779..2e06a903aa 100644 --- a/editor/spatial_editor_gizmos.cpp +++ b/editor/spatial_editor_gizmos.cpp @@ -805,6 +805,10 @@ String LightSpatialGizmoPlugin::get_name() const { return "Lights"; } +int LightSpatialGizmoPlugin::get_priority() const { + return -1; +} + String LightSpatialGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { if (p_idx == 0) @@ -1062,6 +1066,10 @@ String AudioStreamPlayer3DSpatialGizmoPlugin::get_name() const { return "AudioStreamPlayer3D"; } +int AudioStreamPlayer3DSpatialGizmoPlugin::get_priority() const { + return -1; +} + String AudioStreamPlayer3DSpatialGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { return "Emission Radius"; @@ -1202,6 +1210,10 @@ String CameraSpatialGizmoPlugin::get_name() const { return "Camera"; } +int CameraSpatialGizmoPlugin::get_priority() const { + return -1; +} + String CameraSpatialGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { Camera *camera = Object::cast_to<Camera>(p_gizmo->get_spatial_node()); @@ -1425,6 +1437,10 @@ String MeshInstanceSpatialGizmoPlugin::get_name() const { return "MeshInstance"; } +int MeshInstanceSpatialGizmoPlugin::get_priority() const { + return -1; +} + bool MeshInstanceSpatialGizmoPlugin::can_be_hidden() const { return false; } @@ -1458,6 +1474,10 @@ String Sprite3DSpatialGizmoPlugin::get_name() const { return "Sprite3D"; } +int Sprite3DSpatialGizmoPlugin::get_priority() const { + return -1; +} + bool Sprite3DSpatialGizmoPlugin::can_be_hidden() const { return false; } @@ -1517,6 +1537,10 @@ String Position3DSpatialGizmoPlugin::get_name() const { return "Position3D"; } +int Position3DSpatialGizmoPlugin::get_priority() const { + return -1; +} + void Position3DSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { p_gizmo->clear(); @@ -1540,6 +1564,10 @@ String SkeletonSpatialGizmoPlugin::get_name() const { return "Skeleton"; } +int SkeletonSpatialGizmoPlugin::get_priority() const { + return -1; +} + void SkeletonSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { Skeleton *skel = Object::cast_to<Skeleton>(p_gizmo->get_spatial_node()); @@ -1743,6 +1771,10 @@ String PhysicalBoneSpatialGizmoPlugin::get_name() const { return "PhysicalBones"; } +int PhysicalBoneSpatialGizmoPlugin::get_priority() const { + return -1; +} + void PhysicalBoneSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { p_gizmo->clear(); @@ -1982,6 +2014,10 @@ String RayCastSpatialGizmoPlugin::get_name() const { return "RayCast"; } +int RayCastSpatialGizmoPlugin::get_priority() const { + return -1; +} + void RayCastSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { RayCast *raycast = Object::cast_to<RayCast>(p_gizmo->get_spatial_node()); @@ -2031,6 +2067,10 @@ String SpringArmSpatialGizmoPlugin::get_name() const { return "SpringArm"; } +int SpringArmSpatialGizmoPlugin::get_priority() const { + return -1; +} + ///// VehicleWheelSpatialGizmoPlugin::VehicleWheelSpatialGizmoPlugin() { @@ -2047,6 +2087,10 @@ String VehicleWheelSpatialGizmoPlugin::get_name() const { return "VehicleWheel"; } +int VehicleWheelSpatialGizmoPlugin::get_priority() const { + return -1; +} + void VehicleWheelSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { VehicleWheel *car_wheel = Object::cast_to<VehicleWheel>(p_gizmo->get_spatial_node()); @@ -2117,6 +2161,10 @@ String SoftBodySpatialGizmoPlugin::get_name() const { return "SoftBody"; } +int SoftBodySpatialGizmoPlugin::get_priority() const { + return -1; +} + bool SoftBodySpatialGizmoPlugin::is_selectable_when_hidden() const { return true; } @@ -2189,6 +2237,10 @@ String VisibilityNotifierGizmoPlugin::get_name() const { return "VisibilityNotifier"; } +int VisibilityNotifierGizmoPlugin::get_priority() const { + return -1; +} + String VisibilityNotifierGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { switch (p_idx) { @@ -2339,6 +2391,10 @@ String ParticlesGizmoPlugin::get_name() const { return "Particles"; } +int ParticlesGizmoPlugin::get_priority() const { + return -1; +} + bool ParticlesGizmoPlugin::is_selectable_when_hidden() const { return true; } @@ -2498,6 +2554,10 @@ String ReflectionProbeGizmoPlugin::get_name() const { return "ReflectionProbe"; } +int ReflectionProbeGizmoPlugin::get_priority() const { + return -1; +} + String ReflectionProbeGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { switch (p_idx) { @@ -2674,6 +2734,10 @@ String GIProbeGizmoPlugin::get_name() const { return "GIProbe"; } +int GIProbeGizmoPlugin::get_priority() const { + return -1; +} + String GIProbeGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { switch (p_idx) { @@ -2908,6 +2972,10 @@ String BakedIndirectLightGizmoPlugin::get_name() const { return "BakedLightmap"; } +int BakedIndirectLightGizmoPlugin::get_priority() const { + return -1; +} + void BakedIndirectLightGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { BakedLightmap *baker = Object::cast_to<BakedLightmap>(p_gizmo->get_spatial_node()); @@ -2965,6 +3033,10 @@ String CollisionShapeSpatialGizmoPlugin::get_name() const { return "CollisionShape"; } +int CollisionShapeSpatialGizmoPlugin::get_priority() const { + return -1; +} + String CollisionShapeSpatialGizmoPlugin::get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const { const CollisionShape *cs = Object::cast_to<CollisionShape>(p_gizmo->get_spatial_node()); @@ -3557,6 +3629,10 @@ String CollisionPolygonSpatialGizmoPlugin::get_name() const { return "CollisionPolygon"; } +int CollisionPolygonSpatialGizmoPlugin::get_priority() const { + return -1; +} + void CollisionPolygonSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { CollisionPolygon *polygon = Object::cast_to<CollisionPolygon>(p_gizmo->get_spatial_node()); @@ -3601,6 +3677,10 @@ String NavigationMeshSpatialGizmoPlugin::get_name() const { return "NavigationMeshInstance"; } +int NavigationMeshSpatialGizmoPlugin::get_priority() const { + return -1; +} + void NavigationMeshSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { NavigationMeshInstance *navmesh = Object::cast_to<NavigationMeshInstance>(p_gizmo->get_spatial_node()); @@ -3961,6 +4041,10 @@ String JointSpatialGizmoPlugin::get_name() const { return "Joints"; } +int JointSpatialGizmoPlugin::get_priority() const { + return -1; +} + void JointSpatialGizmoPlugin::redraw(EditorSpatialGizmo *p_gizmo) { Joint *joint = Object::cast_to<Joint>(p_gizmo->get_spatial_node()); diff --git a/editor/spatial_editor_gizmos.h b/editor/spatial_editor_gizmos.h index 0d89fb0f03..3661df4bad 100644 --- a/editor/spatial_editor_gizmos.h +++ b/editor/spatial_editor_gizmos.h @@ -43,6 +43,7 @@ class LightSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; Variant get_handle_value(EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -60,6 +61,7 @@ class AudioStreamPlayer3DSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; Variant get_handle_value(EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -77,6 +79,7 @@ class CameraSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; Variant get_handle_value(EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -94,6 +97,7 @@ class MeshInstanceSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; bool can_be_hidden() const; void redraw(EditorSpatialGizmo *p_gizmo); @@ -107,6 +111,7 @@ class Sprite3DSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; bool can_be_hidden() const; void redraw(EditorSpatialGizmo *p_gizmo); @@ -123,6 +128,7 @@ class Position3DSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); Position3DSpatialGizmoPlugin(); @@ -135,6 +141,7 @@ class SkeletonSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); SkeletonSpatialGizmoPlugin(); @@ -147,6 +154,7 @@ class PhysicalBoneSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); PhysicalBoneSpatialGizmoPlugin(); @@ -172,6 +180,7 @@ class RayCastSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); RayCastSpatialGizmoPlugin(); @@ -184,6 +193,7 @@ class SpringArmSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); SpringArmSpatialGizmoPlugin(); @@ -196,6 +206,7 @@ class VehicleWheelSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); VehicleWheelSpatialGizmoPlugin(); @@ -208,6 +219,7 @@ class SoftBodySpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; bool is_selectable_when_hidden() const; void redraw(EditorSpatialGizmo *p_gizmo); @@ -226,6 +238,7 @@ class VisibilityNotifierGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -243,6 +256,7 @@ class ParticlesGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; bool is_selectable_when_hidden() const; void redraw(EditorSpatialGizmo *p_gizmo); @@ -261,6 +275,7 @@ class ReflectionProbeGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -278,6 +293,7 @@ class GIProbeGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -295,6 +311,7 @@ class BakedIndirectLightGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -312,6 +329,7 @@ class CollisionShapeSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); String get_handle_name(const EditorSpatialGizmo *p_gizmo, int p_idx) const; @@ -328,6 +346,7 @@ class CollisionPolygonSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); CollisionPolygonSpatialGizmoPlugin(); }; @@ -347,6 +366,7 @@ class NavigationMeshSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); NavigationMeshSpatialGizmoPlugin(); @@ -374,6 +394,7 @@ class JointSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; void redraw(EditorSpatialGizmo *p_gizmo); static void CreatePinJointGizmo(const Transform &p_offset, Vector<Vector3> &r_cursor_points); diff --git a/editor/translations/af.po b/editor/translations/af.po index 249e68ff53..acc57bd967 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -4,12 +4,13 @@ # This file is distributed under the same license as the Godot source code. # Ray West <the.raxar@gmail.com>, 2017. # Julius Stopforth <jjstopforth@gmail.com>, 2018. +# Isa Tippens <isatippens2@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:38+0100\n" -"Last-Translator: Julius Stopforth <jjstopforth@gmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: Isa Tippens <isatippens2@gmail.com>\n" "Language-Team: Afrikaans <https://hosted.weblate.org/projects/godot-engine/" "godot/af/>\n" "Language: af\n" @@ -17,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -62,7 +63,7 @@ msgstr "" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Bevry" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -1398,8 +1399,22 @@ msgstr "Verpak" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1453,7 +1468,7 @@ msgstr "Open 'n Lêer" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Verfris" @@ -1528,10 +1543,33 @@ msgstr "Skuif Gunsteling Op" msgid "Move Favorite Down" msgstr "Skuif Gunsteling Af" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Voorskou:" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Skep Vouer" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Gaan na ouer vouer" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Kon nie vouer skep nie." + +#: 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 "Gidse & Lêers:" @@ -1772,9 +1810,9 @@ msgstr "Afvoer:" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Fout tydens storing van hulpbron!" +#: 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 @@ -1782,6 +1820,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Fout tydens storing van hulpbron!" + +#: 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 "Stoor Hulpbron As..." @@ -3024,14 +3072,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3179,10 +3219,6 @@ msgid "Search files" msgstr "Deursoek Klasse" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5170,19 +5206,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5273,11 +5309,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5880,6 +5916,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6954,6 +6998,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7105,6 +7165,15 @@ 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 "Skep Intekening" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Verwyder" @@ -7226,6 +7295,10 @@ 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 "" @@ -9811,6 +9884,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9825,6 +9904,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9972,6 +10057,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9980,6 +10073,11 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Gaan na ouer vouer" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/ar.po b/editor/translations/ar.po index ce40d0bdfa..6807717a59 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -23,12 +23,13 @@ # عاصم شكر - Aasem shokr <aasemshokr@gmail.com>, 2018. # Mohammad Fares <mhdchehade@gmail.com>, 2018. # NewFriskFan26 <newfriskfan26@gmail.com>, 2019. +# spiderx0x <legendofdarks@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-18 08:54+0000\n" -"Last-Translator: Rex_sa <asd1234567890m@gmail.com>\n" +"PO-Revision-Date: 2019-03-24 17:38+0000\n" +"Last-Translator: spiderx0x <legendofdarks@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -37,7 +38,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -60,24 +61,23 @@ msgstr "لا يمكن استخدام الØالة لأن Ù„Øظة التشغيل #: 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 "الرمز غير Ù…ØªØ§Ø Ù„Ù„Ù†ÙˆØ¹ %s للنوع الصل %s" +msgstr "الرمز غير Ù…ØªØ§Ø Ù„Ù„Ù†ÙˆØ¹ %s للنوع %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "" +msgstr "أسم غير صØÙŠØ Ù„Ù„Ùهرس '%s' للنوع الأساسي %s" #: core/math/expression.cpp -#, fuzzy msgid "Invalid arguments to construct '%s'" -msgstr "نوع برهان خاطئ للتØويل()ØŒ إستخدم ثابت TYPE_*." +msgstr "نقاش غير صالØØ© للبناء '%s'" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "عند نداء '%s':" +msgstr "عند الأستدعاء إلى '%s':" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -86,15 +86,15 @@ msgstr "مجاني/Ùارغ" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "معزز" +msgstr "متوازن / متعادل" #: editor/animation_bezier_editor.cpp msgid "Mirror" -msgstr "عكس" +msgstr "عكس / الإنعكاس" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "أدخل Ù…ÙتاØاً هنا" +msgstr "أدخل الرمز هنا" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" @@ -102,17 +102,15 @@ msgstr "تكرار المÙØ§ØªÙŠØ Ø§Ù„Ù…Øدد(Ø©)" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Ø¥Ù…Ø³Ø Ø§Ù„Ù…ÙØ§ØªÙŠØ Ø§Ù„Ù…Øدد(Ø©)" +msgstr "Ø¥Ù…Ø³Ø Ø§Ù„Ø²Ù…ÙˆØ² المØدد(Ø©)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "إضاÙØ© نقطة" +msgstr "إضاÙØ© نقطة Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" +msgstr "تØريك نقطة الBezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -128,7 +126,7 @@ msgstr "تغيير وقت الإطار الرئيسي للØركة" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "إنتقالية تغيير التØريك" +msgstr "تغيير المقطع الإنتقالي" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" @@ -143,14 +141,13 @@ msgid "Anim Change Call" 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" @@ -202,9 +199,8 @@ 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." @@ -215,27 +211,24 @@ msgid "Update Mode (How this property is set)" msgstr "وضع التØديث (كي٠يتم تعيين هذه الخاصية)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Interpolation Mode" -msgstr "عقدة الØركة" +msgstr "وضعية الأستيÙاء" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "وضع التÙا٠الØلقة (نهاية العشوائية مع بداية الØلقة)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Remove this track." -msgstr "ازالة المسار المØدد." +msgstr "إزالة هذا المسار." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s): " -msgstr "وقت التلاشي X (ثواني):" +msgstr "الوقت(ثواني): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" -msgstr "" +msgstr "ØªØ±Ø¬ÙŠØ Ø§Ù„Ù…Ø³Ø§Ø± المÙÙعل" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -250,9 +243,8 @@ msgid "Trigger" msgstr "Ù…Ùطلق" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Capture" -msgstr "المستقبل" +msgstr "التقاط" #: editor/animation_track_editor.cpp msgid "Nearest" @@ -269,11 +261,11 @@ msgstr "مكعب" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "" +msgstr "تÙسير الØلقة المثبتة" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "" +msgstr "التÙا٠الØلقة المثبتة" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -281,29 +273,24 @@ msgid "Insert Key" msgstr "أدخل Ù…ÙتاØ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Duplicate Key(s)" -msgstr "Ù…ÙØ§ØªÙŠØ Ù†Ø³Ø® التØريك" +msgstr "Ù…ÙØªØ§Ø (Ù…ÙاتيØ) المكررة" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Key(s)" -msgstr "Ù…ÙØ§ØªÙŠØ Øذ٠التØريك" +msgstr "Ù…ÙØªØ§Ø Ø§Ù„ØØ°Ù()" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "تغيير إسم الØركة:" +msgstr "تغيير وضع تØديث الØركة" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "عقدة الØركة" +msgstr "تغيير وضع عقدة الØركة" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "تغيير تكرير الØركة" +msgstr "تغيير وضع عقدة الØركة" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -332,7 +319,7 @@ msgstr "إدخال Øركة" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "اللأعب المتØرك لا يستطيع تØريك Ù†Ùسه ,Ùقط اللاعبين الآخرين." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -344,21 +331,19 @@ msgstr "أنشي مسار Øركة Ùˆ Ù…ÙتاØ" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" -msgstr "أض٠مÙØªØ§Ø Øركة" +msgstr "أض٠مÙØªØ§Ø Ø§Ù„Øركة" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "تغيير إسم الØركة:" +msgstr "تغيير خطوة الØركة" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "اعادة ترتيب التØميلات التلقائية" +msgstr "إعادة ترتيب المسارات" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "تنطبق مسارات التØويل Ùقط على الØيز المكاني." #: editor/animation_track_editor.cpp msgid "" @@ -367,6 +352,10 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"يمكن للمسارات الصوتية أن تشير Ùقط إلى Øيز الكتابة:\n" +"-الصوت الجاري للأعب\n" +"-الصوت الجاري للأعب ثنائي الأبعاد\n" +"-الصوت الجاري للأعب ثلاثي الأبعاد" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." @@ -1406,8 +1395,22 @@ msgstr "ÙŠÙŽØزم\"ينتج المل٠المضغوط\"" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1459,7 +1462,7 @@ msgstr "أظهر ÙÙŠ مدير الملÙات" msgid "New Folder..." msgstr "مجلد جديد..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "تØديث" @@ -1534,10 +1537,35 @@ msgstr "Øرك المÙÙضلة للأعلي" msgid "Move Favorite Down" msgstr "Øرك المÙÙضلة للأسÙÙ„" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "التبويب السابق" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "أنشئ مجلد" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "إذهب إلي المجلد السابق" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "لا يمكن إنشاء المجلد." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "أظهر العناصر كشبكة من الصور المصغرة" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "أظهر العناصر كقائمة" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "الوجهات والملÙات:" @@ -1778,9 +1806,9 @@ msgstr "أخلاء الخرج" msgid "Project export failed with error code %d." msgstr "تصدير المشروع Ùشل, رمز الخطأ % d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1788,6 +1816,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "خطأ ÙÙŠ ØÙظ المورد!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "ØÙظ المورد باسم..." @@ -2217,7 +2255,7 @@ msgstr "تمكين/إيقا٠الوضع الخالي من الإلهاء." #: editor/editor_node.cpp msgid "Add a new scene." -msgstr "إضاÙØ© مشهد جديد" +msgstr "إضاÙØ© مشهد جديد." #: editor/editor_node.cpp msgid "Scene" @@ -3099,16 +3137,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "لا يمكن التنقل إلي '%s' Øيث لم يتم العثور عليها ÙÙŠ نظام الملÙات!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "أظهر العناصر كشبكة من الصور المصغرة" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "أظهر العناصر كقائمة" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "الØالة: إستيراد المل٠Ùشل. من Ùضلك Ø£ØµÙ„Ø Ø§Ù„Ù…Ù„Ù Ùˆ أعد إستيراده يدوياً." @@ -3252,10 +3280,6 @@ msgid "Search files" msgstr "إبØØ« ÙÙŠ الأصناÙ" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "نمذج المشهد(المشاهد) المØددة كطÙÙ„ للعقدة المØددة." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4511,9 +4535,8 @@ msgid "Official" msgstr "رسمياً" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "تجريب" +msgstr "أختبار" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -4599,44 +4622,38 @@ msgid "Create new horizontal and vertical guides" msgstr "إنشاء موجه عمودي وأÙقي جديد" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move pivot" -msgstr "تØريك المØور" +msgstr "نقل المØور" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate CanvasItem" -msgstr "تعديل العنصر القماشي" +msgstr "تدوير العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move anchor" -msgstr "عملية التØريك" +msgstr "نقل الإرتكاز" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Resize CanvasItem" -msgstr "تعديل العنصر القماشي" +msgstr "تغير Øجم العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem" -msgstr "تعديل العنصر القماشي" +msgstr "مقياس العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem" -msgstr "تعديل العنصر القماشي" +msgstr "تØريك العنصر القماشي" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "إعدادات مسبقة للمخططات والتØكم بالدمج ." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." -msgstr "" +msgstr "تجاوز الأطÙال الثوابت والقيم وتجاهل الوالدين ." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4658,14 +4675,13 @@ msgstr "لصق الوضع" 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 -#, fuzzy msgid "Zoom Reset" -msgstr "إبعاد" +msgstr "إعادة تعيين التكبير" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" @@ -5292,6 +5308,10 @@ msgid "Generating Visibility Rect" msgstr "توليد Rect الرؤية" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "توليد Rect الرؤية" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "لا يمكن إنشاء سوى نقطة ÙˆØيدة داخل ParticlesMaterial معالج المواد" @@ -5304,10 +5324,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "لا بيكسل بشÙاÙية > 128 ÙÙŠ الصورة..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "توليد Rect الرؤية" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Øمل قناع الانبعاث" @@ -5396,13 +5412,13 @@ msgid "Generating AABB" msgstr "توليد AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "ولد AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "ولد رؤية AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "ولد AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "إزالة نقطة من المنØنى" @@ -6018,6 +6034,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7113,6 +7137,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "التبويب السابق" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7268,6 +7309,15 @@ 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 "إنشاء بولي" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Ù…Ø³Ø Ø§Ù„Ù‚Ø§Ù„Ø¨" @@ -7399,6 +7449,11 @@ msgid "Exporting All" msgstr "التصدير كـ %s" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "هذا المسار غير موجود." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" @@ -10012,6 +10067,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10026,6 +10087,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10175,6 +10242,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "أض٠اللون الØالي كإعداد مسبق" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "تنبيه!" @@ -10183,6 +10258,11 @@ msgstr "تنبيه!" msgid "Please Confirm..." msgstr "يرجى التاكيد..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "إذهب إلي المجلد السابق" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10221,41 +10301,42 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "" +msgstr "خطأ ÙÙŠ معرÙØ© النوع الØر." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "" +msgstr "صيغة الخط غير معروÙØ©." #: scene/resources/dynamic_font.cpp msgid "Error loading font." -msgstr "" +msgstr "Øدث خطأ أثناء تØميل الخط." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." -msgstr "Øجم الخط غير صالØ" +msgstr "Øجم الخط غير مناسب." #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Input" -msgstr "أض٠مدخله" +msgstr "إدخال" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid source for shader." -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 "يمكن تعيين المتغيرات Ùقط ÙÙŠ الذروة ." + +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "نمذج المشهد(المشاهد) المØددة كطÙÙ„ للعقدة المØددة." #, fuzzy #~ msgid "Font Size:" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index a629e78a9c..a179f3b438 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -1373,8 +1373,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1425,7 +1439,7 @@ msgstr "Покажи във Файлов Мениджър" msgid "New Folder..." msgstr "Ðова папка..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1500,10 +1514,33 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Предишен подпрозорец" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Създаване на папка" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Към горната папка" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "Папки и файлове:" @@ -1736,8 +1773,8 @@ msgstr "Ðова Ñцена" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1746,6 +1783,16 @@ msgid "OK" msgstr "Добре" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -3011,14 +3058,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3167,10 +3206,6 @@ msgid "Search files" msgstr "ТърÑене" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5191,19 +5226,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5294,11 +5329,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5899,6 +5934,14 @@ msgid "Open Godot online documentation" msgstr "Отвори документациÑта на Godot онлайн" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6981,6 +7024,24 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Предишен подпрозорец" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7138,6 +7199,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "ПремеÑтване на Полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "ПремеÑтване на Полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "ЗатварÑне на вÑичко" @@ -7266,6 +7337,10 @@ msgid "Exporting All" msgstr "ИзнаÑÑне за %s" #: 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 "" @@ -9938,6 +10013,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9952,6 +10033,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10099,6 +10186,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Тревога!" @@ -10107,6 +10202,11 @@ msgstr "Тревога!" msgid "Please Confirm..." msgstr "МолÑ, потвърдете..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Към горната папка" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/bn.po b/editor/translations/bn.po index 845cceaf35..3634ca82d2 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -1428,8 +1428,22 @@ msgstr "পà§à¦¯à¦¾à¦•/গà§à¦šà§à¦›à¦¿à¦¤ করা" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1485,7 +1499,7 @@ msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨" msgid "New Folder..." msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "রিফà§à¦°à§‡à¦¸ করà§à¦¨" @@ -1560,11 +1574,36 @@ msgstr "ফেবরিট/পà§à¦°à¦¿à¦¯à¦¼à¦•à§‡ উপরের দিকে msgid "Move Favorite Down" msgstr "ফেবরিট/পà§à¦°à¦¿à¦¯à¦¼à¦•à§‡ নিচের দিকে নামান" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "পূরà§à¦¬à§‡à¦° টà§à¦¯à¦¾à¦¬" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" + +#: editor/editor_file_dialog.cpp #, fuzzy msgid "Go to parent folder" msgstr "ফোলà§à¦¡à¦¾à¦° তৈরী করা সমà§à¦à¦¬ হয়নি।" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "ফোলà§à¦¡à¦¾à¦° তৈরী করা সমà§à¦à¦¬ হয়নি।" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "থামà§à¦¬à¦¨à§‡à¦‡à¦² গà§à¦°à¦¿à¦¡ হিসাবে আইটেম দেখà§à¦¨" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "লিসà§à¦Ÿ হিসেবে আইটেম দেখà§à¦¨" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "পথ à¦à¦¬à¦‚ ফাইল:" @@ -1817,9 +1856,9 @@ msgstr "আউটপà§à¦Ÿ/ফলাফল" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1827,6 +1866,16 @@ msgid "OK" msgstr "সঠিক" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "রিসোরà§à¦¸ সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়েছে!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "রিসোরà§à¦¸ à¦à¦‡à¦°à§‚পে সংরকà§à¦·à¦£ করà§à¦¨..." @@ -3215,16 +3264,6 @@ msgstr "'% s' তে নেà¦à¦¿à¦—েট করা যাবে না কাà #: editor/filesystem_dock.cpp #, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "থামà§à¦¬à¦¨à§‡à¦‡à¦² গà§à¦°à¦¿à¦¡ হিসাবে আইটেম দেখà§à¦¨" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "লিসà§à¦Ÿ হিসেবে আইটেম দেখà§à¦¨" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" @@ -3386,10 +3425,6 @@ msgid "Search files" msgstr "কà§à¦²à¦¾à¦¸à§‡à¦° অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ দৃশà§à¦¯(সমূহ)-কে নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোডের অংশ হিসেবে ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨à¥¤" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5485,6 +5520,10 @@ 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 "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° ParticlesMaterial পà§à¦°à¦¸à§‡à¦¸ মà§à¦¯à¦¾à¦Ÿà§‡à¦°à¦¿à§Ÿà¦¾à¦²à§‡ বিনà§à¦¦à§ সà§à¦¥à¦¾à¦ªà¦¨ সমà§à¦à¦¬" @@ -5497,10 +5536,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "সà§à¦¬à¦šà§à¦›à¦¤à¦¾à¦¸à¦¹ কোনো পিকà§à¦¸à§‡à¦² নেই > ছবিতে ১২৮..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "à¦à¦¿à¦œà¦¿à¦¬à¦¿à¦²à¦¿à¦Ÿà¦¿ রেকà§à¦Ÿ তৈরি করà§à¦¨" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Emission Mask লোড করà§à¦¨" @@ -5598,12 +5633,12 @@ msgid "Generating AABB" msgstr "AABB উৎপনà§à¦¨ করà§à¦¨" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +#, fuzzy +msgid "Generate Visibility AABB" msgstr "AABB উৎপনà§à¦¨ করà§à¦¨" #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "AABB উৎপনà§à¦¨ করà§à¦¨" #: editor/plugins/path_2d_editor_plugin.cpp @@ -6238,6 +6273,14 @@ msgid "Open Godot online documentation" msgstr "রেফারেনà§à¦¸à§‡à¦° ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨à§‡ খà§à¦à¦œà§à¦¨à¥¤" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "রেফারেনà§à¦¸à§‡à¦° ডকà§à¦®à§‡à¦¨à§à¦Ÿà§‡à¦¶à¦¨à§‡ খà§à¦à¦œà§à¦¨à¥¤" @@ -7379,6 +7422,24 @@ msgid "Merge from Scene" msgstr "দৃশà§à¦¯ হতে à¦à¦•à¦¤à§à¦°à¦¿à¦¤ করবেন" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "পূরà§à¦¬à§‡à¦° টà§à¦¯à¦¾à¦¬" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7536,6 +7597,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "পলিগন সরান" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "পলিগন সরান" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "বসà§à¦¤à§ অপসারণ করà§à¦¨" @@ -7674,6 +7745,11 @@ msgid "Exporting All" msgstr "%s à¦à¦° জনà§à¦¯ à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ (export) হচà§à¦›à§‡" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "ফাইলটি বিদà§à¦¯à¦®à¦¾à¦¨ নয়।" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡à¦° জনà§à¦¯ দরকারি à¦à¦•à§à¦¸à¦ªà§‹à¦°à§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿà¦—à§à¦²à¦¿ কà§à¦·à¦¤à¦¿à¦—à§à¦°à¦¸à§à¦¥ হয়েছে অথবা খà§à¦à¦œà§‡ পাওয়া " @@ -10497,6 +10573,12 @@ 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 "" + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10512,6 +10594,12 @@ msgstr "" msgid "Plotting Meshes" msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10671,6 +10759,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "সতরà§à¦•à¦¤à¦¾!" @@ -10679,6 +10775,11 @@ msgstr "সতরà§à¦•à¦¤à¦¾!" msgid "Please Confirm..." msgstr "অনà§à¦—à§à¦°à¦¹ করে নিশà§à¦šà¦¿à¦¤ করà§à¦¨..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "ফোলà§à¦¡à¦¾à¦° তৈরী করা সমà§à¦à¦¬ হয়নি।" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10760,6 +10861,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ দৃশà§à¦¯(সমূহ)-কে নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোডের অংশ হিসেবে ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করà§à¦¨à¥¤" + #~ msgid "FPS" #~ msgstr "à¦à¦« পি à¦à¦¸" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index e8642ec86f..27524d5417 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -1391,8 +1391,22 @@ msgstr "Compressió" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1445,7 +1459,7 @@ msgstr "Mostra en el Gestor de Fitxers" msgid "New Folder..." msgstr "Nou Directori..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Refresca" @@ -1520,10 +1534,33 @@ msgstr "Mou Favorit Amunt" msgid "Move Favorite Down" msgstr "Mou Favorit Avall" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Planta Anterior" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Planta Següent" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Vés al directori principal" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "No s'ha pogut crear el directori." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Visualitza en una graella de miniatures." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Mostra'ls en una llista." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Directoris i Fitxers:" @@ -1764,9 +1801,9 @@ msgstr "Buida la Sortida" msgid "Project export failed with error code %d." msgstr "L'exportació del projecte ha fallat amb el codi d'error %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Error en desar recurs!" +#: 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 @@ -1774,6 +1811,16 @@ msgid "OK" msgstr "D'acord" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Error en desar recurs!" + +#: 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 "Anomena i Desa el Recurs..." @@ -3088,14 +3135,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "No es pot accedir a '%s'. No es troba en el sistema de fitxers!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Visualitza en una graella de miniatures." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Mostra'ls en una llista." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "Estat: No s'ha pogut importar. Corregiu el fitxer i torneu a importar." @@ -3236,10 +3275,6 @@ msgid "Search files" msgstr "Cerca Fitxers" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Instancia les escenes seleccionades com a filles del node seleccionat." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5271,6 +5306,10 @@ msgid "Generating Visibility Rect" msgstr "Genera un Rectangle de Visibilitat" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Genera un Rectangle de Visibilitat" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "Només es poden establir punts en materials de procés ParticlesMaterial" @@ -5283,10 +5322,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Cap pÃxel amb transparència > 128 en la imatge..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Genera un Rectangle de Visibilitat" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Carrega una Mà scara d'Emissió" @@ -5375,13 +5410,13 @@ msgid "Generating AABB" msgstr "Generant AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Genera AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Genera un AABB de Visibilitat" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Genera AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Elimina un Punt de la Corba" @@ -5998,6 +6033,14 @@ msgid "Open Godot online documentation" msgstr "Obre la Documentació en lÃnia" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Cerca dins la documentació de referència." @@ -7100,6 +7143,24 @@ msgid "Merge from Scene" msgstr "Combina-ho a partir de l'Escena" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Planta Següent" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "Planta Anterior" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7263,6 +7324,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Mou el PolÃgon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Mou el PolÃgon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Elimina la Plantilla" @@ -7399,6 +7470,11 @@ msgid "Exporting All" msgstr "Exportació per a %s" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "El camà 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:" @@ -10134,6 +10210,12 @@ msgstr "" "Cal proveir una forma perquè CollisionShape funcioni. Creeu-li un recurs de " "forma!" +#: 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/cpu_particles.cpp #, fuzzy msgid "Nothing is visible because no mesh has been assigned." @@ -10149,6 +10231,12 @@ msgstr "" msgid "Plotting Meshes" msgstr "S'està n traçant les Malles" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10321,6 +10409,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Afegeix el Color actual com a predeterminat" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ep!" @@ -10329,6 +10425,11 @@ msgstr "Ep!" msgid "Please Confirm..." msgstr "Confirmeu..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Vés al directori principal" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10415,6 +10516,10 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Instancia les escenes seleccionades com a filles del node seleccionat." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index b8c1040589..49075fe390 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-21 21:18+0000\n" +"PO-Revision-Date: 2019-03-16 11:42+0000\n" "Last-Translator: VojtÄ›ch Å amla <auzkok@seznam.cz>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" @@ -24,7 +24,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 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -131,9 +131,8 @@ msgid "Anim Change Call" msgstr "Animace: zmÄ›na volánÃ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "ZmÄ›nit smyÄku animace" +msgstr "ZmÄ›nit délku animace" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -190,9 +189,8 @@ msgid "Anim Clips:" msgstr "AnimaÄnà klipy:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "ZmÄ›nit hodnotu pole" +msgstr "ZmÄ›nit cestu stopy" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -274,14 +272,12 @@ msgid "Delete Key(s)" msgstr "Odstranit klÃÄ(e)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "ZmÄ›nit název animace:" +msgstr "ZmÄ›nit režim aktualizace animace" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "InterpolaÄnà režim" +msgstr "ZmÄ›nit režim interpolace animace" #: editor/animation_track_editor.cpp #, fuzzy @@ -330,14 +326,12 @@ msgid "Anim Insert Key" msgstr "Animace: vložit klÃÄ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "ZmÄ›nit FPS animace" +msgstr "ZmÄ›nit krok animace" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "PÅ™eskupit Autoloady" +msgstr "PÅ™eskupit stopy" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -368,9 +362,8 @@ msgid "Not possible to add a new track without a root" msgstr "Nenà možné pÅ™idat novou stopu bez koÅ™enového uzlu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "PÅ™idat stopu" +msgstr "PÅ™idat Bézierovu stopu" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -1382,8 +1375,26 @@ msgstr "BalÃm" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"CÃlová platforma vyžaduje kompresi textur 'ETC' pro GLES2. Povolte 'Import " +"Etc' v nastavenÃch projektu." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." +msgstr "" +"CÃlová platforma vyžaduje kompresi textur 'ETC2' pro GLES3. Povolte 'Import " +"Etc 2' v nastavenÃch projektu." + +#: editor/editor_export.cpp +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 @@ -1431,7 +1442,7 @@ msgstr "Zobrazit ve správci souborů" msgid "New Folder..." msgstr "Nová složka..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Obnovit" @@ -1506,10 +1517,31 @@ msgstr "PÅ™esunout oblÃbenou položku nahoru" msgid "Move Favorite Down" msgstr "PÅ™esunout oblÃbenou položku dolů" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "PÅ™edchozà složka" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "DalÅ¡Ã složka" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "JÃt na nadÅ™azenou složku" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Nelze vytvoÅ™it složku." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Zobrazit položky jako mřÞku náhledů." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Zobrazit položky jako seznam." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Složky a soubory:" @@ -1733,9 +1765,9 @@ msgstr "Vymazat výstup" msgid "Project export failed with error code %d." msgstr "Export projektu selhal s chybovým kódem %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Chyba pÅ™i ukládánà zdrojů!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Nelze uložit importované zdroje." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1743,6 +1775,16 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Chyba pÅ™i ukládánà zdrojů!" + +#: 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 "Uložit zdroj jako..." @@ -1956,7 +1998,7 @@ msgstr "Selhalo nahránà zdroje." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "Pro uloženà scény je vyžadován koÅ™enový uzel." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2697,6 +2739,8 @@ msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." msgstr "" +"Vybraný zdroj (%s) neodpovÃdá žádnému oÄekávanému typu pro tuto vlastnost " +"(%s)." #: editor/editor_properties.cpp msgid "" @@ -3035,14 +3079,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "Nelze pÅ™ejÃt k '%s', protože nebylo nalezeno v souborovém systému!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Zobrazit položky jako mřÞku náhledů." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Zobrazit položky jako seznam." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Status: import souboru selhal. Opravte, prosÃm, soubor a naimportujte ho " @@ -3172,19 +3208,14 @@ msgid "Re-Scan Filesystem" msgstr "Znovu skenovat souborový systém" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle split mode" -msgstr "PÅ™epnout režim" +msgstr "PÅ™epnout režim rozdÄ›lenÃ" #: editor/filesystem_dock.cpp msgid "Search files" msgstr "Hledat soubory" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3372,11 +3403,11 @@ msgstr "UkládánÃ..." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Nastavit jako výchozà pro '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "VyÄistit výchozà pro '%s'" #: editor/import_dock.cpp msgid " Files" @@ -3463,9 +3494,8 @@ msgid "Load an existing resource from disk and edit it." msgstr "Nahrát existujÃcà zdroj z disku a editovat ho." #: editor/inspector_dock.cpp -#, fuzzy msgid "Save the currently edited resource." -msgstr "Uložit vybranou animaci" +msgstr "Uložit právÄ› editovaný zdroj." #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." @@ -3539,16 +3569,14 @@ msgid "Create points." msgstr "VytvoÅ™it body." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "" "Edit points.\n" "LMB: Move Point\n" "RMB: Erase Point" msgstr "" -"Upravit existujÃcà polygon:\n" -"LMB: PÅ™esunout bod.\n" -"Ctrl+LMB: RozdÄ›lit segment.\n" -"RMB: Vymazat bod." +"Upravit body.\n" +"LMB: PÅ™esunout bod\n" +"RMB: Vymazat bod" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -3649,7 +3677,7 @@ msgstr "Zvolte a pÅ™esuňte body. Nové uzly vytvoÅ™te pomocà 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 "Aktivovat pÅ™ichytávánà a zobrazit mřÞku." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3668,9 +3696,8 @@ msgid "Triangle already exists" msgstr "TrojúhelnÃk již existuje" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "PÅ™idat promÄ›nnou" +msgstr "PÅ™idat trojúhelnÃk" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Change BlendSpace2D Limits" @@ -3705,11 +3732,11 @@ msgstr "Zobrazit oblÃbené" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." -msgstr "" +msgstr "VytvoÅ™it trojúhelnÃky spojovánÃm bodů." #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Erase points and triangles." -msgstr "" +msgstr "Odstranit body a trojúhelnÃky." #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Generate blend triangles automatically (instead of manually)" @@ -3721,9 +3748,8 @@ msgid "Blend:" msgstr "ProlÃnánÃ:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "ZmÄ›ny materiálu" +msgstr "Parametr zmÄ›nÄ›n" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3735,43 +3761,37 @@ 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 "PÅ™idat uzel(y) ze stromu" +msgstr "PÅ™idat uzel do BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Režim pÅ™esouvánÃ" +msgstr "Uzel pÅ™esunut" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Unable to connect, port may be in use or connection may be invalid." -msgstr "" +msgstr "Nelze se pÅ™ipojit, port může být použÃván nebo pÅ™ipojenà nenà platné." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "PÅ™ipojeno" +msgstr "PÅ™ipojené uzly" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Odpojeno" +msgstr "Odpojené uzly" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Nová animace" +msgstr "Nastavit animaci" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Odstranit uzel/uzly" +msgstr "Smazat uzel" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -3779,9 +3799,8 @@ msgid "Toggle Filter On/Off" msgstr "Aktivovat/Deaktivovat tuto stopu." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "ZmÄ›nit typ hodnot pole" +msgstr "ZmÄ›nit filtr" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3800,9 +3819,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Název uzlu" +msgstr "Uzel pÅ™ejmenován" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -4031,9 +4049,8 @@ msgid "Cross-Animation Blend Times" msgstr "" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Režim pÅ™esouvánÃ" +msgstr "PÅ™esunout uzel" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -4055,7 +4072,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp msgid "Sync" -msgstr "" +msgstr "Synchronizovat" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" @@ -4075,14 +4092,12 @@ msgid "No playback resource set at path: %s." msgstr "Nenà v cestÄ› ke zdroji." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Odebrat" +msgstr "Uzel odebrán" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "PÅ™echod: " +msgstr "PÅ™echod odebrán" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" @@ -4212,39 +4227,39 @@ msgstr "Strom animace je neplatný." #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Animation Node" -msgstr "Uzel animace" +msgstr "Uzel Animation" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "OneShot Node" -msgstr "" +msgstr "Uzel OneShot" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Uzel Mix" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "Uzel Blend2" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "Uzel Blend3" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "Uzel Blend4" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "Uzel TimeScale" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "" +msgstr "Uzel TimeSeek" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Uzel Transition" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Import Animations..." @@ -5155,6 +5170,10 @@ msgid "Generating Visibility Rect" msgstr "Generovánà C# projektu..." #: 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 "" @@ -5167,16 +5186,12 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Žádný pixel s průhlednostà > 128 v obrázku..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" -msgstr "" +msgstr "NaÄÃst emisnà masku" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Clear Emission Mask" -msgstr "" +msgstr "VyÄistit emisnà masku" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -5199,7 +5214,7 @@ msgstr "ÄŒas generovánà (sec):" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "" +msgstr "Emisnà maska" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Capture from Pixel" @@ -5258,13 +5273,13 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Vygenerovat AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Vygenerovat AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Odstranit bod z kÅ™ivky" @@ -5316,7 +5331,7 @@ msgstr "Klik: PÅ™idat bod" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Left Click: Split Segment (in curve)" -msgstr "" +msgstr "Levý klik: RozdÄ›lit segment (v kÅ™ivce)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -5394,7 +5409,7 @@ msgstr "" #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "RozdÄ›lit segment (v kÅ™ivce)" #: editor/plugins/physical_bone_plugin.cpp #, fuzzy @@ -5853,6 +5868,14 @@ msgid "Open Godot online documentation" msgstr "OtevÅ™Ãt Godot online dokumentaci" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Hledat v referenÄnà dokumentaci." @@ -6924,6 +6947,24 @@ msgid "Merge from Scene" msgstr "SlouÄit ze scény" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "DalÅ¡Ã skript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "PÅ™edchozà skript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "KopÃrovat bitovou masku." @@ -7073,6 +7114,16 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Concave" +msgstr "PÅ™esunout polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "PÅ™esunout polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Odstranit dlaždici" @@ -7201,6 +7252,11 @@ msgid "Exporting All" msgstr "Exportovánà vÅ¡eho" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Cesta neexistuje." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Exportnà šablony pro tuto platformu chybà nebo jsou poÅ¡kozené:" @@ -8238,9 +8294,8 @@ msgid "Make Local" msgstr "MÃstnÃ" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Dává smysl!" +msgstr "Nový koÅ™en scény" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8379,7 +8434,7 @@ msgstr "PÅ™epnout viditelnost" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" -msgstr "" +msgstr "Varovánà konfigurace uzlu:" #: editor/scene_tree_editor.cpp msgid "" @@ -8439,7 +8494,7 @@ msgstr "Strom scény (uzly):" #: editor/scene_tree_editor.cpp msgid "Node Configuration Warning!" -msgstr "" +msgstr "Varovánà konfigurace uzlu!" #: editor/scene_tree_editor.cpp msgid "Select a Node" @@ -9859,6 +9914,12 @@ msgstr "" "Aby CollisionShape mohl fungovat, musà mu být poskytnut tvar. VytvoÅ™te mu " "prosÃm zdroj tvar!" +#: 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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9873,6 +9934,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10035,6 +10102,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "PÅ™idat aktuálnà barvu jako pÅ™edvolbu" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Pozor!" @@ -10043,6 +10118,11 @@ msgstr "Pozor!" msgid "Please Confirm..." msgstr "PotvrÄte prosÃm..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "JÃt na nadÅ™azenou složku" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/da.po b/editor/translations/da.po index fe271a62a6..5096ed924a 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -1384,8 +1384,22 @@ msgstr "Pakker" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1434,7 +1448,7 @@ msgstr "Vis i FilhÃ¥ndtering" msgid "New Folder..." msgstr "Opret mappe..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Opdater" @@ -1509,10 +1523,35 @@ msgstr "Flyt Favorit Op" msgid "Move Favorite Down" msgstr "Flyt Favorit Ned" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Forrige fane" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Opret Mappe" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "GÃ¥ til overliggende mappe" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Kunne ikke oprette mappe." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Vis emner som et gitter af miniaturebilleder" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Vis emner som en liste" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Mapper & Filer:" @@ -1736,9 +1775,9 @@ msgstr "Ryd Output" msgid "Project export failed with error code %d." msgstr "Projekt eksport fejlede med fejlkode %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Fejl, kan ikke gemme ressource!" +#: 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 @@ -1746,6 +1785,16 @@ msgid "OK" msgstr "Ok" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Fejl, kan ikke gemme ressource!" + +#: 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 "Gem Ressource Som..." @@ -3046,16 +3095,6 @@ msgstr "Kan ikke navigere til '%s' da det ikke blev fundet i filsystemet!" #: editor/filesystem_dock.cpp #, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Vis emner som et gitter af miniaturebilleder" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Vis emner som en liste" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" @@ -3210,10 +3249,6 @@ msgid "Search files" msgstr "Søg Classes" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5234,19 +5269,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5338,11 +5373,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5957,6 +5992,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7042,6 +7085,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Forrige fane" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7197,6 +7257,15 @@ 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 "Opret Poly" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Fjern Template" @@ -7329,6 +7398,10 @@ msgid "Exporting All" msgstr "Eksporter" #: 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 "" @@ -9999,6 +10072,12 @@ msgstr "" "En figur skal gives for at CollisionShape fungerer. Opret en figur ressource " "til det!" +#: 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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10013,6 +10092,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10171,6 +10256,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Advarsel!" @@ -10179,6 +10272,11 @@ msgstr "Advarsel!" msgid "Please Confirm..." msgstr "Bekræft venligst..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "GÃ¥ til overliggende mappe" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/de.po b/editor/translations/de.po index 9cf2dc4a85..f14b72da05 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -38,12 +38,13 @@ # Rémi Verschelde <akien@godotengine.org>, 2019. # Martin <martinreininger@gmx.net>, 2019. # Andreas During <anduring@web.de>, 2019. +# Arthur S. Muszynski <artism90@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-01 11:59+0000\n" -"Last-Translator: Andreas During <anduring@web.de>\n" +"PO-Revision-Date: 2019-03-12 15:26+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" @@ -51,7 +52,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.5-dev\n" +"X-Generator: Weblate 3.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -120,14 +121,12 @@ msgid "Delete Selected Key(s)" msgstr "Ausgewählte Schlüssel löschen" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Punkt hinzufügen" +msgstr "Bezierpunkt hinzufügen" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Punkte Verschieben" +msgstr "Bezierpunkt verschieben" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -158,9 +157,8 @@ msgid "Anim Change Call" msgstr "Aufruf ändern" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Bearbeite Animationsschleife" +msgstr "Animationslänge ändern" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -217,9 +215,8 @@ msgid "Anim Clips:" msgstr "Animationsschnipsel:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Array-Wert ändern" +msgstr "Spurpfad ändern" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -246,9 +243,8 @@ msgid "Time (s): " msgstr "Zeit (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Dopplereffekt aktivieren" +msgstr "Spur ein-/ausschalten" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -301,19 +297,16 @@ msgid "Delete Key(s)" msgstr "Schlüsselbilder entfernen" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Animationsname ändern:" +msgstr "Animationsaktualisierungsmoduls ändern" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Interpolationsmodus" +msgstr "Animationsinterpolationsmodus ändern" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Bearbeite Animationsschleife" +msgstr "Animationswiederholungsmodus ändern" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -357,14 +350,12 @@ msgid "Anim Insert Key" msgstr "Schlüsselbild einfügen" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Ändere FPS-Wert der Animation" +msgstr "Animationsschrittweite ändern" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Autoloads neu anordnen" +msgstr "Spuren neu anordnen" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -396,9 +387,8 @@ msgid "Not possible to add a new track without a root" msgstr "Ohne eine Wurzel kann keine neue Spur hinzugefügt werden" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Spur hinzufügen" +msgstr "Bezierspur hinzufügen" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -410,14 +400,12 @@ msgstr "" "Spur ist nicht vom Typ Spatial, Schlüssel kann nicht hinzugefügt werden" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "3D-Transformspur" +msgstr "Transformationsspurschlüssel hinzufügen" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Spur hinzufügen" +msgstr "Spurschlüssel hinzufügen" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -425,9 +413,8 @@ msgstr "" "Spurpfad ist ungültig, Methoden-Schlüssel kann nicht hinzugefügt werden." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Methodenaufrufsspur" +msgstr "Methodenaufrufsspurschlüssel hinzufügen" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -590,17 +577,16 @@ msgid "Copy" msgstr "Kopieren" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Audioschnipsel:" +msgstr "Tonspurclip hinzufügen" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Tonspurclip-Startversatz ändern" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Tonspurclip-Endversatz ändern" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -676,15 +662,15 @@ msgstr "Zeilen- und Spaltennummern." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "In der Ziel-Node muss eine Methode angegeben werden!" +msgstr "Im Ziel-Node muss eine Methode angegeben werden!" #: editor/connections_dialog.cpp msgid "" "Target method not found! Specify a valid method or attach a script to target " "Node." msgstr "" -"Zielmethode nicht gefunden! Bitte geben Sie eine gültige Methode an oder " -"fügen Sie ein Skript zur Ziel-Node hinzu." +"Zielmethode nicht gefunden! Bitte eine gültige Methode angeben oder ein " +"Skript dem Ziel-Node anhängen." #: editor/connections_dialog.cpp msgid "Connect To Node:" @@ -1419,9 +1405,30 @@ msgstr "Packe" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Die Zielplattform benötigt ‚ETC‘-Texturkompression für GLES2. Bitte in den " +"Projekteinstellungen ‚Import Etc‘ aktivieren." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"Die Zielplattform benötigt ‚ETC2‘-Texturkompression für GLES2. Bitte in den " +"Projekteinstellungen aktivieren." + +#: 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 "" +"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." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1468,7 +1475,7 @@ msgstr "Im Dateimanager anzeigen" msgid "New Folder..." msgstr "Neuer Ordner..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Aktualisieren" @@ -1543,10 +1550,30 @@ msgstr "Favorit nach oben schieben" msgid "Move Favorite Down" msgstr "Favorit nach unten schieben" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Vorheriger Ordner" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Nächster Ordner" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Gehe zu übergeordnetem Ordner" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Gegenwärtigen Ordner (de)favorisieren." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Einträge in Vorschaugitter anzeigen." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Einträge als Liste anzeigen." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Verzeichnisse & Dateien:" @@ -1769,9 +1796,9 @@ msgstr "Ausgabe löschen" msgid "Project export failed with error code %d." msgstr "Projekt-Export ist fehlgeschlagen mit Fehlercode %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Fehler beim speichern der Ressource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Importierte Ressourcen können nicht abgespeichert werden." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1779,6 +1806,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Fehler beim speichern der Ressource!" + +#: 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 "" +"Diese Ressource kann nicht abgespeichert werden, da sie nicht Teil der " +"bearbeiteten Szene ist. Ressource muss vorher einzigartig gemacht werden." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Speichere Ressource als..." @@ -2002,14 +2041,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Änderungen in ‚%s‘ vor dem Schließen speichern?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Laden der Ressource gescheitert." +msgstr "%s veränderte Ressource(n) gespeichert." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Es ist nur eine Datei für eine große Textur erforderlich." +msgstr "Ein Wurzel-Node wird benötigt um diese Szene zu speichern." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -3109,14 +3146,6 @@ msgstr "" "wurde!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Einträge in Vorschaugitter anzeigen." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Einträge als Liste anzeigen." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Status: Dateiimport fehlgeschlagen. Manuelle Reparatur und Neuimport nötig." @@ -3253,10 +3282,6 @@ msgid "Search files" msgstr "Dateien suchen" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Instantiiere gewählte Szene(n) als Unterobjekt des ausgewählten Nodes." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3661,47 +3686,41 @@ msgstr "Lade..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Punkte Verschieben" +msgstr "Node-Punkt verschieben" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Ãœberblendungszeit ändern" +msgstr "BlendSpace1D-Grenzwerte ändern" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Ãœberblendungszeit ändern" +msgstr "BlendSpace1D-Beschriftungen ändern" #: 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 "" -"Dieser Node-Type kann nicht verwendet werden. Nur Wurzel-Nodes sind möglich." +"Dieser Node-Typ kann nicht verwendet werden. Nur Wurzel-Nodes sind möglich." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Node hinzufügen" +msgstr "Node-Punkt hinzufügen" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Animation hinzufügen" +msgstr "Animationspunkt hinzufügen" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Pfadpunkt entfernen" +msgstr "BlendSpace1D-Punkt entfernen" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "BlendSpace1D-Node-Punkt verschieben" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3747,29 +3766,24 @@ msgid "Triangle already exists" msgstr "Dreieck existiert bereits" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Variable hinzufügen" +msgstr "Dreieck hinzufügen" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Ãœberblendungszeit ändern" +msgstr "BlendSpace2D-Grenzwerte ändern" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Ãœberblendungszeit ändern" +msgstr "BlendSpace2D-Beschriftungen ändern" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Pfadpunkt entfernen" +msgstr "BlendSpace2D-Punkt entfernen" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Variable entfernen" +msgstr "BlendSpace2D-Dreieck entfernen" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3780,9 +3794,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "Es existieren keine Dreiecke, Vermischen nicht möglich." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Autoload-Globals umschalten" +msgstr "Automatische Dreiecke umschalten" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3802,9 +3815,8 @@ msgid "Blend:" msgstr "Blende:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Materialänderungen" +msgstr "Parameter geändert" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3816,15 +3828,13 @@ msgid "Output node can't be added to the blend tree." msgstr "Ausgabe-Node kann nicht zum Mischungsbaum hinzugefügt werden." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Node(s) aus Szenenbaum hinzufügen" +msgstr "Node zu BlendTree hinzufügen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Bewegungsmodus" +msgstr "Node verschoben" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3835,36 +3845,30 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Verbunden" +msgstr "Nodes verbunden" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Getrennt" +msgstr "Nodes getrennt" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Neue Animation" +msgstr "Animation setzen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Node(s) löschen" +msgstr "Node löschen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Diese Spur an-/abschalten." +msgstr "Filter ein-/ausschalten" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Sprachfilter geändert" +msgstr "Filter ändern" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3887,14 +3891,13 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Node-Name" +msgstr "Node umbenannt" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Add Node..." -msgstr "Knoten hinzufügen....." +msgstr "Knoten hinzufügen..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp @@ -4005,7 +4008,7 @@ msgstr "Position der Animation (in Sekunden)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "Animationsablauf für dieses Node global skalieren." +msgstr "Animationsablauf für diesen Node global skalieren." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" @@ -4117,14 +4120,12 @@ msgid "Cross-Animation Blend Times" msgstr "Ãœbergangszeiten kreuzender Animationen" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Bewegungsmodus" +msgstr "Node verschieben" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Ãœbersetzung hinzufügen" +msgstr "Ãœbergang hinzufügen" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4160,18 +4161,16 @@ msgid "No playback resource set at path: %s." msgstr "Keine Abspiel-Ressource festgelegt im Pfad: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Entfernt:" +msgstr "Node entfernt" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Ãœbergangs-Node" +msgstr "Ãœbergang entfernt" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Start-Node setzen (Automatisches Abspielen)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4193,7 +4192,7 @@ msgstr "Nodes verbinden." #: editor/plugins/animation_state_machine_editor.cpp msgid "Remove selected node or transition." -msgstr "Ausgewähltes Node oder Ãœbergang entfernen." +msgstr "Ausgewählten Node oder Ãœbergang entfernen." #: editor/plugins/animation_state_machine_editor.cpp msgid "Toggle autoplay this animation on start, restart or seek to zero." @@ -4314,15 +4313,15 @@ msgstr "Misch-Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend2 Node" -msgstr "Blende2-Node" +msgstr "Blend2-Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend3 Node" -msgstr "Blende3-Node" +msgstr "Blend3-Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend4 Node" -msgstr "Blende4-Node" +msgstr "Blend4-Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" @@ -4334,7 +4333,7 @@ msgstr "Zeitsuch-Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Transition Node" -msgstr "Ãœbergangs-Node" +msgstr "Ãœbergang-Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Import Animations..." @@ -4897,7 +4896,7 @@ msgid "" "Drag & drop + Alt : Change node type" msgstr "" "Ziehen + Umschalt: Node auf gleicher Ebene einfügen\n" -"Ziehen + Alt: Nodetyp ändern" +"Ziehen + Alt: Node-Typ ändern" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Polygon3D" @@ -4999,7 +4998,7 @@ msgstr "GI Sonde vorrendern" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Gradient bearbeitet" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5259,6 +5258,10 @@ msgid "Generating Visibility Rect" msgstr "Generiere Sichtbarkeits-Rechteck" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Generiere Sichtbarkeits-Rechteck" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Punkt kann nur in ein Prozessmaterial des Typs ParticlesMaterial gesetzt " @@ -5273,10 +5276,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Keine Pixel mit einer Transparenz > 128 im Bild..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Generiere Sichtbarkeits-Rechteck" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Emissionsmaske laden" @@ -5364,13 +5363,13 @@ msgid "Generating AABB" msgstr "Erzeuge AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Erzeuge AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Erzeuge Sichtbarkeits-AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Erzeuge AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Punkt von Kurve entfernen" @@ -5507,7 +5506,7 @@ msgstr "Gelenk verschieben" msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" msgstr "" -"Die Skeleton-Eigenschaft des Polygon2Ds zeigt nicht auf ein Skeleton2D-Node" +"Die Skeleton-Eigenschaft des Polygon2D zeigt nicht auf ein Skeleton2D-Node" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Sync Bones" @@ -5957,6 +5956,14 @@ msgid "Open Godot online documentation" msgstr "Öffne Godot-Referenzdokumentation" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Durchsuche die Referenzdokumentation." @@ -6154,14 +6161,12 @@ msgstr "" "hinzugefügt werden." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Ruhe-Pose erstellen (aus Knochen)" +msgstr "Ruhe-Pose aus Knochen erstellen" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Ruhe-Pose erstellen (aus Knochen)" +msgstr "Knochen in Ruhe-Pose setzen" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6316,17 +6321,17 @@ msgid "Rear" msgstr "Hinten" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Auf Sicht ausrichten" +msgstr "Mit Sicht ausrichten" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." -msgstr "Kein Node unter dem Unterobjekt instantiiert werden könnte vorhanden." +msgstr "" +"Kein Node, unter dem Unterobjekt instantiiert werden könnte, vorhanden." #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "Diese Aktion benötigt ein einzelnes ausgewähltes Node." +msgstr "Diese Aktion benötigt einen einzelnen ausgewählten Node." #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock View Rotation" @@ -6413,6 +6418,8 @@ 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 "" +"Hinweis: Die FPS-Anzeige stellt die Editor-Framerate dar.\n" +"Sie ist kein zuverlässiger Vergleichswert für die In-Spiel-Leistung." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6423,9 +6430,8 @@ msgid "XForm Dialog" msgstr "Transformationsdialog" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Am Boden einrasten" +msgstr "Nodes am Boden einrasten" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -7022,6 +7028,22 @@ msgid "Merge from Scene" msgstr "Aus Szene zusammenführen" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +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." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +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." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Bitmaske kopieren." @@ -7034,9 +7056,8 @@ msgid "Erase bitmask." msgstr "Bitmaske löschen." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Neue Nodes erstellen." +msgstr "Neues Rechteck erstellen." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7179,6 +7200,14 @@ msgid "Clear Tile Bitmask" msgstr "Kachel Bitmaske löschen" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Polygon konkav machen" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Polygon konvex machen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Kachel entfernen" @@ -7220,26 +7249,23 @@ msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Uniform-Name festlegen" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Als Standard für ‚%s‘ setzen" +msgstr "Eingabestandardport festlegen" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Visual Shader-Node hinzufügen" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Dupliziere Node(s)" +msgstr "Nodes duplizieren" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Visual-Shader-Eingabetyp geändert" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7258,14 +7284,12 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Kachelpriorität bearbeiten" +msgstr "Visuelle Eigenschaft bearbeiten" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Shader-Änderungen" +msgstr "Visual-Shader-Modus geändert" #: editor/project_export.cpp msgid "Runnable" @@ -7284,6 +7308,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Export des Projekts für die Plattform ‚%s‘ fehlgeschlagen.\n" +"Exportvorlagen scheinen zu fehlen oder ungültig zu sein." #: editor/project_export.cpp msgid "" @@ -7291,6 +7317,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Export des Projekts für die Plattform ‚%s‘ fehlgeschlagen.\n" +"Es könnte an einen fehlerhaften Einstellung in den Voreinstellungen oder den " +"individuellen Exporteinstellugen liegen." #: editor/project_export.cpp msgid "Release" @@ -7301,6 +7330,10 @@ msgid "Exporting All" msgstr "Exportiere alles" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "Der angegebene Export-Pfad existiert nicht:" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Export-Vorlagen für dieses Systeme fehlen / sind fehlerhaft:" @@ -8345,9 +8378,8 @@ msgid "Instantiated scenes can't become root" msgstr "Instantiierte Szenen können keine Wurzel werden" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Szenen-Wurzel erstellen" +msgstr "Node zur Szenenwurzel machen" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8386,9 +8418,8 @@ msgid "Make Local" msgstr "Lokal machen" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Szenen-Wurzel erstellen" +msgstr "Neue Szenenwurzel" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8820,19 +8851,16 @@ msgid "Set From Tree" msgstr "Nach Szenenbaum einstellen" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Ausspannen" +msgstr "Tastenkürzel entfernen" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Tastenkürzel" +msgstr "Tastenkürzel wiederherstellen" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Ankerpunkte ändern" +msgstr "Tastenkürzel ändern" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -9431,9 +9459,8 @@ msgid "Change Input Value" msgstr "Eingabewert ändern" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "CanvasItem in Größe anpassen" +msgstr "Kommentargröße ändern" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9872,8 +9899,8 @@ msgid "" "CPUParticles\" option for this purpose." msgstr "" "GPU-basierte Partikel werden vom GLES2-Grafiktreiber nicht unterstützt.\n" -"Verwenden Sie stattdessen den CPUParticles2D Node. Sie können dazu die " -"Option \"In CPUPartikel konvertieren\" verwenden." +"Stattdessen bitte CPUParticles2D-Nodes verwenden. Die „In CPU-Partikel " +"konvertieren“-Funktion kann dazu verwendet werden." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -10038,6 +10065,14 @@ msgstr "" "Damit CollisionShape funktionieren kann, muss eine Form vorhanden sein. " "Bitte erzeuge eine shape Ressource dafür!" +#: 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 "" +"Plane-Shapes funktionieren nicht gut und werden in einer zukünftigen Version " +"entfernt. Von der Nutzung wird abgeraten." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Nichts ist sichtbar da kein Mesh zugewiesen wurden." @@ -10054,6 +10089,14 @@ msgstr "" msgid "Plotting Meshes" msgstr "Plotte Mesh" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"GIProbes werden vom GLES2-Videotreiber nicht unterstützt.\n" +"BakedLightmaps können als Alternative verwendet werden." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10075,8 +10118,8 @@ msgid "" "\" option for this purpose." msgstr "" "GPU-basierte Partikel werden vom GLES2-Grafiktreiber nicht unterstützt.\n" -"Verwenden Sie stattdessen den CPUParticles Knoten. Sie können dazu die " -"Option \"In CPUPartikel konvertieren\" verwenden." +"Stattdessen bitte CPUParticles-Nodes verwenden. Die „In CPU-Partikel " +"konvertieren“-Funktion kann dazu verwendet werden." #: scene/3d/particles.cpp msgid "" @@ -10235,6 +10278,18 @@ msgstr "Wechselt zwischen Hexadezimal- und Zahlenwerten." msgid "Add current color as a preset." msgstr "Aktuelle Farbe als Vorlage hinzufügen." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Einfache Container sind unnötig solange ihnen kein Skript angehängt ist das " +"die Platzierung der Inhalte vornimmt.\n" +"Falls kein Skript angehängt werden soll wird empfohlen ein einfaches " +"‚Control‘-Node zu verwenden." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Warnung!" @@ -10243,6 +10298,10 @@ msgstr "Warnung!" msgid "Please Confirm..." msgstr "Bitte bestätigen..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Gehe zu übergeordnetem Ordner." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10331,6 +10390,10 @@ msgstr "Zuweisung an Uniform." msgid "Varyings can only be assigned in vertex function." msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Instantiiere gewählte Szene(n) als Unterobjekt des ausgewählten Nodes." + #~ msgid "FPS" #~ msgstr "FPS" @@ -11866,9 +11929,6 @@ msgstr "Varyings können nur in Vertex-Funktion zugewiesen werden." #~ msgid "Cannot go into subdir:" #~ msgstr "Unterordner kann nicht geöffnet werden:" -#~ msgid "Imported Resources" -#~ msgstr "Importierte Ressourcen" - #~ msgid "Insert Keys (Ins)" #~ msgstr "Schlüsselbilder einfügen (Einfg)" diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po index 74fd313a4a..55e457c169 100644 --- a/editor/translations/de_CH.po +++ b/editor/translations/de_CH.po @@ -1378,8 +1378,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1431,7 +1445,7 @@ msgstr "Datei öffnen" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1506,10 +1520,32 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Node(s) löschen" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Node erstellen" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1734,8 +1770,8 @@ msgstr "Script hinzufügen" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1744,6 +1780,16 @@ 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 "" @@ -3016,14 +3062,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3169,10 +3207,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5183,19 +5217,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5292,11 +5326,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5901,6 +5935,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6983,6 +7025,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7139,6 +7197,15 @@ 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" @@ -7266,6 +7333,10 @@ 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 "" @@ -9929,6 +10000,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9943,6 +10020,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10092,6 +10175,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alert!" @@ -10100,6 +10191,11 @@ msgstr "Alert!" msgid "Please Confirm..." msgstr "Bitte bestätigen..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Node erstellen" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index efb591227c..5f92cabbee 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -1329,8 +1329,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1378,7 +1392,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1453,10 +1467,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1672,8 +1706,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1682,6 +1716,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2916,14 +2960,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3059,10 +3095,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4991,19 +5023,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5094,11 +5126,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5679,6 +5711,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6731,6 +6771,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6869,6 +6925,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -6986,6 +7050,10 @@ 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 "" @@ -9537,6 +9605,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9551,6 +9625,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9694,6 +9774,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9702,6 +9790,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/el.po b/editor/translations/el.po index e5e0a8a5a3..ab99259302 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -3,12 +3,13 @@ # Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # George Tsiamasiotis <gtsiam@windowslive.com>, 2017-2018. +# Georgios Katsanakis <geo.elgeo@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:39+0100\n" -"Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n" +"PO-Revision-Date: 2019-03-12 15:26+0000\n" +"Last-Translator: Georgios Katsanakis <geo.elgeo@gmail.com>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/" "el/>\n" "Language: el\n" @@ -16,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Weblate 3.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -86,14 +87,12 @@ msgid "Delete Selected Key(s)" msgstr "ΔιαγÏαφή επιλογής" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Î Ïοσθήκη σημείου" +msgstr "Î Ïοσθήκη σημείου Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Μετακίνηση σημείου" +msgstr "Μετακίνηση σημείου Bezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -1388,8 +1387,22 @@ msgstr "ΠακετάÏισμα" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1442,7 +1455,7 @@ msgstr "Εμφάνιση στη διαχείÏιση αÏχείων" msgid "New Folder..." msgstr "ÎÎος φάκελος..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Αναναίωση" @@ -1517,10 +1530,33 @@ msgstr "Μετακίνηση αγαπημÎνου πάνω" msgid "Move Favorite Down" msgstr "Μετακίνηση αγαπημÎνου κάτω" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Î ÏοηγοÏμενο πάτωμα" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Επόμενο πάτωμα" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Πήγαινε στον γονικό φάκελο" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "Φάκελοι & ΑÏχεία:" @@ -1761,9 +1797,9 @@ msgstr "ΕκκαθάÏιση εξόδου" msgid "Project export failed with error code %d." msgstr "Η εξαγωγή του ÎÏγου απÎτυχε με κωδικό %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1771,6 +1807,16 @@ msgid "OK" msgstr "Εντάξει" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Σφάλμα κατά την αποθήκευση πόÏου!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Αποθήκευση πόÏου ως..." @@ -3099,14 +3145,6 @@ msgstr "" "Δεν ήταν δυνατή η πλοήγηση στο '%s', καθώς δεν βÏÎθηκε στο σÏστημα αÏχείων!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Εμφάνιση αντικειμÎνων σε πλÎγμα μικÏγÏαφιών." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Εμφάνιση αντικειμÎνων σε λίστα." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Κατάσταση: Η εισαγωγή απÎτυχε. ΠαÏακαλοÏμε διοÏθώστε το αÏχείο και " @@ -3249,12 +3287,6 @@ msgid "Search files" msgstr "Αναζήτηση αÏχείων" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"ΔημιουÏγία στιγμιοτÏπων των επιλεγμÎνων σκηνών ως παιδιά του επιλεγμÎνου " -"κόμβου." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5272,6 +5304,10 @@ 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 "" "Ο οÏισμός σημείου είναι δυνατός μόνο σε Îνα υλικό επεξεÏγασίας " @@ -5286,10 +5322,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Δεν υπάÏχουν εικονοστοιχεία με διαφάνεια >128 στην εικόνα..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "ΔημιουÏγία οÏθογωνίου οÏατότητας" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "ΦόÏτωση μάσκας εκπομπής" @@ -5377,13 +5409,13 @@ msgid "Generating AABB" msgstr "ΔημιουÏία AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "ΔημιουÏία AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "ΔημιουÏία AABB οÏατότητας" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "ΔημιουÏία AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "ΑφαίÏεση σημείου από την καμπÏλη" @@ -6000,6 +6032,14 @@ msgid "Open Godot online documentation" msgstr "Άνοιγμα ηλεκτÏονικής τεκμηÏίωσης της Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Αναζήτηση στην τεκμηÏίωση αναφοÏάς." @@ -7104,6 +7144,24 @@ msgid "Merge from Scene" msgstr "Συγχώνευση από σκηνή" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Î ÏοηγοÏμενο πάτωμα" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7267,6 +7325,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Μετακίνηση πολυγώνου" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Μετακίνηση πολυγώνου" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "ΑφαίÏεση Ï€ÏοτÏπου" @@ -7403,6 +7471,11 @@ msgid "Exporting All" msgstr "Εξαγωγή για %s" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Η διαδÏομή δεν υπάÏχει." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "Τα Ï€Ïότυπα εξαγωγής για αυτή την πλατφόÏτμα λείπουν ή είναι κατεστÏαμμÎνα:" @@ -10153,6 +10226,12 @@ 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 "" + #: scene/3d/cpu_particles.cpp #, fuzzy msgid "Nothing is visible because no mesh has been assigned." @@ -10169,6 +10248,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10343,6 +10428,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Î Ïοσθήκη του Ï„ÏÎχοντος χÏώματος ως Ï€ÏοκαθοÏισμÎνο" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ειδοποίηση!" @@ -10351,6 +10444,11 @@ msgstr "Ειδοποίηση!" msgid "Please Confirm..." msgstr "ΠαÏακαλώ επιβεβαιώστε..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Πήγαινε στον γονικό φάκελο" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10438,6 +10536,11 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "ΔημιουÏγία στιγμιοτÏπων των επιλεγμÎνων σκηνών ως παιδιά του επιλεγμÎνου " +#~ "κόμβου." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/es.po b/editor/translations/es.po index b6bed3ee52..a8b37f2b4f 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -5,7 +5,7 @@ # Addiel Lucena Perez <addiell2017@gmail.com>, 2017. # Aleix Sanchis <aleixsanchis@hotmail.com>, 2017, 2018. # Alejandro Alvarez <eliluminado00@gmail.com>, 2017. -# Avocado <avocadosan42@gmail.com>, 2018. +# Avocado <avocadosan42@gmail.com>, 2018, 2019. # BLaDoM GUY <simplybladom@gmail.com>, 2017. # Carlos López <genetita@gmail.com>, 2016. # David Arranz <davarrcal@hotmail.com>, 2018. @@ -42,7 +42,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-21 21:18+0000\n" +"PO-Revision-Date: 2019-03-24 17:38+0000\n" "Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" @@ -51,7 +51,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.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -120,14 +120,12 @@ msgid "Delete Selected Key(s)" msgstr "Eliminar Clave(s) Seleccionada(s)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Añadir punto" +msgstr "Añadir Punto Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Mover Puntos" +msgstr "Mover Puntos Bezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -158,9 +156,8 @@ msgid "Anim Change Call" msgstr "Cambiar llamada de animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Cambiar repetición de animación" +msgstr "Cambiar duración de la animación" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -217,9 +214,8 @@ msgid "Anim Clips:" msgstr "Clips de Anim:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Cambiar valor del array" +msgstr "Cambiar ruta de la pista" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -246,9 +242,8 @@ msgid "Time (s): " msgstr "Tiempo (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Activar Doppler" +msgstr "Pista de Conmutación Activada" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -301,19 +296,16 @@ msgid "Delete Key(s)" msgstr "Eliminar Clave(s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Cambiar nombre de animación:" +msgstr "Cambiar Modo de Actualización de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Modo de Interpolación" +msgstr "Cambiar Modo de Interpolación de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Cambiar repetición de animación" +msgstr "Cambiar Modo Loop de Animación" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -357,14 +349,12 @@ msgid "Anim Insert Key" msgstr "Insertar clave de animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Cambiar FPS de animación" +msgstr "Cambiar Step de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Reordenar Autoloads" +msgstr "Reordenar Pistas" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -397,9 +387,8 @@ msgid "Not possible to add a new track without a root" msgstr "No es posible agregar una nueva pista sin una raÃz" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Agregar Pista" +msgstr "Añadir Pista Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -411,25 +400,22 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "La pista no es de tipo Spatial, no se puede insertar la clave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Pista de Transformación 3D" +msgstr "Añadir Clave de Pista de Transformación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Agregar Pista" +msgstr "Añadir Clave de Pista" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." msgstr "" -"La ruta de la pista es inválida, por ende no se pueden agregar claves de " -"métodos." +"La ruta de la pista es inválida, por lo que no se puede añadir una clave de " +"método." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Pista de Llamada a Métodos" +msgstr "Añadir Clave de Pista de Método" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -592,17 +578,16 @@ msgid "Copy" msgstr "Copiar" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Clips de Audio:" +msgstr "Añadir Clip de Pista de Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Cambiar Desplazamiento de Inicio de Clip de Pista de Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Cambiar Desplazamiento Final del Clip de Pista de Audio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -936,7 +921,7 @@ msgstr "Error al cargar:" #: editor/dependency_editor.cpp msgid "Load failed due to missing dependencies:" -msgstr "Fallo la carga debido a dependencias faltantes:" +msgstr "Falló la carga debido a dependencias faltantes:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -1088,7 +1073,7 @@ msgstr "Descomprimiendo assets" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package installed successfully!" -msgstr "¡Paquete instalado exitosamente!" +msgstr "¡Paquete instalado con éxito!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1419,9 +1404,31 @@ msgstr "Empaquetando" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC' para GLES2. " +"Activa 'Import Etc' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC2' para GLES3. " +"Activa 'Import Etc 2' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +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 "" +"La plataforma de destino requiere compresión de texturas 'ETC' para usar " +"GLES2 como controlador de respaldo.\n" +"Activa 'Import Etc' en Ajustes del Proyecto, o desactiva 'Driver Fallback " +"Enabled'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1468,7 +1475,7 @@ msgstr "Mostrar en Explorador de Archivos" msgid "New Folder..." msgstr "Nueva carpeta..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Recargar" @@ -1529,7 +1536,7 @@ msgstr "Añadir/quitar favorito" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "Cambiar modo" +msgstr "Cambiar Modo" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1543,10 +1550,30 @@ msgstr "Subir Favorito" msgid "Move Favorite Down" msgstr "Bajar Favorito" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Carpeta Anterior" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Carpeta Siguiente" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ir a la carpeta principal" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Quitar carpeta actual de favoritos." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Ver Ãtems como una cuadrÃcula de miniaturas." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Ver Ãtems como una lista." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Directorios y archivos:" @@ -1642,7 +1669,7 @@ msgstr "Constantes:" #: editor/editor_help.cpp msgid "Class Description" -msgstr "Descripción de Clase" +msgstr "Descripción de la Clase" #: editor/editor_help.cpp msgid "Class Description:" @@ -1769,9 +1796,9 @@ msgstr "Borrar salida" msgid "Project export failed with error code %d." msgstr "La exportación del proyecto falló con el código de error %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "¡Error al guardar el recurso!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Los recursos importados no se pueden guardar." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1779,6 +1806,18 @@ msgid "OK" msgstr "Aceptar" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "¡Error al guardar el recurso!" + +#: 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 "" +"Este recurso no se puede guardar porque no pertenece a la escena editada. " +"Hazlo único primero." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Guardar recurso como..." @@ -2002,14 +2041,12 @@ msgid "Save changes to '%s' before closing?" msgstr "¿Guardar cambios de '%s' antes de cerrar?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Error al cargar el recurso." +msgstr "Guardado %s recurso(s) modificado(s)." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Solo se requiere un archivo para textura grande." +msgstr "Se necesita un nodo raÃz para guardar la escena." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2440,7 +2477,7 @@ msgstr "Ajustes de diseño del editor" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "Act/desact. pantalla completa" +msgstr "Act/desact. Pantalla Completa" #: editor/editor_node.cpp msgid "Open Editor Data/Settings Folder" @@ -3109,14 +3146,6 @@ msgstr "" "archivos!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Ver Ãtems como una cuadrÃcula de miniaturas." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Ver Ãtems como una lista." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Estado: No se pudo importar el archivo. Por favor, arregla el archivo y " @@ -3247,18 +3276,13 @@ msgstr "Re-escanear sistema de archivos" #: editor/filesystem_dock.cpp msgid "Toggle split mode" -msgstr "Act/Desact. Modo Partido" +msgstr "Act/Desact. Modo Dividido" #: editor/filesystem_dock.cpp msgid "Search files" msgstr "Buscar archivos" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3660,19 +3684,16 @@ msgstr "Cargar..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Mover Puntos" +msgstr "Mover Punto de Nodo" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Cambiar tiempo de mezcla" +msgstr "Cambiar LÃmites de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Cambiar tiempo de mezcla" +msgstr "Cambiar Etiquetas de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3683,24 +3704,21 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Añadir nodo" +msgstr "Añadir Punto de Nodo" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Añadir animación" +msgstr "Añadir Punto de Animación" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Quitar punto de ruta" +msgstr "Eliminar Punto BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Mover Punto de Nodo de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3746,29 +3764,24 @@ msgid "Triangle already exists" msgstr "El triángulo ya existe" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Añadir variable" +msgstr "Añadir Triángulo" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Cambiar tiempo de mezcla" +msgstr "Cambiar LÃmites de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Cambiar tiempo de mezcla" +msgstr "Cambiar Etiquetas de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Quitar punto de ruta" +msgstr "Eliminar Punto BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Quitar variable" +msgstr "Eliminar Triángulo BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3779,9 +3792,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "No hay ningún triángulo, asà que no se puede hacer blending." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Act/desact. globales de Autoload" +msgstr "Act/desact. Auto Triángulos" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3801,9 +3813,8 @@ msgid "Blend:" msgstr "Mezcla:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Cambios del material" +msgstr "Parámetro Modificado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3815,15 +3826,13 @@ msgid "Output node can't be added to the blend tree." msgstr "El nodo de salida no puede ser agregado al blend tree." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Añadir nodo(s) desde árbol" +msgstr "Añadir Nodo a BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Modo movimiento" +msgstr "Nodo Movido" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3834,36 +3843,30 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Conectado" +msgstr "Nodos Conectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Desconectado" +msgstr "Nodos Desconectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Nueva Animación" +msgstr "Establecer Animación" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Eliminar nodo(s)" +msgstr "Eliminar Nodo" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Act./Desact. esta pista." +msgstr "Act./Desact. Filtro On/Off" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Cambiar filtro de localización" +msgstr "Cambiar Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3888,9 +3891,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nombre del nodo" +msgstr "Nodo Renombrado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3908,7 +3910,7 @@ msgstr "Habilitar filtrado" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "Act/desact. reproducción automática" +msgstr "Act/desact. Reproducción Automática" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" @@ -4061,7 +4063,7 @@ msgstr "Posterior" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "Depth" +msgstr "Profundidad" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" @@ -4117,17 +4119,15 @@ msgstr "Siguiente (cola automática):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "Cross-Animation Blend Times" +msgstr "Tiempos de Blending entre Animaciones" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Modo movimiento" +msgstr "Mover Nodo" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Añadir traducción" +msgstr "Añadir Transición" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4163,18 +4163,16 @@ msgid "No playback resource set at path: %s." msgstr "Ningún recurso de reproducción asignado en la ruta: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Eliminado:" +msgstr "Nodo Eliminado" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Nodo Transition" +msgstr "Transición Eliminada" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Establecer Nodo de Inicio (Reproducción Automática)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4533,7 +4531,7 @@ msgstr "Configurar Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" -msgstr "Desplazamiento de cuadrÃcula:" +msgstr "Desplazamiento de CuadrÃcula:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" @@ -4541,7 +4539,7 @@ msgstr "Step de cuadrÃcula:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "Desplazamiento de rotación:" +msgstr "Desplazamiento de Rotación:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" @@ -5000,7 +4998,7 @@ msgstr "Precalcular GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Degradado Editado" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5264,6 +5262,10 @@ msgid "Generating Visibility Rect" msgstr "Generando Rect. de Visibilidad" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Generar rectángulo de visibilidad" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Solo se puede asignar un punto a un material de procesado ParticlesMaterial" @@ -5277,10 +5279,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "No hay pÃxeles con transparencia > 128 en la imagen..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Generar rectángulo de visibilidad" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Cargar máscara de emisión" @@ -5368,13 +5366,13 @@ msgid "Generating AABB" msgstr "Generando AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Generar AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Generar AABB de visibilidad" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Generar AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Borrar punto de la curva" @@ -5685,11 +5683,11 @@ msgstr "Configurar cuadrÃcula:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset X:" -msgstr "Desplazamiento de cuadrÃcula en X:" +msgstr "Desplazamiento de CuadrÃcula en X:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset Y:" -msgstr "Desplazamiento de cuadrÃcula en Y:" +msgstr "Desplazamiento de CuadrÃcula en Y:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step X:" @@ -5961,6 +5959,14 @@ msgid "Open Godot online documentation" msgstr "Abrir documentación online de Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Buscar en la documentación de referencia." @@ -6156,14 +6162,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Este esqueleto no tiene huesos, crea algunos nodos Bone2D hijos." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Crear Pose de Descanso (De los Huesos)" +msgstr "Crear Pose de Descanso a partir de los Huesos" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Crear Pose de Descanso (De los Huesos)" +msgstr "Establecer Pose de Descanso en los Huesos" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6183,7 +6187,7 @@ msgstr "Crear huesos fÃsicos" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Skeleton" -msgstr "Skeleton" +msgstr "Esqueleto" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical skeleton" @@ -6227,7 +6231,7 @@ msgstr "Escalado: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "Traduciendo: " +msgstr "Trasladando: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -6318,9 +6322,8 @@ msgid "Rear" msgstr "Detrás" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Alinear con vista" +msgstr "Alinear con Vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6415,6 +6418,8 @@ 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 "" +"Nota: El valor FPS que se muestra es la velocidad de fotogramas del editor.\n" +"No se puede utilizar como un indicador fiable del rendimiento en el juego." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6425,9 +6430,8 @@ msgid "XForm Dialog" msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Ajustar al suelo" +msgstr "Ajustar Nodos al Suelo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -7022,6 +7026,22 @@ msgid "Merge from Scene" msgstr "Unir desde escena" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "Coordenada Siguiente" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Seleccionar la próxima forma, subtile o Tile." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Coordenada Anterior" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Seleccionar la anterior forma, subtile, o Tile." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Copiar bitmask." @@ -7034,9 +7054,8 @@ msgid "Erase bitmask." msgstr "Borrar bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Crear nuevos nodos." +msgstr "Cree un nuevo rectángulo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7177,6 +7196,14 @@ msgid "Clear Tile Bitmask" msgstr "Reestablecer Máscara de Bits de Tile" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Hacer PolÃgono Cóncavo" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Hacer Póligono Convexo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Eliminar Tile" @@ -7218,26 +7245,23 @@ msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Establecer Nombre Uniforme" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Configurar por defecto para '%s'" +msgstr "Establecer Puerto Predeterminado de Entrada" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Añadir Nodo al Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Duplicar nodo(s)" +msgstr "Duplicar Nodos" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Cambiar Tipo de Entrada del Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7256,14 +7280,12 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Editar Prioridad del Tile" +msgstr "Editar Propiedad Visual" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Cambios del shader" +msgstr "Se ha cambiado el Modo de Visual Shader" #: editor/project_export.cpp msgid "Runnable" @@ -7282,6 +7304,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"No se pudo exportar el proyecto para la plataforma '%s'.\n" +"Las plantillas de exportación parecen faltar o ser inválidas." #: editor/project_export.cpp msgid "" @@ -7289,6 +7313,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"No se pudo exportar el proyecto para la plataforma '%s'.\n" +"Esto puede ser debido a un problema de configuración en el preset de " +"exportación o en los ajustes de exportación." #: editor/project_export.cpp msgid "Release" @@ -7299,6 +7326,10 @@ msgid "Exporting All" msgstr "Exportar Todo" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "La ruta de exportación especificada no existe:" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "Las plantillas de exportación para esta plataforma faltan/están corruptas:" @@ -8344,9 +8375,8 @@ msgid "Instantiated scenes can't become root" msgstr "Las escenas instanciadas no pueden ser raÃz" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Convertir en raÃz de escena" +msgstr "Convertir nodo como RaÃz" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8385,9 +8415,8 @@ msgid "Make Local" msgstr "Crear local" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Convertir en raÃz de escena" +msgstr "Nueva RaÃz de Escena" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8819,19 +8848,16 @@ msgid "Set From Tree" msgstr "Establecer desde árbol" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Transición de salida" +msgstr "Eliminar Atajo" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Atajos" +msgstr "Restaurar Atajo" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Cambiar anclas" +msgstr "Cambiar Atajo" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -9042,9 +9068,8 @@ msgid "GridMap Duplicate Selection" msgstr "GridMap Duplicar selección" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Coloreado de GridMap" +msgstr "Pintar GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9433,9 +9458,8 @@ msgid "Change Input Value" msgstr "Cambiar valor de entrada" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Redimensionar CanvasItem" +msgstr "Redimensionar Comentario" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -10046,6 +10070,14 @@ msgstr "" "Se debe proveer de una forma a CollisionShape para que funcione. Por favor, " "¡crea un recurso \"shape\"!" +#: 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 "" +"Las formas tipo plano no funcionan bien y se eliminarán en futuras " +"versiones. Por favor, no las uses." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Nada visible ya que no se asignó ningún mesh." @@ -10062,6 +10094,14 @@ msgstr "" msgid "Plotting Meshes" msgstr "Trazando mallas" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"Las GIProbes no están soportadas por el controlador de video GLES2.\n" +"Usa un BakedLightmap en su lugar." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10237,6 +10277,18 @@ msgstr "Cambiar entre valores hexadecimales y de código." msgid "Add current color as a preset." msgstr "Añadir el color actual como preset." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"El contenedor por sà mismo no sirve para nada a menos que un script " +"configure el comportamiento de posicionamiento de sus hijos.\n" +"Si no tienes intención de añadir un script, utiliza en su lugar un nodo " +"'Control' sencillo." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "¡Alerta!" @@ -10245,6 +10297,10 @@ msgstr "¡Alerta!" msgid "Please Confirm..." msgstr "Por favor, confirma..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Ir a la carpeta padre." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10329,6 +10385,10 @@ msgstr "Asignación a uniform." msgid "Varyings can only be assigned in vertex function." msgstr "Solo se pueden asignar variaciones en funciones de vértice." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." + #~ msgid "FPS" #~ msgstr "FPS" @@ -11904,9 +11964,6 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." #~ msgid "Cannot go into subdir:" #~ msgstr "No se puede acceder al subdir:" -#~ msgid "Imported Resources" -#~ msgstr "Importar Recursos" - #~ msgid "Insert Keys (Ins)" #~ msgstr "Insertar Claves (Ins)" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 94950398af..4d794dfdda 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-18 08:54+0000\n" -"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" +"PO-Revision-Date: 2019-03-24 16:57+0000\n" +"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" "Language: es_AR\n" @@ -23,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -91,14 +91,12 @@ msgid "Delete Selected Key(s)" msgstr "Eliminar Clave(s) Seleccionada(s)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Agregar punto" +msgstr "Agregar Punto Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Mover Puntos" +msgstr "Mover Puntos Bezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -129,9 +127,8 @@ msgid "Anim Change Call" msgstr "Cambiar Call de Anim" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Cambiar Loop de Animación" +msgstr "Cambiar Duración de la Animación" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -188,9 +185,8 @@ msgid "Anim Clips:" msgstr "Clips de Anim:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Cambiar Valor del Array" +msgstr "Cambiar Ruta de la Pista" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -217,9 +213,8 @@ msgid "Time (s): " msgstr "Tiempo (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Activar Doppler" +msgstr "Activar/Desactivar Pista" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -272,19 +267,16 @@ msgid "Delete Key(s)" msgstr "Eliminar Clave(s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Cambiar Nombre de Animación:" +msgstr "Cambiar Modo de Actualización de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Modo de Interpolación" +msgstr "Cambiar Modo de Interpolación de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Cambiar Loop de Animación" +msgstr "Cambiar Modo de Bucle de Animación" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -328,14 +320,12 @@ msgid "Anim Insert Key" msgstr "Insertar Clave de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Cambiar FPS de Animación" +msgstr "Cambiar Step de Animación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Reordenar Autoloads" +msgstr "Reordenar Pistas" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -368,9 +358,8 @@ msgid "Not possible to add a new track without a root" msgstr "No es posible agregar una nueva pista sin una raÃz" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Agregar Pista" +msgstr "Agregar Pista Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -381,14 +370,12 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "La pista no es de tipo Spatial, no se puede insertar la clave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Pista de Transformación 3D" +msgstr "Añadir Clave de Pista de Transformación" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Agregar Pista" +msgstr "Añadir Clave de Pista" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -397,9 +384,8 @@ msgstr "" "métodos." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Pista de Llamada a Métodos" +msgstr "Agregar Clave de Pista de Método" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -543,7 +529,7 @@ msgstr "Hacer Clean-Up de Animación(es) (IMPOSIBLE DESHACER!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" -msgstr "Clean-Up" +msgstr "Limpiar" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" @@ -562,17 +548,16 @@ msgid "Copy" msgstr "Copiar" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Clips de Audio:" +msgstr "Agregar Clip de Pista de Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Cambiar Offset Inicial de Clip de Pista de Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Cambiar Offset Final de Clip de Pista de Audio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -632,7 +617,7 @@ msgstr "Zoom In" #: editor/plugins/texture_region_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp scene/gui/graph_edit.cpp msgid "Zoom Out" -msgstr "Zoom Out" +msgstr "Alejar Zoom" #: editor/code_editor.cpp msgid "Reset Zoom" @@ -643,9 +628,8 @@ msgid "Warnings" msgstr "Advertencias" #: editor/code_editor.cpp -#, fuzzy msgid "Line and column numbers." -msgstr "Números de lÃnea y columna" +msgstr "Números de lÃnea y columna." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1203,9 +1187,8 @@ msgid "Add Bus" msgstr "Agregar Bus" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Guardar Layout de Bus de Audio Como..." +msgstr "Agregar un nuevo Bus de Audio a este layout." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1388,9 +1371,31 @@ msgstr "Empaquetando" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC' para GLES2. " +"Activá 'Import Etc' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." +msgstr "" +"La plataforma de destino requiere compresión de texturas 'ETC2' para GLES3. " +"Activá 'Importar Etc 2' en Ajustes del Proyecto." + +#: editor/editor_export.cpp +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 "" +"La plataforma de destino requiere compresión de texturas 'ETC' para usar " +"GLES2 como controlador de respaldo.\n" +"Activá 'Importar Etc' en Ajustes del Proyecto, o desactivá \"Controlador de " +"Respaldo Activado\"." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1437,7 +1442,7 @@ msgstr "Mostrar en Explorador de Archivos" msgid "New Folder..." msgstr "Nueva Carpeta..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Refrescar" @@ -1512,10 +1517,30 @@ msgstr "Subir Favorito" msgid "Move Favorite Down" msgstr "Bajar Favorito" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Carpeta Anterior" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Carpeta Siguiente" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ir a carpeta padre" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Quitar carpeta actual de favoritos." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Ver Ãtems como una grilla de miniaturas." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Ver Ãtems como una lista." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Directorios y Archivos:" @@ -1738,9 +1763,9 @@ msgstr "Limpiar Salida" msgid "Project export failed with error code %d." msgstr "La exportación del proyecto falló con el código de error %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Error al guardar el recurso!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Los recursos importados no se pueden guardar." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1748,6 +1773,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Error al guardar el recurso!" + +#: 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 "" +"Este recurso no se puede guardar porque no pertenece a la escena editada. " +"Hacelo único primero." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Guardar Recurso Como..." @@ -1972,14 +2009,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Guardar cambios a '%s' antes de cerrar?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Fallo al cargar recurso." +msgstr "Se guardaron %s recurso(s) modificado(s)." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Solo se requiere un archivo para textura grande." +msgstr "Se necesita un nodo raÃz para guardar la escena." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2509,9 +2544,8 @@ msgid "Save & Restart" msgstr "Guardar y Reiniciar" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "Gira cuando la ventana del editor repinta!" +msgstr "Gira cuando la ventana del editor se redibuja." #: editor/editor_node.cpp msgid "Update Always" @@ -2532,7 +2566,7 @@ msgstr "Importar" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "FileSystem" +msgstr "Sistema de Archivos" #: editor/editor_node.cpp msgid "Inspector" @@ -3077,14 +3111,6 @@ msgstr "" "No se puede navegar a '%s' ya que no se encontro en el sistema de archivos!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Ver Ãtems como una grilla de miniaturas." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Ver Ãtems como una lista." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Estado: Falló la importación del archivo. Por favor arreglá el archivo y " @@ -3222,11 +3248,6 @@ msgid "Search files" msgstr "Buscar archivos" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3629,19 +3650,16 @@ msgstr "Cargar..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Mover Puntos" +msgstr "Mover Punto de Nodo" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Cambiar Tiempo de Blend" +msgstr "Cambiar LÃmites de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Cambiar Tiempo de Blend" +msgstr "Cambiar Etiquetas de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3652,24 +3670,21 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Agregar Nodo" +msgstr "Agregar Punto de Nodo" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Agregar Animación" +msgstr "Añadir Punto de Animación" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Quitar Punto del Path" +msgstr "Eliminar Punto BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Mover Punto de Nodo de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3715,29 +3730,24 @@ msgid "Triangle already exists" msgstr "El triángulo ya existe" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Agregar Variable" +msgstr "Agregar Triángulo" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Cambiar Tiempo de Blend" +msgstr "Cambiar LÃmites de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Cambiar Tiempo de Blend" +msgstr "Cambiar Etiquetas de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Quitar Punto del Path" +msgstr "Quitar Punto BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Quitar Variable" +msgstr "Quitar Triángulo BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3748,9 +3758,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "No hay ningún triángulo, asà que no se puede hacer blending." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Act/Desact. AutoLoad Globals" +msgstr "Act/Desact. Auto Triángulos" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3770,9 +3779,8 @@ msgid "Blend:" msgstr "Blend:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Cambios de Material" +msgstr "Parámetro Modificado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3784,15 +3792,13 @@ msgid "Output node can't be added to the blend tree." msgstr "El nodo de salida no puede ser agregado al blend tree." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Agregar Nodo(s) Desde Arbol" +msgstr "Agregar Nodo al BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Modo Mover" +msgstr "Nodo Movido" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3803,36 +3809,30 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Conectado" +msgstr "Nodos Conectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Desconectado" +msgstr "Nodos Desconectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Nueva Animación" +msgstr "Establecer Animación" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Eliminar Nodo(s)" +msgstr "Eliminar Nodo" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Act./Desact. esta pista." +msgstr "Act./Desact. Filtro On/Off" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Cambiar Filtro de Locale" +msgstr "Cambiar Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3857,9 +3857,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nombre del Nodo" +msgstr "Nodo Renombrado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -4010,7 +4009,7 @@ msgstr "Autoreproducir al Cargar" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "Onion Skinning" +msgstr "Papel Cebolla" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" @@ -4078,7 +4077,7 @@ msgstr "Error!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "Blend Times:" +msgstr "Tiempos de Blending:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" @@ -4086,17 +4085,15 @@ msgstr "Siguiente (Auto Queue):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "Cross-Animation Blend Times" +msgstr "Tiempos de Blending Entre Animaciones" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Modo Mover" +msgstr "Mover Nodo" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Agregar Traducción" +msgstr "Agregar Transición" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4132,18 +4129,16 @@ msgid "No playback resource set at path: %s." msgstr "Ningún recurso de reproducción asignado en la ruta: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Removido:" +msgstr "Nodo Eliminado" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Nodo Transición" +msgstr "Transición Eliminada" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Establecer Nodo de Inicio (Reproducción Automática)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4968,7 +4963,7 @@ msgstr "Hacer Bake de GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Degradado Editado" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5227,6 +5222,10 @@ msgid "Generating Visibility Rect" msgstr "Generando Rect. de Visibilidad" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Generar Rect. de Visibilidad" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Solo se puede setear un punto en un material de proceso ParticlesMaterial" @@ -5240,10 +5239,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Sin pixeles con transparencia > 128 en imagen..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Generar Rect. de Visibilidad" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Cargar Máscara de Emisión" @@ -5331,13 +5326,13 @@ msgid "Generating AABB" msgstr "Generando AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Generar AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Generar AABB de Visibilidad" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Generar AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Remover Punto de Curva" @@ -5496,6 +5491,8 @@ msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." msgstr "" +"El polÃgono 2D tiene vértices internos, por lo que ya no se puede editar en " +"el viewport." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" @@ -5922,6 +5919,14 @@ msgid "Open Godot online documentation" msgstr "Abrir la documentación online de Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Buscar en la documentación de referencia." @@ -6117,14 +6122,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Este esqueleto no tiene huesos, crea algunos nodos Bone2D hijos." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Crear Pose de Descanso" +msgstr "Crear Pose de Descanso a partir de Huesos" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Crear Pose de Descanso" +msgstr "Asignar Pose de Descanso a Huesos" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6279,9 +6282,8 @@ msgid "Rear" msgstr "Detrás" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Alinear con vista" +msgstr "Alinear con Vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6376,6 +6378,8 @@ 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 "" +"Nota: El valor FPS que se muestra es la velocidad de fotogramas del editor.\n" +"No se puede utilizar como un indicador fiable del rendimiento en el juego." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6386,9 +6390,8 @@ msgid "XForm Dialog" msgstr "Dialogo XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Ajustar al suelo" +msgstr "Ajustar Nodos al Suelo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6983,6 +6986,22 @@ msgid "Merge from Scene" msgstr "Mergear desde Escena" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "Coordenada Siguiente" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Seleccionar la próxima forma, subtile o Tile." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Coordenada Anterior" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Seleccionar la forma, subtile o Tile anterior." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Copiar bitmask." @@ -6995,9 +7014,8 @@ msgid "Erase bitmask." msgstr "Borrar bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Crear nuevos nodos." +msgstr "Crear un rectángulo nuevo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7137,6 +7155,14 @@ msgid "Clear Tile Bitmask" msgstr "Reestablecer Máscara de Bits de Tile" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Hacer el PolÃgono Cóncavo" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Hacer el Póligono Convexo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Remover Tile" @@ -7178,26 +7204,23 @@ msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Asignar Nombre a Uniform" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Asignar como Predeterminado para '%s'" +msgstr "Establecer Puerto Predeterminado de Entrada" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Agregar Nodo al Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Duplicar Nodo(s)" +msgstr "Duplicar Nodos" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Se cambió el Tipo de Entrada de Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7216,14 +7239,12 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Editar Prioridad de Tile" +msgstr "Editar Propiedad Visual" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Cambios de Shader" +msgstr "Se cambió el Modo de Visual Shader" #: editor/project_export.cpp msgid "Runnable" @@ -7242,6 +7263,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"No se pudo exportar el proyecto para la plataforma '%s'.\n" +"Las plantillas de exportación parecen faltar o ser inválidas." #: editor/project_export.cpp msgid "" @@ -7249,6 +7272,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"No se pudo exportar el proyecto para la plataforma '%s'.\n" +"Esto puede ser debido a un problema de configuración en el preset de " +"exportación o en los ajustes de exportación." #: editor/project_export.cpp msgid "Release" @@ -7259,6 +7285,10 @@ msgid "Exporting All" msgstr "Exportar Todo" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "La ruta de exportación especificada no existe:" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "Las plantillas de exportación para esta plataforma están faltando o " @@ -8305,9 +8335,8 @@ msgid "Instantiated scenes can't become root" msgstr "Las escenas instanciadas no pueden convertirse en raÃz" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Convertir en RaÃz de Escena" +msgstr "Convertir nodo en RaÃz" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8346,9 +8375,8 @@ msgid "Make Local" msgstr "Crear Local" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Convertir en RaÃz de Escena" +msgstr "Nueva RaÃz de Escena" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8781,19 +8809,16 @@ msgid "Set From Tree" msgstr "Setear Desde Arbol" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Ease out" +msgstr "Eliminar Atajo" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Atajos" +msgstr "Restaurar Atajo" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Cambiar Anclas" +msgstr "Cambiar Atajo" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -9392,9 +9417,8 @@ msgid "Change Input Value" msgstr "Cambiar Valor de Entrada" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Redimensionar CanvasItem" +msgstr "Redimensionar Comentario" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -10000,6 +10024,14 @@ msgstr "" "Se debe proveer un shape para que CollisionShape funcione. Creale un recurso " "shape!" +#: 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 "" +"Las formas tipo plano no funcionan bien y serán removidas en versiones " +"futuras. Evitá usarlas." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Nada visible ya que no se asignó ningún mesh." @@ -10016,6 +10048,14 @@ msgstr "" msgid "Plotting Meshes" msgstr "Ploteando Meshes" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"Las GIProbes no están soportadas por el controlador de video GLES2.\n" +"Usá un BakedLightmap en su lugar." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10186,9 +10226,20 @@ msgid "Switch between hexadecimal and code values." msgstr "Cambiar entre valores hexadecimales y de código." #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "Agregar color actual como preset" +msgstr "Agregar color actual como preset." + +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"El contenedor en sà mismo no sirve ningún propósito a menos que un script " +"configure el comportamiento de posicionamiento de sus hijos.\n" +"Si no tenés pensado usar un script, entonces simplemente usá un nodo " +"'Control' en su lugar." #: scene/gui/dialogs.cpp msgid "Alert!" @@ -10198,6 +10249,10 @@ msgstr "Alerta!" msgid "Please Confirm..." msgstr "Confirmá, por favor..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Ir a la carpeta padre." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10282,6 +10337,10 @@ msgstr "Asignación a uniform." msgid "Varyings can only be assigned in vertex function." msgstr "Solo se pueden asignar variaciones en funciones de vértice." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Instanciar la(s) escena(s) seleccionadas como hijas del nodo seleccionado." + #~ msgid "FPS" #~ msgstr "FPS" @@ -11833,9 +11892,6 @@ msgstr "Solo se pueden asignar variaciones en funciones de vértice." #~ msgid "Cannot go into subdir:" #~ msgstr "No se puede acceder al subdir:" -#~ msgid "Imported Resources" -#~ msgstr "Importar Recursos" - #~ msgid "Insert Keys (Ins)" #~ msgstr "Insertar Claves (Ins)" diff --git a/editor/translations/et.po b/editor/translations/et.po index f5edac889e..a58094bf47 100644 --- a/editor/translations/et.po +++ b/editor/translations/et.po @@ -1329,8 +1329,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1378,7 +1392,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1453,10 +1467,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1672,8 +1706,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1682,6 +1716,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2916,14 +2960,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3059,10 +3095,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4991,19 +5023,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5094,11 +5126,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5679,6 +5711,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6731,6 +6771,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6869,6 +6925,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -6986,6 +7050,10 @@ 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 "" @@ -9537,6 +9605,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9551,6 +9625,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9694,6 +9774,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9702,6 +9790,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/fa.po b/editor/translations/fa.po index 3b5cce13db..6548423140 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -1401,8 +1401,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1454,7 +1468,7 @@ msgstr "باز شدن مدیر پروژه؟" msgid "New Folder..." msgstr "ساختن پوشه..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1529,10 +1543,33 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "زبانه قبلی" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "ساختن پوشه" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "رÙتن به پوشه والد" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "پوشه‌ها Ùˆ پرونده‌ها:" @@ -1766,8 +1803,8 @@ msgstr "خروجی" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1776,6 +1813,16 @@ msgid "OK" msgstr "مواÙقت" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "ذخیره منبع از ..." @@ -3037,14 +3084,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3195,10 +3234,6 @@ msgid "Search files" msgstr "جستجوی کلاسها" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5211,19 +5246,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5315,11 +5350,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5935,6 +5970,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7036,6 +7079,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "زبانه قبلی" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7191,6 +7251,15 @@ 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 "انتخاب شده را تغییر مقیاس بده" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Øذ٠قالب" @@ -7323,6 +7392,11 @@ msgid "Exporting All" msgstr "صدور" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "پرونده موجود نیست." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" @@ -10040,6 +10114,12 @@ 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 "" + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10054,6 +10134,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "یک منبع NavigationMesh باید برای یک گره تنظیم یا ایجاد شود تا کار کند." @@ -10212,6 +10298,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "هشدار!" @@ -10220,6 +10314,11 @@ msgstr "هشدار!" msgid "Please Confirm..." msgstr "لطÙاً تأیید کنید…" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "رÙتن به پوشه والد" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/fi.po b/editor/translations/fi.po index 531b9fb95c..5e0b28db44 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-21 21:18+0000\n" +"PO-Revision-Date: 2019-03-12 15:25+0000\n" "Last-Translator: Tapani Niemi <tapani.niemi@kapsi.fi>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -22,7 +22,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.5-dev\n" +"X-Generator: Weblate 3.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -90,14 +90,12 @@ msgid "Delete Selected Key(s)" msgstr "Poista valitut avaimet" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Lisää piste" +msgstr "Lisää Bezier-piste" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Siirrä pisteitä" +msgstr "Siirrä Bezier-pisteitä" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -128,9 +126,8 @@ msgid "Anim Change Call" msgstr "Animaatio: muuta kutsua" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Vaihda animaation luuppia" +msgstr "Muuta animaation pituutta" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -187,13 +184,12 @@ msgid "Anim Clips:" msgstr "Animaatioleikkeet:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Vaihda taulukon arvoa" +msgstr "Muuta raidan polkua" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." -msgstr "Käytä tämä raita päälle/pois." +msgstr "Kytke tämä raita päälle/pois." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" @@ -216,9 +212,8 @@ msgid "Time (s): " msgstr "Aika (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Doppler käytössä" +msgstr "Aseta raita päälle" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -271,19 +266,16 @@ msgid "Delete Key(s)" msgstr "Poista avainruudut" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Vaihda animaation nimi:" +msgstr "Vaihda animaation päivitystilaa" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Interpolaatiotila" +msgstr "Vaihda animaation interpolaatiotilaa" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Vaihda animaation luuppia" +msgstr "Vaihda animaation toistotilaa" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -327,14 +319,12 @@ msgid "Anim Insert Key" msgstr "Animaatio: Lisää avain" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Vaihda animaation nopeutta" +msgstr "Vaihda animaation askelta" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Järjestele uudelleen automaattiset lataukset" +msgstr "Järjestele uudelleen raidat" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -365,9 +355,8 @@ msgid "Not possible to add a new track without a root" msgstr "Uutta raitaa ei voida lisätä ilman juurta" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Lisää raita" +msgstr "Lisää Bezier-raita" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -378,23 +367,20 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "Raita ei ole Spatial-tyyppinen, joten ei voida lisätä avainruutua" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "3D-muunnosraita" +msgstr "Lisää muunnosraidan avainruutu" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Lisää raita" +msgstr "Lisää raidan avainruutu" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." msgstr "Raidan polku on virheellinen, joten ei voida lisätä metodin avainta." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Metodikutsuraita" +msgstr "Lisää metodikutsuraidan avainruutu" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -555,17 +541,16 @@ msgid "Copy" msgstr "Kopioi" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Äänileikkeet:" +msgstr "Lisää ääniraidan leike" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Muuta ääniraidan leikkeen alkusiirrosta" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Muuta ääniraidan leikkeen loppusiirrosta" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -1380,9 +1365,30 @@ msgstr "Pakataan" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"GLES2 tarvitsee kohdealustalla 'ETC' tekstuuripakkausta. Kytke 'Import Etc' " +"päälle projektin asetuksista." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"GLES3 tarvitsee kohdealustalla 'ETC' tekstuuripakkausta. Kytke 'Import Etc " +"2' päälle projektin asetuksista." + +#: 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 "" +"GLES2 vara-ajuri tarvitsee kohdealustalla 'ETC' tekstuuripakkausta. Kytke " +"'Import Etc' päälle projektin asetuksista tai poista 'Driver Fallback " +"Enabled' asetus." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1429,7 +1435,7 @@ msgstr "Näytä tiedostonhallinnassa" msgid "New Folder..." msgstr "Uusi kansio..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Päivitä" @@ -1504,10 +1510,30 @@ msgstr "Siirrä suosikkia ylös" msgid "Move Favorite Down" msgstr "Siirrä suosikkia alas" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Edellinen kansio" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Seuraava kansio" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Siirry yläkansioon" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Kansio suosikkeihin." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Ruudukkonäkymä esikatselukuvilla." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Listanäkymä." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Hakemistot ja tiedostot:" @@ -1730,9 +1756,9 @@ msgstr "Tyhjennä tuloste" msgid "Project export failed with error code %d." msgstr "Projektin vienti epäonnistui virhekoodilla %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Virhe tallennettaessa resurssia!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Tuotuja resursseja ei voida tallentaa." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1740,6 +1766,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Virhe tallennettaessa resurssia!" + +#: 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 "" +"Resurssia ei voida tallentaa, koska se ei kuulu muokattavana olevaan " +"skeneen. Tee siitä ensin yksilöllinen." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Tallenna resurssi nimellä..." @@ -1957,14 +1995,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Tallennetaanko muutokset tiedostoon '%s' ennen sulkemista?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Resurssin lataaminen epäonnistui." +msgstr "Tallennettiin %s muokattua resurssia." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Vain yksi tiedosto vaaditaan suurikokoiselle tekstuurille." +msgstr "Skenen tallentaminen edellyttää, että sillä on juurisolmu." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -3050,14 +3086,6 @@ msgstr "" "tiedostojärjestelmästäsi!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Ruudukkonäkymä esikatselukuvilla." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Listanäkymä." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Tila: Tuonti epäonnistui. Ole hyvä, korjaa tiedosto ja tuo se uudelleen." @@ -3194,10 +3222,6 @@ msgid "Search files" msgstr "Etsi tiedostoista" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Luo valituista skeneistä ilmentymä valitun solmun alle." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3601,19 +3625,16 @@ msgstr "Lataa..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Siirrä pisteitä" +msgstr "Siirrä solmupistettä" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Muuta sulautusaikaa" +msgstr "Muuta BlendSpace1D rajoja" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Muuta sulautusaikaa" +msgstr "Muuta BlendSpace1D nimikkeitä" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3624,24 +3645,21 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Lisää solmu" +msgstr "Lisää solmupiste" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Lisää animaatio" +msgstr "Lisää animaatiopiste" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Poista polun piste" +msgstr "Poista BlendSpace1D piste" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Siirrä BlendSpace1D solmupistettä" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3687,29 +3705,24 @@ msgid "Triangle already exists" msgstr "Kolmio on jo olemassa" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Lisää muuttuja" +msgstr "Lisää kolmio" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Muuta sulautusaikaa" +msgstr "Muuta BlendSpace2D rajoja" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Muuta sulautusaikaa" +msgstr "Muuta BlendSpace2D nimikkeitä" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Poista polun piste" +msgstr "Poista BlendSpace2D piste" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Poista muuttuja" +msgstr "Poista BlendSpace2D kolmio" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3720,9 +3733,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "Kolmioita ei ole olemassa, joten mitään sulautusta ei tapahdu." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Aseta globaalien automaattilataus" +msgstr "Aseta automaattiset kolmiot" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3742,9 +3754,8 @@ msgid "Blend:" msgstr "Sulautus:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Materiaalimuutokset" +msgstr "Parametri muutettu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3756,15 +3767,13 @@ msgid "Output node can't be added to the blend tree." msgstr "Lähtösolmua ei voida lisätä sulautuspuuhun." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Lisää solmut puusta" +msgstr "Lisää BlendTree solmu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Siirtotila" +msgstr "Solmu siirretty" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3774,36 +3783,30 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Yhdistetty" +msgstr "Solmuja yhdistetty" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Yhteys katkaistu" +msgstr "Solmujen yhteyksiä katkaistu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Uusi animaatio" +msgstr "Aseta animaatio" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Poista solmu(t)" +msgstr "Poista solmu" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Käytä tämä raita päälle/pois." +msgstr "Kytke suodin päälle/pois" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Vaihdettu kielisuodatin" +msgstr "Muuta suodinta" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3826,9 +3829,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Solmun nimi" +msgstr "Solmu uudelleennimetty" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -4056,14 +4058,12 @@ msgid "Cross-Animation Blend Times" msgstr "Lomittautuvien animaatioiden sulautusajat" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Siirtotila" +msgstr "Siirrä solmua" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Lisää käännös" +msgstr "Lisää siirtymä" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4099,18 +4099,16 @@ msgid "No playback resource set at path: %s." msgstr "Polulle ei ole asetettu toistoresurssia: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Poistettu:" +msgstr "Solmu poistettu" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Siirtymäsolmu" +msgstr "Siirtymä poistettu" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Aseta alkusolmu (automaattitoisto)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4936,7 +4934,7 @@ msgstr "Kehitä GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Liukuväriä muokattu" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5196,6 +5194,10 @@ msgid "Generating Visibility Rect" msgstr "Kartoitetaan näkyvää aluetta" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Kartoita näkyvä alue" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Piste voidaan asettaa ainoastaan ParticlesMaterial käsittelyn materiaaliin" @@ -5209,10 +5211,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Kuvassa ei ole pikseleitä, joiden läpinäkyvyys on enemmän kuin 128…" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Kartoita näkyvä alue" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Lataa emissiomaski" @@ -5300,13 +5298,13 @@ msgid "Generating AABB" msgstr "Luodaan AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Luo AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Kartoita näkyvä alue" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Luo AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Poista pisteet käyrästä" @@ -5892,6 +5890,14 @@ msgid "Open Godot online documentation" msgstr "Avaa Godotin online-dokumentaatio" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Etsi dokumentaatiosta." @@ -6087,14 +6093,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Tällä luurangolla ei ole luita, luo joitakin Bone2D alisolmuja." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Tee lepoasento (luista)" +msgstr "Luo lepoasento luista" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Tee lepoasento (luista)" +msgstr "Aseta lepoasento luille" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6249,7 +6253,6 @@ msgid "Rear" msgstr "Taka" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" msgstr "Kohdista näkymään" @@ -6346,6 +6349,8 @@ 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 "" +"Huom: näytetty FPS-lukema on editorin kuvataajuus.\n" +"Sitä ei voi käyttää luotettavana pelin sisäisenä tehokkuuden ilmaisimena." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6356,9 +6361,8 @@ msgid "XForm Dialog" msgstr "XForm-ikkuna" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Tartu lattiaan" +msgstr "Tarraa solmut lattiaan" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6953,6 +6957,22 @@ msgid "Merge from Scene" msgstr "Yhdistä skenestä" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "Seuraava koordinaatti" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Valitse seuraava muoto, aliruutu tai ruutu." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Edellinen koordinaatti" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Valitse edellinen muoto, aliruutu tai ruutu." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Kopioi bittimaski." @@ -6965,9 +6985,8 @@ msgid "Erase bitmask." msgstr "Pyyhi bittimaski." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Luo uusia solmuja." +msgstr "Luo uusi suorakulmio." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7107,6 +7126,14 @@ msgid "Clear Tile Bitmask" msgstr "Tyhjennä ruudun bittimaski" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Tee polygonista konkaavi" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Tee polygonista konveksi" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Poista ruutu" @@ -7148,34 +7175,31 @@ msgstr "Ruutuvalikoima" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Aseta uniformin nimi" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Aseta oletus valinnalle '%s'" +msgstr "Aseta syötteen oletusportti" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Lisää solmu Visual Shaderiin" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Kahdenna solmu(t)" +msgstr "Kahdenna solmut" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Visual Shaderin syötteen tyyppi vaihdettu" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" -msgstr "Vertex" +msgstr "Kärkipiste" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Fragment" -msgstr "Fragment" +msgstr "Fragmentti" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Light" @@ -7186,14 +7210,12 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Muokkaa ruudun prioriteettia" +msgstr "Muokkaa visuaalista ominaisuutta" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Sävytinmuutokset" +msgstr "Visual Shaderin tila vaihdettu" #: editor/project_export.cpp msgid "Runnable" @@ -7212,6 +7234,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Projektin vienti alustalle '%s' epäonnistui.\n" +"Vientimallit näyttävät puuttuvan tai olevan virheellisiä." #: editor/project_export.cpp msgid "" @@ -7219,6 +7243,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Projektin vienti alustalle '%s' epäonnistui.\n" +"Tämä saattaa johtua asetusongelmista viennin esiasetuksissa tai vientisi " +"asetuksissa." #: editor/project_export.cpp msgid "Release" @@ -7229,6 +7256,10 @@ msgid "Exporting All" msgstr "Viedään kaikki" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "Annettu vientipolku ei ole olemassa:" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Vientimallit tälle alustalle puuttuvat tai ovat viallisia:" @@ -8267,9 +8298,8 @@ msgid "Instantiated scenes can't become root" msgstr "Skenejen ilmentymiä ei voi asettaa juureksi" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Tee skenen juuri" +msgstr "Tee solmusta juurisolmu" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8308,9 +8338,8 @@ msgid "Make Local" msgstr "Tee paikallinen" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Tee skenen juuri" +msgstr "Uusi skenen juuri" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8662,7 +8691,7 @@ msgstr "Aliprosessi yhdistetty" #: editor/script_editor_debugger.cpp msgid "Copy Error" -msgstr "Kopiointivirhe" +msgstr "Kopioi virhe" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" @@ -8741,19 +8770,16 @@ msgid "Set From Tree" msgstr "Aseta puusta" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Hidasta lopussa" +msgstr "Poista pikanäppäin" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Pikanäppäimet" +msgstr "Palauta pikanäppäin" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Muuta ankkureita" +msgstr "Muuta pikanäppäintä" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -8964,9 +8990,8 @@ msgid "GridMap Duplicate Selection" msgstr "Kahdenna valinta" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Ruudukon asetukset" +msgstr "Ruudukon maalaus" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9354,9 +9379,8 @@ msgid "Change Input Value" msgstr "Vaihda syötteen arvo" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Muokkaa CanvasItemin kokoa" +msgstr "Muokkaa kommentin kokoa" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9944,6 +9968,14 @@ msgstr "" "CollisionShape solmulle täytyy antaa muoto, jotta se toimisi. Ole hyvä ja " "luo sille muotoresurssi!" +#: 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 "" +"Tasomuodot eivät toimi hyvin ja ne tullaan poistaamaan tulevissa versioissa. " +"Ole hyvä ja älä käytä niitä." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Mitään ei näy, koska meshiä ei ole asetettu." @@ -9960,6 +9992,14 @@ msgstr "" msgid "Plotting Meshes" msgstr "Piirretään meshejä" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"GIProbe ei ole tuettu GLES2 näyttöajurissa.\n" +"Käytä sen sijaan BakedLightmap resurssia." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10104,8 +10144,7 @@ msgstr "Polku animaatiot sisältävään AnimationPlayer solmuun on asettamatta. #: scene/animation/animation_tree.cpp msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." -msgstr "" -"AnimationPlayer solmulle asetettu polku ei johda AnimationPlayer solmuun." +msgstr "AnimationPlayerille asetettu polku ei johda AnimationPlayer solmuun." #: scene/animation/animation_tree.cpp msgid "AnimationPlayer root is not a valid node." @@ -10132,6 +10171,18 @@ msgstr "Vaihda heksadesimaali- ja koodiarvojen välillä." msgid "Add current color as a preset." msgstr "Lisää nykyinen väri esiasetukseksi." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Säilöllä ei ole itsessään mitään merkitystä ellei jokin skripti säädä sen " +"alisolmujen sijoitustapaa.\n" +"Jos et aio lisätä skriptiä, ole hyvä ja käytä sen sijaan tavallista " +"'Control' solmua." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Huomio!" @@ -10140,6 +10191,10 @@ msgstr "Huomio!" msgid "Please Confirm..." msgstr "Ole hyvä ja vahvista..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Siirry yläkansioon." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10224,6 +10279,9 @@ msgstr "Sijoitus uniformille." msgid "Varyings can only be assigned in vertex function." msgstr "Varying tyypin voi sijoittaa vain vertex-funktiossa." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Luo valituista skeneistä ilmentymä valitun solmun alle." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index 08837ca582..67a11b2224 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -54,12 +54,13 @@ # Sylvain Corsini <sylvain.corsini@gmail.com>, 2018. # Caye Pierre <pierrecaye@laposte.net>, 2019. # Peter Kent <0.peter.kent@gmail.com>, 2019. +# jef dered <themen098s@vivaldi.net>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-21 21:18+0000\n" -"Last-Translator: Peter Kent <0.peter.kent@gmail.com>\n" +"PO-Revision-Date: 2019-03-12 15:25+0000\n" +"Last-Translator: Caye Pierre <pierrecaye@laposte.net>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -67,7 +68,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.5-dev\n" +"X-Generator: Weblate 3.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -103,11 +104,11 @@ msgstr "Index nommé %s invalide pour le type de base %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "Arguments invalides pour construire '%s'" +msgstr "Arguments invalides pour construire « %s »" #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "Sur appel à '%s' :" +msgstr "Sur appel à « %s » :" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -135,14 +136,12 @@ msgid "Delete Selected Key(s)" msgstr "Supprimer les clé(s) sélectionnée(s)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Ajouter un point" +msgstr "Ajouter un point de Bézier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Déplacer de points" +msgstr "Déplacer des points de Bézier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -158,7 +157,7 @@ msgstr "Modifier le temps d'image-clé" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "Changement du transition de l'animation" +msgstr "Changement de transition de l'animation" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" @@ -173,9 +172,8 @@ msgid "Anim Change Call" msgstr "Anim: Change l'Appel" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Modifier la boucle d'animation" +msgstr "Modifier la longueur de l'animation" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -232,9 +230,8 @@ msgid "Anim Clips:" msgstr "Clips d'animation :" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Modifier la valeur du tableau" +msgstr "Modifier le chemin de la piste" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -261,9 +258,8 @@ msgid "Time (s): " msgstr "Temps (s) : " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Activer Doppler" +msgstr "Activer le basculement de piste" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -316,19 +312,16 @@ msgid "Delete Key(s)" msgstr "Supprimer clé(s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Modifier le nom de l'animation :" +msgstr "Modifier le mode de mise à jour de l'animation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Mode d'interpolation" +msgstr "Modifier le mode d'interpolation de l'animation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Modifier la boucle d'animation" +msgstr "Modifier le mode de boucle d'animation" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -373,14 +366,12 @@ msgid "Anim Insert Key" msgstr "Insérer une clé d'animation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Modifier le taux d'IPS de l'animation" +msgstr "Modifier l'étape d'animation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Ré-organiser les AutoLoads" +msgstr "Réorganiser les pistes" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -415,9 +406,8 @@ msgid "Not possible to add a new track without a root" msgstr "Impossible d'ajouter une nouvelle piste sans racine" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Ajouter une piste" +msgstr "Ajouter une piste de Bézier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -428,14 +418,12 @@ 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é" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Piste de transformation 3D" +msgstr "Ajouter une clé de transformation" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Ajouter une piste" +msgstr "Ajoutez une clé de piste" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -444,9 +432,8 @@ msgstr "" "méthode." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Piste d'appel de méthode" +msgstr "Ajouter une clé de méthode" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -556,7 +543,7 @@ msgstr "Utiliser les courbes de Bézier" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "Optimiser de l'animation" +msgstr "Optimiser l'animation" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" @@ -611,17 +598,16 @@ msgid "Copy" msgstr "Copier" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Clips audio :" +msgstr "Ajouter un clip audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Modifier Le Décalage De Début De Clip De Piste Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Modifier Le Décalage De Fin De Clip De Piste Audio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -778,7 +764,7 @@ msgstr "Déconnecter « %s » de « %s »" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" -msgstr "Tout déconnecter au signal : '%s'" +msgstr "Tout déconnecter du signal : « %s »" #: editor/connections_dialog.cpp msgid "Connect..." @@ -906,7 +892,7 @@ msgstr "Dépendances :" #: editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "Corriger les dép. cassées" +msgstr "Corriger les dépendances cassées" #: editor/dependency_editor.cpp msgid "Dependency Editor" @@ -1080,10 +1066,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" -"Le moteur Godot s'appuie sur un certain nombre de bibliothèques gratuites et " -"open source tierce parties, toutes compatibles avec les termes de sa licence " -"MIT. Voici une liste exhaustive de tous ces composants tiers avec leurs " -"énoncés de droits d'auteur respectifs ainsi que les termes de leurs licences." +"Le moteur Godot s'appuie sur un certain nombre de bibliothèques libres et " +"open source tierces, toutes compatibles avec les termes de sa licence MIT. " +"Voici une liste exhaustive de ces composants tiers avec leurs énoncés de " +"droits d'auteur respectifs ainsi que les termes de leurs licences." #: editor/editor_about.cpp msgid "All Components" @@ -1242,7 +1228,7 @@ msgstr "Ouvrir une disposition de bus audio" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "Il n'existe aucun 'res://default_bus_layout.tres'." +msgstr "Il n'existe aucun fichier « res://default_bus_layout.tres »." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -1429,7 +1415,7 @@ msgstr "Stockage du fichier :" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "Aucun modèle d'exportation n'a été trouvé au chemin prévu :" +msgstr "Aucun modèle d'exportation n'a été trouvé au chemin prévu :" #: editor/editor_export.cpp msgid "Packing" @@ -1437,9 +1423,31 @@ msgstr "Empaquetage" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"La plate-forme cible nécessite une compression de texture 'ETC' pour GLES2. " +"Activez 'Import Etc' dans les paramètres du projet." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"La plate-forme cible nécessite une compression de texture 'ETC2' pour GLES3. " +"Activez 'Import Etc 2' dans les Paramètres du projet." + +#: editor/editor_export.cpp +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 "" +"La plate-forme cible nécessite une compression de texture ' ETC ' pour le " +"fallback pilote de GLES2.\n" +"Activez 'Import Etc' dans les paramètres du projet, ou désactivez 'Driver " +"Fallback Enabled'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1486,7 +1494,7 @@ msgstr "Montrer dans le gestionnaire de fichiers" msgid "New Folder..." msgstr "Nouveau dossier..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Rafraîchir" @@ -1561,10 +1569,30 @@ msgstr "Déplacer le favori vers le haut" msgid "Move Favorite Down" msgstr "Déplacer le favori vers le bas" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Dossier précédent" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Dossier suivant" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Aller au dossier parent" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Ajouter ou supprimer des favoris le dossier courant." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Afficher les éléments sous forme de grille de vignettes." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Afficher les éléments sous forme de liste." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Répertoires et fichiers :" @@ -1787,9 +1815,9 @@ msgstr "Effacer la sortie" msgid "Project export failed with error code %d." msgstr "L'export du projet a échoué avec le code erreur %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Erreur d'enregistrement de la ressource !" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Les ressources importés ne peuvent pas être sauvegarder." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1797,6 +1825,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Erreur d'enregistrement de la ressource !" + +#: 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 "" +"Cette ressource ne peut pas être sauvegardée parce qu’elle n'appartient pas " +"à la scène éditer. Soyez sûr qu'elle soit unique." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Enregistrer la ressource sous…" @@ -1814,23 +1854,23 @@ msgstr "Erreur lors de l'enregistrement." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." -msgstr "Impossible d'ouvrir '%s'. Le fichier a pu être déplacé ou supprimé." +msgstr "Impossible d'ouvrir « %s ». Le fichier a pu être déplacé ou supprimé." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "Erreur lors de l'analyse syntaxique de '%s'." +msgstr "Erreur lors de l'analyse syntaxique de « %s »." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "Fin de fichier inattendue '%s'." +msgstr "Fin de fichier inattendue « %s »." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "La scène '%s' ou ses dépendances sont introuvables." +msgstr "La scène « %s » ou ses dépendances sont introuvables." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "Erreur lors du chargement de '%s'." +msgstr "Erreur lors du chargement de « %s »." #: editor/editor_node.cpp msgid "Saving Scene" @@ -1925,8 +1965,8 @@ msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" -"Cette ressource a été importée, elle n'est donc pas éditable. Modifiez ses " -"paramètres dans le panneau d'importation et, ensuite, réimportez-la." +"Cette ressource a été importée, elle n'est donc pas modifiable. Modifiez ses " +"paramètres dans le panneau d'importation et réimportez-la ensuite." #: editor/editor_node.cpp msgid "" @@ -1935,8 +1975,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Cette scène a été importée, les changements ne seront donc pas conservés.\n" -"L'instancier ou l'hériter permettra de faire ces changements.\n" +"Cette scène a été importée, les modifications ne seront donc pas " +"conservées.\n" +"L'instancier ou l'hériter permettra de conserver les modifications.\n" "Veuillez lire la documentation concernant l'importation des scènes afin de " "mieux comprendre ce processus." @@ -2018,16 +2059,15 @@ msgstr "Enregistrer & fermer" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "Sauvegarder modifications de '%s' avant de quitter ?" +msgstr "Sauvegarder les modifications effectuées à « %s » avant de quitter ?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Impossible de charger la ressource." +msgstr "Sauvegardé %s des ressources modifiées." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "Un nÅ“ud racine est nécessaire pour sauvegarder la scène." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2044,7 +2084,7 @@ msgstr "Oui" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" msgstr "" -"Cette scène n'a jamais été enregistrée. L'enregistrer avant de la lancer ?" +"Cette scène n'a jamais été enregistrée. L'enregistrer avant de la lancer ?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." @@ -2130,39 +2170,39 @@ msgstr "Choisir une scène principale" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" -"Impossible d'activer le greffon depuis : '%s' l’analyse syntaxique de la " +"Impossible d'activer le greffon depuis : « %s », l’analyse syntaxique de la " "configuration a échoué." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" -"Impossible de trouver le champ de script pour le plugin dans : 'res://addons/" -"%s'." +"Impossible de trouver le champ de script pour le plugin dans : « res://" +"addons/%s »." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." msgstr "" -"Impossible de charger le script de l’extension depuis le chemin : '%s'." +"Impossible de charger le script de l’extension depuis le chemin : « %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 "" -"Impossible de charger le script de l’extension depuis le chemin : '%s' Il " +"Impossible de charger le script de l’extension depuis le chemin : « %s ». Il " "semble y avoir une erreur dans le code, merci de vérifier la syntaxe." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" -"Impossible de charger le script de l'addon depuis le chemin : '%s' Le type " -"de base n'est pas EditorPlugin." +"Impossible de charger le script de l'addon depuis le chemin : « %s ». Le " +"type de base n'est pas EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" -"Impossible de charger le script de l’extension depuis le chemin : '%s' Le " +"Impossible de charger le script de l’extension depuis le chemin : « %s ». Le " "script n'est pas en mode outil." #: editor/editor_node.cpp @@ -2189,7 +2229,7 @@ msgstr "La scène « %s » a des dépendences cassées :" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Vider la liste des scènes récentes" +msgstr "Effacer la liste des scènes récentes" #: editor/editor_node.cpp msgid "Save Layout" @@ -2419,7 +2459,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "Synchroniser les changements de scène" +msgstr "Synchroniser les modifications des scènes" #: editor/editor_node.cpp msgid "" @@ -2430,12 +2470,12 @@ msgid "" msgstr "" "Lorsque cette option est activée, toutes les modifications apportées à la " "scène dans l'éditeur seront reproduites en jeu.\n" -"Lorsqu'elle est utilisée à distance sur un périphérique, l'efficacité est " -"meilleure avec le système de fichiers réseau." +"Lorsqu'elle est utilisée à distance sur un périphérique, cette option est " +"plus efficace avec le système de fichiers réseau." #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "Synchroniser les modifications de script" +msgstr "Synchroniser les modifications des scripts" #: editor/editor_node.cpp msgid "" @@ -2560,7 +2600,7 @@ msgstr "Changer le pilote vidéo nécessite le redémarrage de l'éditeur." #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp msgid "Save & Restart" -msgstr "Enregistrer et Redémarrer" +msgstr "Enregistrer et redémarrer" #: editor/editor_node.cpp msgid "Spins when the editor window redraws." @@ -2702,7 +2742,7 @@ msgstr "État :" #: editor/editor_plugin_settings.cpp msgid "Edit:" -msgstr "Éditer :" +msgstr "Modifier :" #: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp #: editor/rename_dialog.cpp @@ -2803,7 +2843,7 @@ msgid "" msgstr "" "Impossible de créer un ViewportTexture sur cette ressource car elle n'est " "pas définie comme locale à la scène.\n" -"Merci de changer la propriété \"Local To Scene\" de cette ressource (et des " +"Merci de changer la propriété « Local To Scene » de cette ressource (et des " "ressources intermédiaires la contenant, jusqu'au nÅ“ud qui l'utilise)." #: editor/editor_properties.cpp editor/property_editor.cpp @@ -2955,11 +2995,12 @@ msgstr "Récupération des miroirs, veuillez patienter..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Supprimer la version '%s' du modèle ?" +msgstr "Supprimer la version « %s » du modèle ?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "Impossible d'ouvrir le ZIP de modèles d'exportation." +msgstr "" +"Impossible d'ouvrir le fichier ZIP contenant les modèles d'exportation." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates: %s." @@ -3017,7 +3058,7 @@ msgstr "Boucle de Redirection." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "Échec:" +msgstr "Échec :" #: editor/export_template_manager.cpp msgid "Download Complete." @@ -3028,8 +3069,8 @@ msgid "" "Templates installation failed. The problematic templates archives can be " "found at '%s'." msgstr "" -"L'installation des modèles à échoué. Les archives des modèles posant " -"problème peuvent être trouvées ici : '%s'." +"L'installation des modèles a échoué. Les archives des modèles posant " +"problème peuvent être trouvées à « %s »." #: editor/export_template_manager.cpp msgid "Error requesting url: " @@ -3128,16 +3169,8 @@ msgstr "Favoris" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" -"Impossible d'accédez à '%s' car celui-ci n'existe pas dans le système de " -"fichiers !" - -#: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Afficher les éléments sous forme de grille de vignettes." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Afficher les éléments sous forme de liste." +"Impossible d'accéder à « %s » car celui-ci n'existe pas dans le système de " +"fichiers !" #: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." @@ -3235,11 +3268,11 @@ msgstr "Déplacer vers…" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "New Script..." -msgstr "Nouveau Script..." +msgstr "Nouveau script…" #: editor/filesystem_dock.cpp msgid "New Resource..." -msgstr "Nouvelle Ressource…" +msgstr "Nouvelle ressource…" #: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp msgid "Expand All" @@ -3277,12 +3310,6 @@ msgid "Search files" msgstr "Rechercher des fichiers" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Instancie la(les) scène(s) sélectionnée(s) en tant qu'enfant(s) du nÅ“ud " -"sélectionné." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3309,11 +3336,11 @@ msgstr "Créer un script" #: editor/find_in_files.cpp msgid "Find in Files" -msgstr "Trouver dans les fichiers" +msgstr "Rechercher dans les fichiers" #: editor/find_in_files.cpp msgid "Find:" -msgstr "Trouver :" +msgstr "Rechercher :" #: editor/find_in_files.cpp msgid "Folder:" @@ -3326,7 +3353,7 @@ msgstr "Filtres :" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find..." -msgstr "Trouver…" +msgstr "Rechercher…" #: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp msgid "Replace..." @@ -3338,7 +3365,7 @@ msgstr "Annuler" #: editor/find_in_files.cpp msgid "Find: " -msgstr "Trouver : " +msgstr "Rechercher : " #: editor/find_in_files.cpp msgid "Replace: " @@ -3472,11 +3499,11 @@ msgstr "Enregistrement…" #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "Définir comme défaut pour '%s'" +msgstr "Définir comme défaut pour « %s »" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "Effacer défaut pour '%s'" +msgstr "Effacer le préréglage par défaut pour « %s »" #: editor/import_dock.cpp msgid " Files" @@ -3492,7 +3519,7 @@ msgstr "Pré-réglage…" #: editor/import_dock.cpp msgid "Reimport" -msgstr "Ré-importer" +msgstr "Réimporter" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" @@ -3501,13 +3528,13 @@ msgstr "Sauvegarde des scènes, réimportation et redémarrage" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." msgstr "" -"Changer le type d'un fichier importé nécessite un redémarrage de l'éditeur." +"Modifier le type d'un fichier importé nécessite un redémarrage de l'éditeur." #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" -"AVERTISSEMENT : Il existe des éléments qui utilisent cette ressource, ils " +"AVERTISSEMENT : Il existe des atout qui utilisent cette ressource, elles " "pourraient cesser de charger correctement." #: editor/inspector_dock.cpp @@ -3597,7 +3624,7 @@ msgstr "Ensemble multi-nÅ“ud" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "Sélectionnez un nÅ“ud pour editer des signaux et des groupes." +msgstr "Sélectionnez un nÅ“ud pour modifier les signaux et groupes." #: editor/plugin_config_dialog.cpp msgid "Edit a Plugin" @@ -3644,7 +3671,7 @@ msgid "" "LMB: Move Point\n" "RMB: Erase Point" msgstr "" -"Éditer les points.\n" +"Modifier les points.\n" "Bouton gauche : Déplacer le point\n" "Bouton droit : Effacer le point" @@ -3686,19 +3713,16 @@ msgstr "Charger..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Déplacer de points" +msgstr "Déplacer le point de nÅ“ud" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Changer le temps de mélange" +msgstr "Modifier les limites de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Changer le temps de mélange" +msgstr "Modifier les étiquettes de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3710,24 +3734,21 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Ajouter un nÅ“ud" +msgstr "Ajouter point de nÅ“ud" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Ajouter une animation" +msgstr "Ajouter un point d'animation" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Supprimer le point du chemin" +msgstr "Supprimer le point BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Bouger le nÅ“ud BlendSpace1d" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3738,7 +3759,7 @@ msgid "" "Activate to enable playback, check node warnings if activation fails." msgstr "" "AnimationTree est inactif.\n" -"Activez le pour permettre la lecture, vérifier les avertissements des nÅ“uds " +"Activez-le pour permettre la lecture, vérifier les avertissements des nÅ“uds " "en cas d'échec de l'activation." #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -3774,29 +3795,24 @@ msgid "Triangle already exists" msgstr "Le triangle existe déjà " #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Ajouter une variable" +msgstr "Ajouter un triangle" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Changer le temps de mélange" +msgstr "Modifier les limites de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Changer le temps de mélange" +msgstr "Modifier les étiquettes de BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Supprimer le point du chemin" +msgstr "Supprimer le point BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Supprimer la variable" +msgstr "Supprimer le triangle BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3807,9 +3823,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "Il n'existe pas de triangles, donc aucun mélange ne peut avoir lieu." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Activer les variables globales AutoLoad" +msgstr "Commutation automatique des triangles" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3830,29 +3845,26 @@ msgid "Blend:" msgstr "Mélange :" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Modifications de materiau" +msgstr "Paramètre modifié" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Edit Filters" -msgstr "Editer les filtres" +msgstr "Modifier les filtres" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." msgstr "Un nÅ“ud de sortie ne peut être ajouté à l'arborescence du mélange." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Ajouter un nÅ“ud à partir de l'arbre" +msgstr "Ajouter un nÅ“ud au BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Mode déplacement" +msgstr "NÅ“ud déplacé" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3863,42 +3875,36 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Connecté" +msgstr "NÅ“uds connectés" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Déconnecté" +msgstr "NÅ“uds déconnectés" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Nouvelle animation" +msgstr "Définir l'animation" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Supprimer nÅ“ud(s)" +msgstr "Supprimer un nÅ“ud" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Activer/désactiver cette piste." +msgstr "Activer/désactiver le filtre" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Filtre de langue modifié" +msgstr "Changer le filtre" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." msgstr "" -"Aucun lecteur d'animation défini, dès lors impossible de retrouver les noms " -"des pistes." +"Aucun lecteur d'animation défini, il est donc impossible de retrouver les " +"noms des pistes." #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Player path set is invalid, so unable to retrieve track names." @@ -3912,14 +3918,13 @@ msgid "" "Animation player has no valid root node path, so unable to retrieve track " "names." msgstr "" -"Le lecteur d'animation n'a pas un chemin de nÅ“ud racine valide, dès lors " +"Le lecteur d'animation n'a pas un chemin de nÅ“ud racine valide, il est donc " "impossible de récupérer les noms des pistes." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nom de nÅ“ud" +msgstr "NÅ“ud renommé" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3929,7 +3934,7 @@ msgstr "Ajouter un nÅ“ud..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp msgid "Edit Filtered Tracks:" -msgstr "Éditer Pistes Filtrées :" +msgstr "Modifier les pistes filtrées :" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Enable filtering" @@ -4073,7 +4078,7 @@ msgstr "Effet pelure d'oignon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "Activer l'effet pelure d'oignon" +msgstr "Activer l'effet « pelure d'oignon »" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" @@ -4148,14 +4153,12 @@ msgid "Cross-Animation Blend Times" msgstr "Temps de mélange des entre animations" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Mode déplacement" +msgstr "Déplacer le nÅ“ud" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Ajouter une traduction" +msgstr "Ajouter une transition" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4192,18 +4195,16 @@ msgid "No playback resource set at path: %s." msgstr "Aucune ressource de lecture définie sur le chemin : %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Supprimer" +msgstr "NÅ“ud supprimé" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "NÅ“ud Transition" +msgstr "Transition supprimée" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Définir le nÅ“ud de démarrage (Lecture automatique)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4382,7 +4383,7 @@ msgstr "Filtres…" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "Contenu:" +msgstr "Contenu :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" @@ -4390,7 +4391,7 @@ msgstr "Voir Fichiers" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "Impossible de résoudre le nom de l'hôte:" +msgstr "Impossible de résoudre le nom de l'hôte :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." @@ -4398,15 +4399,15 @@ msgstr "Erreur de connection, veuillez essayer à nouveau." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "Connection à l'hôte impossible:" +msgstr "Connexion à l'hôte impossible :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "Pas de réponse de l'hôte:" +msgstr "Pas de réponse de l'hôte :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "La requête a échoué, code retourné:" +msgstr "La requête a échoué, code retourné :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" @@ -4418,7 +4419,7 @@ msgstr "Vérification du téléchargement échouée, le fichier a été altéré #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "Attendu:" +msgstr "Attendu :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" @@ -4430,7 +4431,7 @@ msgstr "Vérification de brouillage sha256 échouée" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "Erreur dans le téléchargement d'une ressource:" +msgstr "Erreur dans le téléchargement d'une ressource :" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Downloading (%s / %s)..." @@ -4462,7 +4463,7 @@ msgstr "Erreur de téléchargement" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "Le téléchargement de cette ressource est déjà en cours!" +msgstr "Le téléchargement de cette ressource est déjà en cours !" #: editor/plugins/asset_library_editor_plugin.cpp msgid "First" @@ -4539,8 +4540,8 @@ msgid "" "No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " "Light' flag is on." msgstr "" -"Aucun mesh à transférer. Assurez-vous qu'ils contiennent un canal UV2 et que " -"l'indicateur \"Bake Light\" est activé." +"Aucun maillage à transférer. Assurez-vous qu'ils contiennent un canal UV2 et " +"que l'indicateur « Bake Light » est activé." #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." @@ -5021,7 +5022,7 @@ msgstr "Basculer vers tangente linéaire de courbe" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "Maintenez l'appui sur Maj pour éditer les tangentes individuellement" +msgstr "Maintenez Maj. appuyée pour modifier les tangentes individuellement" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -5029,7 +5030,7 @@ msgstr "Créer sonde IG (Illumination Globale)" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Dégradé édité" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5081,7 +5082,9 @@ msgstr "Le maillage contenu n'est pas de type ArrayMesh." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "L'ouverture du UV a échoué, le maillage n'est peut-être pas multiple ?" +msgstr "" +"Le dépliage UV a échoué, le maillage n'est peut-être pas multiple " +"(« manifold ») ?" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "No mesh to debug." @@ -5229,11 +5232,11 @@ msgstr "Impossible de cartographier la zone." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "Sélectionner un maillage source :" +msgstr "Sélectionnez un maillage source :" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "Sélectionner une surface cible :" +msgstr "Sélectionnez une surface cible :" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" @@ -5293,6 +5296,10 @@ msgid "Generating Visibility Rect" msgstr "Génération du rectangle de visibilité" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Générer Rect de Visibilité" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Ne peut définir qu'un point dans un matériau de processus ParticlesMaterial" @@ -5306,10 +5313,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Pas de pixels avec transparence > 128 dans l'image..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Générer Rect de Visibilité" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Charger Masque d'Émission" @@ -5334,7 +5337,7 @@ msgstr "Compte de Points Générés :" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "Temps de Génération (sec):" +msgstr "Temps de Génération (sec) :" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" @@ -5354,7 +5357,7 @@ msgstr "Des faces ne contiennent pas de zone !" #: editor/plugins/particles_editor_plugin.cpp msgid "No faces!" -msgstr "Pas de faces!" +msgstr "Pas de faces !" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." @@ -5370,7 +5373,7 @@ msgstr "Créer Émetteur" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "Points d'Émission:" +msgstr "Points d'Émission :" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" @@ -5390,20 +5393,20 @@ msgstr "Source d'Émission: " #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "Un matériel processeur de type 'ParticlesMaterial' est requis." +msgstr "Un matériel processeur de type « ParticlesMaterial » est nécessaire." #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Générer AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Générer AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Générer AABB de Visibilité" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Générer AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Supprimer Point de la Courbe" @@ -5552,7 +5555,7 @@ msgid "" "Set a texture to be able to edit UV." msgstr "" "Pas de texture dans ce polygone.\n" -"Sélectionnez une texture pour pouvoir éditer les UV." +"Sélectionnez une texture afin de pouvoir modifier les coordonnées UV." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -5958,7 +5961,7 @@ msgstr "Afficher/Cacher le panneau des scripts" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "Trouver le suivant" +msgstr "Correspondance suivante" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" @@ -5990,6 +5993,14 @@ msgid "Open Godot online documentation" msgstr "Ouvrir la documentation Godot en ligne" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Chercher dans la documentation de référence." @@ -6063,19 +6074,19 @@ msgstr "Modifier la casse" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Uppercase" -msgstr "Majuscule" +msgstr "Tout en majuscule" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Lowercase" -msgstr "Minuscule" +msgstr "Tout en minuscule" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Capitalize" -msgstr "Capitaliser" +msgstr "Majuscule à chaque mot" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" -msgstr "Surligneur de syntaxe" +msgstr "Coloration syntaxique" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -6158,11 +6169,11 @@ msgstr "Aller au point d'arrêt précédent" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "Trouver le précédent" +msgstr "Correspondance précédente" #: editor/plugins/script_text_editor.cpp msgid "Find in Files..." -msgstr "Trouver dans les fichiers..." +msgstr "Rechercher dans les fichiers…" #: editor/plugins/script_text_editor.cpp msgid "Go to Function..." @@ -6185,14 +6196,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Ce squelette n'a pas d'os, créez des nÅ“uds Bone2D enfants." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Créer la position de repos (d'après les os)" +msgstr "Créer la position de repos d'après les os" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Créer la position de repos (d'après les os)" +msgstr "Régler la position de repos sur les os" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6347,7 +6356,6 @@ msgid "Rear" msgstr "Arrière" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" msgstr "Aligner avec la vue" @@ -6446,6 +6454,9 @@ 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 "" +"Note : La valeur FPS affichée est la fréquence d'images de l'éditeur.\n" +"Il ne doit pas être utilisé comme un indicateur fiable de la performance en " +"jeu." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6456,9 +6467,8 @@ msgid "XForm Dialog" msgstr "Dialogue XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Aligner l'objet sur le sol" +msgstr "Aligner les nÅ“uds au sol" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6856,7 +6866,7 @@ msgstr "Supprimer tout" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme..." -msgstr "Éditer le thème..." +msgstr "Modifier le thème…" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." @@ -6992,7 +7002,7 @@ msgstr "Supprimer la TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find Tile" -msgstr "Trouver une tuile" +msgstr "Rechercher une tuile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" @@ -7055,6 +7065,22 @@ msgid "Merge from Scene" msgstr "Fusionner depuis la scène" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "Coordonnée suivante" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Sélectionnez la forme suivante, sous-tuile, ou tuile." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Coordonnée précédente" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Sélectionner la forme précédente, sous-tuile, ou tuile." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Copier le masque de bit." @@ -7067,9 +7093,8 @@ msgid "Erase bitmask." msgstr "Effacer le masque de bit." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Créer de nouveaux nÅ“uds." +msgstr "Créer un nouveau rectangle." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7132,7 +7157,7 @@ msgid "" "Click on another Tile to edit it." msgstr "" "Sélectionner la sous-tuile en cours d'édition.\n" -"Cliquer sur une autre tuile pour l'éditer." +"Cliquez sur une autre tuile pour la modifier." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Delete polygon." @@ -7146,7 +7171,7 @@ msgid "" msgstr "" "Bouton gauche : Activer le bit.\n" "Bouton droit : Désactiver le bit.\n" -"Cliquer sur une autre tuile pour l'éditer." +"Cliquez sur une autre tuile pour la modifier." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -7163,16 +7188,16 @@ msgid "" "Select sub-tile to change its priority.\n" "Click on another Tile to edit it." msgstr "" -"Sélectionner une sous-tuile pour changer sa priorité.\n" -"Cliquer sur une autre tuile pour l'éditer." +"Sélectionnez une sous-tuile pour changer sa priorité.\n" +"Cliquez sur une autre tuile pour la modifier." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Select sub-tile to change its z index.\n" "Click on another Tile to edit it." msgstr "" -"Sélectionner une sous-tuile pour changer son index Z.\n" -"Cliquer sur une autre tuile pour l'éditer." +"Sélectionnez une sous-tuile pour changer son index Z.\n" +"Cliquez sur une autre tuile pour la modifier." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Region" @@ -7211,6 +7236,14 @@ msgid "Clear Tile Bitmask" msgstr "Supprimer le masque de bit de la tuile" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Rendre le polygone concave" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Rendre le polygon Convex" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Supprimer la tuile" @@ -7252,26 +7285,23 @@ msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Définir le nom de l'uniforme" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Définir comme défaut pour '%s'" +msgstr "Définir le port d'entrée par défaut" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Ajouter un nÅ“ud au Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" msgstr "Dupliquer le(s) nÅ“ud(s)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Type d’entrée Visual Shader changée" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7290,14 +7320,12 @@ msgid "VisualShader" msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Modifier la priorité de la tuile" +msgstr "Modifier la propriété visuelle" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Modification de shader" +msgstr "Mode Visual Shader changé" #: editor/project_export.cpp msgid "Runnable" @@ -7305,17 +7333,19 @@ msgstr "Exécutable" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "Supprimer le patch '%s' de la liste ?" +msgstr "Supprimer le patch « %s » de la liste ?" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "Supprimer pré-réglage '%s' ?" +msgstr "Supprimer le pré-réglage « %s » ?" #: editor/project_export.cpp msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Échec de l'exportation du projet pour la plate-forme « %s ».\n" +"Les modèles d'exportation semblent être manquants ou invalides." #: editor/project_export.cpp msgid "" @@ -7323,6 +7353,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Échec de l'exportation du projet pour la plate-forme « %s ».\n" +"Cela peut être dû à un problème de configuration dans le préréglage " +"d'exportation ou dans vos paramètres d'exportation." #: editor/project_export.cpp msgid "Release" @@ -7333,6 +7366,10 @@ msgid "Exporting All" msgstr "Tout exporter" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "Le chemin de l'exportation donné n'existe pas :" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Modèles d'exportation manquants ou corrompus pour cette plateforme :" @@ -7440,7 +7477,7 @@ msgstr "Exporter le PCK/ZIP" #: editor/project_export.cpp msgid "Export mode?" -msgstr "Mode d'exportation?" +msgstr "Mode d'exportation ?" #: editor/project_export.cpp msgid "Export All" @@ -7461,8 +7498,8 @@ msgstr "Le chemin vers ce fichier n'existe pas." #: editor/project_manager.cpp msgid "Invalid '.zip' project file, does not contain a 'project.godot' file." msgstr "" -"Fichier de projet '.zip' invalide, il ne contient pas de fichier 'project." -"godot'." +"Fichier de projet « .zip » invalide, il ne contient pas de fichier « project." +"godot »." #: editor/project_manager.cpp msgid "Please choose an empty folder." @@ -7470,7 +7507,7 @@ msgstr "Veuillez choisir un dossier vide." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' or '.zip' file." -msgstr "Veuillez choisir un fichier 'project.godot' ou '.zip'." +msgstr "Veuillez choisir un fichier « project.godot » ou « .zip »." #: editor/project_manager.cpp msgid "Directory already contains a Godot project." @@ -7547,7 +7584,7 @@ msgstr "Créer et ouvrir" #: editor/project_manager.cpp msgid "Install Project:" -msgstr "Installer projet :" +msgstr "Installer le projet :" #: editor/project_manager.cpp msgid "Install & Edit" @@ -7575,7 +7612,7 @@ msgstr "Parcourir" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "Moteur de rendre :" +msgstr "Moteur de rendu :" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" @@ -7661,7 +7698,7 @@ msgid "" "the engine anymore." msgstr "" "Le fichier de configuration de projet ci-dessous a été généré par une " -"précédente version du moteur, et doit être mis à nouveau pour cette " +"précédente version du moteur, et doit être mis à niveau pour cette " "version :\n" "\n" "%s\n" @@ -7684,17 +7721,17 @@ msgid "" "Please edit the project and set the main scene in \"Project Settings\" under " "the \"Application\" category." msgstr "" -"Impossible de lancer le projet : Pas de scène principale définie\n" -"Veuillez éditer le projet et définir la scène principale dans \"Paramètres " -"du projet\" sous la catégorie \"Application\"." +"Impossible de lancer le projet : pas de scène principale définie.\n" +"Veuillez modifier le projet et définir la scène principale dans « Paramètres " +"du projet » sous la catégorie « Application »." #: 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 "" -"Impossible d'exécuter le projet: Des ressources doivent être importées. \n" -"Veuillez éditer le projet pour déclencher l'importation initiale." +"Impossible d'exécuter le projet : des ressources doivent être importées. \n" +"Veuillez cliquer sur « Édition » pour déclencher l'importation initiale." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" @@ -7710,7 +7747,7 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" -"La langue à été modifiée.\n" +"La langue a été modifiée.\n" "L'interface utilisateur sera mise à jour au prochain démarrage de l'éditeur " "ou du gestionnaire de projets." @@ -7763,9 +7800,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" -"Vous n'avez pour l'instant aucun projets.\n" -"Aimeriez-vous explorer les exemples de projets officiels dans l'Asset " -"Library ?" +"Vous n'avez pour l'instant aucun projet.\n" +"Voulez-vous explorer les exemples de projets officiels dans l'Asset Library ?" #: editor/project_settings_editor.cpp msgid "Key " @@ -7788,8 +7824,8 @@ msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" -"Nom d'action invalide. Il ne peux être vide ni contenir '/', ':', '=', '\\' " -"ou '\"'" +"Nom d'action invalide. Il ne peut être vide ni contenir « / », « : », « = », " +"« \\ » ou « \" »" #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" @@ -7929,11 +7965,11 @@ msgstr "Sélectionnez d'abord un élément à configurer !" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "Il n'y a pas de propriété '%s'." +msgstr "Il n'y a pas de propriété « %s »." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "Le paramètre '%s' est interne et ne peut être effacé." +msgstr "Le paramètre « %s » est interne et ne peut être effacé." #: editor/project_settings_editor.cpp msgid "Delete Item" @@ -7944,8 +7980,8 @@ msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." msgstr "" -"Nom d'action invalide. Il ne peux être vide ou contenir '/', ':', '=', '\\' " -"ou '\"'." +"Nom d'action invalide. Il ne peut être vide ou contenir « / », « : », « = », " +"« \\ » ou « \" »." #: editor/project_settings_editor.cpp msgid "Already existing" @@ -8157,12 +8193,12 @@ msgstr "Sélectionner une méthode" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" -msgstr "Impossible d'exécuter l'outil PVRTC :" +msgstr "Impossible d'exécuter l'outil PVRTC :" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" msgstr "" -"L'image convertie n'a pas pu être rechargée en utilisant l'outil PVRTC :" +"L'image convertie n'a pas pu être rechargée en utilisant l'outil PVRTC :" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp msgid "Batch Rename" @@ -8379,9 +8415,8 @@ msgid "Instantiated scenes can't become root" msgstr "Les scènes instanciées ne peuvent pas devenir la racine" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Choisir comme racine de scène" +msgstr "Choisir le nÅ“ud comme racine de scène" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8420,9 +8455,8 @@ msgid "Make Local" msgstr "Rendre local" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Choisir comme racine de scène" +msgstr "Nouvelle racine de scène" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8539,7 +8573,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Attach a new or existing script for the selected node." msgstr "" -"Attacher un nouveau script ou un script existant pour le nÅ“ud sélectionné ." +"Attacher un nouveau script ou un script existant pour le nÅ“ud sélectionné." #: editor/scene_tree_dock.cpp msgid "Clear a script for the selected node." @@ -8643,7 +8677,7 @@ msgstr "Sélectionner un nÅ“ud" #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "Erreur de chargement de modèle '%s'" +msgstr "Erreur lors du chargement du modèle « %s »" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." @@ -8855,19 +8889,16 @@ msgid "Set From Tree" msgstr "Définir depuis l'arbre" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Lent sur la fin" +msgstr "Effacer le raccourci" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Raccourcis" +msgstr "Restaurer le raccourci" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Modifier les ancres" +msgstr "Modifier le raccourci" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -8911,11 +8942,11 @@ msgstr "Changer le rayon d'une forme en sphère" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "Changer les extents d'une forme en boîte" +msgstr "Changer l'étendue de la forme rectangulaire" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "Changer le rayon d'une forme en capsule" +msgstr "Changer le rayon de la forme capsule" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" @@ -9078,9 +9109,8 @@ msgid "GridMap Duplicate Selection" msgstr "Sélection de la duplication de GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Paramètres GridMap" +msgstr "Peinture GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9104,15 +9134,15 @@ msgstr "Agrafe ci-dessous" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "Editer axe X" +msgstr "Modifier l'axe X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "Editer axe Y" +msgstr "Modifier l'axe Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "Editer axe Z" +msgstr "Modifier l'axe Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate X" @@ -9462,16 +9492,15 @@ msgstr "Séquence de connexion du nÅ“ud" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "Le script a déjà une fonction '%s'" +msgstr "Le script a déjà une fonction « %s »" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" msgstr "Changer nom de l'entrée" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Redimensionner l'élément de canevas" +msgstr "Redimensionner le commentaire" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9519,7 +9548,7 @@ msgstr "NÅ“uds disponibles :" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit graph" -msgstr "Sélectionner ou créer une fonction pour éditer le graphe" +msgstr "Sélectionnez ou créez une fonction pour modifier le graphe" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal Arguments:" @@ -9535,7 +9564,7 @@ msgstr "Supprimer la selection" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "Trouver le type du nÅ“ud" +msgstr "Rechercher le type de nÅ“ud" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" @@ -9571,7 +9600,7 @@ msgstr "Indice de nom de propriété invalide." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "L'objet de base n'est pas un nÅ“ud !" +msgstr "L'objet de base n'est pas un nÅ“ud !" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" @@ -9579,7 +9608,7 @@ msgstr "Le chemin ne mène pas au nÅ“ud !" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "Nom de propriété invalide '%s' dans le nÅ“ud %s." +msgstr "Nom de propriété invalide « %s » dans le nÅ“ud %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -9634,8 +9663,8 @@ msgstr "Les segments du paquet doivent être de longueur non nulle." #: platform/android/export/export.cpp msgid "The character '%s' is not allowed in Android application package names." msgstr "" -"Le caractère '%s' n'est pas autorisé dans les noms de paquet d'applications " -"Android." +"Le caractère « %s » n'est pas autorisé dans les noms de paquet " +"d'applications Android." #: platform/android/export/export.cpp msgid "A digit cannot be the first character in a package segment." @@ -9650,22 +9679,22 @@ msgstr "" #: platform/android/export/export.cpp msgid "The package must have at least one '.' separator." -msgstr "Le paquet doit comporter au moins un séparateur '.'." +msgstr "Le paquet doit comporter au moins un séparateur « . »." #: platform/android/export/export.cpp msgid "ADB executable not configured in the Editor Settings." -msgstr "L'exécutable ADB n'est pas configuré dans les paramètres de l'éditeur." +msgstr "L'exécutable ADB n'est pas configuré dans les Paramètres de l'éditeur." #: platform/android/export/export.cpp msgid "OpenJDK jarsigner not configured in the Editor Settings." msgstr "" -"OpenJDK jarsigner n'est pas configuré dans les paramètres de l'éditeur." +"Le jarsigner OpenJDK n'est pas configuré dans les Paramètres de l'éditeur." #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" -"Debug keystore n'est pas configuré dans les paramètres de l'éditeur ni dans " -"le préréglage." +"Le Debug keystore n'est pas configuré dans les Paramètres de l'éditeur, ni " +"dans le préréglage." #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." @@ -9682,11 +9711,11 @@ msgstr "L'identifiant est manquant." #: platform/iphone/export/export.cpp msgid "Identifier segments must be of non-zero length." msgstr "" -"Les segments de l'identifiant doivent être d'une longueur différente de zéro." +"Les segments de l'identifiant doivent être d'une longueur supérieure à zéro." #: platform/iphone/export/export.cpp msgid "The character '%s' is not allowed in Identifier." -msgstr "Le caractère'%s' n'est pas autorisé dans l'identifiant." +msgstr "Le caractère « %s » n'est pas autorisé dans l'identifiant." #: platform/iphone/export/export.cpp msgid "A digit cannot be the first character in a Identifier segment." @@ -9697,12 +9726,12 @@ msgstr "" msgid "" "The character '%s' cannot be the first character in a Identifier segment." msgstr "" -"Le caractère'%s' ne peut pas être le premier caractère d'un segment " +"Le caractère « %s » ne peut pas être le premier caractère d'un segment " "d'identifiant." #: platform/iphone/export/export.cpp msgid "The Identifier must have at least one '.' separator." -msgstr "L'identifiant doit avoir au moins un séparateur '.'." +msgstr "L'identifiant doit avoir au moins un séparateur « . »." #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." @@ -9870,7 +9899,7 @@ msgid "" "\"Particles Animation\" enabled." msgstr "" "L'animation de CPUParticles2D a besoin d'un CanvasItemMaterial avec " -"\"Particles Animation\" activé." +"« Particles Animation » activé." #: scene/2d/light_2d.cpp msgid "" @@ -9934,15 +9963,15 @@ msgid "" "imprinted." msgstr "" "Un matériau de traitement des particules n'est pas assigné, aucun " -"comportement n'est donc imprimé." +"comportement n'est donc visible." #: scene/2d/particles_2d.cpp msgid "" "Particles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" -"L'animation de Particles2D a besoin d'un CanvasItemMaterial avec \"Animation " -"de Particules\" activé." +"L'animation de Particles2D a besoin d'un CanvasItemMaterial avec « Particles " +"Animation » activé." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." @@ -10088,6 +10117,14 @@ msgstr "" "Une CollisionShape nécessite une forme pour fonctionner. Créez une ressource " "de forme pour cette 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 "" +"Les formes planes ne fonctionnent pas bien et seront supprimées dans les " +"versions futures. S'il vous plaît, ne les utilisez pas." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Rien n'est visible car aucun maillage n'a été assigné." @@ -10097,13 +10134,21 @@ msgid "" "CPUParticles animation requires the usage of a SpatialMaterial with " "\"Billboard Particles\" enabled." msgstr "" -"L'animation de CPUParticles a besoin d'un SpatialMaterial avec \"Billboard " -"Particles\" activé." +"L'animation de CPUParticles a besoin d'un SpatialMaterial avec « Billboard " +"Particles » activé." #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" msgstr "Tracer les maillages" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"Les GIProps ne sont pas supporter par le pilote de vidéos GLES2.\n" +"A la place utilisez une BakedLightMap." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10141,8 +10186,8 @@ msgid "" "Particles animation requires the usage of a SpatialMaterial with \"Billboard " "Particles\" enabled." msgstr "" -"L'animation de Particles a besoin d'un SpatialMaterial avec \"Billboard " -"Particles\" activé." +"L'animation de Particles a besoin d'un SpatialMaterial avec « Billboard " +"Particles » activé." #: scene/3d/path.cpp msgid "PathFollow only works when set as a child of a Path node." @@ -10155,8 +10200,8 @@ msgid "" "PathFollow ROTATION_ORIENTED requires \"Up Vector\" enabled in its parent " "Path's Curve resource." msgstr "" -"PathFollow ROTATION_ORIENTED nécessite l'activation de \"Up Vector\" dans la " -"ressource Path's Curve de son parent." +"L'option ROTATION_ORIENTED de PathFollow nécessite l'activation de « Up " +"Vector » dans la ressource Curve de son parent Path." #: scene/3d/physics_body.cpp msgid "" @@ -10225,23 +10270,23 @@ msgstr "" #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "Sur le nÅ“ud BlendTree '%s', animation introuvable : '%s'" +msgstr "Sur le nÅ“ud BlendTree « %s », animation introuvable : « %s »" #: scene/animation/animation_blend_tree.cpp msgid "Animation not found: '%s'" -msgstr "Animation introuvable : '%s'" +msgstr "Animation introuvable : « %s »" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." -msgstr "Dans le nÅ“ud '%s', animation non valide : '%s'." +msgstr "Dans le nÅ“ud « %s », animation non valide : « %s »." #: scene/animation/animation_tree.cpp msgid "Invalid animation: '%s'." -msgstr "Animation invalide : '%s'." +msgstr "Animation invalide : « %s »." #: scene/animation/animation_tree.cpp msgid "Nothing connected to input '%s' of node '%s'." -msgstr "Rien n'est connecté à l'entrée '%s' du nÅ“ud '%s'." +msgstr "Rien n'est connecté à l'entrée « %s » du nÅ“ud « %s »." #: scene/animation/animation_tree.cpp msgid "A root AnimationNode for the graph is not set." @@ -10282,6 +10327,18 @@ msgstr "Alterner entre les valeurs hexadécimales ou brutes." msgid "Add current color as a preset." msgstr "Ajouter la couleur courante comme pré-réglage." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Le conteneur en lui-même ne sert à rien à moins qu'un script ne configure " +"son comportement de placement de ses enfants.\n" +"Si vous n'avez pas l'intention d'ajouter un script, utilisez plutôt un nÅ“ud " +"'Control'." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerte !" @@ -10290,6 +10347,10 @@ msgstr "Alerte !" msgid "Please Confirm..." msgstr "Veuillez confirmer…" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Aller au dossier parent." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10376,6 +10437,11 @@ msgstr "Affectation à l'uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Les variations ne peuvent être affectées que dans la fonction vertex." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Instancie la(les) scène(s) sélectionnée(s) en tant qu'enfant(s) du nÅ“ud " +#~ "sélectionné." + #~ msgid "FPS" #~ msgstr "IPS" diff --git a/editor/translations/he.po b/editor/translations/he.po index ce4aa15431..1adcb6b56c 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -5,14 +5,15 @@ # Daniel <lorddaniel09@gmail.com>, 2018. # Ben Golan <golanben4@gmail.com>, 2017. # Luc Stepniewski <lior@gradstein.info>, 2017. -# Yaron Shahrabani <sh.yaron@gmail.com>, 2018. +# Yaron Shahrabani <sh.yaron@gmail.com>, 2018, 2019. # RaikaRakka <shaiyatta@gmail.com>, 2018. +# Ido Dana <idodana01@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:40+0100\n" -"Last-Translator: RaikaRakka <shaiyatta@gmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -21,7 +22,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -36,7 +37,7 @@ 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)" @@ -47,9 +48,8 @@ msgid "Invalid operands to operator %s, %s and %s." msgstr "" #: core/math/expression.cpp -#, fuzzy 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" @@ -66,8 +66,9 @@ msgstr "" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Free" -msgstr "" +msgstr "×—×™× ×" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -79,21 +80,19 @@ msgstr "" #: editor/animation_bezier_editor.cpp 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 msgid "Add Bezier Point" -msgstr "" +msgstr "הוסף × ×§×•×“×”" #: editor/animation_bezier_editor.cpp #, fuzzy @@ -121,22 +120,23 @@ msgid "Anim Change Transform" msgstr "×©×™× ×•×™ ×ž×™×§×•× ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Change Keyframe Value" -msgstr "×©×™× ×•×™ ערך פריי×-מפתח ×× ×™×ž×¦×™×”" +msgstr "×©×™× ×•×™ ערך ×§×™×¤×¨×™×™× ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp msgid "Anim Change Call" 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 +#, fuzzy msgid "Change Animation Loop" -msgstr "" +msgstr "×©×™× ×•×™ לופ ×× ×™×ž×¦×™×”" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -170,19 +170,17 @@ msgid "Add Track" msgstr "הוספת רצועות חדשות." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Length Time (seconds)" -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 #, fuzzy @@ -196,15 +194,17 @@ msgstr "" #: editor/animation_track_editor.cpp #, fuzzy msgid "Change Track Path" -msgstr "החלפת ערך המערך" +msgstr "החלפת ערך רצועה" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Toggle this track on/off." -msgstr "" +msgstr "הפעל/כבה רצועה" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "עדכן מצב (×יך המ×פיין ×”×–×” × ×§×‘×¢)" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" @@ -215,14 +215,12 @@ msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" 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 msgid "Toggle Track Enabled" @@ -250,8 +248,9 @@ msgstr "" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp +#, fuzzy msgid "Linear" -msgstr "" +msgstr "×œ×™× ×™×רי" #: editor/animation_track_editor.cpp msgid "Cubic" @@ -268,12 +267,11 @@ msgstr "" #: 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 @@ -296,12 +294,14 @@ msgid "Change Animation Loop Mode" msgstr "×©× ×”× ×¤×©×” חדשה:" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Remove Anim Track" -msgstr "" +msgstr "מחק רצועת ×”× ×¤×©×”" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Create NEW track for %s and insert key?" -msgstr "" +msgstr "ליצור רצועה חדשה ל%s ×•×œ×”×›× ×™×¡ מפתח?" #: editor/animation_track_editor.cpp msgid "Create %d NEW tracks and insert keys?" @@ -325,8 +325,9 @@ msgid "AnimationPlayer can't animate itself, only other players." msgstr "" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Anim Create & Insert" -msgstr "" +msgstr "יצירת ×”× ×¤×©×”" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" @@ -344,7 +345,7 @@ msgstr "× ×™×§×•×™ ×”×”× ×¤×©×”" #: editor/animation_track_editor.cpp #, fuzzy msgid "Rearrange Tracks" -msgstr "סידור ×˜×¢×™× ×•×ª ×וטומטית מחדש" +msgstr "סידור רצועות" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -373,7 +374,7 @@ 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." @@ -1385,8 +1386,22 @@ msgstr "×ריזה" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1438,7 +1453,7 @@ msgstr "הצגה ×‘×ž× ×”×œ הקבצי×" msgid "New Folder..." msgstr "תיקייה חדשה…" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "×¨×¢× ×•×Ÿ" @@ -1513,10 +1528,35 @@ msgstr "העברת מועדף למעלה" msgid "Move Favorite Down" msgstr "העברת מועדף למטה" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "המישור הקוד×" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "יצירת תיקייה" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "מעבר לתיקייה שמעל" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "×œ× × ×™×ª×Ÿ ליצור תיקייה." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "צפייה ×‘×¤×¨×™×˜×™× ×›×¨×©×ª של ×ª×ž×•× ×•×ª ממוזערות" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "הצגת ×¤×¨×™×˜×™× ×›×¨×©×™×ž×”" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "תיקיות וקבצי×:" @@ -1750,9 +1790,9 @@ msgstr "מחיקת הפלט" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1760,6 +1800,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "שגי××” בשמירת המש×ב!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "שמירת המש×ב בתור…" @@ -3021,16 +3071,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "×œ× × ×™×ª×Ÿ ×œ× ×•×•×˜ ×ל ‚%s’ כיוון ×©×œ× × ×ž×¦× ×‘×ž×¢×¨×›×ª הקבצי×!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "צפייה ×‘×¤×¨×™×˜×™× ×›×¨×©×ª של ×ª×ž×•× ×•×ª ממוזערות" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "הצגת ×¤×¨×™×˜×™× ×›×¨×©×™×ž×”" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "מצב: ×™×™×‘×•× ×”×§×•×‘×¥ × ×›×©×œ. × × ×œ×ª×§×Ÿ ×ת הקובץ ×•×œ×™×™×‘× ×ž×—×“×© ×™×“× ×™×ª." @@ -3174,10 +3214,6 @@ msgid "Search files" msgstr "חיפוש במחלקות" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5185,19 +5221,19 @@ msgid "Generating Visibility Rect" msgstr "× ×•×¦×¨ ×ž×™×–× C#‎…" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5289,11 +5325,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5902,6 +5938,14 @@ msgid "Open Godot online documentation" msgstr "פתיחת התיעוד המקוון של Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6992,6 +7036,24 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "הסקריפט הקוד×" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7144,6 +7206,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "הזזת מצולע" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "הזזת מצולע" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "הסרת ×ª×‘× ×™×ª" @@ -7273,6 +7345,10 @@ 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 "" @@ -9877,6 +9953,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9891,6 +9973,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10038,6 +10126,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "הוספת הצבע ×”× ×•×›×—×™ כערכה" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -10046,6 +10142,11 @@ msgstr "" msgid "Please Confirm..." msgstr "× × ×œ×מת…" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "מעבר לתיקייה שמעל" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/hi.po b/editor/translations/hi.po index 21993c701c..1758532805 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -1396,8 +1396,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1446,7 +1460,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1521,10 +1535,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1747,8 +1781,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1757,6 +1791,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2997,14 +3041,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3149,10 +3185,6 @@ msgid "Search files" msgstr "खोज कर:" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5106,19 +5138,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5209,11 +5241,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5807,6 +5839,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6870,6 +6910,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7018,6 +7074,15 @@ 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 "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "मिटाना" @@ -7139,6 +7204,10 @@ 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 "" @@ -9706,6 +9775,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9720,6 +9795,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9865,6 +9946,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9873,6 +9962,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/hr.po b/editor/translations/hr.po index bb303f6e71..6cfdf720ba 100644 --- a/editor/translations/hr.po +++ b/editor/translations/hr.po @@ -1334,8 +1334,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1383,7 +1397,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1458,10 +1472,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1677,8 +1711,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1687,6 +1721,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2921,14 +2965,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3064,10 +3100,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4996,19 +5028,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5099,11 +5131,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5684,6 +5716,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6736,6 +6776,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6874,6 +6930,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -6991,6 +7055,10 @@ 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 "" @@ -9542,6 +9610,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9556,6 +9630,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9699,6 +9779,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9707,6 +9795,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 273ad21282..016e540184 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -1405,8 +1405,22 @@ msgstr "Csomagolás" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1458,7 +1472,7 @@ msgstr "Mutat FájlkezelÅ‘ben" msgid "New Folder..." msgstr "Új Mappa..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "FrissÃtés" @@ -1533,10 +1547,35 @@ msgstr "Kedvenc Felfelé Mozgatása" msgid "Move Favorite Down" msgstr "Kedvenc Lefelé Mozgatása" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "ElÅ‘zÅ‘ SÃk" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Mappa Létrehozása" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ugrás a szülÅ‘mappába" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Nem sikerült létrehozni a mappát." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Elemek kirajzolása indexképek rácsába" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Elemek listázása" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Könyvtárak és Fájlok:" @@ -1777,9 +1816,9 @@ msgstr "Kimenet Törlése" msgid "Project export failed with error code %d." msgstr "Projekt export nem sikerült, hibakód %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Hiba történt az erÅ‘forrás mentésekor!" +#: 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 @@ -1787,6 +1826,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Hiba történt az erÅ‘forrás mentésekor!" + +#: 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 "ErÅ‘forrás Mentése Másként..." @@ -3120,16 +3169,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "Nem lehet '%s'-t elérni, mivel nem létezik a fájlrendszerben!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Elemek kirajzolása indexképek rácsába" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Elemek listázása" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Ãllapot: Fájl importálása sikertelen. JavÃtsa a fájlt majd importálja be " @@ -3275,10 +3314,6 @@ msgid "Search files" msgstr "Osztályok Keresése" #: editor/filesystem_dock.cpp -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." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5326,6 +5361,10 @@ msgid "Generating Visibility Rect" msgstr "Láthatósági Téglalap Generálása" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Láthatósági Téglalap Generálása" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "Csak egy ParticlesMaterial feldolgozó anyagba állÃthat pontot" @@ -5338,10 +5377,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Nem létezik egyetlen pixel sem >128-as átlátszósággal a képben..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Láthatósági Téglalap Generálása" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Kibocsátási Maszk Betöltése" @@ -5430,13 +5465,13 @@ msgid "Generating AABB" msgstr "AABB Generálása" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "AABB Generálása" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Láthatósági AABB Generálása" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "AABB Generálása" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Pont EltávolÃtása GörbérÅ‘l" @@ -6053,6 +6088,14 @@ msgid "Open Godot online documentation" msgstr "Godot online dokumentáció megnyitása" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Keresés a referencia dokumentációban." @@ -7142,6 +7185,24 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "KövetkezÅ‘ Szkript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "ElÅ‘zÅ‘ Szkript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7295,6 +7356,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Sokszög Mozgatása" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Sokszög Mozgatása" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Sablon EltávolÃtása" @@ -7427,6 +7498,10 @@ msgid "Exporting All" msgstr "Exportálás" #: 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 "" @@ -10035,6 +10110,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10049,6 +10130,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10199,6 +10286,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Figyelem!" @@ -10207,6 +10302,11 @@ msgstr "Figyelem!" msgid "Please Confirm..." msgstr "Kérem ErÅ‘sÃtse Meg..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Ugrás a szülÅ‘mappába" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10285,6 +10385,10 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ 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 08c16c0a34..a9346d9af1 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -22,8 +22,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-01 11:59+0000\n" -"Last-Translator: Alphin Albukhari <alphinalbukhari5@gmail.com>\n" +"PO-Revision-Date: 2019-03-08 15:04+0000\n" +"Last-Translator: Evan Hyacinth <muhammad.ivan669@gmail.com>\n" "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/" "godot/id/>\n" "Language: id\n" @@ -31,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 3.5-dev\n" +"X-Generator: Weblate 3.5.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -100,14 +100,12 @@ msgid "Delete Selected Key(s)" msgstr "Hapus Key Terpilih" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Tambahkan Sinyal" +msgstr "Tambahkan Titik Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Hapus Sinyal" +msgstr "Pindah Titik-titik Bezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -138,14 +136,13 @@ msgid "Anim Change Call" msgstr "Ubah Panggilan Anim" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Ubah Nama Animasi:" +msgstr "Ubah Panjang Animasi" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Ubah Perulangan Animasi" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -197,9 +194,8 @@ msgid "Anim Clips:" msgstr "Klip-klip Animasi:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Ubah Nilai Array" +msgstr "Ubah Jalan Trek" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -226,9 +222,8 @@ msgid "Time (s): " msgstr "Waktu (d): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Aktifkan" +msgstr "Aktifkan Trek Beralih" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -281,19 +276,16 @@ msgid "Delete Key(s)" msgstr "Hapus Key" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Ubah Nama Animasi:" +msgstr "Ubah Mode Pembaruan Animasi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Mode Interpolasi" +msgstr "Ubah Mode Interpolasi Animasi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Ubah Perulangan Animasi" +msgstr "Ubah Mode Perulangan Animasi" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -338,14 +330,12 @@ msgid "Anim Insert Key" msgstr "Sisipkan Key Anim" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Ubah Nama Animasi:" +msgstr "Ubah Langkah Animasi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Mengatur kembali Autoload-autoload" +msgstr "Susun ulang Trek-trek" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -377,9 +367,8 @@ msgid "Not possible to add a new track without a root" msgstr "Tidak memungkinkan untuk menambah track baru tanpa akar" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Tambah Track" +msgstr "Tambah Track Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -390,14 +379,12 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "Track bukan tipe Spatial, tidak bisa menambahkan key" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Track Transformasi 3D" +msgstr "Tambah Kunci Trek Transformasi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Tambah Track" +msgstr "Tambah Kunci Track" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -405,9 +392,8 @@ msgstr "" "Tidak bisa menambahkan key untuk metode karena path pada track tidak sah." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Track Pemanggil Metode" +msgstr "Tambah Kunci Track Metode" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -422,9 +408,8 @@ msgid "Clipboard is empty" msgstr "Papan klip kosong" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Paste Tracks" -msgstr "Tempel Parameter" +msgstr "Tempel Trek-trek" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" @@ -461,14 +446,12 @@ msgid "Edit" msgstr "Sunting" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation properties." -msgstr "PohonAnimasi" +msgstr "Properti Animasi." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Copy Tracks" -msgstr "Salin Parameter" +msgstr "Salin Trek-trek" #: editor/animation_track_editor.cpp msgid "Scale Selection" @@ -487,19 +470,16 @@ msgid "Duplicate Transposed" msgstr "Duplikat Dialihkan" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Selection" -msgstr "Hapus yang Dipilih" +msgstr "Hapus Pilihan" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Next Step" -msgstr "Lanjut ke Langkah Berikutnya" +msgstr "Menuju Langkah Berikutnya" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Go to Previous Step" -msgstr "Lanjut ke Langkah Sebelumnya" +msgstr "Menuju Langkah Sebelumnya" #: editor/animation_track_editor.cpp msgid "Optimize Animation" @@ -574,17 +554,16 @@ msgid "Copy" msgstr "Kopy" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Klip-klip Suara:" +msgstr "Tambah Clip Trek Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Seimbangkan Awalan Klip Trek Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Seimbangkan Akhiran Klip Trek Audio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -656,7 +635,7 @@ msgstr "Peringatan" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "Nomor Baris dan Kolom" +msgstr "Nomor baris dan kolom." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -917,9 +896,8 @@ msgid "Error loading:" msgstr "Error saat memuat:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" -msgstr "Scene gagal dimuat disebabkan oleh dependensi yang hilang:" +msgstr "Gagal dimuat disebabkan oleh dependensi yang hilang:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -1070,7 +1048,6 @@ msgid "Uncompressing Assets" msgstr "Membuka Aset Terkompresi" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Package installed successfully!" msgstr "Paket Sukses Terpasang!" @@ -1178,7 +1155,6 @@ msgid "Master bus can't be deleted!" msgstr "Master Bus tidak dapat dihapus!" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Delete Audio Bus" msgstr "Hapus Bus Audio" @@ -1219,9 +1195,8 @@ msgid "Add Bus" msgstr "Tambahkan Bus" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Simpan Layout Suara Bus Ke..." +msgstr "Tambah Bus Audio baru ke layout ini." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1392,30 +1367,52 @@ msgstr "Menyimpan File:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "" +msgstr "Templat ekspor tidak ditemukan di tempat yg diharapkan:" #: editor/editor_export.cpp msgid "Packing" msgstr "Mengemas" #: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Platform target membutuhkan kompressi tekstur 'ETC' untuk GLES2. Aktifkan " +"dukungan di Pengaturan Proyek." + +#: editor/editor_export.cpp +#, fuzzy msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"Platform target membutuhkan kompressi tekstur 'ETC' untuk GLES2. Aktifkan " +"dukungan di Pengaturan Proyek." + +#: 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 "" +"Platform target membutuhkan kompressi tekstur 'ETC' untuk GLES2. Aktifkan " +"dukungan di Pengaturan Proyek." #: 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 debug template not found." -msgstr "Templat berkas tidak ditemukan:" +msgstr "Debug template kustom tidak ditemukan." #: 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 "Templat rilis kustom tidak ditemukan." #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" @@ -1430,9 +1427,8 @@ msgid "File Exists, Overwrite?" msgstr "File telah ada, Overwrite?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select This Folder" -msgstr "Pilih Folder ini" +msgstr "Pilih Folder Ini" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" @@ -1444,7 +1440,6 @@ msgstr "Tampilkan di Pengelola Berkas" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp #: editor/project_manager.cpp -#, fuzzy msgid "Show in File Manager" msgstr "Tampilkan di Manajer Berkas" @@ -1452,7 +1447,7 @@ msgstr "Tampilkan di Manajer Berkas" msgid "New Folder..." msgstr "Buat Direktori..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Segarkan" @@ -1527,10 +1522,35 @@ msgstr "Pindahkan Favorit Keatas" msgid "Move Favorite Down" msgstr "Pindahkan Favorit Kebawah" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Tab sebelumnya" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Buat Folder" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Pergi ke direktori induk" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Tidak dapat membuat folder." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Tampilkan item sebagai grid thumbnail" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Tampilkan item sebagai daftar" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Direktori-direktori & File-file:" @@ -1589,19 +1609,16 @@ msgid "Methods" msgstr "Fungsi" #: editor/editor_help.cpp -#, fuzzy msgid "Methods:" -msgstr "Fungsi" +msgstr "Metode-metode:" #: editor/editor_help.cpp -#, fuzzy msgid "Theme Properties" -msgstr "Properti Objek" +msgstr "Properti-properti Tema" #: editor/editor_help.cpp -#, fuzzy msgid "Theme Properties:" -msgstr "Properti Objek" +msgstr "Properti-properti Tema:" #: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp msgid "Signals:" @@ -1628,14 +1645,12 @@ msgid "Constants:" msgstr "Konstanta:" #: editor/editor_help.cpp -#, fuzzy msgid "Class Description" -msgstr "Deskripsi" +msgstr "Deskripsi Kelas" #: editor/editor_help.cpp -#, fuzzy msgid "Class Description:" -msgstr "Deskripsi:" +msgstr "Deskripsi Kelas:" #: editor/editor_help.cpp msgid "Online Tutorials:" @@ -1652,14 +1667,12 @@ msgstr "" "$url2]memberikan usulan[/url][/color]." #: editor/editor_help.cpp -#, fuzzy msgid "Property Descriptions" -msgstr "Deskripsi Properti Objek:" +msgstr "Deskripsi Properti" #: editor/editor_help.cpp -#, fuzzy msgid "Property Descriptions:" -msgstr "Deskripsi Properti Objek:" +msgstr "Deskripsi Properti:" #: editor/editor_help.cpp msgid "" @@ -1670,12 +1683,10 @@ msgstr "" "dengan[color=$color][url=$url]kontribusi[/url][/color]!" #: editor/editor_help.cpp -#, fuzzy msgid "Method Descriptions" -msgstr "Deskripsi Metode:" +msgstr "Deskripsi Metode" #: editor/editor_help.cpp -#, fuzzy msgid "Method Descriptions:" msgstr "Deskripsi Metode:" @@ -1693,24 +1704,20 @@ msgid "Search Help" msgstr "Mencari Bantuan" #: editor/editor_help_search.cpp -#, fuzzy msgid "Display All" -msgstr "Ganti Semua" +msgstr "Tampilkan Semua" #: editor/editor_help_search.cpp -#, fuzzy msgid "Classes Only" -msgstr "Kelas" +msgstr "Hanya Kelas" #: editor/editor_help_search.cpp -#, fuzzy msgid "Methods Only" -msgstr "Fungsi" +msgstr "Hanya Fungsi" #: editor/editor_help_search.cpp -#, fuzzy msgid "Signals Only" -msgstr "Sinyal-sinyal" +msgstr "Hanya Sinyal" #: editor/editor_help_search.cpp msgid "Constants Only" @@ -1766,9 +1773,9 @@ msgstr "Bersihkan Luaran" msgid "Project export failed with error code %d." msgstr "Ekspor proyek gagal dengan kode kesalahan% d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Error menyimpan resource!" +#: 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 @@ -1776,6 +1783,16 @@ msgid "OK" msgstr "Oke" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Error menyimpan resource!" + +#: 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 "Simpan Resource Sebagai..." @@ -1998,13 +2015,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Simpan perubahan '%s' sebelum tutup?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Gagal memuat resource." +msgstr "Tersimpan %s resource berubah." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "Node akar diperlukan untuk menyimpan scene." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2114,12 +2130,12 @@ msgid "Unable to load addon script from path: '%s'." msgstr "Tidak bisa memuat script addon dari lokasi: '%s'." #: editor/editor_node.cpp -#, fuzzy msgid "" "Unable to load addon script from path: '%s' There seems to be an error in " "the code, please check the syntax." msgstr "" -"Tidak dapat memuat addon script dari jalur: '%s' Script tidak pada mode tool." +"Tidak dapat memuat script addon dari path: '%s' Mungkin ada kesalahan dalam " +"kode, mohon periksa sintaks." #: editor/editor_node.cpp msgid "" @@ -2172,19 +2188,16 @@ msgstr "Bawaan" #: editor/editor_node.cpp editor/editor_properties.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp -#, fuzzy msgid "Show in FileSystem" -msgstr "Tampilkan dalam Manajer Berkas" +msgstr "Tampilkan dalam FileSystem" #: editor/editor_node.cpp -#, fuzzy msgid "Play This Scene" -msgstr "Mainkan Scene" +msgstr "Mainkan Scene Ini" #: editor/editor_node.cpp -#, fuzzy msgid "Close Tab" -msgstr "Tutup" +msgstr "Tutup Tab" #: editor/editor_node.cpp msgid "Switch Scene Tab" @@ -2211,9 +2224,8 @@ msgid "Distraction Free Mode" msgstr "Mode Tanpa Gangguan" #: editor/editor_node.cpp -#, fuzzy msgid "Toggle distraction-free mode." -msgstr "Mode Tanpa Gangguan" +msgstr "Toggle mode tanpa gangguan." #: editor/editor_node.cpp msgid "Add a new scene." @@ -2260,9 +2272,8 @@ msgid "Save Scene" msgstr "Simpan Scene" #: editor/editor_node.cpp -#, fuzzy msgid "Save All Scenes" -msgstr "Simpan semua Scene" +msgstr "Simpan Semua Scene" #: editor/editor_node.cpp msgid "Close Scene" @@ -2316,7 +2327,7 @@ msgstr "Ekspor" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" -msgstr "Alat" +msgstr "Alat-alat" #: editor/editor_node.cpp #, fuzzy @@ -2346,7 +2357,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "Deploy kecil dengan jaringan FS" +msgstr "Deploy Kecil dengan Jaringan FS" #: editor/editor_node.cpp msgid "" @@ -2365,7 +2376,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "Collision Shapes terlihat" +msgstr "Collision Shapes Terlihat" #: editor/editor_node.cpp msgid "" @@ -2377,7 +2388,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "Navigasi terlihat" +msgstr "Navigasi Terlihat" #: editor/editor_node.cpp msgid "" @@ -2389,7 +2400,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "Sinkronasi Perubahan Scene" +msgstr "Sinkronkan Perubahan Scene" #: editor/editor_node.cpp msgid "" @@ -2405,7 +2416,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "Sinkronasi Perubahan Script" +msgstr "Sinkronkan Perubahan Script" #: editor/editor_node.cpp msgid "" @@ -2648,7 +2659,7 @@ msgstr "Buat Pratinjau Mesh" #: editor/editor_plugin.cpp msgid "Thumbnail..." -msgstr "Thumbnail..." +msgstr "Gambar Kecil..." #: editor/editor_plugin_settings.cpp #, fuzzy @@ -2782,6 +2793,10 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"Tidak dapat membuat ViewportTexture karena resource ini tidak dibuat lokal " +"untuk scene.\n" +"Mohon ubah properti 'lokal untuk scene' resource ini (dan semua resource " +"yang memuatnya sampai satu node ke atas)." #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" @@ -3116,16 +3131,6 @@ msgstr "" "'%s' tidak bisa ditelusuri karena tidak bisa ditemukan dalam berkas sistem!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Tampilkan item sebagai grid thumbnail" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Tampilkan item sebagai daftar" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Status: Gagal mengimpor berkas. Mohon perbaiki berkas dan impor ulang secara " @@ -3189,7 +3194,7 @@ msgstr "Buka Scene" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "Instance" +msgstr "Instansi" #: editor/filesystem_dock.cpp #, fuzzy @@ -3271,10 +3276,6 @@ msgid "Search files" msgstr "Cari Kelas" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Instance scene terpilih sebagai anak node saat ini." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3369,7 +3370,7 @@ msgstr "Nama tidak sah." #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" -msgstr "Grup" +msgstr "Kelompok" #: editor/groups_editor.cpp #, fuzzy @@ -3454,7 +3455,7 @@ msgstr "Membuat Pemetaan Cahaya" #: editor/import/resource_importer_scene.cpp msgid "Generating for Mesh: " -msgstr "Menghasilkan untuk Mesh:" +msgstr "Menghasilkan untuk Mesh: " #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." @@ -3502,7 +3503,7 @@ msgstr "Impor ulang" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" -msgstr "" +msgstr "Simpan scene-scene, impor ulang dan mulai ulang" #: editor/import_dock.cpp #, fuzzy @@ -3513,6 +3514,8 @@ msgstr "Mengubah driver video harus memulai ulang editor." msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"PERINGATAN: Ada aset-aset yang menggunakan resource ini, mereka mungkin akan " +"berhenti untuk termuat secara sempurna." #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -3746,7 +3749,7 @@ msgstr "Hapus Bidang dan Titik" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Pindahkan Titik Node BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3846,7 +3849,7 @@ msgstr "Buat segi tiga pembauran secara otomatis (sebagai ganti cara manual)" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Campur:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -3861,7 +3864,7 @@ msgstr "Sunting Filter" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." -msgstr "" +msgstr "Node keluaran tidak bisa ditambahkan ke pohon campur." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -4120,11 +4123,11 @@ msgstr "Tempel" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Masa depan" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Kedalaman" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" @@ -4238,7 +4241,7 @@ msgstr "Node Transisi" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Tetapkan Node Awalan (Mulai sendiri)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4379,19 +4382,19 @@ msgstr "Node sekali tembak" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Aduk Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "Campur 2 Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "Campur 3 Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "Campur 4 Node" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "TimeScale Node" @@ -4583,10 +4586,12 @@ msgid "" "No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake " "Light' flag is on." msgstr "" +"Tidak ada mesh-mesh untuk di bake. Pastikan mereka punya kanal UV2 dan 'Bake " +"Cahaya' menyala." #: editor/plugins/baked_lightmap_editor_plugin.cpp msgid "Failed creating lightmap images, make sure path is writable." -msgstr "" +msgstr "Gagal membuat gambar lightmap, pastikan path dapat ditulis." #: editor/plugins/baked_lightmap_editor_plugin.cpp #, fuzzy @@ -4604,23 +4609,23 @@ msgstr "Atur Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Offset Kotak-kotak:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Jangkah Kotak-kotak:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Offset Perputaran:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Jangkah Perputaran:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Pindahkan garis-bantu vertikal" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4634,7 +4639,7 @@ msgstr "Hapus Variabel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "Pindahkan garis-bantu horisontal" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4648,7 +4653,7 @@ msgstr "Hapus Tombol-tombol yang tidak sah" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Buat garis-bantu vertikal dan horisontal baru" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4662,7 +4667,7 @@ msgstr "Sunting CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move anchor" -msgstr "" +msgstr "Pindahkan jangkar" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4681,35 +4686,39 @@ msgstr "Sunting CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Preset-preset untuk nilai jangkar dan pinggiran node Control." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" +"Nilai jangkar dan pinggiran milik anak dari sebuah kontainer akan di timpa " +"dengan milik orang-tua nya." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "Hanya jangkar-jangkar" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "Ubah jangkar-jangkar dan pinggiran" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Ubah Jangkar-jangkar" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Tempel Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." msgstr "" +"Peringatan: Posisi milik anak dari sebuah kontainer ditentukan oleh orang-" +"tua nya." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -4720,31 +4729,32 @@ msgstr "Perkecil Pandangan" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Mode Seleksi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "" +msgstr "Geser: Putar" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+Geser: Pindah" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" +"Tekan 'v' untuk Ganti Pivot, 'Shift+v' untuk Geser Pivot (ketika bergerak)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+Klik kanan: Daftar seleksi kedalaman" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Mode Pindah" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Mode Putar" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4757,14 +4767,16 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Tampilkan semua objek dalam posisi klik ke sebuah daftar\n" +"(sama seperti Alt+Klik kanan dalam mode seleksi)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Klik untuk mengubah pivot perputaran objek." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Mode Geser Pandangan" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4773,78 +4785,78 @@ msgstr "Beralih Breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Gunakan Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping Options" -msgstr "" +msgstr "Opsi-opsi Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Snap ke kotak-kotak" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Gunakan Snap Rotasi" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "Atur Snap..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Snap Relatif" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Gunakan Snap Piksel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart snapping" -msgstr "" +msgstr "Snap pintar" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "Snap ke orang-tua" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Snap ke jangkar node" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "Snap ke sisi-sisi node" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node center" -msgstr "" +msgstr "Snap ke tengah node" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "Snape ke node-node lain" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "" +msgstr "Snape ke garis-bantu" #: 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 "Kunci objek terpilih di tempat (tidak dapat di pindah)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "Buka kunci objek terpilih (dapat di pindah)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Pastikan anak-anak objek tidak dapat diseleksi." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "Jadikan anak-anak object dapat di seleksi kembali." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4853,19 +4865,19 @@ msgstr "Singleton" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Tampilkan Tulang-tulang" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Buat Rantai IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "Bersihkan Rantai IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "Buat Tulang Kustom(satu/lebih) dari Node(satu/lebih)" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4875,36 +4887,36 @@ msgstr "Mainkan Custom Scene" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Pandangan" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Tampilkan Kotak-kotak" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Helpers" -msgstr "" +msgstr "Tampilkan Bantuan-bantuan" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" -msgstr "" +msgstr "Tampilkan Penggaris-penggaris" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Guides" -msgstr "" +msgstr "Tampilkan Garis-bantu" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Origin" -msgstr "" +msgstr "Tampilkan Pangkal" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Viewport" -msgstr "" +msgstr "Tampilkan Viewport" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" -msgstr "" +msgstr "Tampilkan Ikon Kunci Dan Grup" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -5347,6 +5359,10 @@ 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 "" @@ -5359,10 +5375,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "" @@ -5451,11 +5463,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -6077,6 +6089,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7185,6 +7205,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Tab sebelumnya" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7341,6 +7378,15 @@ 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 "Buat Bidang" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Hapus Templat" @@ -7477,6 +7523,11 @@ msgid "Exporting All" msgstr "Mengekspor untuk %s" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "File tidak ada." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" @@ -10231,6 +10282,12 @@ msgstr "" "Sebuah bentuk harus disediakan untuk CollisionShape untuk fungsi. Mohon " "ciptakan sebuah resource bentuk untuk itu!" +#: 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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10245,6 +10302,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10407,6 +10470,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Tambahkan warna yang sekarang sebagai preset" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Peringatan!" @@ -10415,6 +10486,11 @@ msgstr "Peringatan!" msgid "Please Confirm..." msgstr "Mohon konfirmasi..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Pergi ke direktori induk" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10500,6 +10576,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Instance scene terpilih sebagai anak node saat ini." + #~ msgid "Warnings:" #~ msgstr "Peringatan:" diff --git a/editor/translations/is.po b/editor/translations/is.po index 01875778cf..644f19939b 100644 --- a/editor/translations/is.po +++ b/editor/translations/is.po @@ -1361,8 +1361,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1411,7 +1425,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1486,10 +1500,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1705,8 +1739,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1715,6 +1749,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2950,14 +2994,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3094,10 +3130,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5037,19 +5069,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5140,11 +5172,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5728,6 +5760,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6785,6 +6825,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6930,6 +6986,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Fjarlægja val" @@ -7049,6 +7113,10 @@ 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 "" @@ -9606,6 +9674,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9620,6 +9694,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9763,6 +9843,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9771,6 +9859,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/it.po b/editor/translations/it.po index a859a8b3be..45ebfd0b3c 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -8,17 +8,17 @@ # dariocavada <cavada@ectrlsolutions.com>, 2017. # Elia Zanaboni <elia.zanaboni@gmail.com>, 2017. # Giovanni Solimeno (Crax97) <gsolimeno97@gmail.com>, 2017. -# Marco Melorio <m.melorio@icloud.com>, 2017. +# Marco Melorio <m.melorio@icloud.com>, 2017, 2019. # Matteo <matteo.guglielmetti@hotmail.it>, 2018. # 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. # Red Pill <redpill902@gmail.com>, 2018. -# iRadEntertainment <devitadario@gmail.com>, 2018. +# iRadEntertainment <devitadario@gmail.com>, 2018, 2019. # ondsinet _ (nik man) <nikman00@gmail.com>, 2018. # Ste d f <sdfilippo84@gmail.com>, 2018. -# Salvo Permiracolo <salvoperm@gmail.com>, 2018. +# Salvo Permiracolo <salvoperm@gmail.com>, 2018, 2019. # Giovanni Tommasi <tommasig@gmail.com>, 2018. # xxssmaoxx <simon.dottor@gmail.com>, 2018. # Nicola Gramola <nicola.gramola@gmail.com>, 2018. @@ -28,12 +28,17 @@ # Christian Biffi <creixx@virgilio.it>, 2019. # Giuseppe Guerra <me@nyodev.xyz>, 2019. # 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. +# MARCO BANFI <mbanfi@gmail.com>, 2019. +# Marco <rodomar705@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-18 08:54+0000\n" -"Last-Translator: RHC <rhc.throwaway@gmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: MassiminoilTrace <omino.gis@gmail.com>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -41,20 +46,20 @@ 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.5-dev\n" +"X-Generator: Weblate 3.6-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 "Argomento tipo invalido per convert(), usare le costanti TYPE_*." +msgstr "Argomento non valido per convert(), usare le costanti TYPE_*." #: 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 "" -"Non vi sono abbastanza bytes per i bytes di decodifica, oppure formato " -"invalido." +"Non vi sono abbastanza byte per i byte di decodifica, oppure il formato non " +"è valido." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -65,22 +70,20 @@ msgid "self can't be used because instance is null (not passed)" msgstr "self non può essere usato perché l'istanza è nulla (non passata)" #: core/math/expression.cpp -#, fuzzy msgid "Invalid operands to operator %s, %s and %s." -msgstr "Utilizzo errato dell'operatore %s, operandi %s e %s non validi." +msgstr "Operandi non validi per l'operatore %s, %s e %s." #: core/math/expression.cpp -#, fuzzy msgid "Invalid index of type %s for base type %s" -msgstr "Nome proprietà indice invalido '%s' nel nodo %s." +msgstr "Indice del tipo %s non valido per il tipo base %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "Indice nominale '%s' invalido per il tipo base %s" +msgstr "Nome indice '%s' non valido per il tipo base %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "Argomento invalido di tipo '%s" +msgstr "Argomenti non validi per il costrutto '%s'" #: core/math/expression.cpp msgid "On call to '%s':" @@ -89,7 +92,7 @@ msgstr "Alla chiamata di '%s':" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "Gratuito" +msgstr "Libero" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -97,11 +100,11 @@ msgstr "Bilanciato" #: editor/animation_bezier_editor.cpp msgid "Mirror" -msgstr "Specchia" +msgstr "Rifletti" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "Inserisci la chiave qui" +msgstr "Inserisci chiave" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" @@ -109,83 +112,77 @@ msgstr "Duplicare la(e) chiave selezionata(e)" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Eliminare la(e) Chiave(i) Selezionata(e)" +msgstr "Eliminare la(e) chiave(i) selezionata(e)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Aggiungi punto" +msgstr "Aggiungi punto Bézier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Sposta Punto" +msgstr "Sposta punto Bézier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Duplica Key Animazione" +msgstr "Duplica chiavi d'animazione" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "Anim Elimina Key" +msgstr "Elimina chiavi d'animazione" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "Anim Cambia Tempo di Keyframe" +msgstr "Cambia istante della chiave d'animazione" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" -msgstr "Anim Cambia Transizione" +msgstr "Cambia transizione dell'animazione" #: editor/animation_track_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Cambia Trasformazione" +msgstr "Cambia trasformazione dell'animazione" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "Anim Cambia Valore Keyframe" +msgstr "Cambia valore fotogramma chiave dell'animazione" #: editor/animation_track_editor.cpp msgid "Anim Change Call" -msgstr "Anim Cambia Chiamata" +msgstr "Cambia chiamata animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Cambia Loop Animazione" +msgstr "Cambia lunghezza dell'animazione" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "Cambia Loop Animazione" +msgstr "Modifica ciclicità animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Property Track" -msgstr "Proprietà :" +msgstr "Proprietà Traccia" #: editor/animation_track_editor.cpp -#, fuzzy msgid "3D Transform Track" -msgstr "Trasformazione 3D" +msgstr "Traccia trasformazione 3D" #: editor/animation_track_editor.cpp +#, fuzzy msgid "Call Method Track" -msgstr "" +msgstr "Traccia Chiamata di Funzione" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "Traccia Curva di Bezier" +msgstr "Traccia curva di Bézier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Playback Track" -msgstr "Traccia di Riproduzione Audio" +msgstr "Traccia Riproduzione Audio" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Playback Track" -msgstr "Ferma il playback dell'animazione. (S)" +msgstr "Traccia di riproduzione animazione" #: editor/animation_track_editor.cpp msgid "Add Track" @@ -193,11 +190,11 @@ msgstr "Aggiungi Traccia" #: editor/animation_track_editor.cpp msgid "Animation Length Time (seconds)" -msgstr "Durata animazione (in secondi)" +msgstr "Durata Animazione (in secondi)" #: editor/animation_track_editor.cpp msgid "Animation Looping" -msgstr "Ripeti Animazione" +msgstr "Ciclicità animazione" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -205,37 +202,32 @@ msgid "Functions:" msgstr "Funzioni:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Clips:" -msgstr "Audio Listener" +msgstr "Clip Audio:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Clips:" -msgstr "Clips" +msgstr "Clip Anim:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Cambia Valore Array" +msgstr "Cambia percorso traccia" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." -msgstr "Attiva/Disattiva la traccia." +msgstr "Attiva/disattiva la traccia." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Update Mode (How this property is set)" -msgstr "Modalità di Aggiornamento (come viene impostata questa proprietà )" +msgstr "Modalità di aggiornamento (Come viene impostata questa proprietà )" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Interpolation Mode" -msgstr "Nodo Animazione" +msgstr "Modalità di Interpolazione" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "Modalità Loop Wrap (Interpola la fine con l'inizio del loop)" #: editor/animation_track_editor.cpp msgid "Remove this track." @@ -246,9 +238,8 @@ msgid "Time (s): " msgstr "Tempo (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Abilita Doppler" +msgstr "Abilita/disabilita tracce" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -267,7 +258,6 @@ msgid "Capture" msgstr "Cattura" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Nearest" msgstr "Più vicino" @@ -281,55 +271,49 @@ msgid "Cubic" msgstr "Cubico" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Clamp Loop Interp" -msgstr "Cambia Interpolazione Loop Animazione" +msgstr "Blocca interpolazione ciclo" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "" +msgstr "Continua interpolazione ciclo" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "Inserisci Key" +msgstr "Inserisci chiave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Duplicate Key(s)" -msgstr "Duplica Nodo(i)" +msgstr "Duplica chiave(i)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Key(s)" -msgstr "Elimina Nodo(i)" +msgstr "Elimina chiave(i)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Cambia Nome Animazione:" +msgstr "Cambia modalità di aggiornamento animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Nodo Animazione" +msgstr "Cambia modalità di interpolazione animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Cambia Loop Animazione" +msgstr "Cambia modalità di ciclo animazione" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" -msgstr "Rimuovi Traccia Animazione" +msgstr "Rimuovi traccia animazione" #: editor/animation_track_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Crea NUOVA traccia per %s e inserire key?" +msgstr "Crea NUOVA traccia per %s e inserire la chiave?" #: editor/animation_track_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Creare %d NUOVE tracce e inserire key?" +msgstr "Creare %d NUOVE tracce e inserire la chiave?" #: editor/animation_track_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/editor_plugin_settings.cpp @@ -342,37 +326,35 @@ msgstr "Crea" #: editor/animation_track_editor.cpp msgid "Anim Insert" -msgstr "Anim Inserisci" +msgstr "Inserisci Animazione" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "AnimationPlayer non può animare se stesso, solo altri nodi." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" -msgstr "Anim Crea e Inserisci" +msgstr "Crea e inserisci un'animazione" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Inserisci Traccia e Key" +msgstr "Inserisci traccia e chiave animazione" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" -msgstr "Anim Inserisci Key" +msgstr "Inserisci una chiave d'animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Cambia FPS ANimazione" +msgstr "Cambia passo animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Riordina gli Autoload" +msgstr "Riordina tracce" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." -msgstr "" +msgstr "Le tracce Transform si applicano solo a nodi di tipo Spatial." #: editor/animation_track_editor.cpp msgid "" @@ -388,95 +370,88 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "" +msgstr "Le tracce Animation possono puntare solo a nodi AnimationPlayer." #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." -msgstr "" +msgstr "Un AnimationPlayer non può animare se stesso, solo altri oggetti." #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "" +msgstr "Non è possibile aggiungere una nuova traccia senza un nodo root" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Aggiungi Traccia" +msgstr "Aggiungi traccia Bézier" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Track path is invalid, so can't add a key." msgstr "Il tracciato non è valido, non è possibile aggiungere una chiave." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Track is not of type Spatial, can't insert key" -msgstr "La traccia non è di tipo Spatial, impossibile aggiungere la chiave." +msgstr "La traccia non è di tipo Spatial, impossibile aggiungere la chiave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Trasformazione 3D" +msgstr "Aggiungi chiave traccia Transform" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Aggiungi Traccia" +msgstr "Aggiungi chiave traccia" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." msgstr "" +"Il tracciato non è valido, non è possibile aggiungere una chiave di chiamata " +"di funzione." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Anim Inserisci Traccia e Key" +msgstr "Aggiungi chiave alla traccia metodo" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Method not found in object: " msgstr "Metodo non trovato nell'oggetto: " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" -msgstr "Anim Sposta Key" +msgstr "Sposta chiavi animazione" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Clipboard is empty" msgstr "Gli appunti sono vuoti" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Paste Tracks" -msgstr "Incolla Parametri" +msgstr "Incolla tracce" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" -msgstr "Anim Scala Key" +msgstr "Scala chiavi animazione" #: editor/animation_track_editor.cpp msgid "" "This option does not work for Bezier editing, as it's only a single track." msgstr "" +"Questa opzione non funziona per modificare curve di Bézier, dato che si " +"tratta di una traccia singola." #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "" +msgstr "Mostra solo le tracce dei nodi selezionati nell'albero." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "" +msgstr "Raggruppa le tracce per nodo o mostra una lista semplice." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Snap (s): " -msgstr "Snap (Pixels):" +msgstr "Snap (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation step value." -msgstr "Animation tree valido." +msgstr "Valore del passo dell'animazione." #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -492,25 +467,24 @@ msgid "Animation properties." msgstr "Proprietà animazione." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Copy Tracks" -msgstr "Copia parametri" +msgstr "Copia tracce" #: editor/animation_track_editor.cpp msgid "Scale Selection" -msgstr "Scala Selezione" +msgstr "Scala selezione" #: editor/animation_track_editor.cpp msgid "Scale From Cursor" -msgstr "Scala da Cursore" +msgstr "Scala da cursore" #: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Duplica Selezione" +msgstr "Duplica selezione" #: editor/animation_track_editor.cpp msgid "Duplicate Transposed" -msgstr "Duplica Transposto" +msgstr "Duplica trasposto" #: editor/animation_track_editor.cpp msgid "Delete Selection" @@ -518,43 +492,43 @@ msgstr "Elimina la selezione" #: editor/animation_track_editor.cpp msgid "Go to Next Step" -msgstr "Vai allo Step Successivo" +msgstr "Va' al passo successivo" #: editor/animation_track_editor.cpp msgid "Go to Previous Step" -msgstr "Vai allo Step Precedente" +msgstr "Va' al passo precedente" #: editor/animation_track_editor.cpp msgid "Optimize Animation" -msgstr "Ottimizza Animazione" +msgstr "Ottimizza animazione" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation" -msgstr "Pulisci Animazione" +msgstr "Pulisci animazione" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "" +msgstr "Seleziona il nodo che verrà animato:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "" +msgstr "Usa curve di Bézier" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "Ottimizzatore Anim." +msgstr "Ottimizzatore anim." #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" -msgstr "Max. Errore Lineare:" +msgstr "Max. errore lineare:" #: editor/animation_track_editor.cpp msgid "Max. Angular Error:" -msgstr "Max. Errore Angolare:" +msgstr "Max. errore angolare:" #: editor/animation_track_editor.cpp msgid "Max Optimizable Angle:" -msgstr "Max. Angolo Ottimizzabile:" +msgstr "Max. angolo ottimizzabile:" #: editor/animation_track_editor.cpp msgid "Optimize" @@ -562,11 +536,11 @@ msgstr "Ottimizza" #: editor/animation_track_editor.cpp msgid "Remove invalid keys" -msgstr "Rimuovi key invalidi" +msgstr "Rimuovi chiavi non valide" #: editor/animation_track_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "Rimuovi tracce Irrisolte e vuote" +msgstr "Rimuovi tracce irrisolte e vuote" #: editor/animation_track_editor.cpp msgid "Clean-up all animations" @@ -574,7 +548,7 @@ msgstr "Pulisci tutte le animazioni" #: editor/animation_track_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "Pulisci Animazione(i) (NO UNDO!)" +msgstr "Pulisci animazione(i) (NON ANNULLABILE!)" #: editor/animation_track_editor.cpp msgid "Clean-Up" @@ -582,11 +556,11 @@ msgstr "Pulisci" #: editor/animation_track_editor.cpp msgid "Scale Ratio:" -msgstr "Ratio di scalatura:" +msgstr "Fattore di scalatura:" #: editor/animation_track_editor.cpp msgid "Select tracks to copy:" -msgstr "" +msgstr "Seleziona le tracce da copiare:" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -597,41 +571,40 @@ msgid "Copy" msgstr "Copia" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Audio Listener" +msgstr "Aggiungi traccia clip audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Cambia Offset di Inizio della Clip della Traccia Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Cambia offset di fine della clip della traccia audio" #: editor/array_property_edit.cpp msgid "Resize Array" -msgstr "Ridimensiona Array" +msgstr "Ridimensiona array" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Cambia Tipo del Valore Array" +msgstr "Cambia tipo del valore dell'array" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "Cambia Valore Array" +msgstr "Cambia valore array" #: editor/code_editor.cpp msgid "Go to Line" -msgstr "Vai alla Linea" +msgstr "Va' alla linea" #: editor/code_editor.cpp msgid "Line Number:" -msgstr "Numero Linea:" +msgstr "Numero linea:" #: editor/code_editor.cpp editor/editor_help.cpp msgid "No Matches" -msgstr "Nessuna Corrispondenza" +msgstr "Nessuna corrispondenza" #: editor/code_editor.cpp msgid "Replaced %d occurrence(s)." @@ -639,11 +612,11 @@ msgstr "Rimpiazzate %d occorrenze." #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Match Case" -msgstr "Controlla Maiuscole" +msgstr "Distingui maiuscole" #: editor/code_editor.cpp editor/find_in_files.cpp msgid "Whole Words" -msgstr "Parole Intere" +msgstr "Parole intere" #: editor/code_editor.cpp editor/rename_dialog.cpp msgid "Replace" @@ -651,40 +624,39 @@ msgstr "Rimpiazza" #: editor/code_editor.cpp msgid "Replace All" -msgstr "Rimpiazza Tutti" +msgstr "Rimpiazza tutti" #: editor/code_editor.cpp msgid "Selection Only" -msgstr "Solo Selezione" +msgstr "Solo selezione" #: 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 "Zoom In" +msgstr "Ingrandisci" #: 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 "Zoom Out" +msgstr "Rimpicciolisci" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "Resetta Zoom" +msgstr "Azzera ingrandimento" #: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp -#, fuzzy msgid "Warnings" -msgstr "Avvertimento" +msgstr "Avvertenze" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "Numeri di riga e colonna." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "Il Metodo nel nodo di target deve essere specificato!" +msgstr "Deve essere specificato il metodo nel nodo di target!" #: editor/connections_dialog.cpp msgid "" @@ -696,7 +668,7 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Connetti A Nodo:" +msgstr "Connetti al nodo:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -715,19 +687,19 @@ msgstr "Rimuovi" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Aggiungi Argomento Extra di Chiamata:" +msgstr "Aggiungi argomento extra di chiamata:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "Argomenti Chiamata Extra:" +msgstr "Argomenti chiamata extra:" #: editor/connections_dialog.cpp msgid "Path to Node:" -msgstr "Percorso a Nodo:" +msgstr "Percorso per il nodo:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Rendi Funzione" +msgstr "Rendi funzione" #: editor/connections_dialog.cpp msgid "Deferred" @@ -764,9 +736,8 @@ msgid "Disconnect '%s' from '%s'" msgstr "Disconnetti '%s' da '%s'" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect all from signal: '%s'" -msgstr "Disconnetti '%s' da '%s'" +msgstr "Disconnetti tutto dal segnale: '%s'" #: editor/connections_dialog.cpp msgid "Connect..." @@ -778,13 +749,12 @@ msgid "Disconnect" msgstr "Disconnetti" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect Signal: " msgstr "Connetti il segnale: " #: editor/connections_dialog.cpp msgid "Edit Connection: " -msgstr "Modifica Connessione: " +msgstr "Modifica connessione: " #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" @@ -796,24 +766,23 @@ msgstr "Segnali" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "Sei sicuro di voler rimuovere tutte le connessioni da questo segnale?" #: editor/connections_dialog.cpp msgid "Disconnect All" msgstr "Disconnetti tutto" #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit..." -msgstr "Modifica" +msgstr "Modifica..." #: editor/connections_dialog.cpp msgid "Go To Method" -msgstr "Vai al metodo" +msgstr "Va' al metodo" #: editor/create_dialog.cpp msgid "Change %s Type" -msgstr "Cambia Tipo %s" +msgstr "Cambia tipo di %s" #: editor/create_dialog.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -822,7 +791,7 @@ msgstr "Cambia" #: editor/create_dialog.cpp msgid "Create New %s" -msgstr "Crea Nuovo %s" +msgstr "Crea nuovo %s" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -854,11 +823,11 @@ msgstr "Descrizione:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "Cerca Rimpiazzo Per:" +msgstr "Cerca rimpiazzo per:" #: editor/dependency_editor.cpp msgid "Dependencies For:" -msgstr "Dipendenze Per:" +msgstr "Dipendenze per:" #: editor/dependency_editor.cpp msgid "" @@ -896,15 +865,15 @@ msgstr "Dipendenze:" #: editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "Riparare Rotti" +msgstr "Riparare rotti" #: editor/dependency_editor.cpp msgid "Dependency Editor" -msgstr "Editor Dipendenze" +msgstr "Editor dipendenze" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "Cerca Risorsa di Rimpiazzo:" +msgstr "Cerca risorsa di rimpiazzo:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -918,11 +887,11 @@ msgstr "Apri" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "Proprietari Di:" +msgstr "Proprietari di:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Rimuovi i file selezionati dal progetto? (no undo)" +msgstr "Rimuovi i file selezionati dal progetto? (non annullabile)" #: editor/dependency_editor.cpp msgid "" @@ -930,9 +899,9 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" -"I file che stanno per essere rimossi sono richiesti da altre risorse perchè " +"I file che stanno per essere rimossi sono richiesti da altre risorse perché " "esse funzionino.\n" -"Rimuoverli comunque? (no undo)" +"Rimuoverli comunque? (non annullabile)" #: editor/dependency_editor.cpp editor/export_template_manager.cpp msgid "Cannot remove:" @@ -943,21 +912,20 @@ msgid "Error loading:" msgstr "Errore in caricamento:" #: editor/dependency_editor.cpp -#, fuzzy msgid "Load failed due to missing dependencies:" -msgstr "Caricamento scena fallito per mancanza di dipendenze:" +msgstr "Caricamento fallito a causa di dipendenze mancanti:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" -msgstr "Apri Comunque" +msgstr "Apri comunque" #: editor/dependency_editor.cpp msgid "Which action should be taken?" -msgstr "Quale Azione deve essere intrapresa?" +msgstr "Quale azione deve essere intrapresa?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "Ripara Dipendenze" +msgstr "Ripara dipendenze" #: editor/dependency_editor.cpp msgid "Errors loading!" @@ -965,7 +933,7 @@ msgstr "Errori in caricamento!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Eliminare permanentemente %d elementi? (No undo!)" +msgstr "Eliminare permanentemente %d elementi? (Non annullabile!)" #: editor/dependency_editor.cpp msgid "Owns" @@ -973,11 +941,11 @@ msgstr "Possiede" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "Risorse Non Possedute Esplicitamente:" +msgstr "Risorse non Possedute Esplicitamente:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "Esplora Risorse Orfane" +msgstr "Esplora risorse orfane" #: editor/dependency_editor.cpp msgid "Delete selected files?" @@ -997,7 +965,7 @@ msgstr "Cambia Chiave Dizionario" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" -msgstr "Cambia Valore Dizionario" +msgstr "Cambia valore del dizionario" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -1009,15 +977,15 @@ msgstr "Contributori a Godot Engine" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "Fondatori Progetto" +msgstr "Fondatori del progetto" #: editor/editor_about.cpp msgid "Lead Developer" -msgstr "Lead Developer" +msgstr "Sviluppatore principale" #: editor/editor_about.cpp msgid "Project Manager " -msgstr "Gestione Progetto " +msgstr "Gestione progetto " #: editor/editor_about.cpp msgid "Developers" @@ -1029,27 +997,27 @@ msgstr "Autori" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "Sponsors Platino" +msgstr "Sponsor platino" #: editor/editor_about.cpp msgid "Gold Sponsors" -msgstr "Sponsors Oro" +msgstr "Sponsor oro" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "Sponsors Mini" +msgstr "Sponsor mini" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "Donatori Oro" +msgstr "Donatori oro" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "Donatori Argento" +msgstr "Donatori argento" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "Donatori Bronzo" +msgstr "Donatori bronzo" #: editor/editor_about.cpp msgid "Donors" @@ -1061,7 +1029,7 @@ msgstr "Licenza" #: editor/editor_about.cpp msgid "Thirdparty License" -msgstr "Licenza di Terze Parti" +msgstr "Licenza di terze parti" #: editor/editor_about.cpp msgid "" @@ -1070,14 +1038,14 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" -"Godot Engine si appoggia su un numero di librerie gratuite ed open source, " -"tutte compatibili con la licenza MIT. La seguente é una lista esaustiva di " -"tali componenti di terze parti con le rispettive dichiarazioni di copyright " -"e termini di licenza." +"Godot Engine si basa su parecchie librerie libere ed open source, tutte " +"compatibili con la licenza MIT. Qui di seguito una lista esaustiva di tali " +"componenti di terze parti con le rispettive dichiarazioni sui diritti " +"d'autore e termini di licenza." #: editor/editor_about.cpp msgid "All Components" -msgstr "Tutte le Componenti" +msgstr "Tutte le componenti" #: editor/editor_about.cpp msgid "Components" @@ -1089,16 +1057,15 @@ msgstr "Licenze" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in zip format." -msgstr "Errore nell'apertura del package, non in formato zip." +msgstr "Errore nell'apertura del pacchetto, non è in formato zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "Decompressione Assets" +msgstr "Estrazione asset" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Package installed successfully!" -msgstr "Pacchetto Installato Con Successo!" +msgstr "Pacchetto installato con successo!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -1112,7 +1079,7 @@ msgstr "Installa" #: editor/editor_asset_installer.cpp msgid "Package Installer" -msgstr "Installer Pacchetto" +msgstr "Installatore pacchetto" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -1120,35 +1087,35 @@ msgstr "Altoparlanti" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "Aggiungi Effetto" +msgstr "Aggiungi effetto" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" -msgstr "Rinomina Bus Audio" +msgstr "Rinomina bus audio" #: editor/editor_audio_buses.cpp msgid "Change Audio Bus Volume" -msgstr "Cambia il volume del Bus Audio" +msgstr "Cambia il volume del bus audio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "Imposta Bus Audio su Solo" +msgstr "Imposta bus audio su solo" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "Imposta Bus Audio su Mute" +msgstr "Imposta bus audio su Muto" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "Imposta Audio Bus Bypassa Effetti" +msgstr "Commuta bypass effetti del bus audio" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "Seleziona Bus Audio Invio" +msgstr "Seleziona invio del bus audio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" -msgstr "Aggiungi un effetto Bus Audio" +msgstr "Aggiungi un effetto bus audio" #: editor/editor_audio_buses.cpp msgid "Move Bus Effect" @@ -1160,7 +1127,7 @@ msgstr "Cancella effetto bus" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "Bus Audio, prendi e trascina per riordinare." +msgstr "Bus audio, trascina e rilascia per riordinare." #: editor/editor_audio_buses.cpp msgid "Solo" @@ -1181,15 +1148,15 @@ msgstr "Opzioni 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 "duplica" +msgstr "Duplica" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "Ripristina Volume" +msgstr "Ripristina volume" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "Elimina Effetto" +msgstr "Elimina effetto" #: editor/editor_audio_buses.cpp msgid "Audio" @@ -1197,7 +1164,7 @@ msgstr "Audio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" -msgstr "Aggiungi Bus Audio" +msgstr "Aggiungi bus audio" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" @@ -1213,7 +1180,7 @@ msgstr "Duplica bus audio" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" -msgstr "Ripristina Volume del Bus" +msgstr "Ripristina volume del Bus" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" @@ -1221,7 +1188,7 @@ msgstr "Sposta bus audio" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As..." -msgstr "Salva Layout Bus Audio Come..." +msgstr "Salva disposizione del bus audio come..." #: editor/editor_audio_buses.cpp msgid "Location for New Layout..." @@ -1229,7 +1196,7 @@ msgstr "Posizione per Nuovo Layout..." #: editor/editor_audio_buses.cpp msgid "Open Audio Bus Layout" -msgstr "Apri Layout Bus Audio" +msgstr "Apri disposizione bus audio" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." @@ -1237,16 +1204,15 @@ msgstr "Non esiste il file 'res://default_bus_layout.tres'." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "File non valido, non è un layout di tipo bus audio." +msgstr "File non valido, non è una disposizione del bus audio." #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "Aggiungi Bus" +msgstr "Aggiungi bus" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Salva Layout Bus Audio Come..." +msgstr "Aggiungi un nuovo bus audio a questa disposizione." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1256,15 +1222,15 @@ msgstr "Carica" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "Carica un layout esistente di tipo bus." +msgstr "Carica una disposizione bus esistente." #: editor/editor_audio_buses.cpp msgid "Save As" -msgstr "Salva Come" +msgstr "Salva come" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "Salva questo layout di tipo bus in un file." +msgstr "Salva questa disposizione bus in un file." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" @@ -1272,15 +1238,15 @@ msgstr "Carica predefiniti" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Carica il layout di tipo bus predefinito." +msgstr "Carica la disposizione dei bus predefinita." #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." -msgstr "Crea nuovo layout di tipo bus." +msgstr "Crea una nuova disposizione dei bus." #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "Nome Invalido." +msgstr "Nome non valido." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" @@ -1289,19 +1255,19 @@ msgstr "Caratteri validi:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" -"Nome invalido. Non deve essere in conflitto con un nome di classe di engine " -"esistente." +"Nome non valido. Non deve essere in conflitto con un nome di classe " +"dell'engine esistente." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." msgstr "" -"Nome invalido. Non deve essere in conflitto con un nome di tipo built-in " +"Nome non valido. Non deve essere in conflitto con un nome di tipo built-in " "esistente." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" -"Nome invalido. Non deve essere in conflitto con un nome di una costante " +"Nome non valido. Non deve essere in conflitto con un nome di una costante " "globale esistente." #: editor/editor_autoload_settings.cpp @@ -1310,11 +1276,11 @@ msgstr "Autoload '%s' esiste già !" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "Rinomina Autoload" +msgstr "Rinomina autoload" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "Abilita AutoLoad Globals" +msgstr "Commuta AutoLoad globals" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" @@ -1334,11 +1300,11 @@ msgstr "Riordina gli Autoload" #: editor/editor_autoload_settings.cpp msgid "Invalid Path." -msgstr "Percorso Invalido." +msgstr "Percorso non valido." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "File non esistente." +msgstr "File inesistente." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." @@ -1355,7 +1321,7 @@ msgstr "Percorso:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "Nome Nodo:" +msgstr "Nome nodo:" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_profiler.cpp editor/settings_config_dialog.cpp @@ -1368,15 +1334,15 @@ msgstr "Singleton" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "Aggiornamento Scena" +msgstr "Aggiornamento scena" #: editor/editor_data.cpp msgid "Storing local changes..." -msgstr "Memorizzando i cambiamenti locali..." +msgstr "Memorizzazione dei cambiamenti locali..." #: editor/editor_data.cpp msgid "Updating scene..." -msgstr "Aggiornando la scena..." +msgstr "Aggiornamento della scena..." #: editor/editor_data.cpp editor/editor_properties.cpp msgid "[empty]" @@ -1388,16 +1354,16 @@ msgstr "[non salvato]" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "Si prega di selezionare prima una directory di base" +msgstr "Si prega di selezionare prima una cartella di base" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "Scegli una Directory" +msgstr "Scegli una cartella" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Crea Cartella" +msgstr "Crea cartella" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1409,7 +1375,7 @@ msgstr "Nome:" #: 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 "Impossibile creare cartella." +msgstr "Impossibile creare la cartella." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1417,14 +1383,11 @@ msgstr "Scegli" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "Memorizzazione File:" +msgstr "Memorizzazione file:" #: editor/editor_export.cpp -#, fuzzy msgid "No export template found at the expected path:" -msgstr "" -"Nessun template di esportazione trovato.\n" -"Scarica ed installa i template di esportazione." +msgstr "Nessun template di esportazione trovato nel percorso previsto:" #: editor/editor_export.cpp msgid "Packing" @@ -1432,23 +1395,43 @@ msgstr "Impacchettando" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"La piattaforma di destinazione richiede la compressione 'ETC' delle texture " +"per GLES2. Attiva 'Import Etc' nelle impostazioni del progetto." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." +msgstr "" +"La piattaforma di destinazione richiede la compressione 'ETC2' delle texture " +"per GLES3. Attiva 'Import Etc 2' nelle impostazioni del progetto." + +#: editor/editor_export.cpp +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 "" +"La piattaforma di destinazione richiede la compressione 'ETC' delle texture " +"per il fallback del driver a GLES2.\n" +"Attivare 'Import Etc' nelle impostazioni del progetto, oppure disattivare " +"'Driver Fallback Enabled'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom debug template not found." -msgstr "Pacchetto di debug personalizzato non trovato." +msgstr "Template di debug personalizzato non trovato." #: 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 "Pacchetto di release personalizzato non trovato." +msgstr "Template di release personalizzato non trovato." #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" @@ -1456,11 +1439,11 @@ msgstr "Template non trovato:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" -msgstr "Seleziona Cartella Attuale" +msgstr "Seleziona la cartella attuale" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "File Esistente, Sovrascrivere?" +msgstr "File esistente, sovrascriverlo?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" @@ -1468,49 +1451,48 @@ msgstr "Seleziona questa cartella" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" -msgstr "Copia Percorso" +msgstr "Copia percorso" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp -#, fuzzy msgid "Open in File Manager" -msgstr "Mostra nel File Manager" +msgstr "Apri nel gestore file" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp #: editor/project_manager.cpp msgid "Show in File Manager" -msgstr "Mostra nel File Manager" +msgstr "Mostra nel gestore file" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "New Folder..." -msgstr "Nuova Cartella..." +msgstr "Nuova cartella..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Aggiorna" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" -msgstr "Tutti i Riconosciuti" +msgstr "Tutti Riconosciuti" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "Tutti i File (*)" +msgstr "Tutti i file (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "Apri un File" +msgstr "Apri un file" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "Apri File(s)" +msgstr "Apri file" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Apri una Directory" +msgstr "Apri una cartella" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "Apri un File o una Directory" +msgstr "Apri un file o una cartella" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/editor_properties.cpp editor/inspector_dock.cpp @@ -1521,27 +1503,27 @@ msgstr "Salva" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "Salva un File" +msgstr "Salva un file" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "Torna Indietro" +msgstr "Torna indietro" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "Vai Avanti" +msgstr "Va' avanti" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "Vai Su" +msgstr "Va' su" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Abilita File Nascosti" +msgstr "Commuta visibilità file nascosti" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "Attiva Preferito" +msgstr "Commuta preferito" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" @@ -1553,19 +1535,39 @@ msgstr "Percorso Di Fuoco" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "Sposta Preferito Su" +msgstr "Sposta preferito in su" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "Sposta Preferito Giù" +msgstr "Sposta preferito in giù" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Cartella precedente" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Cartella successiva" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" -msgstr "Vai nella cartella padre" +msgstr "Va' alla cartella superiore" + +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Aggiungi/rimuovi cartella attuale dai preferiti." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Visualizza elementi come una griglia di miniature." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Visualizza elementi come una lista." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "Directory e File:" +msgstr "File e cartelle:" #: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp #: editor/plugins/style_box_editor_plugin.cpp @@ -1578,7 +1580,7 @@ msgstr "File:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "Necessaria un'estensione valida." +msgstr "È necessaria un'estensione valida." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1586,7 +1588,7 @@ msgstr "ScansionaSorgenti" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "(Re)Importando gli Assets" +msgstr "(Re)Importando gli asset" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -1606,7 +1608,7 @@ msgstr "Ereditato da:" #: editor/editor_help.cpp msgid "Brief Description:" -msgstr "Breve Descrizione:" +msgstr "Breve descrizione:" #: editor/editor_help.cpp msgid "Properties" @@ -1674,17 +1676,17 @@ msgid "" "$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/" "url][/color]." msgstr "" -"Al momento una descrizione per questa classe non esiste. Aiutaci [color=" +"Al momento non esiste alcuna descrizione per questa classe. Aiutaci [color=" "$color][url=$url]aggiungendone una[/url][/color] oppure [color=$color][url=" "$url2]richiedendone una[/url][/color]." #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "Descrizione Proprietà " +msgstr "Descrizione proprietà " #: editor/editor_help.cpp msgid "Property Descriptions:" -msgstr "Descrizione Proprietà :" +msgstr "Descrizione proprietà :" #: editor/editor_help.cpp msgid "" @@ -1696,28 +1698,28 @@ msgstr "" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "Descrizione Metodo" +msgstr "Descrizioni dei metodi" #: editor/editor_help.cpp msgid "Method Descriptions:" -msgstr "Descrizione Metodo:" +msgstr "Descrizioni dei metodi:" #: 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 "" -"Al momento una descrizione per questo metodo non esiste. Aiutaci [color=" +"Al momento non esiste alcuna descrizione per questo metodo. Aiutaci [color=" "$color][url=$url]aggiungendone una[/url][/color]!" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "Cerca Aiuto" +msgstr "Cerca aiuto" #: editor/editor_help_search.cpp msgid "Display All" -msgstr "Mostra Tutto" +msgstr "Mostra tutto" #: editor/editor_help_search.cpp msgid "Classes Only" @@ -1744,9 +1746,8 @@ msgid "Theme Properties Only" msgstr "Solo le proprietà del tema" #: editor/editor_help_search.cpp -#, fuzzy msgid "Member Type" -msgstr "Membri" +msgstr "Tipo di membro" #: editor/editor_help_search.cpp msgid "Class" @@ -1758,11 +1759,11 @@ msgstr "Proprietà :" #: editor/editor_inspector.cpp msgid "Set" -msgstr "Set" +msgstr "Imposta" #: editor/editor_inspector.cpp msgid "Set Multiple:" -msgstr "" +msgstr "Imposta multiplo:" #: editor/editor_log.cpp msgid "Output:" @@ -1786,9 +1787,9 @@ msgstr "Svuota output" msgid "Project export failed with error code %d." msgstr "Esportazione progetto fallita con codice di errore %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Errore salvando la Risorsa!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Le risorse importate non possono essere salvate." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1796,8 +1797,20 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Errore nel salvataggio della risorsa!" + +#: 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 "" +"Questa risorsa non può essere salvata perché non appartiene alla scena che " +"si sta modificando. Assicurarsi di renderla unica." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." -msgstr "Salva Risorsa Come..." +msgstr "Salva risorsa come..." #: editor/editor_node.cpp msgid "Can't open file for writing:" @@ -1814,6 +1827,7 @@ msgstr "Errore durante il salvataggio." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Can't open '%s'. The file could have been moved or deleted." msgstr "" +"Impossibile aprire '%s'. Il file potrebbe essere stato spostato o eliminato." #: editor/editor_node.cpp msgid "Error while parsing '%s'." @@ -1833,7 +1847,7 @@ msgstr "Errore durante il caricamento di '%s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "Salvataggio Scena" +msgstr "Salvataggio scena" #: editor/editor_node.cpp msgid "Analyzing" @@ -1841,7 +1855,7 @@ msgstr "Analizzo" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "Creazione Miniature" +msgstr "Creazione miniature" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." @@ -1853,18 +1867,21 @@ 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 "" +"Questa scena non può essere salvata perché contiene un'istanziazione " +"ciclica.\n" +"Riprovare ad eseguire il salvataggio dopo aver risolto il problema." #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " "be satisfied." msgstr "" -"Impossibile salvare la scena. Probabili dipendenze (instanze o eredità ) non " -"sono state soddisfatte." +"Impossibile salvare la scena. È probabile che le dipendenze (instanze o " +"eredità ) non siano state soddisfatte." #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "" +msgstr "Impossibile sovrascrivere una scena che è ancora aperta!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -1872,7 +1889,7 @@ msgstr "Impossibile caricare MeshLibrary per l'unione!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "Errore salvataggio MeshLibrary!" +msgstr "Errore nel salvataggio di MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" @@ -1884,11 +1901,11 @@ msgstr "Errore di salvataggio TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "Errore tentando di salvare il layout!" +msgstr "Errore nel salvataggio del layout!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "Layout dell'editor di default ignorato." +msgstr "Layout predefinito dell'editor sovrascritto." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -1896,7 +1913,7 @@ msgstr "Nome layout non trovato!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "Ripristinato il layout di default ai settaggi di base." +msgstr "Ripristinato il layout di default alle impostazioni originali." #: editor/editor_node.cpp msgid "" @@ -1932,10 +1949,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Questa scena é stata importata, pertanto i cambiamenti ad essa non verranno " +"Questa scena è stata importata, pertanto i cambiamenti ad essa non verranno " "mantenuti.\n" -"Istanziarla o ereditarla consentirà di effettuare dei cambiamenti.\n" -"Si conaiglia di leggere la documentazione relativa all'importazione delle " +"Istanziarla o ereditarla permetterà modificarla.\n" +"Si consiglia di leggere la documentazione relativa all'importazione delle " "scene per comprendere meglio questo workflow." #: editor/editor_node.cpp @@ -1960,7 +1977,7 @@ msgid "" "category." msgstr "" "Nessuna scena principale è stata definita, selezionarne una?\n" -"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " +"Puoi cambiarla successivamente da \"Impostazioni progetto\" sotto la " "categoria 'applicazioni'." #: editor/editor_node.cpp @@ -1970,7 +1987,7 @@ msgid "" "category." msgstr "" "La scena selezionata '%s' non esiste, sceglierne una valida?\n" -"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " +"Puoi cambiarla successivamente da \"Impostazioni progetto\" sotto la " "categoria 'applicazioni'." #: editor/editor_node.cpp @@ -1979,31 +1996,31 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Las cena selezionata '%s non è un file scena, sceglierne una valida?\n" -"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " +"La scena selezionata '%s non è un file scena, sceglierne una valida?\n" +"Puoi cambiarla successivamente da \"Impostazioni progetto\" sotto la " "categoria 'applicazioni'." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." msgstr "" -"La scena corrente non è mai stata salvata, per favore salvarla prima di " -"eseguire." +"La scena attuale non è mai stata salvata, si prega di salvarla prima di " +"eseguirla." #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "Impossibile avviare subprocesso!" +msgstr "Impossibile avviare sottoprocesso!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "Apri Scena" +msgstr "Apri scena" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "Apri Scena Base" +msgstr "Apri scena base" #: editor/editor_node.cpp msgid "Quick Open Scene..." -msgstr "Apri scena rapido..." +msgstr "Apri scena rapidamente..." #: editor/editor_node.cpp msgid "Quick Open Script..." @@ -2018,14 +2035,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Salvare le modifiche a '%s' prima di chiudere?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Caricamento della risorsa fallito." +msgstr "Salvata(e) %s risorsa(e) modificata(e)." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Solo un file è richiesto per una texture grande." +msgstr "È necessario un nodo radice per salvare la scena." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2129,7 +2144,8 @@ msgstr "" #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" -"Impossibile trovare il campo per lo script aggiuntivo in: 'res://addons/%s'." +"Impossibile trovare il campo per lo script del plugin aggiuntivo in: 'res://" +"addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." @@ -2455,18 +2471,16 @@ msgid "Toggle Fullscreen" msgstr "Abilita/Disabilita Fullscreen" #: editor/editor_node.cpp -#, fuzzy msgid "Open Editor Data/Settings Folder" -msgstr "Impostazioni Editor" +msgstr "Apri Cartella Dati/Impostazioni Editor" #: editor/editor_node.cpp msgid "Open Editor Data Folder" -msgstr "" +msgstr "Apri la Cartella Dati dell'Editor" #: editor/editor_node.cpp -#, fuzzy msgid "Open Editor Settings Folder" -msgstr "Impostazioni Editor" +msgstr "Apri Cartella Impostazioni Editor" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" @@ -2546,18 +2560,16 @@ msgstr "Esegui Scena Personalizzata" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." -msgstr "" +msgstr "Il cambiamento dei driver video necessita il riavvio dell'editor." #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Save & Restart" -msgstr "Salva e Re-Importa" +msgstr "Salva e Riavvia" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "Gira quando la finestra dell'editor viene ridisegnata!" +msgstr "Gira quando l'editor viene ridisegnato." #: editor/editor_node.cpp msgid "Update Always" @@ -2589,9 +2601,8 @@ msgid "Node" msgstr "Nodo" #: editor/editor_node.cpp -#, fuzzy msgid "Expand Bottom Panel" -msgstr "Espandi tutto" +msgstr "Espandi Pannello Inferiore" #: editor/editor_node.cpp scene/resources/visual_shader.cpp msgid "Output" @@ -2670,9 +2681,8 @@ msgid "Thumbnail..." msgstr "Miniatura..." #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Edit Plugin" -msgstr "Modifica Poly" +msgstr "Modifica Plugin" #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" @@ -2696,15 +2706,13 @@ msgid "Status:" msgstr "Stato:" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Edit:" -msgstr "Modifica" +msgstr "Modifica:" #: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp #: editor/rename_dialog.cpp -#, fuzzy msgid "Start" -msgstr "Inizia!" +msgstr "Inizia" #: editor/editor_profiler.cpp msgid "Measure:" @@ -2756,39 +2764,39 @@ msgstr "On" #: editor/editor_properties.cpp msgid "Layer" -msgstr "" +msgstr "Livello" #: editor/editor_properties.cpp -#, fuzzy msgid "Bit %d, value %d" -msgstr "Bit %d, val %d." +msgstr "Bit %d, valore %d" #: editor/editor_properties.cpp -#, fuzzy msgid "[Empty]" -msgstr "Aggiungi vuoto" +msgstr "[Vuoto]" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Assign..." -msgstr "Assegna" +msgstr "Assegna..." #: editor/editor_properties.cpp -#, fuzzy msgid "Invalid RID" -msgstr "Percorso Invalido" +msgstr "RID Invalido" #: editor/editor_properties.cpp msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." msgstr "" +"La risorsa selezionata (%s) non corrisponde ad alcun tipo atteso per questa " +"proprietà (%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 "" +"Impossibile creare ViewportTexture da risorse salvate come file.\n" +"La risorsa deve appartenere ad una scena." #: editor/editor_properties.cpp msgid "" @@ -2797,6 +2805,10 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"Impossibile creare ViewportTexture da questa risorsa perché non è definita " +"localmente in una scena.\n" +"Per favore attivare la proprietà \"local to scene\" sulla risorsa (e su " +"tutte le risorse che la contengono, fino al nodo che le utilizza)." #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" @@ -2808,12 +2820,11 @@ msgstr "Nuovo Script" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" -msgstr "" +msgstr "Nuovo %s" #: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy msgid "Make Unique" -msgstr "Crea Ossa" +msgstr "Rendi Unico" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -2830,45 +2841,39 @@ msgid "Paste" msgstr "Incolla" #: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy msgid "Convert To %s" -msgstr "Converti In..." +msgstr "Converti In %s" #: 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 -#, fuzzy msgid "Open Editor" -msgstr "Apri nell Editor" +msgstr "Apri Editor" #: editor/editor_properties.cpp editor/property_editor.cpp -#, fuzzy msgid "Selected node is not a Viewport!" -msgstr "Scegli Nodo(i) da Importare" +msgstr "Il nodo selezionato non è una Viewport!" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "Size: " -msgstr "Dimensione Cella:" +msgstr "Dimensione: " #: editor/editor_properties_array_dict.cpp msgid "Page: " -msgstr "" +msgstr "Pagina: " #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "New Key:" -msgstr "Nuovo nome:" +msgstr "Nuova Chiave:" #: editor/editor_properties_array_dict.cpp -#, fuzzy msgid "New Value:" -msgstr "Nuovo nome:" +msgstr "Nuovo Valore:" #: editor/editor_properties_array_dict.cpp msgid "Add Key/Value Pair" -msgstr "" +msgstr "Aggiungi Coppia Chiave/Valore" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -2962,9 +2967,8 @@ msgid "Can't open export templates zip." msgstr "Impossibile aprire zip dei template d'esportazionie." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside templates: %s." -msgstr "Formato di version.txt invalido nelle templates." +msgstr "Formato di version.txt non valido nei templates: %s." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." @@ -2987,8 +2991,8 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" -"Non sono stati trovati link di download per questa versione. Il direct " -"download è disponibile solamente per rilasci ufficiali." +"Non sono stati trovati link di download per questa versione. Il download " +"diretto è disponibile solamente per rilasci ufficiali." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3029,10 +3033,12 @@ msgid "" "Templates installation failed. The problematic templates archives can be " "found at '%s'." msgstr "" +"Installazione dei template fallita. Gli archivi dei template che danno " +"problemi possono essere trovati in '%s'." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "Errore di connessione all'URL: " +msgstr "Errore nella richiesta url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." @@ -3048,7 +3054,7 @@ msgstr "Risolvendo" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "Impossibile risolvere" +msgstr "Impossibile Risolvere" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3074,7 +3080,7 @@ msgstr "Download in corso" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "Errore di connessione" +msgstr "Errore di Connessione" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" @@ -3106,12 +3112,11 @@ msgstr "Gestore Template Esportazione" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "Scarica Templates" +msgstr "Scarica Template" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "Seleziona mirror dall'elenco " +msgstr "Seleziona mirror dalla lista: (Shift+Click: Apri in Browser)" #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" @@ -3120,9 +3125,8 @@ msgstr "" "tipi di file!" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Favorites" -msgstr "Preferiti:" +msgstr "Preferiti" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" @@ -3130,16 +3134,6 @@ msgstr "" "Impossibile navigare a '%s' perché non è stato trovato nel file system!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Visualizza elementi come una griglia di miniature" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Visualizza elementi come una lista" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Stato: Importazione file fallita. Si prega di riparare il file e " @@ -3206,14 +3200,12 @@ msgid "Instance" msgstr "Istanza" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Add to favorites" -msgstr "Preferiti:" +msgstr "Aggiungi ai preferiti" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Remove from favorites" -msgstr "Rimuovi da Gruppo" +msgstr "Rimuovi dai preferiti" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." @@ -3236,24 +3228,20 @@ msgid "Move To..." msgstr "Sposta in..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "New Script..." -msgstr "Nuovo Script" +msgstr "Nuovo Script..." #: editor/filesystem_dock.cpp -#, fuzzy msgid "New Resource..." -msgstr "Salva Risorsa Come..." +msgstr "Nuova Risorsa..." #: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp -#, fuzzy msgid "Expand All" -msgstr "Espandi tutto" +msgstr "Espandi Tutto" #: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp -#, fuzzy msgid "Collapse All" -msgstr "Comprimi tutto" +msgstr "Comprimi Tutto" #: editor/filesystem_dock.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3275,18 +3263,12 @@ msgid "Re-Scan Filesystem" msgstr "Re-Scan Filesystem" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle split mode" -msgstr "Modalità Attivazione" +msgstr "Attiva/disattiva la modalità split" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Search files" -msgstr "Cerca Classi" - -#: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Istanzia le scene selezionate come figlie del nodo selezionato." +msgstr "Cerca file" #: editor/filesystem_dock.cpp msgid "" @@ -3301,37 +3283,32 @@ msgid "Move" msgstr "Sposta" #: editor/filesystem_dock.cpp -#, fuzzy msgid "There is already file or folder with the same name in this location." -msgstr "Un file o cartella con questo nome é già esistente." +msgstr "C'è già un file o una cartella con lo stesso nome in questo percorso." #: editor/filesystem_dock.cpp msgid "Overwrite" -msgstr "" +msgstr "Sovrascrivi" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" msgstr "Crea Script" #: editor/find_in_files.cpp -#, fuzzy msgid "Find in Files" -msgstr "Trova tile" +msgstr "Trova nei File" #: editor/find_in_files.cpp -#, fuzzy msgid "Find:" -msgstr "Trova" +msgstr "Trova:" #: editor/find_in_files.cpp -#, fuzzy msgid "Folder:" -msgstr "Vai alla Linea" +msgstr "Cartella:" #: editor/find_in_files.cpp -#, fuzzy msgid "Filters:" -msgstr "Filtri" +msgstr "Filtri:" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -3347,58 +3324,48 @@ msgid "Cancel" msgstr "Annulla" #: editor/find_in_files.cpp -#, fuzzy msgid "Find: " -msgstr "Trova" +msgstr "Trova: " #: editor/find_in_files.cpp -#, fuzzy msgid "Replace: " -msgstr "Rimpiazza" +msgstr "Sostituisci: " #: editor/find_in_files.cpp -#, fuzzy msgid "Replace all (no undo)" -msgstr "Rimpiazza Tutti" +msgstr "Sostituisci tutto (no undo)" #: editor/find_in_files.cpp -#, fuzzy msgid "Searching..." -msgstr "Salvataggio..." +msgstr "Ricerca..." #: editor/find_in_files.cpp -#, fuzzy msgid "Search complete" -msgstr "Cerca Testo" +msgstr "Ricerca completata" #: editor/groups_editor.cpp -#, fuzzy msgid "Group name already exists." -msgstr "ERRORE: Il nome dell'animazione esiste già !" +msgstr "Il nome del gruppo è già esistente." #: editor/groups_editor.cpp -#, fuzzy msgid "Invalid group name." -msgstr "Nome Invalido." +msgstr "Nome del gruppo non valido." #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" msgstr "Gruppi" #: editor/groups_editor.cpp -#, fuzzy msgid "Nodes not in Group" -msgstr "Gruppo(i) Nodi" +msgstr "Nodi non in Gruppo" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Filter nodes" -msgstr "Filtri" +msgstr "Filtra nodi" #: editor/groups_editor.cpp -#, fuzzy msgid "Nodes in Group" -msgstr "Gruppo(i) Nodi" +msgstr "Nodi in Gruppo" #: editor/groups_editor.cpp msgid "Add to Group" @@ -3409,9 +3376,8 @@ msgid "Remove from Group" msgstr "Rimuovi da Gruppo" #: editor/groups_editor.cpp -#, fuzzy msgid "Manage Groups" -msgstr "Gruppi Immagini" +msgstr "Gestisci Gruppi" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" @@ -3435,7 +3401,7 @@ msgstr "Importa con Oggetti Separati+Materiali" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "Importa con Oggetti Separati e Animazioni" +msgstr "Importa con Oggetti+Animazioni Separati" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" @@ -3443,15 +3409,16 @@ msgstr "Importa con Materiali Separati+Animazioni" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "Importa con Oggetti+Materiali+Animazioni" +msgstr "Importa con Oggetti+Materiali+Animazioni Separati" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" msgstr "Importa come Scene Multiple" #: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Import as Multiple Scenes+Materials" -msgstr "Importa come Scene Multiple+Materiali" +msgstr "Importa come Scene+Materiali Multipli" #: editor/import/resource_importer_scene.cpp #: editor/plugins/mesh_library_editor_plugin.cpp @@ -3516,30 +3483,30 @@ msgstr "Reimporta" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" -msgstr "" +msgstr "Salva scene, importa nuovamente e riavvia" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." -msgstr "" +msgstr "Cambiare il tipo di un file importato richiede il riavvio dell'editor." #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"ATTENZIONE: Esistono degli elementi che utilizzano questa risorsa, " +"potrebbero non essere più caricati correttamente." #: editor/inspector_dock.cpp msgid "Failed to load resource." msgstr "Caricamento della risorsa fallito." #: editor/inspector_dock.cpp -#, fuzzy msgid "Expand All Properties" -msgstr "Espandi tutte le proprietà " +msgstr "Espandi Tutte le Proprietà " #: editor/inspector_dock.cpp -#, fuzzy msgid "Collapse All Properties" -msgstr "Comprimi tutte le proprietà " +msgstr "Comprimi Tutte le Proprietà " #: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp @@ -3555,9 +3522,8 @@ msgid "Paste Params" msgstr "Incolla Parametri" #: editor/inspector_dock.cpp -#, fuzzy msgid "Edit Resource Clipboard" -msgstr "Clipboard risorse vuota!" +msgstr "Modifica Appunti Risorse" #: editor/inspector_dock.cpp msgid "Copy Resource" @@ -3604,9 +3570,8 @@ msgid "Object properties." msgstr "Proprietà oggetto." #: editor/inspector_dock.cpp -#, fuzzy msgid "Filter properties" -msgstr "Filtri" +msgstr "Filtra proprietà " #: editor/inspector_dock.cpp msgid "Changes may be lost!" @@ -3621,85 +3586,72 @@ msgid "Select a Node to edit Signals and Groups." msgstr "Seleziona un Nodo per modificare Segnali e Gruppi." #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Edit a Plugin" -msgstr "Modifica Poly" +msgstr "Modifica un Plugin" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Create a Plugin" -msgstr "Crea Outline" +msgstr "Crea un Plugin" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Plugin Name:" -msgstr "Lista Plugin:" +msgstr "Nome Plugin:" #: editor/plugin_config_dialog.cpp msgid "Subfolder:" -msgstr "" +msgstr "Sottocartella:" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Language:" -msgstr "Linguaggio" +msgstr "Lingua:" #: editor/plugin_config_dialog.cpp -#, fuzzy msgid "Script Name:" -msgstr "Script valido" +msgstr "Nome Script:" #: editor/plugin_config_dialog.cpp msgid "Activate now?" -msgstr "" +msgstr "Attivare ora?" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Polygon" -msgstr "Crea Poly" +msgstr "Crea Poligono" #: 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 "Elimina Punti" +msgstr "Crea punti." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "" "Edit points.\n" "LMB: Move Point\n" "RMB: Erase Point" msgstr "" -"Modifica poligono esistente:\n" -"LMB: muovi punto.\n" -"Ctrl+LMB: dividi segmento.\n" -"RMB: cancella punto." +"Modifica punti.\n" +"LMB: Muovi Punto\n" +"RMB: Cancella Punto" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Erase points." -msgstr "RMB: Elimina Punto." +msgstr "Cancella punti." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon" -msgstr "Modifica Poly" +msgstr "Modifica Poligono" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" msgstr "Inserisci Punto" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Edit Polygon (Remove Point)" -msgstr "Modifica Poly (Rimuovi Punto)" +msgstr "Modifica Poligono (Rimuovi Punto)" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Remove Polygon And Point" msgstr "Rimuovi Poligono e Punto" @@ -3715,52 +3667,47 @@ msgstr "Aggiungi Animazione" #: 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 "Carica" +msgstr "Carica..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Sposta Punto" +msgstr "Sposta Punto Nodo" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Cambia tempo di Blend" +msgstr "Cambia Limiti BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Cambia tempo di Blend" +msgstr "Cambia Etichette BlendSpace1D" #: 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 "" +"Questo tipo di nodo non può essere utilizzato. Sono permessi solo i nodi " +"radice." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Aggiungi Nodo" +msgstr "Aggiungi Punto Nodo" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Aggiungi Animazione" +msgstr "Aggiungi Punto Animazione" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Rimuovi Punto Percorso" +msgstr "Rimuovi Punto BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Sposta Nodo BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3770,91 +3717,85 @@ msgid "" "AnimationTree is inactive.\n" "Activate to enable playback, check node warnings if activation fails." msgstr "" +"AnimationTree non è attivo.\n" +"Attivalo per consentirne la riproduzione, controlla le avvertenze del nodo " +"se l'attivazione fallisce." #: 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 "Imposta la posizione di blending nello spazio" #: 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 "" +"Seleziona e muovi i punti, per creare i punti usa il tasto destro del mouse." #: 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 "Attiva lo snap e mostra la griglia." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Point" -msgstr "Sposta Punto" +msgstr "Punto" #: 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 "Nodo Animazione" +msgstr "Apri Nodo Animazione" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Triangle already exists" -msgstr "L'Azione '%s' esiste già !" +msgstr "Il triangolo è già esistente" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Aggiungi Variabile" +msgstr "Aggiungi Triangolo" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Cambia tempo di Blend" +msgstr "Cambia Limiti BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Cambia tempo di Blend" +msgstr "Cambia Etichette BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Rimuovi Punto Percorso" +msgstr "Rimuovi Punto BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Rimuovi Variabile" +msgstr "Rimuovi Triangolo BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." -msgstr "" +msgstr "BlendSpace2D non appartiene ad un nodo AnimationTree." #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "No triangles exist, so no blending can take place." -msgstr "" +msgstr "Non esistono triangoli, non può quindi aver luogo alcun blending." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Abilita AutoLoad Globals" +msgstr "Attiva Triangolazione Automatica" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." -msgstr "" +msgstr "Crea triangoli connettendo i punti." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Erase points and triangles." -msgstr "Elaborazione %d Triangoli:" +msgstr "Cancella punti e triangoli." #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Generate blend triangles automatically (instead of manually)" -msgstr "" +msgstr "Genera i tringoli di fusione automaticamente (anzichè manualmente)" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3862,9 +3803,8 @@ msgid "Blend:" msgstr "Blend:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Cambiamenti dei Materiali" +msgstr "Parametro Modificato" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3873,64 +3813,62 @@ msgstr "Modifica Filtri" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." -msgstr "" +msgstr "Il nodo di output non può essere aggiunto all'albero di fusione." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Aggiungi Nodo(i) Da Albero" +msgstr "Aggiungi Nodo al BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Modalità Movimento" +msgstr "Nodo Spostato" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Unable to connect, port may be in use or connection may be invalid." msgstr "" +"Impossibile connettersi, la porta potrebbe essere in uso o la connessione " +"potrebbe non essere valida." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Connesso" +msgstr "Nodi Collegati" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Disconnesso" +msgstr "Nodi Scollegati" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Animazione" +msgstr "Imposta Animazione" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Elimina Nodo(i)" +msgstr "Elimina Nodo" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Attiva/Disattiva la traccia." +msgstr "Attiva/Disattiva il Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Cambia tempo di Blend" +msgstr "Cambia Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." msgstr "" +"Nessun player per animazioni impostato, impossibile recuperare i nomi delle " +"tracce." #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Player path set is invalid, so unable to retrieve track names." msgstr "" +"Il percorso impostato per il player non è valido, impossibile recuperare i " +"nomi delle tracce." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp @@ -3938,29 +3876,27 @@ msgid "" "Animation player has no valid root node path, so unable to retrieve track " "names." msgstr "" +"Il player delle animazioni non ha un percorso valido verso il nodo radice, " +"impossibile recuperare i nomi delle tracce." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nome Nodo:" +msgstr "Nodo Rinominato" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node..." -msgstr "Aggiungi Nodo" +msgstr "Aggiungi Nodo..." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Edit Filtered Tracks:" -msgstr "Modifica Filtri" +msgstr "Modifica Tracce Filtrate:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Enable filtering" -msgstr "Figlio Modificabile" +msgstr "Abilita filtraggio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -3988,14 +3924,12 @@ msgid "Remove Animation" msgstr "Rimuovi Animazione" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Invalid animation name!" -msgstr "ERRORE: Nome animazione invalido!" +msgstr "Nome animazione non valido!" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Animation name already exists!" -msgstr "ERRORE: Il nome dell'animazione esiste già !" +msgstr "Nome animazione già esistente!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4019,14 +3953,12 @@ msgid "Duplicate Animation" msgstr "Duplica Animazione" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation to copy!" -msgstr "ERRORE: Nessuna animazione da copiare!" +msgstr "Nessuna animazione da copiare!" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation resource on clipboard!" -msgstr "ERRORE; Nessuna risorsa animazione nella clipboard!" +msgstr "Nessuna risorsa di animazione negli appunti!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -4037,9 +3969,8 @@ msgid "Paste Animation" msgstr "Incolla Animazione" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "No animation to edit!" -msgstr "ERRORE: Nessuna animazione da modificare!" +msgstr "Nessuna animazione da modificare!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" @@ -4084,14 +4015,12 @@ msgid "New" msgstr "Nuovo" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Edit Transitions..." -msgstr "Modifica Connessioni..." +msgstr "Modifica Transizioni..." #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Open in Inspector" -msgstr "Apri nell Editor" +msgstr "Apri nell'Inspector" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -4102,12 +4031,13 @@ msgid "Autoplay on Load" msgstr "Autoplay al Caricamento" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Onion Skinning" msgstr "Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "Attiva Onion Skinning" +msgstr "Abilita l'Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" @@ -4127,7 +4057,7 @@ msgstr "Profondità " #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "1 Passo" +msgstr "1 passo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" @@ -4139,7 +4069,7 @@ msgstr "3 passaggi" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "Solo Differenze" +msgstr "Solo le Differenze" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -4150,9 +4080,8 @@ msgid "Include Gizmos (3D)" msgstr "Includi Gizmo (3D)" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Pin AnimationPlayer" -msgstr "Incolla Animazione" +msgstr "Fissa AnimationPlayer" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -4183,14 +4112,12 @@ msgid "Cross-Animation Blend Times" msgstr "Tempi di Blend Cross-Animation" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Modalità Movimento" +msgstr "Sposta Nodo" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Aggiungi Traduzione" +msgstr "Aggiungi Transizione" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4198,48 +4125,44 @@ msgid "Add Node" msgstr "Aggiungi Nodo" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "End" -msgstr "Fine(i)" +msgstr "Fine" #: editor/plugins/animation_state_machine_editor.cpp msgid "Immediate" -msgstr "" +msgstr "Immediato" #: editor/plugins/animation_state_machine_editor.cpp msgid "Sync" -msgstr "" +msgstr "Sincronizza" #: editor/plugins/animation_state_machine_editor.cpp msgid "At End" -msgstr "" +msgstr "Alla Fine" #: editor/plugins/animation_state_machine_editor.cpp msgid "Travel" -msgstr "" +msgstr "Spostamento" #: editor/plugins/animation_state_machine_editor.cpp msgid "Start and end nodes are needed for a sub-transition." -msgstr "" +msgstr "Per una sotto-transizione sono necessari i nodi di inizio e fine." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "No playback resource set at path: %s." -msgstr "Non è nel percorso risorse." +msgstr "Nessuna risorsa di riproduzione impostata sul percorso: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Rimosso:" +msgstr "Nodo Rimosso" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Nodo Transizione" +msgstr "Transizione Rimossa" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Imposta Nodo di Partenza (Autoplay)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4247,34 +4170,35 @@ msgid "" "RMB to add new nodes.\n" "Shift+LMB to create connections." msgstr "" +"Seleziona e muovi i nodi.\n" +"Tasto destro del mouse per aggiungere nuovi nodi.\n" +"Shift+Tasto sinistro del mouse per creare connessioni." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Create new nodes." -msgstr "Crea Nuovo %s" +msgstr "Crea nuovi nodi." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Connect nodes." -msgstr "Connetti A Nodo:" +msgstr "Connetti nodi." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Remove selected node or transition." -msgstr "Rimuovi traccia selezionata." +msgstr "Rimuovi il nodo o la transizione selezionati." #: editor/plugins/animation_state_machine_editor.cpp msgid "Toggle autoplay this animation on start, restart or seek to zero." msgstr "" +"Attiva/disattiva la riproduzione automatica di questa animazione all'avvio, " +"riavvio, o il riavvolgimento a zero." #: editor/plugins/animation_state_machine_editor.cpp msgid "Set the end animation. This is useful for sub-transitions." -msgstr "" +msgstr "Assegna l'animazione finale. Questo è utile per le sotto-transizioni." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition: " -msgstr "Transizione" +msgstr "Transizione: " #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -4312,7 +4236,7 @@ msgstr "Restart Automatico:" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Restart (s):" -msgstr "Restart (s):" +msgstr "Riavvia (s):" #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Random Restart (s):" @@ -4468,14 +4392,12 @@ msgid "Asset Download Error:" msgstr "Errore di Download Asset:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading (%s / %s)..." -msgstr "Download in corso" +msgstr "Download in corso (%s / %s)..." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Downloading..." -msgstr "Download in corso" +msgstr "Download in corso..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving..." @@ -4502,14 +4424,12 @@ msgid "Download for this asset is already in progress!" msgstr "Il download per questo asset è già in corso!" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "First" -msgstr "primo" +msgstr "Primo" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Previous" -msgstr "Scheda precedente" +msgstr "Precedente" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Next" @@ -4517,7 +4437,7 @@ msgstr "Successivo" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Last" -msgstr "" +msgstr "Ultimo" #: editor/plugins/asset_library_editor_plugin.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp @@ -4645,44 +4565,40 @@ msgid "Create new horizontal and vertical guides" msgstr "Crea nuove guide orizzontali e verticali" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move pivot" -msgstr "Perno di Movimento" +msgstr "Sposta pivot" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotate CanvasItem" -msgstr "Modifica CanvasItem" +msgstr "Ruota CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move anchor" -msgstr "Azione di spostamento" +msgstr "Sposta punto di ancoraggio" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Resize CanvasItem" -msgstr "Modifica CanvasItem" +msgstr "Ridimensiona CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale CanvasItem" -msgstr "Modifica CanvasItem" +msgstr "Scala CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move CanvasItem" -msgstr "Modifica CanvasItem" +msgstr "Sposta CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Preset per i valori di ancoraggio e margini di un nodo Control." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" +"I figli dei contenitori hanno i loro valori di ancoraggio e margini " +"sovrascritti dai loro genitori." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4705,13 +4621,14 @@ msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." msgstr "" +"Attenzione: la posizione e le dimensioni dei figli di un contenitore sono " +"determinati solo dal loro genitore." #: 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 "Zoom Reset" +msgstr "Ripristino Zoom" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" @@ -4744,9 +4661,8 @@ msgid "Rotate Mode" msgstr "Modalità Rotazione" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Scale Mode" -msgstr "Modalità Scala (R)" +msgstr "Modalità Scala" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -4766,22 +4682,20 @@ msgid "Pan Mode" msgstr "Modalità di Pan" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggle snapping." -msgstr "Abilita snapping" +msgstr "Abilita snapping." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Snap" msgstr "Usa lo Snap" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snapping Options" -msgstr "Opzioni snapping" +msgstr "Opzioni di Snapping" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "Allinea alla griglia" +msgstr "Snap alla griglia" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" @@ -4802,7 +4716,7 @@ msgstr "Usa Pixel Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart snapping" -msgstr "Snap intelligente" +msgstr "Snapping intelligente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" @@ -4817,9 +4731,8 @@ msgid "Snap to node sides" msgstr "Snap sui lati del nodo" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to node center" -msgstr "Snap su ancora nodo" +msgstr "Snap al centro del nodo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" @@ -4848,9 +4761,8 @@ msgid "Restores the object's children's ability to be selected." msgstr "Ripristina l'abilità dei figli dell'oggetto di essere selezionati." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Skeleton Options" -msgstr "Scheletro..." +msgstr "Opzioni Scheletro" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" @@ -4866,12 +4778,11 @@ msgstr "Elimina Catena IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "Crea ossa personalizzate a partire da uno o più nodi" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Clear Custom Bones" -msgstr "Elimina Ossa" +msgstr "Cancella Ossa Personalizzate" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -4884,9 +4795,8 @@ msgid "Show Grid" msgstr "Mostra Griglia" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Show Helpers" -msgstr "Mostra Ossa" +msgstr "Mostra Guide" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Rulers" @@ -4906,7 +4816,7 @@ msgstr "Mostra Viewport" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" -msgstr "" +msgstr "Mostra Gruppo e Blocca Icone" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -4921,9 +4831,8 @@ msgid "Layout" msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Insert keys." -msgstr "Inserisci Keys" +msgstr "Inserisci chiavi." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -4980,9 +4889,8 @@ msgstr "" "Premi & Trascina + Alt : Cambia tipo del nodo" #: editor/plugins/collision_polygon_editor_plugin.cpp -#, fuzzy msgid "Create Polygon3D" -msgstr "Crea Poly" +msgstr "Crea Polygon3D" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly" @@ -4997,9 +4905,8 @@ msgid "Set Handle" msgstr "Imposta Maniglia" #: editor/plugins/cpu_particles_editor_plugin.cpp -#, fuzzy msgid "CPUParticles" -msgstr "Particelle" +msgstr "CPUParticles" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -5012,28 +4919,24 @@ msgid "Create Emission Points From Node" msgstr "Crea Punti Emissione Da Nodo" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Flat0" msgstr "Flat0" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Flat1" msgstr "Flat1" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease in" -msgstr "Ease In" +msgstr "Graduale in ingresso" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease out" -msgstr "Ease Out" +msgstr "Graduale in uscita" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "Graduale" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" @@ -5072,9 +4975,8 @@ msgid "Remove Curve Point" msgstr "Rimuovi Punto" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Toggle Curve Linear Tangent" -msgstr "Aziona Tangente di Curva Lineare" +msgstr "Abilita Tangente di Curva Lineare" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" @@ -5082,11 +4984,11 @@ msgstr "Tenere Premuto Shift per modificare le tangenti singolarmente" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "Cuoci GI Probe" +msgstr "Preprocessa GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Gradiente Modificato" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5137,7 +5039,6 @@ msgid "Contained Mesh is not of type ArrayMesh." msgstr "La Mesh contenuta non è del tipo ArrayMesh." #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "UV Unwrap failed, mesh may not be manifold?" msgstr "" "UV Unwrap fallito, la mesh potrebbe non essere congruente (non-manifold)?" @@ -5344,8 +5245,11 @@ msgid "Create Navigation Polygon" msgstr "Crea Poligono di Navigazione" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Generating Visibility Rect" +msgstr "Generazione del Rect di Visibilità " + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" msgstr "Genera Rect Visibilità " #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5363,10 +5267,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Nessun pixel con trasparenza >128 nell'immagine..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Genera Rect Visibilità " - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Carica Maschera Emissione" @@ -5376,9 +5276,8 @@ msgstr "Cancella Maschera Emissione" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Convert to CPUParticles" -msgstr "Converti In Maiuscolo" +msgstr "Converti in CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -5455,13 +5354,13 @@ msgid "Generating AABB" msgstr "Generando AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Genera AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Genera Visibilità AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Genera AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Rimuovi Punto da Curva" @@ -5480,9 +5379,8 @@ msgid "Add Point to Curve" msgstr "Aggiungi Punto a Curva" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Split Curve" -msgstr "Chiudi curva" +msgstr "Dividi Curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" @@ -5512,9 +5410,8 @@ msgid "Click: Add Point" msgstr "Click: Aggiungi Punto" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Left Click: Split Segment (in curve)" -msgstr "Spezza Segmento (in curva)" +msgstr "Click Sinistro: Dividi Segmento (in curva)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -5528,7 +5425,7 @@ msgstr "Seleziona Punti di Controllo (Shift+Trascina)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "Aggiungi Punto (in sapzio vuoto)" +msgstr "Aggiungi Punto (in spazio vuoto)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -5593,28 +5490,25 @@ msgid "Split Segment (in curve)" msgstr "Spezza Segmento (in curva)" #: editor/plugins/physical_bone_plugin.cpp -#, fuzzy msgid "Move joint" -msgstr "Sposta Punto" +msgstr "Sposta articolazione" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" -msgstr "" +msgstr "La proprietà scheletro del Polygon2D non punta ad un nodo Skeleton2D" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Sync Bones" -msgstr "Mostra Ossa" +msgstr "Sincronizza Ossa" #: 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 "" -"Nessuna texture in questo nodo.\n" -"Imposta una texture per poter modificare la regione." +"Nessuna texture in questo poligono.\n" +"Imposta una texture per poter modificare UV." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -5625,53 +5519,48 @@ msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." msgstr "" +"Polygon2D possiede vertici interni, non può più essere modificato dalla " +"finestra principale." #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Polygon & UV" -msgstr "Crea Poly" +msgstr "Crea Poligono e UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create Internal Vertex" -msgstr "Crea nuova guida orizzontale" +msgstr "Crea Vertice Interno" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Internal Vertex" -msgstr "Rimuovi Punto In-Control" +msgstr "Rimuovi Vertice Interno" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" +msgstr "Poligono Non Valido (sono necessari 3 vertici non coincidenti)" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Add Custom Polygon" -msgstr "Modifica Poly" +msgstr "Aggiungi Poligono Personalizzato" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Custom Polygon" -msgstr "Rimuovi Poligono e Punto" +msgstr "Rimuovi Poligono Personalizzato" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" msgstr "Trasla UV Map" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Transform Polygon" -msgstr "Tipo Transform" +msgstr "Trasforma Poligono" #: 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" +msgstr "Apri editor Poligono 2D UV." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" @@ -5679,27 +5568,23 @@ msgstr "Polygon 2D UV Editor" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV" -msgstr "" +msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Points" -msgstr "Sposta Punto" +msgstr "Punti" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Polygons" -msgstr "Poligono->UV" +msgstr "Poligoni" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Bones" -msgstr "Crea Ossa" +msgstr "Ossa" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Move Points" -msgstr "Sposta Punto" +msgstr "Sposta Punti" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" @@ -5728,24 +5613,30 @@ msgstr "Scala Poligono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create a custom polygon. Enables custom polygon rendering." msgstr "" +"Crea un poligono personalizzato. Abilita il rendering personalizzato dei " +"poligoni." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "Remove a custom polygon. If none remain, custom polygon rendering is " "disabled." msgstr "" +"Rimuove un poligono personalizzato. Se non ne rimane nessuno, il rendering " +"personalizzato dei poligoni è disabilitato." #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Paint weights with specified intensity." -msgstr "" +msgstr "Colora i pesi con le intensità specificate." #: editor/plugins/polygon_2d_editor_plugin.cpp +#, fuzzy msgid "Unpaint weights with specified intensity." -msgstr "" +msgstr "Rimuovi i pesi con le intensità specificate." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" -msgstr "" +msgstr "Raggio:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -5760,9 +5651,8 @@ msgid "Clear UV" msgstr "Cancella UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Settings" -msgstr "Impostazioni Snap" +msgstr "Impostazioni Griglia" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -5778,34 +5668,28 @@ msgid "Grid" msgstr "Griglia" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Configure Grid:" -msgstr "Configura Snap" +msgstr "Configura Griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Offset X:" -msgstr "Offset Griglia:" +msgstr "Offset X Griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Offset Y:" -msgstr "Offset Griglia:" +msgstr "Offset Y Griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Step X:" -msgstr "Step Griglia:" +msgstr "Step X Griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Step Y:" -msgstr "Step Griglia:" +msgstr "Step Y Griglia:" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Sync Bones to Polygon" -msgstr "Scala Poligono" +msgstr "Sincronizza Ossa a Poligono" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" @@ -5859,12 +5743,11 @@ msgstr "Preloader Risorsa" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" -msgstr "" +msgstr "AnimationTree non ha nessun percorso impostato ad un AnimationPlayer" #: editor/plugins/root_motion_editor_plugin.cpp -#, fuzzy msgid "Path to AnimationPlayer is invalid" -msgstr "Animation tree invalido." +msgstr "Percorso per AnimationPlayer non è valido" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" @@ -5875,59 +5758,48 @@ msgid "Close and save changes?" msgstr "Chiudere e salvare i cambiamenti?" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error writing TextFile:" -msgstr "Errore spostamento file:\n" +msgstr "Errore scrittura TextFile:" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error: could not load file." -msgstr "Impossibile caricare l'immagine" +msgstr "Errore: impossibile caricare il file." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error could not load file." -msgstr "Impossibile caricare l'immagine" +msgstr "Errore: impossibile caricare il file." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error saving file!" -msgstr "Errore di salvataggio TileSet!" +msgstr "Errore nel salvataggio file!" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error while saving theme." -msgstr "Errore durante il salvataggio del tema" +msgstr "Errore durante il salvataggio del tema." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Saving" -msgstr "Errore di salvataggio" +msgstr "Errore di Salvataggio" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing theme." -msgstr "Errore di importazione tema" +msgstr "Errore di importazione del tema." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Importing" -msgstr "Errore di importazione" +msgstr "Errore di Importazione" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "New TextFile..." -msgstr "Nuova Cartella..." +msgstr "Nuovo TextFile..." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Open File" -msgstr "Apri un File" +msgstr "Apri File" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save File As..." -msgstr "Salva Come..." +msgstr "Salva File Come..." #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" @@ -5951,12 +5823,11 @@ msgstr " Riferimento di Classe" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." -msgstr "" +msgstr "Ordina in ordine alfabetico la lista dei metodi." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Sort" -msgstr "Ordina:" +msgstr "Ordina" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp @@ -5983,9 +5854,8 @@ msgid "File" msgstr "File" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Open..." -msgstr "Apri" +msgstr "Apri..." #: editor/plugins/script_editor_plugin.cpp msgid "Save All" @@ -6000,13 +5870,12 @@ msgid "Copy Script Path" msgstr "Copia Percorso Script" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "History Previous" -msgstr "Cronologia Succ." +msgstr "Cronologia Precedente" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "Cronologia Prec." +msgstr "Cronologia Successiva" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp @@ -6014,9 +5883,8 @@ msgid "Theme" msgstr "Tema" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Import Theme..." -msgstr "Importa Tema" +msgstr "Importa Tema..." #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -6053,11 +5921,11 @@ msgstr "Trova Successivo" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "Step Over" +msgstr "Passo Successivo" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "Step Into" +msgstr "Passo Precedente" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" @@ -6073,15 +5941,22 @@ msgid "Keep Debugger Open" msgstr "Mantieni Debugger Aperto" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Debug with External Editor" -msgstr "Debug con editor esterno" +msgstr "Debug con Editor Esterno" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation" msgstr "Apri la documentazione online di Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Cerca Riferimenti nella documentazione." @@ -6118,37 +5993,32 @@ msgid "Debugger" msgstr "Debugger" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Search Results" -msgstr "Cerca Aiuto" +msgstr "Cerca Risultati" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Line" -msgstr "Riga:" +msgstr "Linea" #: editor/plugins/script_text_editor.cpp msgid "(ignore)" -msgstr "" +msgstr "(ignora)" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function" -msgstr "Vai a Funzione..." +msgstr "Vai a Funzione" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Standard" -msgstr "" +msgstr "Standard" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Only resources from filesystem can be dropped." -msgstr "Solo le risorse del filesystem possono essere liberate." +msgstr "Solo le risorse dal filesystem possono essere eliminate." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Lookup Symbol" -msgstr "Completa Simbolo" +msgstr "Ricerca Simbolo" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -6172,7 +6042,7 @@ msgstr "Aggiungi maiuscola iniziale" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" -msgstr "" +msgstr "Evidenziatore di Sintassi" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -6225,14 +6095,12 @@ msgid "Trim Trailing Whitespace" msgstr "Taglia Spazi in Coda" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert Indent to Spaces" -msgstr "Converti Indentazione In Spazi" +msgstr "Converti Indentazione in Spazi" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert Indent to Tabs" -msgstr "Converti Indentazione In Tabulazioni" +msgstr "Converti Indentazione in Tabulazioni" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" @@ -6248,12 +6116,10 @@ msgid "Remove All Breakpoints" msgstr "Rimuovi Tutti i Breakpoints" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Next Breakpoint" msgstr "Vai a Breakpoint Successivo" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Previous Breakpoint" msgstr "Vai a Breakpoint Precedente" @@ -6262,17 +6128,14 @@ msgid "Find Previous" msgstr "Trova Precedente" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Find in Files..." -msgstr "Filtra Files..." +msgstr "Cerca nei File..." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Function..." msgstr "Vai a Funzione..." #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Go to Line..." msgstr "Vai a Linea..." @@ -6286,49 +6149,43 @@ msgstr "Shader" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "This skeleton has no bones, create some children Bone2D nodes." -msgstr "" +msgstr "Questo scheletro non ha ossa, crea dei figli nodo Bone2D." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Crea Punti Emissione Da Mesh" +msgstr "Crea Posizione di Riposo dalle Ossa" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Rest Pose to Bones" -msgstr "" +msgstr "Imposta Ossa in Posizione di Riposo" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Skeleton2D" -msgstr "Scheletro..." +msgstr "Skeleton2D" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Make Rest Pose (From Bones)" -msgstr "" +msgstr "Crea Posizione di Riposo (Dalle Ossa)" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Bones to Rest Pose" -msgstr "" +msgstr "Imposta Ossa in Posizione di Riposo" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Create physical bones" -msgstr "Crea Mesh di Navigazione" +msgstr "Crea ossa fisiche" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Skeleton" -msgstr "Scheletro..." +msgstr "Scheletro" #: editor/plugins/skeleton_editor_plugin.cpp -#, fuzzy msgid "Create physical skeleton" -msgstr "Crea Outline" +msgstr "Crea scheletro fisico" #: editor/plugins/skeleton_ik_editor_plugin.cpp -#, fuzzy msgid "Play IK" -msgstr "Play" +msgstr "Riproduci IK" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" @@ -6359,9 +6216,8 @@ msgid "View Plane Transform." msgstr "Visualizza Tranform del Piano." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Scaling: " -msgstr "Scala: " +msgstr "Scalatura: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " @@ -6381,7 +6237,7 @@ msgstr "Key d'Animazione Inserito." #: editor/plugins/spatial_editor_plugin.cpp msgid "Pitch" -msgstr "Pitch" +msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw" @@ -6456,9 +6312,8 @@ msgid "Rear" msgstr "Retro" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Allinea a vista" +msgstr "Allinea alla Vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6469,9 +6324,8 @@ msgid "This operation requires a single selected node." msgstr "Questa operazione richiede un solo nodo selezionato." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Lock View Rotation" -msgstr "Visualizza Informazioni" +msgstr "Blocca Rotazione Vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -6511,16 +6365,15 @@ msgstr "Risoluzione Dimezzata" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "Audio Listener" +msgstr "Listener Audio" #: editor/plugins/spatial_editor_plugin.cpp msgid "Doppler Enable" msgstr "Abilita Doppler" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Cinematic Preview" -msgstr "Creazione Anteprime Mesh" +msgstr "Anteprima Cinematografica" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" @@ -6555,26 +6408,28 @@ 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 "" +"Nota: Il valore di FPS mostrato è relativo al framerate dell'editor.\n" +"Non può essere usato come indicatore affidabile delle performance durante il " +"gioco." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Rotation Locked" -msgstr "Visualizza Informazioni" +msgstr "Rotazione Vista Bloccata" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" msgstr "Finestra di XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Allinea alla griglia" +msgstr "Sposta i Nodi sul Pavimento" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" msgstr "Modalità di Selezione (Q)" #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "" "Drag: Rotate\n" "Alt+Drag: Move\n" @@ -6582,7 +6437,7 @@ msgid "" msgstr "" "Trascina: Ruota\n" "Alt+Trascina: Muovi\n" -"Alt+RMB: Selezione Lista Profondità " +"Alt+PDM: Selezione Lista Profondità " #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" @@ -6674,11 +6529,11 @@ msgstr "Abilita/Disabilita Vista libera" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform" -msgstr "Transform" +msgstr "Trasforma" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap object to floor" -msgstr "" +msgstr "Posa l'oggetto sul suolo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." @@ -6709,9 +6564,8 @@ msgid "4 Viewports" msgstr "4 Viste" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Gizmos" -msgstr "Visualizza Gizmos" +msgstr "Gizmos" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -6788,54 +6642,49 @@ msgstr "Post" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "" +msgstr "Gizmo senza nome" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Sprite is empty!" -msgstr "Il percorso di salvataggio è vuoto!" +msgstr "Lo sprite è vuoto!" #: editor/plugins/sprite_editor_plugin.cpp msgid "Can't convert a sprite using animation frames to mesh." msgstr "" +"Impossibile convertire in una mesh uno sprite che utilizza frame di " +"animazione." #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't replace by mesh." -msgstr "" +msgstr "Geometria non valida, impossibile sostituirla con una mesh." #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Sprite" -msgstr "Sprite Frames" +msgstr "Sprite" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Convert to 2D Mesh" -msgstr "Converti In..." +msgstr "Converti in Mesh 2D" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Create 2D Mesh" -msgstr "Crea Mesh di Outline" +msgstr "Crea Mesh 2D" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " -msgstr "" +msgstr "Semplificazione: " #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Grow (Pixels): " -msgstr "Snap (Pixels):" +msgstr "Aumento (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Update Preview" -msgstr "Anteprima Atlas" +msgstr "Aggiorna Anteprima" #: editor/plugins/sprite_editor_plugin.cpp -#, fuzzy msgid "Settings:" -msgstr "Impostazioni" +msgstr "Impostazioni:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" @@ -6866,14 +6715,12 @@ msgid "(empty)" msgstr "(vuoto)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animazioni" +msgstr "Animazioni:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animazione" +msgstr "Nuova Animazione" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6884,9 +6731,8 @@ msgid "Loop" msgstr "Loop" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Frames Animazione" +msgstr "Frame Animazione:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -6913,9 +6759,8 @@ msgid "Set Region Rect" msgstr "Imposta Region Rect" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Set Margin" -msgstr "Imposta Maniglia" +msgstr "Imposta Margine" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" @@ -6923,9 +6768,8 @@ msgstr "Modalità Snap:" #: editor/plugins/texture_region_editor_plugin.cpp #: scene/resources/visual_shader.cpp -#, fuzzy msgid "None" -msgstr "<Nessuno>" +msgstr "Nessuno" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" @@ -6949,12 +6793,11 @@ msgstr "Step:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" -msgstr "" +msgstr "Sep.:" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "TextureRegion" -msgstr "Regione Texture" +msgstr "TextureRegion" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -6974,7 +6817,7 @@ msgstr "Rimuovi tutti gli elementi" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All" -msgstr "Rimuovi tutto" +msgstr "Rimuovi Tutto" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme..." @@ -7041,9 +6884,8 @@ msgid "Many" msgstr "Molte" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Has,Many,Options" -msgstr "Ha, Molte, Diverse, Opzioni!" +msgstr "Ha,Molte,Opzioni" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" @@ -7082,19 +6924,16 @@ msgid "Constant" msgstr "Costante" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Erase Selection" -msgstr "Cancella selezione" +msgstr "Cancella Selezione" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Fix Invalid Tiles" -msgstr "Nome Invalido." +msgstr "Correggi le Tile non Valide" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Cut Selection" -msgstr "Centra Selezione" +msgstr "Taglia Selezione" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" @@ -7106,21 +6945,19 @@ msgstr "Disegna Linea" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Riempi Rettangolo" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Bucket Fill" -msgstr "Secchiello" +msgstr "Riempimento" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" msgstr "Cancella TileMap" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Find Tile" -msgstr "Trova tile" +msgstr "Trova Tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" @@ -7143,42 +6980,36 @@ msgid "Pick Tile" msgstr "Preleva Tile" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Copy Selection" -msgstr "Rimuovi Selezione" +msgstr "Copia Selezione" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Rotate left" -msgstr "Modalità Rotazione" +msgstr "Ruota a sinistra" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Rotate right" -msgstr "Sposta a Destra" +msgstr "Ruota a destra" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Flip horizontally" -msgstr "" +msgstr "Ribalta in orizzontale" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Flip vertically" -msgstr "" +msgstr "Ribalta in verticale" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Clear transform" -msgstr "Transform" +msgstr "Cancella la trasformazione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Add Texture(s) to TileSet." -msgstr "Aggiungi Nodo(i) Da Albero" +msgstr "Aggiungi Texture al TileSet." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected Texture from TileSet." -msgstr "Rimuovi Punto Percorso" +msgstr "Rimuovi la Texture selezionata dal TileSet." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -7189,28 +7020,40 @@ msgid "Merge from Scene" msgstr "Unisci da Scena" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "Prossima Coordinata" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Seleziona la prossima forma, sottotile, o Tile." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Coordinata Precedente" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Seleziona la precedente forma, sottotile, o Tile." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." -msgstr "" +msgstr "Copia bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste bitmask." -msgstr "Incolla Animazione" +msgstr "Incolla bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Erase bitmask." -msgstr "RMB: Elimina Punto." +msgstr "Cancella bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Crea Nuovo %s" +msgstr "Crea un nuovo rettangolo." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new polygon." -msgstr "Crea un nuovo poligono dal nulla." +msgstr "Crea un nuovo poligono." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." @@ -7218,37 +7061,39 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Enable snap and show grid (configurable via the Inspector)." -msgstr "" +msgstr "Abilita snap e mostra la griglia (configurabile dall'Inspector)." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Display Tile Names (Hold Alt Key)" -msgstr "" +msgstr "Mostra i Nomi delle Tile (Tenere Premuto Tasto Alt)" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "Rimuovi Punto Percorso" +msgstr "" +"Rimuovere la texture selezionata? Questo rimuoverà tutte le tile che la " +"usano." #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." -msgstr "Non hai selezionato una texture da rimuovere." +msgstr "Non hai selezionato nessuna texture da rimuovere." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." -msgstr "" +msgstr "Creare dalla scena? Questo sovrascriverà tutte le tile correnti." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" msgstr "Unisci da scena?" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Texture" -msgstr "Rimuovi Template" +msgstr "Rimuovi Texture" #: editor/plugins/tile_set_editor_plugin.cpp msgid "%s file(s) were not added because was already on the list." msgstr "" +"Il(I) file %s non è(sono) stato(i) aggiunto(i) perché è già presente già " +"nella lista." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -7259,27 +7104,29 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Delete selected Rect." -msgstr "Eliminare i file selezionati?" +msgstr "Cancella il ret. selezionato." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "Select current edited sub-tile.\n" "Click on another Tile to edit it." -msgstr "Salva la risorsa in modifica." +msgstr "" +"Seleziona la sottotile corrente modificata.\n" +"Clicca su un'altra Tile per modificarla." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete polygon." -msgstr "Elimina Punti" +msgstr "Elimina poligono." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "LMB: Set bit on.\n" "RMB: Set bit off.\n" "Click on another Tile to edit it." -msgstr "Salva la risorsa in modifica." +msgstr "" +"Tasto Sinistro Mouse: Imposta bit on.\n" +"Tasto Destro Mouse: Imposta bit off.\n" +"Clicca su un'altra Tile per modificarla." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -7287,172 +7134,161 @@ msgid "" "bindings.\n" "Click on another Tile to edit it." msgstr "" +"Selezionare la sottotile da usare come icona, questa sarà utilizzata anche " +"per i binding delle sottotile non validi.\n" +"Cliccare su un'altra Tile per modificarla." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" "Select sub-tile to change its priority.\n" "Click on another Tile to edit it." msgstr "" +"Seleziona la sottotile per modificare la sua priorità .\n" +"Clicca su un'altra Tile per modificarla." #: 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 "Salva la risorsa in modifica." +msgstr "" +"Seleziona la sottotile per cambiare il suo indice z.\n" +"Clicca su un'altra Tile per modificarla." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Set Tile Region" -msgstr "Imposta Region Rect" +msgstr "Imposta Regione Tile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Tile" -msgstr "Crea Cartella" +msgstr "Crea Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "" +msgstr "Imposta Icona Tile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Bitmask" -msgstr "Modifica Filtri" +msgstr "Modifica Bitmask Tile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Collision Polygon" -msgstr "Modifica poligono esistente:" +msgstr "Modifica Poligono di Collisione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Occlusion Polygon" -msgstr "Modifica Poly" +msgstr "Modifica Poligono di Occlusione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Navigation Polygon" -msgstr "Crea Poligono di Navigazione" +msgstr "Modifica Poligono di Navigazione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste Tile Bitmask" -msgstr "Incolla Animazione" +msgstr "Incolla Bitmask Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "" +msgstr "Cancella Bitmask Tile" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Rendi il Poligono Concavo" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Rendi il Poligono Convesso" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Tile" -msgstr "Rimuovi Template" +msgstr "Rimuovi Tile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Collision Polygon" -msgstr "Rimuovi Poligono e Punto" +msgstr "Rimuovi Poligono di Collisione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Occlusion Polygon" -msgstr "Crea Poligono di occlusione" +msgstr "Rimuovi Poligono di Occlusione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Navigation Polygon" -msgstr "Crea Poligono di Navigazione" +msgstr "Rimuovi Poligono di Navigazione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Priority" -msgstr "Modifica Filtri" +msgstr "Modifica Priorità Tile" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" -msgstr "" +msgstr "Modifica Indice Z della Tile" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Collision Polygon" -msgstr "Crea Poligono di Navigazione" +msgstr "Crea Poligono di Collisione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Occlusion Polygon" -msgstr "Crea Poligono di occlusione" +msgstr "Crea Poligono di Occlusione" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "This property can't be changed." -msgstr "Questa operazione non può essere eseguita senza una scena." +msgstr "Questa proprietà non può essere cambiata." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "TileSet" msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Imposta Nome Uniforme" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Imposta come Default per '%s'" +msgstr "Imposta Porta Input di Default" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "Shader" +msgstr "Aggiungi Nodo a Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Duplica Nodo(i)" +msgstr "Duplica Nodi" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Tipo di Input Visual Shader Cambiato" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Vertex" -msgstr "Vertici" +msgstr "Vertice" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Fragment" msgstr "Frammento" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Light" -msgstr "Destra" +msgstr "Luce" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "VisualShader" -msgstr "Shader" +msgstr "VisualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Modifica Filtri" +msgstr "Modifica Proprietà Visive" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Cambiamenti delle Shader" +msgstr "Modalità Visual Shader Cambiata" #: editor/project_export.cpp msgid "Runnable" msgstr "Eseguibile" #: editor/project_export.cpp -#, fuzzy msgid "Delete patch '%s' from list?" -msgstr "Elimina patch '" +msgstr "Eliminare patch '%s' dalla lista?" #: editor/project_export.cpp msgid "Delete preset '%s'?" @@ -7463,6 +7299,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Impossibile esportare il progetto per la piattaforma '%s'.\n" +"I template di esportazione sembrano essere mancanti o non validi." #: editor/project_export.cpp msgid "" @@ -7470,21 +7308,26 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Impossibile esportare il progetto per la piattaforma '%s'.\n" +"Questo potrebbe essere dovuto ad un problema di configurazione nel preset di " +"esportazione o nelle impostazioni di esportazione." #: editor/project_export.cpp -#, fuzzy msgid "Release" -msgstr "appena rilasciato" +msgstr "Rilascio" #: editor/project_export.cpp -#, fuzzy msgid "Exporting All" -msgstr "Esportando per %s" +msgstr "Esportando Tutto" + +#: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "Il percorso di esportazione specificato non esiste:" #: editor/project_export.cpp -#, fuzzy msgid "Export templates for this platform are missing/corrupted:" -msgstr "Le export templates per questa piattaforma sono mancanti:" +msgstr "" +"I template di esportazione per questa piattaforma sono mancanti/corrotti:" #: editor/project_export.cpp msgid "Presets" @@ -7495,9 +7338,8 @@ msgid "Add..." msgstr "Aggiungi..." #: editor/project_export.cpp -#, fuzzy msgid "Export Path" -msgstr "Preset Esportazione:" +msgstr "Percorso di Esportazione" #: editor/project_export.cpp msgid "Resources" @@ -7546,23 +7388,20 @@ msgid "Make Patch" msgstr "Crea Patch" #: editor/project_export.cpp -#, fuzzy msgid "Features" -msgstr "Texture" +msgstr "Funzionalità " #: editor/project_export.cpp msgid "Custom (comma-separated):" msgstr "Personalizzato (separati da virgola):" #: editor/project_export.cpp -#, fuzzy msgid "Feature List:" -msgstr "Lista Metodi:" +msgstr "Lista di Funzionalità :" #: editor/project_export.cpp -#, fuzzy msgid "Script" -msgstr "Nuovo Script" +msgstr "Script" #: editor/project_export.cpp msgid "Script Export Mode:" @@ -7582,7 +7421,7 @@ msgstr "Criptato (Fornisci la Chiave Sotto)" #: editor/project_export.cpp msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "" +msgstr "Chiave Crittografica non Valida (deve essere lunga 64 caratteri)" #: editor/project_export.cpp msgid "Script Encryption Key (256-bits as hex):" @@ -7593,14 +7432,12 @@ msgid "Export PCK/Zip" msgstr "Esporta PCK/Zip" #: editor/project_export.cpp -#, fuzzy msgid "Export mode?" -msgstr "Modalità d'Esportazione:" +msgstr "Modalità di esportazione?" #: editor/project_export.cpp -#, fuzzy msgid "Export All" -msgstr "Esporta" +msgstr "Esporta Tutto" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" @@ -7611,47 +7448,41 @@ msgid "Export With Debug" msgstr "Esporta Con Debug" #: editor/project_manager.cpp -#, fuzzy msgid "The path does not exist." -msgstr "File non esistente." +msgstr "Percorso non esistente." #: editor/project_manager.cpp -#, fuzzy msgid "Invalid '.zip' project file, does not contain a 'project.godot' file." msgstr "" -"Per favore seleziona una cartella che non contiene un file 'project.godot'." +"File di progetto '.zip' non valido, non contiene un file 'project.godot'." #: editor/project_manager.cpp -#, fuzzy msgid "Please choose an empty folder." -msgstr "Si prega di esportare al di fuori della cartella del progetto!" +msgstr "Si prega di scegliere una cartella vuota." #: editor/project_manager.cpp -#, fuzzy msgid "Please choose a 'project.godot' or '.zip' file." -msgstr "Si prega di esportare al di fuori della cartella del progetto!" +msgstr "Si prega di scegliere un file 'project.godot' o '.zip'." #: editor/project_manager.cpp msgid "Directory already contains a Godot project." -msgstr "" +msgstr "La Cartella contiene già un progetto di Godot." #: editor/project_manager.cpp msgid "Imported Project" msgstr "Progetto Importato" #: editor/project_manager.cpp -#, fuzzy msgid "Invalid Project Name." -msgstr "Nome Progetto:" +msgstr "Nome Progetto non Valido." #: editor/project_manager.cpp -#, fuzzy msgid "Couldn't create folder." -msgstr "Impossibile creare cartella." +msgstr "Impossibile creare la cartella." #: editor/project_manager.cpp msgid "There is already a folder in this path with the specified name." -msgstr "" +msgstr "Esiste già una cartella in questo percorso con il nome specificato." #: editor/project_manager.cpp msgid "It would be a good idea to name your project." @@ -7662,16 +7493,16 @@ msgid "Invalid project path (changed anything?)." msgstr "Percorso di progetto invalido (cambiato qualcosa?)." #: editor/project_manager.cpp -#, fuzzy msgid "" "Couldn't load project.godot in project path (error %d). It may be missing or " "corrupted." -msgstr "Impossibile creare project.godot nel percorso di progetto." +msgstr "" +"Impossibile caricare project.godot nel percorso del progetto (errore %d). " +"Può essere mancante o corrotto." #: editor/project_manager.cpp -#, fuzzy msgid "Couldn't edit project.godot in project path." -msgstr "Impossibile creare project.godot nel percorso di progetto." +msgstr "Impossibile modificare project.godot nel percorso di progetto." #: editor/project_manager.cpp msgid "Couldn't create project.godot in project path." @@ -7682,9 +7513,8 @@ msgid "The following files failed extraction from package:" msgstr "Impossibile estrarre i file seguenti dal pacchetto:" #: editor/project_manager.cpp -#, fuzzy msgid "Rename Project" -msgstr "Progetto Senza Nome" +msgstr "Rinomina progetto" #: editor/project_manager.cpp msgid "New Game Project" @@ -7695,34 +7525,30 @@ msgid "Import Existing Project" msgstr "Importa Progetto Esistente" #: editor/project_manager.cpp -#, fuzzy msgid "Import & Edit" -msgstr "Importa e Apri" +msgstr "Importa & Modifica" #: editor/project_manager.cpp msgid "Create New Project" msgstr "Crea Nuovo Progetto" #: editor/project_manager.cpp -#, fuzzy msgid "Create & Edit" -msgstr "Crea Emitter" +msgstr "Crea & Modifica" #: editor/project_manager.cpp msgid "Install Project:" msgstr "Installa Progetto:" #: editor/project_manager.cpp -#, fuzzy msgid "Install & Edit" -msgstr "Installa" +msgstr "Installa & Modifica" #: editor/project_manager.cpp msgid "Project Name:" msgstr "Nome Progetto:" #: editor/project_manager.cpp -#, fuzzy msgid "Create folder" msgstr "Crea Cartella" @@ -7731,9 +7557,8 @@ msgid "Project Path:" msgstr "Percorso Progetto:" #: editor/project_manager.cpp -#, fuzzy msgid "Project Installation Path:" -msgstr "Percorso Progetto:" +msgstr "Percorso Progetto di Installazione:" #: editor/project_manager.cpp msgid "Browse" @@ -7741,11 +7566,11 @@ msgstr "Sfoglia" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "Renderer:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp msgid "" @@ -7754,10 +7579,14 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"Qualità visiva migliore\n" +"Tutte le funzionalità disponibili\n" +"Incompatibile con vecchi hardware\n" +"Non consigliato per giochi web" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7766,19 +7595,24 @@ msgid "" "Works on most hardware\n" "Recommended for web games" msgstr "" +"Qualità visiva inferiore\n" +"Alcune funzionalità non disponibili\n" +"Funziona sulla maggior parte degli hardware\n" +"Raccomandato per giochi web" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." msgstr "" +"Il renderer può essere cambiato in seguito, ma potrebbe essere necessario " +"regolare le scene." #: editor/project_manager.cpp msgid "Unnamed Project" msgstr "Progetto Senza Nome" #: editor/project_manager.cpp -#, fuzzy msgid "Can't open project at '%s'." -msgstr "Impossibile connettersi." +msgstr "Impossibile aprire il progetto a '%s'." #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" @@ -7796,6 +7630,15 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"Il seguente file delle impostazioni del progetto non specifica la versione " +"di Godot attraverso cui è stato creato.\n" +"\n" +"%s\n" +"\n" +"Se si procede con l'apertura, verrà convertito nel formato di file di " +"configurazione corrente di Godot.\n" +"Attenzione: Non sarà più possibile aprire il progetto con versioni " +"precedenti del motore." #: editor/project_manager.cpp msgid "" @@ -7808,23 +7651,33 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"Il seguente file delle impostazioni del progetto è stato generato da una " +"versione precedente del motore e deve essere convertito per questa " +"versione:\n" +"\n" +"%s\n" +"\n" +"Vuoi convertirlo?\n" +"Attenzione: Non sarà più possibile aprire il progetto con versioni " +"precedenti del motore." #: editor/project_manager.cpp msgid "" "The project settings were created by a newer engine version, whose settings " "are not compatible with this version." msgstr "" +"Le impostazioni del progetto sono state create da una versione più recente " +"del motore, le cui impostazioni non sono compatibili con questa versione." #: editor/project_manager.cpp -#, fuzzy msgid "" "Can't run project: no main scene defined.\n" "Please edit the project and set the main scene in \"Project Settings\" under " "the \"Application\" category." msgstr "" -"Nessuna scena principale è stata definita, selezionarne una?\n" -"Puoi cambiarla successivamente da \"Impostazioni Progetto\" sotto la " -"categoria 'applicazioni'." +"Non è possibile eseguire il progetto: nessuna scena principale definita.\n" +"Si prega di modificare il progetto e impostare la scena principale in " +"\"Impostazioni Progetto\" nella categoria \"Applicazione\"." #: editor/project_manager.cpp msgid "" @@ -7888,23 +7741,20 @@ msgid "Exit" msgstr "Esci" #: editor/project_manager.cpp -#, fuzzy msgid "Restart Now" -msgstr "Restart (s):" +msgstr "Riavvia Ora" #: editor/project_manager.cpp -#, fuzzy msgid "Can't run project" -msgstr "Impossibile connettersi." +msgstr "Impossibile eseguire il progetto" #: editor/project_manager.cpp -#, fuzzy msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" "Al momento non hai alcun progetto.\n" -"Ti piacerebbe esplorare gli esempi ufficiali nella libreria delle Risorse?" +"Ti piacerebbe esplorare gli esempi ufficiali nella Libreria delle Risorse?" #: editor/project_settings_editor.cpp msgid "Key " @@ -7927,6 +7777,8 @@ msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" +"Nome dell'azione non valido. Non può essere vuoto o contenere '/', ':', '=', " +"'\\' oppure '\"'" #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" @@ -7937,18 +7789,16 @@ msgid "Rename Input Action Event" msgstr "Rinomina Evento di Azione Input" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Change Action deadzone" -msgstr "Cambia Nome Animazione:" +msgstr "" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" msgstr "Aggiungi Evento di Azione Input" #: editor/project_settings_editor.cpp -#, fuzzy msgid "All Devices" -msgstr "Dispositivo" +msgstr "Tutti i Dispositivi" #: editor/project_settings_editor.cpp msgid "Device" @@ -7995,24 +7845,20 @@ msgid "Wheel Down Button" msgstr "Pulsante Rotellina Giù" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Wheel Left Button" -msgstr "Pulsante Rotellina Su" +msgstr "Pulsante Sinistro della Rotellina" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Wheel Right Button" -msgstr "Pulsante Destro" +msgstr "Pulsante Destro della Rotellina" #: editor/project_settings_editor.cpp -#, fuzzy msgid "X Button 1" -msgstr "Pulsante 6" +msgstr "Tasto X 1" #: editor/project_settings_editor.cpp -#, fuzzy msgid "X Button 2" -msgstr "Pulsante 6" +msgstr "Tasto X 2" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" @@ -8027,9 +7873,8 @@ msgid "Joypad Button Index:" msgstr "Indice Pulsante Joypad:" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Erase Input Action" -msgstr "Elimina Evento di Azione Input" +msgstr "Cancella Azione di Input" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -8041,7 +7886,7 @@ msgstr "Aggiungi Evento" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "Bottone" +msgstr "Pulsante" #: editor/project_settings_editor.cpp msgid "Left Button." @@ -8064,38 +7909,36 @@ msgid "Wheel Down." msgstr "Rotellina Giù." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add Global Property" -msgstr "Aggiungi Proprietà Getter" +msgstr "Aggiungi Proprietà Globale" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" msgstr "Prima seleziona un oggetto di impostazione!" #: editor/project_settings_editor.cpp -#, fuzzy msgid "No property '%s' exists." -msgstr "Proprietà :" +msgstr "Non esiste nessuna proprietà '%s'." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." msgstr "L'impostazione '%s' è interna e non può essere rimossa." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Delete Item" -msgstr "Elimina Input" +msgstr "Elimina Elemento" #: editor/project_settings_editor.cpp msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." msgstr "" +"Nome azione non valida. Non può essere vuoto né contenere '/', ':', '=', " +"'\\' o '\"'." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Already existing" -msgstr "Attiva Persistenza" +msgstr "Già esistente" #: editor/project_settings_editor.cpp msgid "Add Input Action" @@ -8142,9 +7985,8 @@ msgid "Remove Resource Remap Option" msgstr "Rimuovi Opzione di Remap Rimorse" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Changed Locale Filter" -msgstr "Cambia tempo di Blend" +msgstr "" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" @@ -8164,7 +8006,7 @@ msgstr "Sovrascrivi Per..." #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Editor must be restarted for changes to take effect" -msgstr "" +msgstr "Per rendere effettive le modifiche è necessario un riavvio dell'editor" #: editor/project_settings_editor.cpp msgid "Input Map" @@ -8219,28 +8061,24 @@ msgid "Locale" msgstr "Locale" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Locales Filter" -msgstr "Filtro Immagine:" +msgstr "" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show all locales" -msgstr "Mostra Ossa" +msgstr "Mostra tutte le lingue" #: editor/project_settings_editor.cpp msgid "Show only selected locales" msgstr "Mostra solo le lingue selezionate" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Filter mode:" -msgstr "Filtri" +msgstr "Modalità di filtro:" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Locales:" -msgstr "Locale" +msgstr "Lingue:" #: editor/project_settings_editor.cpp msgid "AutoLoad" @@ -8279,9 +8117,8 @@ msgid "Assign" msgstr "Assegna" #: editor/property_editor.cpp -#, fuzzy msgid "Select Node" -msgstr "Scegli un Nodo" +msgstr "Seleziona Nodo" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" @@ -8300,9 +8137,8 @@ msgid "Select Property" msgstr "Seleziona Proprietà " #: editor/property_selector.cpp -#, fuzzy msgid "Select Virtual Method" -msgstr "Seleziona Metodo" +msgstr "Seleziona il Metodo Virtuale" #: editor/property_selector.cpp msgid "Select Method" @@ -8317,97 +8153,92 @@ msgid "Can't load back converted image using PVRTC tool:" msgstr "Impossibile ricaricare l'immagine convertita usando il tool PVRTC:" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "Batch Rename" -msgstr "Rinomina" +msgstr "Rinomina in Blocco" #: editor/rename_dialog.cpp msgid "Prefix" -msgstr "" +msgstr "Prefisso" #: editor/rename_dialog.cpp msgid "Suffix" -msgstr "" +msgstr "Suffisso" #: editor/rename_dialog.cpp -#, fuzzy msgid "Advanced options" -msgstr "Opzioni snapping" +msgstr "Opzioni avanzate" #: editor/rename_dialog.cpp msgid "Substitute" -msgstr "" +msgstr "Sostituto" #: editor/rename_dialog.cpp -#, fuzzy msgid "Node name" -msgstr "Nome Nodo:" +msgstr "Nome nodo" #: editor/rename_dialog.cpp msgid "Node's parent name, if available" -msgstr "" +msgstr "Nome del genitore del Nodo, se disponibile" #: editor/rename_dialog.cpp -#, fuzzy msgid "Node type" -msgstr "Trova Tipo Nodo" +msgstr "Tipo di nodo" #: editor/rename_dialog.cpp -#, fuzzy msgid "Current scene name" -msgstr "Scena Corrente" +msgstr "Nome della scena corrente" #: editor/rename_dialog.cpp -#, fuzzy msgid "Root node name" -msgstr "Nome Nodo di Root:" +msgstr "Nome del nodo radice" #: editor/rename_dialog.cpp msgid "" "Sequential integer counter.\n" "Compare counter options." msgstr "" +"Contatore di numeri interi sequenziale.\n" +"Confronta le opzioni del contatore." #: editor/rename_dialog.cpp msgid "Per Level counter" -msgstr "" +msgstr "Contatore per Livello" #: editor/rename_dialog.cpp msgid "If set the counter restarts for each group of child nodes" -msgstr "" +msgstr "Se impostato, il contatore si riavvia per ogni gruppo di nodi figlio" #: editor/rename_dialog.cpp msgid "Initial value for the counter" -msgstr "" +msgstr "Valore iniziale per il contatore" #: editor/rename_dialog.cpp -#, fuzzy msgid "Step" -msgstr "Step:" +msgstr "Passo" #: editor/rename_dialog.cpp msgid "Amount by which counter is incremented for each node" -msgstr "" +msgstr "Importo di cui il contatore viene incrementato per ogni nodo" #: 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 "" +"Numero minimo di cifre per il contatore.\n" +"La cifre mancanti vengono riempite con zeri iniziali." #: editor/rename_dialog.cpp -#, fuzzy msgid "Regular Expressions" -msgstr "Cambia Espressione" +msgstr "Espressioni Regolari" #: editor/rename_dialog.cpp -#, fuzzy msgid "Post-Process" -msgstr "Script di Post-Process:" +msgstr "Post-Processo" #: editor/rename_dialog.cpp msgid "Keep" @@ -8415,30 +8246,27 @@ msgstr "Mantieni" #: editor/rename_dialog.cpp msgid "CamelCase to under_scored" -msgstr "" +msgstr "CamelCase a under_score" #: editor/rename_dialog.cpp msgid "under_scored to CamelCase" -msgstr "" +msgstr "under_score a CamelCase" #: editor/rename_dialog.cpp msgid "Case" -msgstr "" +msgstr "Caso" #: editor/rename_dialog.cpp -#, fuzzy msgid "To Lowercase" -msgstr "Minuscolo" +msgstr "In Minuscolo" #: editor/rename_dialog.cpp -#, fuzzy msgid "To Uppercase" -msgstr "Maiuscolo" +msgstr "In Maiuscolo" #: editor/rename_dialog.cpp -#, fuzzy msgid "Reset" -msgstr "Resetta Zoom" +msgstr "Reset" #: editor/rename_dialog.cpp msgid "Error" @@ -8527,19 +8355,20 @@ msgstr "Duplica Nodo(i)" #: editor/scene_tree_dock.cpp msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." msgstr "" +"Non è possibile riparentare i nodi nelle scene ereditate, l'ordine dei nodi " +"non può cambiare." #: editor/scene_tree_dock.cpp msgid "Node must belong to the edited scene to become root." -msgstr "" +msgstr "Il nodo deve appartenere alla scena modificata per diventare radice." #: editor/scene_tree_dock.cpp msgid "Instantiated scenes can't become root" -msgstr "" +msgstr "Le scene istanziate non possono diventare radice" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Nuova Scena di Root" +msgstr "Rendi il nodo come Radice" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8562,6 +8391,8 @@ msgid "" "Disabling \"editable_instance\" will cause all properties of the node to be " "reverted to their default." msgstr "" +"Disabilitando \"editable_instance\" tutte le proprietà del nodo saranno " +"riportate al loro valore predefinito." #: editor/scene_tree_dock.cpp msgid "Editable Children" @@ -8576,34 +8407,28 @@ msgid "Make Local" msgstr "Rendi Locale" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Nuova Scena di Root" +msgstr "Nuova Scena Radice" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Create Root Node:" -msgstr "Crea Nodo" +msgstr "Crea Nodo Radice:" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "2D Scene" -msgstr "Scena" +msgstr "Scena 2D" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "3D Scene" -msgstr "Scena" +msgstr "Scena 3D" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "User Interface" -msgstr "Liberare ereditarietà " +msgstr "Interfaccia Utente" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Custom Node" -msgstr "Taglia Nodi" +msgstr "Nodo Personalizzato" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes from a foreign scene!" @@ -8638,18 +8463,16 @@ msgid "Error duplicating scene to save it." msgstr "Errore duplicando la scena per salvarla." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Sub-Resources" -msgstr "Sub-Risorse:" +msgstr "Sotto-Risorse" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" msgstr "Liberare ereditarietà " #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Open documentation" -msgstr "Apri la documentazione online di Godot" +msgstr "Apri la documentazione" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)" @@ -8664,14 +8487,12 @@ msgid "Change Type" msgstr "Cambia Tipo" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Extend Script" -msgstr "Apri script" +msgstr "Estendi Script" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make Scene Root" -msgstr "Nuova Scena di Root" +msgstr "Rendi Scena Radice" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" @@ -8710,12 +8531,10 @@ msgid "Clear a script for the selected node." msgstr "Svuota uno script per il nodo selezionato." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Remote" -msgstr "Rimuovi" +msgstr "Remoto" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Local" msgstr "Locale" @@ -8724,23 +8543,20 @@ msgid "Clear Inheritance? (No Undo!)" msgstr "Liberare ereditarietà ? (No Undo!)" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Toggle Visible" -msgstr "Abilita Visibilità " +msgstr "Attiva/Disattiva Visibilità " #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" msgstr "Avviso confugurazione nodo:" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node has connection(s) and group(s).\n" "Click to show signals dock." msgstr "" -"Il nodo ha connessioni e gruppi\n" -"\n" -"Fai click per mostrare il dock segnali." +"Il nodo ha connessione(i) e gruppo(i).\n" +"Fai clic per mostrare i segnali dock." #: editor/scene_tree_editor.cpp msgid "" @@ -8759,27 +8575,24 @@ msgstr "" "Fai click per mostrare il dock gruppi." #: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script" -msgstr "Apri script" +msgstr "Apri Script" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Node is locked.\n" "Click to unlock it." msgstr "" -"Il nodo é bloccato.\n" -"Fai click per sbloccarlo" +"Il nodo è bloccato.\n" +"Fai clic per sbloccarlo." #: editor/scene_tree_editor.cpp -#, fuzzy msgid "" "Children are not selectable.\n" "Click to make selectable." msgstr "" "I figli non sono selezionabili.\n" -"Fai click per renderli selezionabili" +"Fai clic per renderli selezionabili." #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" @@ -8804,18 +8617,16 @@ msgid "Scene Tree (Nodes):" msgstr "Scene Tree (Nodi):" #: editor/scene_tree_editor.cpp -#, fuzzy msgid "Node Configuration Warning!" -msgstr "Avviso confugurazione nodo:" +msgstr "Avviso di Configurazione Nodo!" #: editor/scene_tree_editor.cpp msgid "Select a Node" msgstr "Scegli un Nodo" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Error loading template '%s'" -msgstr "Errore di caricamento immagine:" +msgstr "Errore caricamento template '%s'" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." @@ -8830,18 +8641,16 @@ msgid "N/A" msgstr "N/A" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Open Script/Choose Location" -msgstr "Apri Editor Script" +msgstr "Apri Script/Scegli Posizione" #: editor/script_create_dialog.cpp msgid "Path is empty" msgstr "Percorso vuoto" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Filename is empty" -msgstr "Il percorso di salvataggio è vuoto!" +msgstr "Il nome del file è vuoto" #: editor/script_create_dialog.cpp msgid "Path is not local" @@ -8856,9 +8665,8 @@ msgid "Directory of the same name exists" msgstr "Una cartella con lo stesso nome esiste già " #: editor/script_create_dialog.cpp -#, fuzzy msgid "File exists, will be reused" -msgstr "File Esistente, Sovrascrivere?" +msgstr "Il file esiste, sarà riutilizzato" #: editor/script_create_dialog.cpp msgid "Invalid extension" @@ -8925,18 +8733,16 @@ msgid "Attach Node Script" msgstr "Allega Script Nodo" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote " -msgstr "Rimuovi" +msgstr "Remoto " #: editor/script_editor_debugger.cpp msgid "Bytes:" msgstr "Bytes:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Stack Trace" -msgstr "Impila Frame" +msgstr "Analisi dello stack" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." @@ -8951,9 +8757,8 @@ msgid "Child Process Connected" msgstr "Processo Figlio Connesso" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Copy Error" -msgstr "Carica Errori" +msgstr "Errore di Copia" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" @@ -8997,7 +8802,7 @@ msgstr "Mem Video" #: editor/script_editor_debugger.cpp msgid "Resource Path" -msgstr "Percorso Risosa" +msgstr "Percorso Risorsa" #: editor/script_editor_debugger.cpp msgid "Type" @@ -9032,19 +8837,16 @@ msgid "Set From Tree" msgstr "Imposta da Tree" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Ease Out" +msgstr "Cancella Scorciatoia" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Scorciatoie" +msgstr "Ripristina Scorciatoia" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Cambia Ancore" +msgstr "Cambia Scorciatoia" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -9052,7 +8854,7 @@ msgstr "Scorciatoie" #: editor/settings_config_dialog.cpp msgid "Binding" -msgstr "" +msgstr "Associazione" #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -9071,9 +8873,8 @@ msgid "Change Camera Size" msgstr "Cambia dimensione Telecamera" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Notifier AABB" -msgstr "Cambia Estensione di Notifier" +msgstr "" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" @@ -9100,88 +8901,76 @@ msgid "Change Capsule Shape Height" msgstr "Cambia Altezza Capsule Shape" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Cylinder Shape Radius" -msgstr "Cambia Raggio Capsule Shape" +msgstr "Modifica Raggio di Forma del Cilindro" #: editor/spatial_editor_gizmos.cpp -#, fuzzy msgid "Change Cylinder Shape Height" -msgstr "Cambia Altezza Capsule Shape" +msgstr "Modifica Altezza di Forma del Cilindro" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" msgstr "Cambia lunghezza Ray Shape" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Cylinder Radius" -msgstr "Cambia Raggio Luce" +msgstr "Modifica Raggio del Cilindro" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Cylinder Height" -msgstr "Cambia Altezza Capsule Shape" +msgstr "Modifica Altezza del Cilindro" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Torus Inner Radius" -msgstr "Cambia Raggio di Sphere Shape" +msgstr "Modifica Raggio Interno del Toroide" #: modules/csg/csg_gizmos.cpp -#, fuzzy msgid "Change Torus Outer Radius" -msgstr "Cambia Raggio Luce" +msgstr "Modifica Raggio Esterno del Toroide" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select the dynamic library for this entry" -msgstr "" +msgstr "Selezionare la libreria dinamica per questa voce" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Select dependencies of the library for this entry" -msgstr "" +msgstr "Selezionare le dipendenze della libreria per questa voce" #: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy msgid "Remove current entry" -msgstr "Rimuovi Punto Percorso" +msgstr "Rimuovi la voce corrente" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Double click to create a new entry" -msgstr "" +msgstr "Fai doppio clic per creare una nuova voce" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Platform:" -msgstr "" +msgstr "Piattaforma:" #: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy msgid "Platform" -msgstr "Copia A Piattaforma..." +msgstr "Piattaforma" #: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy msgid "Dynamic Library" -msgstr "MeshLibrary..." +msgstr "Libreria Dinamica" #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Add an architecture entry" -msgstr "" +msgstr "Aggiungere una voce di architettura" #: modules/gdnative/gdnative_library_editor_plugin.cpp -#, fuzzy msgid "GDNativeLibrary" -msgstr "GDNative" +msgstr "GDNativeLibrary" #: modules/gdnative/gdnative_library_singleton_editor.cpp -#, fuzzy msgid "Library" -msgstr "MeshLibrary..." +msgstr "Libreria" #: modules/gdnative/gdnative_library_singleton_editor.cpp -#, fuzzy msgid "Status" -msgstr "Stato:" +msgstr "Stato" #: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " @@ -9192,9 +8981,8 @@ msgid "GDNative" msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Step argument is zero!" -msgstr "step argument è zero!" +msgstr "L'argomento del passo è zero!" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" @@ -9230,76 +9018,64 @@ msgid "Object can't provide a length." msgstr "L'oggetto non può fornire una lunghezza." #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Next Plane" -msgstr "Scheda successiva" +msgstr "Piano Successivo" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Previous Plane" -msgstr "Scheda precedente" +msgstr "Piano Precedente" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Plane:" -msgstr "" +msgstr "Piano:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" msgstr "Prossimo Piano" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Previous Floor" -msgstr "Scheda precedente" +msgstr "Piano Precedente" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "Piano:" +msgstr "Pavimento:" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Delete Selection" -msgstr "Elimina selezionati" +msgstr "GridMap Elimina Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Fill Selection" -msgstr "Elimina selezionati" +msgstr "GridMap Riempi Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Duplicate Selection" -msgstr "Duplica Selezione" +msgstr "GridMap Duplica Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Impostazioni Snap" +msgstr "GridMap Riempi" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Grid Map" -msgstr "Snap Griglia" +msgstr "Mappa di Griglia" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Snap View" -msgstr "Vista dall'Alto" +msgstr "Vista Snap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Disabled" -msgstr "Disabilitato" +msgstr "Clip Disabilitata" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Above" -msgstr "Allinea Sopra" +msgstr "Ritaglia Sopra" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Below" -msgstr "Allinea Sotto" +msgstr "Ritaglia Sotto" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" @@ -9314,107 +9090,88 @@ msgid "Edit Z Axis" msgstr "Modifica l'Asse Z" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Rotate X" -msgstr "Ctrl: Ruota" +msgstr "Ruota Cursore X" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Rotate Y" -msgstr "Ctrl: Ruota" +msgstr "Ruota Cursore Y" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Rotate Z" -msgstr "Ctrl: Ruota" +msgstr "Ruota Cursore Z" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Back Rotate X" -msgstr "Rotazione all'indietro del Cursore X" +msgstr "Ruota Indietro Cursore X" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Back Rotate Y" -msgstr "Rotazione all'indietro del Cursore Y" +msgstr "Ruota Indietro Cursore Y" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Back Rotate Z" -msgstr "Rotazione all'indietro del Cursore Z" +msgstr "Ruota Indietro Cursore Z" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Cursor Clear Rotation" -msgstr "Rimuovi Rotazione Cursore" +msgstr "Cursore Cancella Rotazione" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Create Area" -msgstr "Crea Nuovo" +msgstr "Crea Area" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Create Exterior Connector" -msgstr "Crea Nuovo Progetto" +msgstr "Crea Connettore Esterno" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Erase Area" -msgstr "Cancella TileMap" +msgstr "Cancella Area" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clear Selection" -msgstr "Centra Selezione" +msgstr "Cancella Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Fill Selection" -msgstr "Seleziona Tutto" +msgstr "Riempi Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Settings" -msgstr "Impostazioni Snap" +msgstr "Impostazioni GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Pick Distance:" -msgstr "Istanza:" +msgstr "Scegli la Distanza:" #: modules/mono/csharp_script.cpp msgid "Class name can't be a reserved keyword" -msgstr "" +msgstr "Il nome della classe non può essere una parola chiave riservata" #: modules/mono/editor/godotsharp_editor.cpp -#, fuzzy msgid "Generating solution..." -msgstr "Creazione Octree Texture" +msgstr "Generando la soluzione..." #: modules/mono/editor/godotsharp_editor.cpp msgid "Generating C# project..." -msgstr "" +msgstr "Genero progetto in C#..." #: modules/mono/editor/godotsharp_editor.cpp -#, fuzzy msgid "Failed to create solution." -msgstr "Impossiblile creare outline!" +msgstr "Impossibile creare la soluzione." #: modules/mono/editor/godotsharp_editor.cpp -#, fuzzy msgid "Failed to save solution." -msgstr "Caricamento della risorsa fallito." +msgstr "Impossibile salvare la soluzione." #: modules/mono/editor/godotsharp_editor.cpp -#, fuzzy msgid "Done" -msgstr "Fatto!" +msgstr "Fatto" #: modules/mono/editor/godotsharp_editor.cpp -#, fuzzy msgid "Failed to create C# project." -msgstr "Caricamento della risorsa fallito." +msgstr "Impossibile creare il progetto C#." #: modules/mono/editor/godotsharp_editor.cpp msgid "Mono" @@ -9422,27 +9179,23 @@ msgstr "Mono" #: modules/mono/editor/godotsharp_editor.cpp msgid "About C# support" -msgstr "" +msgstr "Riguardo il supporto in C#" #: modules/mono/editor/godotsharp_editor.cpp -#, fuzzy msgid "Create C# solution" -msgstr "Crea Outline" +msgstr "Crea la soluzione C#" #: modules/mono/editor/mono_bottom_panel.cpp -#, fuzzy msgid "Builds" -msgstr "Costruzioni" +msgstr "Compilazioni" #: modules/mono/editor/mono_bottom_panel.cpp -#, fuzzy msgid "Build Project" -msgstr "Progetto" +msgstr "Compila Progetto" #: modules/mono/editor/mono_bottom_panel.cpp -#, fuzzy msgid "View log" -msgstr "Vedi Files" +msgstr "Visualizza log" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" @@ -9450,17 +9203,15 @@ msgstr "" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Bake NavMesh" -msgstr "" +msgstr "Preprocessa NavMesh" #: modules/recast/navigation_mesh_editor_plugin.cpp -#, fuzzy msgid "Clear the navigation mesh." -msgstr "Elimina Mesh di Navigazione" +msgstr "Cancella mesh di navigazione." #: modules/recast/navigation_mesh_generator.cpp -#, fuzzy msgid "Setting up Configuration..." -msgstr "Impostando Configurazione..." +msgstr "Impostando la Configurazione..." #: modules/recast/navigation_mesh_generator.cpp msgid "Calculating grid size..." @@ -9547,29 +9298,24 @@ msgid "Stack overflow with stack depth: " msgstr "Overflow dello stack con profondità dello stack: " #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Signal Arguments" -msgstr "Modifica Argomenti Segnali:" +msgstr "Cambia Argomenti Segnale" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Argument Type" -msgstr "Cambia Tipo del Valore Array" +msgstr "Cambia Tipo di Argomento" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Argument name" -msgstr "Cambia Nome Input" +msgstr "Cambia nome Argomento" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Set Variable Default Value" -msgstr "Cambia Valore di Default" +msgstr "Imposta Valore di Default della Variabile" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Set Variable Type" -msgstr "Modifica Variabile:" +msgstr "Imposta Tipo di Variabile" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" @@ -9612,20 +9358,17 @@ msgid "Change Expression" msgstr "Cambia Espressione" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove VisualScript Nodes" -msgstr "Rimuovi key invalidi" +msgstr "Rimuovi Nodi VisualScript" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Duplicate VisualScript Nodes" -msgstr "Duplica Nodo(i) Grafico" +msgstr "Duplica Nodi VisualScript" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." msgstr "" -"Mantieni premuto Meta per rilasciare un Getter. Mantieni premuto Shift per " +"Mantieni premuto %s per rilasciare un Getter. Mantieni premuto Shift per " "rilasciare una firma generica." #: modules/visual_script/visual_script_editor.cpp @@ -9635,18 +9378,16 @@ msgstr "" "per rilasciare una firma generica." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Hold %s to drop a simple reference to the node." -msgstr "Mantieni premuto Meta per rilasciare un riferimento semplice al nodo." +msgstr "Mantieni premuto %s per rilasciare un riferimento semplice al nodo." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." msgstr "Mantieni premuto Ctrl per rilasciare un riferimento semplice al nodo." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Hold %s to drop a Variable Setter." -msgstr "Mantieni premuto Meta per rilasciare un Setter Variabile." +msgstr "Mantieni premuto %s per rilasciare un Setter Variabile." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Variable Setter." @@ -9669,63 +9410,52 @@ msgid "Add Setter Property" msgstr "Aggiungi Proprietà Setter" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type" -msgstr "Cambia Tipo" +msgstr "Cambia Tipo di Base" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Move Node(s)" -msgstr "Rimuovi nodo(i)" +msgstr "Sposta Nodo(i)" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove VisualScript Node" -msgstr "Rimuovi Nodo Grafico di Shader" +msgstr "Rimuovi Nodo VisualScript" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Nodes" -msgstr "Connetti A Nodo:" +msgstr "Connetti Nodi" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Node Data" -msgstr "Connetti A Nodo:" +msgstr "Connetti Dati del Nodo" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Node Sequence" -msgstr "Connetti A Nodo:" +msgstr "Connetti Sequenza del Nodo" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" msgstr "Lo Script ha già la funzione '%s'" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Input Value" -msgstr "Cambia Nome Input" +msgstr "Cambia Valore di Input" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Modifica CanvasItem" +msgstr "Ridimensiona Commento" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Can't copy the function node." -msgstr "Non posso operare su '..'" +msgstr "Non è possibile copiare il nodo della funzione." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Clipboard is empty!" -msgstr "Clipboard risorse vuota!" +msgstr "Gli appunti sono vuoti!" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Paste VisualScript Nodes" -msgstr "Incolla Nodi" +msgstr "Incolla Nodi VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" @@ -9792,9 +9522,8 @@ msgid "Paste Nodes" msgstr "Incolla Nodi" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Edit Member" -msgstr "Membri" +msgstr "Modifica Membro" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " @@ -9855,102 +9584,108 @@ msgstr "" "stringa (errore)." #: modules/visual_script/visual_script_property_selector.cpp -#, fuzzy msgid "Search VisualScript" -msgstr "Rimuovi Nodo Grafico di Shader" +msgstr "Ricerca VisualScript" #: modules/visual_script/visual_script_property_selector.cpp msgid "Get %s" -msgstr "" +msgstr "Ottieni %s" #: modules/visual_script/visual_script_property_selector.cpp -#, fuzzy msgid "Set %s" -msgstr "Imposta parametri" +msgstr "Imposta %s" #: platform/android/export/export.cpp msgid "Package name is missing." -msgstr "" +msgstr "Il nome del pacchetto è mancante." #: platform/android/export/export.cpp msgid "Package segments must be of non-zero length." -msgstr "" +msgstr "I segmenti del pacchetto devono essere di lunghezza diversa da zero." #: platform/android/export/export.cpp msgid "The character '%s' is not allowed in Android application package names." msgstr "" +"Il carattere '%s' non è consentito nei nomi dei pacchetti delle applicazioni " +"Android." #: platform/android/export/export.cpp msgid "A digit cannot be the first character in a package segment." msgstr "" +"Una cifra non può essere il primo carattere di un segmento di un pacchetto." #: platform/android/export/export.cpp msgid "The character '%s' cannot be the first character in a package segment." msgstr "" +"Il carattere '%s' non può essere il primo carattere di un segmento di " +"pacchetto." #: platform/android/export/export.cpp msgid "The package must have at least one '.' separator." -msgstr "" +msgstr "Il pacchetto deve avere almeno un '.' separatore." #: platform/android/export/export.cpp msgid "ADB executable not configured in the Editor Settings." -msgstr "" +msgstr "Eseguibile ADB non configurato nelle Impostazioni dell'Editor." #: platform/android/export/export.cpp msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "" +msgstr "OpenJDK jarsigner non configurato nelle Impostazioni dell'Editor." #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" +"Debug keystore non configurato nelle Impostazioni dell'Editor né nel preset." #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." -msgstr "" +msgstr "Chiave pubblica non valida per l'espansione dell'APK." #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" -msgstr "Nome classe invalido" +msgstr "Nome del pacchetto non valido:" #: platform/iphone/export/export.cpp msgid "Identifier is missing." -msgstr "" +msgstr "L'identificatore è mancante." #: platform/iphone/export/export.cpp msgid "Identifier segments must be of non-zero length." -msgstr "" +msgstr "I segmenti identificativi devono essere di lunghezza diversa da zero." #: platform/iphone/export/export.cpp -#, fuzzy msgid "The character '%s' is not allowed in Identifier." -msgstr "Il nome non è un identificatore valido:" +msgstr "Il carattere '%s' non è consentito nell'Identificatore." #: platform/iphone/export/export.cpp msgid "A digit cannot be the first character in a Identifier segment." msgstr "" +"Una cifra non può essere il primo carattere di un segmento di " +"Identificazione." #: platform/iphone/export/export.cpp msgid "" "The character '%s' cannot be the first character in a Identifier segment." msgstr "" +"Il carattere '%s' non può essere il primo carattere di un segmento di " +"Identificazione." #: platform/iphone/export/export.cpp msgid "The Identifier must have at least one '.' separator." -msgstr "" +msgstr "L'Identificatore deve avere almeno un '.' separatore." #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." msgstr "" +"App Store Team ID non specificato - non è possibile configurare il progetto." #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "Il nome non è un identificatore valido:" +msgstr "Identificatore non valido:" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." -msgstr "" +msgstr "L'icona richiesta non è specificata nel preset." #: platform/javascript/export/export.cpp msgid "Run in Browser" @@ -9961,39 +9696,32 @@ msgid "Run exported HTML in the system's default browser." msgstr "Esegui HTML esportato all'interno del browser di sistema di default." #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not write file:" -msgstr "Impossibile scrivere file:\n" +msgstr "Impossibile scrivere il file:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not open template for export:" -msgstr "Impossibile aprire template per l'esportazione:\n" +msgstr "Impossibile aprire il template per l'esportazione:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Invalid export template:" -msgstr "Installa Template di Esportazione" +msgstr "Template di esportazione non valido:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read custom HTML shell:" -msgstr "Impossibile leggere file:\n" +msgstr "Impossibile leggere la shell HTML personalizzata:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Could not read boot splash image file:" -msgstr "Impossibile leggere file:\n" +msgstr "Impossibile leggere il file immagine di avvio splash:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Using default boot splash image." -msgstr "Impossibile leggere file:\n" +msgstr "Utilizzando l'immagine di splash di avvio predefinita." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package unique name." -msgstr "Nome unico invalido." +msgstr "Nome univoco del pacchetto non valido." #: platform/uwp/export/export.cpp msgid "Invalid product GUID." @@ -10071,6 +9799,10 @@ msgid "" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " "define its shape." msgstr "" +"Questo nodo non ha una forma, non può quindi collidere o interagire con gli " +"altri oggetti.\n" +"Devi aggiungere come figlio un CollisionShape2D oppure un CollisionPolygon2D " +"per definire la sua forma." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -10111,6 +9843,8 @@ msgid "" "CPUParticles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"L'animazione CPUParticles2D richiede l'utilizzo di un CanvasItemMaterial con " +"\"Animazione Particelle\" abilitata." #: scene/2d/light_2d.cpp msgid "" @@ -10163,6 +9897,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"Le particelle basate su GPU non sono supportate dal driver video GLES2.\n" +"Utilizzare invece il nodo CPUParticles2D. A tale scopo è possibile " +"utilizzare l'opzione \"Converti in CPUParticles\"." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -10177,6 +9914,8 @@ msgid "" "Particles2D animation requires the usage of a CanvasItemMaterial with " "\"Particles Animation\" enabled." msgstr "" +"L'animazione Particles2D richiede l'utilizzo di un CanvasItemMaterial con " +"\"Animazione di Particelle\" abilitato." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." @@ -10185,15 +9924,14 @@ msgstr "" "Path2D." #: 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 "" -"I cambiamenti di dimensione a RigidBody2D (nel personaggio o nelle modalità " -"rigide) saranno sovrascritti dal motore fisico quando in esecuzione.\n" -"Modifica invece la dimensione nelle sagome di collisioni figlie." +"I cambiamenti di dimensione a RigidBody2D (in modalità rigida o carattere) " +"saranno sovrascritti dal motore fisico quando in esecuzione.\n" +"Modifica invece la dimensione nelle forme di collisione figlie." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -10202,16 +9940,20 @@ msgstr "" #: scene/2d/skeleton_2d.cpp msgid "This Bone2D chain should end at a Skeleton2D node." -msgstr "" +msgstr "Questa catena di Bone2D deve terminare con un nodo Skeleton2D." #: scene/2d/skeleton_2d.cpp msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." msgstr "" +"Un Bone2D funziona solo se avente come genitore un Skeleton2D o un altro " +"Bone2D." #: scene/2d/skeleton_2d.cpp msgid "" "This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." msgstr "" +"Questo osso ha bisogno di una corretta postura di RIPOSO. Vai al nodo " +"Skeleton2D e impostane una." #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -10223,7 +9965,7 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "ARVRCamera deve avere un nodo ARVROrigin come suo nodo padre" +msgstr "ARVRCamera deve avere un nodo ARVROrigin come suo genitore" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent" @@ -10255,31 +9997,27 @@ msgstr "ARVROrigin necessita di un nodo figlio ARVRCamera" #: scene/3d/baked_lightmap.cpp msgid "%d%%" -msgstr "" +msgstr "%d%%" #: scene/3d/baked_lightmap.cpp msgid "(Time Left: %d:%02d s)" -msgstr "" +msgstr "(Tempo Rimanente: %d:%02d s)" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Plotting Meshes: " -msgstr "Bliting Immagini" +msgstr "" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Plotting Lights:" -msgstr "Bliting Immagini" +msgstr "" #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp -#, fuzzy msgid "Finishing Plot" -msgstr "Finalizzazione del Plot" +msgstr "Trama di Finitura" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Lighting Meshes: " -msgstr "Bliting Immagini" +msgstr "" #: scene/3d/collision_object.cpp msgid "" @@ -10287,6 +10025,10 @@ msgid "" "Consider adding a CollisionShape or CollisionPolygon as a child to define " "its shape." msgstr "" +"Questo nodo non ha una forma, non può quindi collidere o interagire con gli " +"altri oggetti.\n" +"Devi aggiungere come figlio un CollisionShape oppure un CollisionPolygon per " +"definire la sua forma." #: scene/3d/collision_polygon.cpp msgid "" @@ -10321,10 +10063,15 @@ msgstr "" "Perché CollisionShape funzioni deve essere fornita una forma. Si prega di " "creare una risorsa forma (shape)!" +#: 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/cpu_particles.cpp -#, fuzzy msgid "Nothing is visible because no mesh has been assigned." -msgstr "Nulla é visibile perché le mesh non sono state assegnate ai draw pass." +msgstr "Niente è visibile perché non è stata assegnata alcuna mesh." #: scene/3d/cpu_particles.cpp msgid "" @@ -10333,9 +10080,16 @@ msgid "" msgstr "" #: scene/3d/gi_probe.cpp -#, fuzzy msgid "Plotting Meshes" -msgstr "Bliting Immagini" +msgstr "" + +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"Le GIProbes non sono supportate dal driver video GLES2.\n" +"In alternativa, usa una BakedLightmap." #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." @@ -10357,6 +10111,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"Le particelle basate su GPU non sono supportate dal driver video GLES2.\n" +"Utilizzare invece il nodo CPUParticles. A tale scopo è possibile utilizzare " +"l'opzione \"Converti in CPUParticles\"." #: scene/3d/particles.cpp msgid "" @@ -10364,23 +10121,26 @@ msgid "" msgstr "Nulla é visibile perché le mesh non sono state assegnate ai draw pass." #: scene/3d/particles.cpp +#, fuzzy msgid "" "Particles animation requires the usage of a SpatialMaterial with \"Billboard " "Particles\" enabled." msgstr "" +"L'animazione delle particelle richiede l'utilizzo di uno SpatialMaterial con " +"\"Billboard Particles\" abilitato." #: scene/3d/path.cpp -#, fuzzy msgid "PathFollow only works when set as a child of a Path node." -msgstr "" -"PathFollow2D funziona solamente quando impostato come figlio di un nodo " -"Path2D." +msgstr "PathFollow funziona solo se impostato come figlio di un nodo Path." #: scene/3d/path.cpp +#, fuzzy msgid "" "PathFollow ROTATION_ORIENTED requires \"Up Vector\" enabled in its parent " "Path's Curve resource." msgstr "" +"PathFollow ROTATION_ORIENTED richiede \"Up Vector\" abilitato nella risorsa " +"Path’s Curve del padre." #: scene/3d/physics_body.cpp msgid "" @@ -10400,18 +10160,17 @@ msgstr "" #: scene/3d/soft_body.cpp msgid "This body will be ignored until you set a mesh" -msgstr "" +msgstr "Questo corpo verrà ignorato finché non imposti una mesh" #: scene/3d/soft_body.cpp -#, fuzzy msgid "" "Size changes to SoftBody will be overridden by the physics engine when " "running.\n" "Change the size in children collision shapes instead." msgstr "" -"I cambiamenti di dimensione a RigidBody (nel personaggio o nelle modalità " -"rigide) saranno sovrascritti dal motore fisico quando in esecuzione.\n" -"Modifica invece la dimensione in sagome di collisione figlie." +"Le modifiche alle dimensioni di SoftBody saranno sovrascritte dal motore " +"fisico durante l'esecuzione.\n" +"Cambiare invece le dimensioni nelle forme di collisioni figlie." #: scene/3d/sprite_3d.cpp msgid "" @@ -10431,7 +10190,7 @@ msgstr "" #: scene/3d/world_environment.cpp msgid "WorldEnvironment needs an Environment resource." -msgstr "" +msgstr "WorldEnvironment ha bisogno di una risorsa Ambiente." #: scene/3d/world_environment.cpp msgid "" @@ -10445,70 +10204,80 @@ 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 "" +"Questo WorldEnvironment viene ignorato. Aggiungere una Telecamera (per le " +"scene 3D) o impostare questo ambiente Modalità Canvas (per le scene in 2D)." #: scene/animation/animation_blend_tree.cpp msgid "On BlendTree node '%s', animation not found: '%s'" -msgstr "" +msgstr "Sul nodo BlendTree '%s', animazione non trovata: '%s'" #: scene/animation/animation_blend_tree.cpp -#, fuzzy msgid "Animation not found: '%s'" -msgstr "Strumenti di Animazione" +msgstr "Animazione non trovata: '%s'" #: scene/animation/animation_tree.cpp msgid "In node '%s', invalid animation: '%s'." -msgstr "" +msgstr "Nel nodo '%s', animazione non valida: '%s'." #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Invalid animation: '%s'." -msgstr "ERRORE: Nome animazione invalido!" +msgstr "Animazione non valida: '%s'." #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Nothing connected to input '%s' of node '%s'." -msgstr "Disconnetti '%s' da '%s'" +msgstr "Nulla collegato all'ingresso '%s' del nodo '%s'." #: scene/animation/animation_tree.cpp msgid "A root AnimationNode for the graph is not set." -msgstr "" +msgstr "Una radice AnimationNode per il grafico non è impostata." #: scene/animation/animation_tree.cpp -#, fuzzy msgid "Path to an AnimationPlayer node containing animations is not set." msgstr "" -"Seleziona un AnimationPlayer dallo Scene Tree per modificare le animazioni." +"Il Percorso di un nodo AnimationPlayer contenente animazioni non è impostato." #: scene/animation/animation_tree.cpp msgid "Path set for AnimationPlayer does not lead to an AnimationPlayer node." msgstr "" +"Il percorso impostato per l'AnimationPlayer non porta a nessun nodo " +"AnimationPlayer." #: scene/animation/animation_tree.cpp -#, fuzzy msgid "AnimationPlayer root is not a valid node." -msgstr "Animation tree invalido." +msgstr "La radice di AnimationPlayer non è un nodo valido." #: scene/animation/animation_tree_player.cpp msgid "This node has been deprecated. Use AnimationTree instead." -msgstr "" +msgstr "Questo nodo è stato deprecato. In alternativa, usa un AnimationTree." #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Scegliere un colore dallo schermo." #: scene/gui/color_picker.cpp -#, fuzzy msgid "Raw Mode" -msgstr "Modalità di Pan" +msgstr "Modalità Raw" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Cambia tra valori esadecimali e valori di codice." #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "Aggiungi colore attuale come preset" +msgstr "Aggiungi il colore corrente come preset." + +#: scene/gui/container.cpp +#, fuzzy +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Il Contenitore da solo non serve a nessuno scopo a meno che uno script non " +"configuri il suo comportamento di posizionamento per i figli.\n" +"Se non avete intenzione di aggiungere uno script, utilizzate invece un " +"semplice nodo \"Controllo\"." #: scene/gui/dialogs.cpp msgid "Alert!" @@ -10518,6 +10287,10 @@ msgstr "Attenzione!" msgid "Please Confirm..." msgstr "Per Favore Conferma..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Vai alla cartella genitore." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10530,7 +10303,7 @@ msgstr "" #: scene/gui/range.cpp msgid "If exp_edit is true min_value must be > 0." -msgstr "" +msgstr "Se exp_edit è true min_value deve essere > 0." #: scene/gui/scroll_container.cpp msgid "" @@ -10547,13 +10320,12 @@ msgid "(Other)" msgstr "(Altro)" #: scene/main/scene_tree.cpp -#, fuzzy msgid "" "Default Environment as specified in Project Settings (Rendering -> " "Environment -> Default Environment) could not be loaded." msgstr "" -"Impossobile caricare Ambiente di Default come specificato nelle Impostazioni " -"Progetto (Rendering -> Vista -> Ambiente di Default)." +"Non è stato possibile caricare l'Ambiente predefinito come specificato nelle " +"Impostazioni Progetto (Rendering -> Ambiente -> Ambiente Predefinito)." #: scene/main/viewport.cpp msgid "" @@ -10584,26 +10356,28 @@ msgid "Invalid font size." msgstr "Dimensione font Invalida." #: scene/resources/visual_shader.cpp -#, fuzzy msgid "Input" -msgstr "Aggiungi Input" +msgstr "Ingresso" #: scene/resources/visual_shader_nodes.cpp -#, fuzzy msgid "Invalid source for shader." -msgstr "Sorgente invalida!" +msgstr "Sorgente non valida per la shader." #: servers/visual/shader_language.cpp msgid "Assignment to function." -msgstr "" +msgstr "Assegnazione alla funzione." #: servers/visual/shader_language.cpp msgid "Assignment to uniform." -msgstr "" +msgstr "Assegnazione all'uniforme." #: servers/visual/shader_language.cpp +#, fuzzy msgid "Varyings can only be assigned in vertex function." -msgstr "" +msgstr "Varyings può essere assegnato solo nella funzione del vertice." + +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Istanzia le scene selezionate come figlie del nodo selezionato." #~ msgid "FPS" #~ msgstr "FPS" @@ -12154,9 +11928,6 @@ msgstr "" #~ msgid "Cannot go into subdir:" #~ msgstr "Impossibile accedere alla subdirectory:" -#~ msgid "Imported Resources" -#~ msgstr "Risorse Importate" - #~ msgid "Insert Keys (Ins)" #~ msgstr "Inserisci Keys (Ins)" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index 93e7d244a4..6ab3436f15 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -21,11 +21,12 @@ # nitenook <admin@alterbaum.net>, 2018, 2019. # Rob Matych <robertsmatych@gmail.com>, 2018. # Hidetsugu Takahashi <manzyun@gmail.com>, 2019. +# Wataru Onuki <watonu@magadou.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-01 11:59+0000\n" +"PO-Revision-Date: 2019-03-19 15:04+0000\n" "Last-Translator: nitenook <admin@alterbaum.net>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" @@ -34,7 +35,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 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -101,14 +102,12 @@ msgid "Delete Selected Key(s)" msgstr "é¸æŠžä¸ã®ã‚ーを削除" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "ç‚¹ã‚’è¿½åŠ " +msgstr "ベジェãƒã‚¤ãƒ³ãƒˆã‚’è¿½åŠ " #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "ãƒã‚¤ãƒ³ãƒˆã‚’移動" +msgstr "ベジェãƒã‚¤ãƒ³ãƒˆã‚’移動" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -139,9 +138,8 @@ msgid "Anim Change Call" 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 @@ -1388,10 +1386,33 @@ msgid "Packing" msgstr "パックã™ã‚‹" #: editor/editor_export.cpp +#, fuzzy +msgid "" +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"対象プラットフォームã§ã¯GLES2ã®ãŸã‚ã«'ETC'テクスãƒãƒ£åœ§ç¸®ãŒå¿…è¦ã§ã™ã€‚プãƒã‚¸ã‚§" +"クトè¨å®šã‚ˆã‚Šæœ‰åŠ¹ã«ã—ã¦ãã ã•ã„。" + +#: editor/editor_export.cpp +#, fuzzy msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"対象プラットフォームã§ã¯GLES2ã®ãŸã‚ã«'ETC'テクスãƒãƒ£åœ§ç¸®ãŒå¿…è¦ã§ã™ã€‚プãƒã‚¸ã‚§" +"クトè¨å®šã‚ˆã‚Šæœ‰åŠ¹ã«ã—ã¦ãã ã•ã„。" + +#: 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'テクスãƒãƒ£åœ§ç¸®ãŒå¿…è¦ã§ã™ã€‚プãƒã‚¸ã‚§" +"クトè¨å®šã‚ˆã‚Šæœ‰åŠ¹ã«ã—ã¦ãã ã•ã„。" #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1438,7 +1459,7 @@ msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º" msgid "New Folder..." msgstr "æ–°è¦ãƒ•ã‚©ãƒ«ãƒ€..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "å†èªè¾¼" @@ -1513,10 +1534,33 @@ msgstr "ãŠæ°—ã«å…¥ã‚Šã‚’上ã¸" msgid "Move Favorite Down" msgstr "ãŠæ°—ã«å…¥ã‚Šã‚’下ã¸" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "å‰ã®åºŠé¢" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "次ã®åºŠé¢" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "親フォルダã¸" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "ディレクトリã¨ãƒ•ã‚¡ã‚¤ãƒ«:" @@ -1739,9 +1783,9 @@ msgstr "出力をクリア" msgid "Project export failed with error code %d." msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ %d ã§å¤±æ•—ã—ã¾ã—ãŸã€‚" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1749,6 +1793,16 @@ msgid "OK" msgstr "OK" #: 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 "リソースを別åã§ä¿å˜..." @@ -1806,6 +1860,8 @@ msgid "" "This scene can't be saved because there is a cyclic instancing inclusion.\n" "Please resolve it and then attempt to save again." msgstr "" +"ã“ã®ã‚·ãƒ¼ãƒ³ã«ã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®å¾ªç’°å‚ç…§ãŒå«ã¾ã‚Œã¦ã„ã‚‹ãŸã‚ä¿å˜ã§ãã¾ã›ã‚“。\n" +"ãれをã¾ãšè§£æ¶ˆã—ã¦ã‹ã‚‰ã€ã¾ãŸä¿å˜ã—ã¦ã¿ã¦ãã ã•ã„。" #: editor/editor_node.cpp msgid "" @@ -2715,6 +2771,8 @@ msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." msgstr "" +"é¸æŠžã•ã‚ŒãŸãƒªã‚½ãƒ¼ã‚¹ (%s) ã¯ã€ã“ã®ãƒ—ãƒãƒ‘ティ (%s) ãŒæ±‚ã‚ã‚‹åž‹ã«ä¸€è‡´ã—ã¦ã„ã¾ã›" +"ん。" #: editor/editor_properties.cpp msgid "" @@ -3056,14 +3114,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "ファイルシステム上㧠'%s' を見ã¤ã‘られãªã„ãŸã‚移動ã§ãã¾ã›ã‚“ï¼" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "アイテムをサムãƒã‚¤ãƒ«ã§ã‚°ãƒªãƒƒãƒ‰è¡¨ç¤ºã™ã‚‹ã€‚" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "アイテムを一覧ã§è¡¨ç¤ºã™ã‚‹ã€‚" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "ステータス: ファイルã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ファイルを修æ£ã—ã¦æ‰‹å‹•ã§å†ã‚¤" @@ -3143,7 +3193,7 @@ msgstr "ä¾å˜é–¢ä¿‚ã®ç·¨é›†..." #: editor/filesystem_dock.cpp msgid "View Owners..." -msgstr "所有者を見る..." +msgstr "オーナーを見る..." #: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Rename..." @@ -3201,10 +3251,6 @@ msgid "Search files" msgstr "ファイル検索" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "é¸æŠžã—ãŸã‚·ãƒ¼ãƒ³ã‚’é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã®åã¨ã—ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã—ã¾ã™ã€‚" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4626,9 +4672,8 @@ msgid "Click to change object's rotation pivot." msgstr "クリックã§ã‚ªãƒ–ジェクトã®å›žè»¢ãƒ”ボットを変更ã™ã‚‹ã€‚" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Pan Mode" -msgstr "パン・モード" +msgstr "パンモード" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggle snapping." @@ -5227,6 +5272,11 @@ msgid "Generating Visibility Rect" msgstr "å¯è¦–性ã®çŸ©å½¢ã‚’生æˆ" #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Generate Visibility Rect" +msgstr "å¯è¦–性ã®çŸ©å½¢ã‚’生æˆ" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" @@ -5240,11 +5290,6 @@ msgstr "ç”»åƒå†…ã«é€æ˜Žåº¦ãŒ128以上ã®ãƒ”クセルãŒã‚ã‚Šã¾ã›ã‚“..." #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy -msgid "Generate Visibility Rect" -msgstr "å¯è¦–性ã®çŸ©å½¢ã‚’生æˆ" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Load Emission Mask" msgstr "発光(Emission)マスクをèªã¿è¾¼ã‚€" @@ -5338,14 +5383,14 @@ msgid "Generating AABB" msgstr "AABBを生æˆä¸" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "軸平行境界ボックス(AABB)を生æˆ" - -#: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generate Visibility AABB" msgstr "å¯è¦–性ã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’生æˆ" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "軸平行境界ボックス(AABB)を生æˆ" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "曲線ã‹ã‚‰ãƒã‚¤ãƒ³ãƒˆã‚’除去" @@ -5956,6 +6001,14 @@ msgid "Open Godot online documentation" msgstr "Godotã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³æ–‡æ›¸ã‚’é–‹ã" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "リファレンス文書を探ã™." @@ -5968,9 +6021,8 @@ msgid "Go to next edited document." msgstr "次ã®ç·¨é›†ã—ãŸãƒ‰ã‚ュメントã¸ç§»å‹•ã€‚" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Discard" -msgstr "離散" +msgstr "ç ´æ£„" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -6202,7 +6254,7 @@ msgstr "平行投影" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective" -msgstr "é€è¦–投影(é 近法)" +msgstr "é€è¦–投影" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -6587,7 +6639,7 @@ msgstr "ギズモ" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "原点を見る" +msgstr "原点ã®è¡¨ç¤º" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" @@ -7070,6 +7122,24 @@ msgid "Merge from Scene" msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "å‰ã®åºŠé¢" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7220,6 +7290,16 @@ msgid "Clear Tile Bitmask" msgstr "タイル ビットマスクをクリア" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Concave" +msgstr "ãƒãƒªã‚´ãƒ³ã‚’移動" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "ãƒãƒªã‚´ãƒ³ã‚’移動" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "タイルを除去" @@ -7349,6 +7429,11 @@ msgid "Exporting All" msgstr "%sã«ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆä¸" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "å˜åœ¨ã—ãªã„パスã§ã™ã€‚" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "ã“ã®ãƒ—ラットフォームã«å¯¾ã™ã‚‹ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ テンプレートãŒè¦‹ã¤ã‹ã‚‰ãªã„ã‹ã€ç ´æã—" @@ -10165,6 +10250,12 @@ 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 "" + #: scene/3d/cpu_particles.cpp #, fuzzy msgid "Nothing is visible because no mesh has been assigned." @@ -10181,6 +10272,12 @@ msgstr "" msgid "Plotting Meshes" msgstr "イメージをé…ç½®(Blit)" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10346,6 +10443,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "ç¾åœ¨ã®è‰²ã‚’プリセットã¨ã—ã¦è¿½åŠ " +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -10354,6 +10459,11 @@ msgstr "è¦å‘Š!" msgid "Please Confirm..." msgstr "確èª..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "親フォルダã¸" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10366,7 +10476,7 @@ msgstr "" #: scene/gui/range.cpp msgid "If exp_edit is true min_value must be > 0." -msgstr "" +msgstr "exp_edit ãŒtrueã®å ´åˆã€min_value ã¯0より大ãã„å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" #: scene/gui/scroll_container.cpp msgid "" @@ -10392,6 +10502,7 @@ msgstr "" "ã„る環境(Environment)ã¯èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ." #: 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 " @@ -10440,6 +10551,9 @@ msgstr "uniform ã¸ã®å‰²ã‚Šå½“ã¦ã€‚" msgid "Varyings can only be assigned in vertex function." msgstr "Varyingã¯é ‚点関数ã«ã®ã¿å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "é¸æŠžã—ãŸã‚·ãƒ¼ãƒ³ã‚’é¸æŠžã—ãŸãƒŽãƒ¼ãƒ‰ã®åã¨ã—ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã—ã¾ã™ã€‚" + #~ msgid "FPS" #~ msgstr "フレームレート" diff --git a/editor/translations/ka.po b/editor/translations/ka.po index 0ef5840a20..cb8aed504b 100644 --- a/editor/translations/ka.po +++ b/editor/translations/ka.po @@ -5,12 +5,13 @@ # Giorgi Beriashvili <giorgi.beriashvili@outlook.com>, 2018. # George Dzavashvili <dzavashviligeorge@gmail.com>, 2018. # დემეტრე შáƒáƒœáƒ˜áƒ <blender.animation.maker@gmail.com>, 2019. +# Rati Nikolaishvili <rati.nikolaishvili@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-10 12:01+0000\n" -"Last-Translator: დემეტრე შáƒáƒœáƒ˜áƒ <blender.animation.maker@gmail.com>\n" +"PO-Revision-Date: 2019-03-10 09:58+0000\n" +"Last-Translator: Rati Nikolaishvili <rati.nikolaishvili@gmail.com>\n" "Language-Team: Georgian <https://hosted.weblate.org/projects/godot-engine/" "godot/ka/>\n" "Language: ka\n" @@ -18,7 +19,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.5-dev\n" +"X-Generator: Weblate 3.5.1-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -62,11 +63,11 @@ msgstr "" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "თáƒáƒ•áƒ˜áƒ¡áƒ£áƒ¤áƒáƒšáƒ˜" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "" +msgstr "დáƒáƒ‘áƒáƒšáƒáƒœáƒ¡áƒ”ბული" #: editor/animation_bezier_editor.cpp msgid "Mirror" @@ -75,7 +76,7 @@ msgstr "სáƒáƒ კე" #: editor/animation_bezier_editor.cpp #, fuzzy msgid "Insert Key Here" -msgstr "áƒáƒœáƒ˜áƒ› გáƒáƒ¡áƒáƒ¦áƒ”ბის ჩáƒáƒ§áƒ”ნებáƒ" +msgstr "áƒáƒ¥ ჩáƒáƒ¡áƒ•áƒ˜áƒ— გáƒáƒ¡áƒáƒ¦áƒ”ბი" #: editor/animation_bezier_editor.cpp #, fuzzy @@ -1392,8 +1393,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1442,7 +1457,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1517,10 +1532,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1746,8 +1781,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1756,6 +1791,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2995,14 +3040,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3142,10 +3179,6 @@ msgid "Search files" msgstr "ძებნáƒ:" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5105,19 +5138,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5208,11 +5241,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5805,6 +5838,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6872,6 +6913,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7020,6 +7077,15 @@ 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 "შექმნáƒ" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "მáƒáƒ¨áƒáƒ ებáƒ" @@ -7141,6 +7207,10 @@ 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 "" @@ -9707,6 +9777,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9721,6 +9797,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9868,6 +9950,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9876,6 +9966,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 817407e30a..903a54b102 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-01 11:59+0000\n" +"PO-Revision-Date: 2019-03-19 15:04+0000\n" "Last-Translator: ì†¡íƒœì„ <xotjq237@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -25,7 +25,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 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -93,14 +93,12 @@ msgid "Delete Selected Key(s)" msgstr "ì„ íƒí•œ 키를 ì‚ì œ" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "í¬ì¸íŠ¸ 추가" +msgstr "ë² ì§€ì–´ í¬ì¸íŠ¸ 추가" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "í¬ì¸íŠ¸ ì´ë™" +msgstr "ë² ì§€ì–´ í¬ì¸íŠ¸ ì´ë™" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -131,9 +129,8 @@ msgid "Anim Change Call" 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 @@ -190,9 +187,8 @@ 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." @@ -219,9 +215,8 @@ msgid "Time (s): " msgstr "시간 (ì´ˆ): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "ë„플러 활성화" +msgstr "트랙 활성화 í† ê¸€" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -274,19 +269,16 @@ msgid "Delete Key(s)" msgstr "키 ì‚ì œ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "ì• ë‹ˆë©”ì´ì…˜ ì´ë¦„ 변경:" +msgstr "ì• ë‹ˆë©”ì´ì…˜ ì—…ë°ì´íŠ¸ 모드 변경" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "ë³´ê°„ 모드" +msgstr "ì• ë‹ˆë©”ì´ì…˜ ë³´ê°„ 모드 변경" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 변경" +msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 모드 변경" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -331,14 +323,12 @@ msgid "Anim Insert Key" msgstr "ì• ë‹ˆë©”ì´ì…˜ 키 삽입" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "ì• ë‹ˆë©”ì´ì…˜ FPS 변경" +msgstr "ì• ë‹ˆë©”ì´ì…˜ ìŠ¤í… ë³€ê²½" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "ì˜¤í† ë¡œë“œ ìž¬ì •ë ¬" +msgstr "트랙 ìž¬ì •ë ¬" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -370,9 +360,8 @@ msgid "Not possible to add a new track without a root" 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." @@ -383,23 +372,20 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "íŠ¸ëž™ì´ Spatial íƒ€ìž…ì´ ì•„ë‹™ë‹ˆë‹¤, 키를 삽입하실 수 없습니다" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "3D 변형 트랙" +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 "트랙 경로가 ìœ íš¨í•˜ì§€ 않습니다, 메서드 키를 추가하실 수 없습니다." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "호출 메서드 트랙" +msgstr "메서드 트랙 키 추가" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -560,17 +546,16 @@ msgid "Copy" 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" @@ -1379,9 +1364,31 @@ msgstr "패킹 중" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"ëŒ€ìƒ í”Œëž«í¼ì€ GLES2를 위해 'ETC' í…ìŠ¤ì³ ì••ì¶•ì´ í•„ìš”í•©ë‹ˆë‹¤. 프로ì 트 ì„¤ì •ì—ì„œ " +"'Import Etc'ì„ ì‚¬ìš©í•˜ì„¸ìš”." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"ëŒ€ìƒ í”Œëž«í¼ì€ GLES3를 위해 'ETC2' í…ìŠ¤ì³ ì••ì¶•ì´ í•„ìš”í•©ë‹ˆë‹¤. 프로ì 트 ì„¤ì •ì—" +"ì„œ 'Import Etc 2'를 사용하세요." + +#: 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 "" +"ëŒ€ìƒ í”Œëž«í¼ì€ ë“œë¼ì´ë²„ê°€ GLES2ë¡œ í´ë°±í•˜ê¸° 위해 'ETC' í…ìŠ¤ì³ ì••ì¶•ì´ í•„ìš”í•©ë‹ˆ" +"다.\n" +"프로ì 트 ì„¤ì •ì—ì„œ 'Import Etc'ì„ í‚¤ê±°ë‚˜, 'Driver Fallback Enabled'를 비활성화" +"하세요." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1428,7 +1435,7 @@ msgstr "íŒŒì¼ íƒìƒ‰ê¸°ì—ì„œ 보기" msgid "New Folder..." msgstr "새 í´ë”..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "ìƒˆë¡œê³ ì¹¨" @@ -1503,10 +1510,30 @@ msgstr "ì¦ê²¨ì°¾ê¸° 위로 ì´ë™" msgid "Move Favorite Down" msgstr "ì¦ê²¨ì°¾ê¸° 아래로 ì´ë™" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "ì´ì „ í´ë”" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "ë‹¤ìŒ í´ë”" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "부모 í´ë”ë¡œ ì´ë™" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "ë””ë ‰í† ë¦¬ì™€ 파ì¼:" @@ -1590,11 +1617,11 @@ msgstr "ì—´ê±°:" #: editor/editor_help.cpp msgid "enum " -msgstr "ì´ë„˜(ì—´ê±°) " +msgstr "ì´ë„˜ " #: editor/editor_help.cpp msgid "Constants" -msgstr "ìƒìˆ˜(Constant)" +msgstr "ìƒìˆ˜" #: editor/editor_help.cpp msgid "Constants:" @@ -1729,9 +1756,9 @@ msgstr "ì¶œë ¥ 지우기" msgid "Project export failed with error code %d." msgstr "프로ì 트 내보내기가 오류 코드 %d ë¡œ 실패했습니다." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1739,6 +1766,18 @@ msgid "OK" msgstr "확ì¸" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "리소스 ì €ìž¥ 중 오류!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" +"ì´ ë¦¬ì†ŒìŠ¤ëŠ” íŽ¸ì§‘ëœ ì”¬ì— ì†í•´ìžˆì§€ 않기 ë•Œë¬¸ì— ì €ìž¥í• ìˆ˜ 없습니다. ë¨¼ì € 리소스" +"를 ìœ ì¼í•˜ê²Œ 만드세요." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "리소스를 다른 ì´ë¦„으로 ì €ìž¥..." @@ -1954,14 +1993,12 @@ msgid "Save changes to '%s' before closing?" msgstr "닫기 ì „ì— '%s'ì— ë³€ê²½ì‚¬í•ì„ ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "리소스 불러오기 실패." +msgstr "%s ìˆ˜ì •ëœ ë¦¬ì†ŒìŠ¤ê°€ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤." #: 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..." @@ -1993,7 +2030,7 @@ msgstr "ì´ ìž‘ì—…ì€ ë£¨íŠ¸ 노드가 ì—†ì´ëŠ” 불가능합니다." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "íƒ€ì¼ ì…‹ 내보내기" +msgstr "타ì¼ì…‹ 내보내기" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." @@ -2232,7 +2269,7 @@ 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 @@ -2659,7 +2696,7 @@ msgstr "í¬í•¨" #: editor/editor_profiler.cpp msgid "Self" -msgstr "Self(셀프)" +msgstr "셀프" #: editor/editor_profiler.cpp msgid "Frame #:" @@ -3043,14 +3080,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "íŒŒì¼ ì‹œìŠ¤í…œì—ì„œ '%s'ì„(를) ì°¾ì„ ìˆ˜ 없습니다!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "ì¸ë„¤ì¼ 바둑íŒìœ¼ë¡œ 보기." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "리스트로 보기." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "ìƒíƒœ: íŒŒì¼ ê°€ì ¸ì˜¤ê¸° 실패. 파ì¼ì„ ìˆ˜ì •í•˜ê³ \"다시 ê°€ì ¸ì˜¤ê¸°\"를 수행하세요." @@ -3187,10 +3216,6 @@ msgid "Search files" msgstr "íŒŒì¼ ê²€ìƒ‰" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "ì„ íƒëœ ì”¬ì„ ì„ íƒëœ ë…¸ë“œì˜ ìžì‹ìœ¼ë¡œ ì¸ìŠ¤í„´ìŠ¤ 합니다." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3592,19 +3617,16 @@ 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 msgid "Change BlendSpace1D Limits" -msgstr "ë¸”ë Œë“œ 시간 변경" +msgstr "BlendSpace1D ì œí•œ 변경" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "ë¸”ë Œë“œ 시간 변경" +msgstr "BlendSpace1D ë¼ë²¨ 변경" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3614,24 +3636,21 @@ 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 "BlendSpace1D í¬ì¸íŠ¸ ì‚ì œ" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "BlendSpace1D 노드 í¬ì¸íŠ¸ ì´ë™" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3677,29 +3696,24 @@ msgid "Triangle already exists" msgstr "삼ê°í˜•ì´ ì´ë¯¸ 존재함" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "변수 추가" +msgstr "삼ê°í˜• 추가" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "ë¸”ë Œë“œ 시간 변경" +msgstr "BlendSpace2D ì œí•œ 변경" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "ë¸”ë Œë“œ 시간 변경" +msgstr "BlendSpace2D ë¼ë²¨ 변경" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "경로 í¬ì¸íŠ¸ ì‚ì œ" +msgstr "BlendSpace2D í¬ì¸íŠ¸ ì‚ì œ" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "변수 ì‚ì œ" +msgstr "BlendSpace2D 삼ê°í˜• ì‚ì œ" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3710,9 +3724,8 @@ 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 "ì˜¤í† ë¡œë“œ 글로벌 í† ê¸€" +msgstr "ìžë™ 삼ê°í˜• í† ê¸€" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3732,9 +3745,8 @@ 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 @@ -3746,15 +3758,13 @@ 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 "트리ì—ì„œ 노드 추가" +msgstr "BlendTreeì— ë…¸ë“œ 추가" #: 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 #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3763,36 +3773,30 @@ 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 "노드 ì‚ì œ" #: 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." @@ -3814,9 +3818,8 @@ 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 @@ -4044,14 +4047,12 @@ msgid "Cross-Animation Blend Times" msgstr "êµì°¨-ì• ë‹ˆë©”ì´ì…˜ ë¸”ë Œë“œ 시간" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -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 @@ -4087,18 +4088,16 @@ msgid "No playback resource set at path: %s." 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 "ì „í™˜ 노드" +msgstr "ì „í™˜ ì‚ì œë¨" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "시작 노드 ì„¤ì • (ìžë™ 재ìƒ)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4597,8 +4596,8 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" -"í´ë¦í•œ ìœ„ì¹˜ì— ìžˆëŠ” ëª¨ë“ ì˜¤ë¸Œì íŠ¸ë“¤ì˜ ëª©ë¡ì„ ë³´ì—¬ì¤ë‹ˆë‹¤.\n" -"(ì„ íƒëª¨ë“œì—ì„œ 알트+ìš°í´ë¦ê³¼ 같습니다.)" +"í´ë¦í•œ ìœ„ì¹˜ì— ìžˆëŠ” ëª¨ë“ ì˜¤ë¸Œì íŠ¸ë“¤ì˜ ëª©ë¡ì„ ë³´ì—¬ì¤ë‹ˆë‹¤\n" +"(ì„ íƒëª¨ë“œì—ì„œ Alt+ìš°í´ë¦ê³¼ 같습니다)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." @@ -4915,7 +4914,7 @@ msgstr "GI 프로브 굽기" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "기울기 편집ë¨" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5173,6 +5172,10 @@ 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 "ì˜¤ì§ ParticlesMaterial 프로세스 메테리얼 ì•ˆì˜ í¬ì¸íŠ¸ë§Œ ì„¤ì • 가능" @@ -5185,10 +5188,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "ì´ë¯¸ì§€ì— 투명ë„ê°€ 128보다 í° í”½ì…€ì´ ì—†ìŠµë‹ˆë‹¤..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "가시성 ì§ì‚¬ê°í˜•ì„ 만들기" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "ì—미션 ë§ˆìŠ¤í¬ ë¶ˆëŸ¬ì˜¤ê¸°" @@ -5204,7 +5203,7 @@ msgstr "CPU파티í´ë¡œ 변환" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "파티í´(Particles)" +msgstr "파티í´" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" @@ -5276,13 +5275,13 @@ msgid "Generating AABB" msgstr "AABB ìƒì„± 중" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "AABB 만들기" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "가시성 AABB 만들기" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "AABB 만들기" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "커브ì—ì„œ í¬ì¸íŠ¸ ì‚ì œ" @@ -5867,6 +5866,14 @@ msgid "Open Godot online documentation" msgstr "Godot 온ë¼ì¸ 문서 열기" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "ë ˆí¼ëŸ°ìŠ¤ 문서 검색." @@ -6063,14 +6070,12 @@ msgstr "" "ì´ ìŠ¤ì¼ˆë ˆí†¤ì€ ë³¸ì„ ê°€ì§€ê³ ìžˆì§€ 않습니다, ìžì‹ìœ¼ë¡œ Bone2D 노드를 추가하세요." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "(본으로부터) íœ´ì‹ í¬ì¦ˆ 만들기" +msgstr "본으로부터 íœ´ì‹ í¬ì¦ˆ 만들기" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "(본으로부터) íœ´ì‹ í¬ì¦ˆ 만들기" +msgstr "ë³¸ì— íœ´ì‹ í¬ì¦ˆ ì„¤ì •" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6090,7 +6095,7 @@ msgstr "물리ì 본 만들기" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Skeleton" -msgstr "ìŠ¤ì¼ˆë ˆí†¤(Skeleton)" +msgstr "ìŠ¤ì¼ˆë ˆí†¤" #: editor/plugins/skeleton_editor_plugin.cpp msgid "Create physical skeleton" @@ -6225,9 +6230,8 @@ msgid "Rear" msgstr "ë’·ë©´" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "ë·°ì— ì •ë ¬" +msgstr "뷰와 ì •ë ¬" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6322,6 +6326,8 @@ msgid "" "Note: The FPS value displayed is the editor's framerate.\n" "It cannot be used as a reliable indication of in-game performance." msgstr "" +"ì°¸ê³ : FPS ê°’ì€ ì—ë””í„°ì˜ í”„ë ˆìž„ ì†ë„입니다.\n" +"게임 ë‚´ ì„±ëŠ¥ì„ ë³´ì¦í•˜ëŠ” 표시로 ë³¼ 수 없습니다." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6332,9 +6338,8 @@ msgid "XForm Dialog" msgstr "XForm 대화 ìƒìž" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "ë°”ë‹¥ì— ìŠ¤ëƒ…" +msgstr "노드를 ë°”ë‹¥ì— ìŠ¤ëƒ…" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6706,7 +6711,7 @@ msgstr "분리.:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "TextureRegion" -msgstr "TextureRegion" +msgstr "í…스ì³ì§€ì—" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -6929,6 +6934,22 @@ msgid "Merge from Scene" msgstr "씬으로부터 병합하기" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "ë‹¤ìŒ ì¢Œí‘œ" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "ë‹¤ìŒ ëª¨ì–‘, 하위 타ì¼, í˜¹ì€ íƒ€ì¼ì„ ì„ íƒí•˜ì„¸ìš”." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "ì´ì „ 좌표" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "ì´ì „ 모양, 하위 타ì¼, í˜¹ì€ íƒ€ì¼ì„ ì„ íƒí•˜ì„¸ìš”." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "비트 ë§ˆìŠ¤í¬ ë³µì‚¬í•˜ê¸°." @@ -6941,9 +6962,8 @@ msgid "Erase bitmask." msgstr "비트 ë§ˆìŠ¤í¬ ì§€ìš°ê¸°." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "새 노드 만들기." +msgstr "새 사ê°í˜• 만들기." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7084,6 +7104,14 @@ msgid "Clear Tile Bitmask" msgstr "íƒ€ì¼ ë¹„íŠ¸ ë§ˆìŠ¤í¬ ì§€ìš°ê¸°" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "오목한 í´ë¦¬ê³¤ 만들기" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "ë³¼ë¡í•œ í´ë¦¬ê³¤ 만들기" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "íƒ€ì¼ ì‚ì œ" @@ -7121,30 +7149,27 @@ msgstr "ì´ ì†ì„±ì„ 바꿀 수 없습니다." #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" -msgstr "TileSet(íƒ€ì¼ ì…‹)" +msgstr "타ì¼ì…‹" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "í†µì¼ ì´ë¦„ ì„¤ì •" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "'%s'ì„(를) 기본으로 ì§€ì •" +msgstr "ìž…ë ¥ 기본 í¬íŠ¸ ì„¤ì •" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "비주얼 ì…°ì´ë”" +msgstr "노드를 비주얼 ì…°ì´ë”ì— ì¶”ê°€" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" 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" @@ -7163,14 +7188,12 @@ msgid "VisualShader" 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" @@ -7189,6 +7212,8 @@ 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 "" @@ -7196,6 +7221,8 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"'%s' 플랫í¼ì— 프로ì 트를 내보낼 수 없습니다.\n" +"내보내기 프리셋ì´ë‚˜ 내보내기 ì„¤ì •ì˜ êµ¬ì„± ë¬¸ì œê°€ ì›ì¸ìœ¼ë¡œ 보입니다." #: editor/project_export.cpp msgid "Release" @@ -7206,6 +7233,10 @@ 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 "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨:" @@ -7223,7 +7254,7 @@ msgstr "경로 내보내기" #: editor/project_export.cpp msgid "Resources" -msgstr "리소스(Resources)" +msgstr "리소스" #: editor/project_export.cpp msgid "Export all resources in the project" @@ -7753,7 +7784,7 @@ msgstr "ì´ë²¤íŠ¸ 추가" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "버튼(Button)" +msgstr "버튼" #: editor/project_settings_editor.cpp msgid "Left Button." @@ -7885,7 +7916,7 @@ msgstr "ì•¡ì…˜:" #: editor/project_settings_editor.cpp msgid "Action" -msgstr "ì•¡ì…˜(Action)" +msgstr "ì•¡ì…˜" #: editor/project_settings_editor.cpp msgid "Deadzone" @@ -8089,7 +8120,7 @@ msgstr "ê° ë…¸ë“œì— ëŒ€í•´ ì¹´ìš´í„°ê°€ ì¦ê°€í•˜ëŠ” ì–‘" #: editor/rename_dialog.cpp msgid "Padding" -msgstr "패딩(Padding)" +msgstr "패딩" #: editor/rename_dialog.cpp msgid "" @@ -8233,9 +8264,8 @@ msgid "Instantiated scenes can't become root" msgstr "ì¸ìŠ¤í„´íŠ¸í™”ëœ ì”¬ì€ ë£¨íŠ¸ê°€ ë 수 없습니다" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "씬 루트 만들기" +msgstr "노드를 루트로 만들기" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8274,9 +8304,8 @@ msgid "Make Local" msgstr "로컬로 만들기" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "씬 루트 만들기" +msgstr "새 씬 루트" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8705,19 +8734,16 @@ msgid "Set From Tree" msgstr "트리로부터 ì„¤ì •" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "완화 out" +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 "Shortcuts" @@ -8926,9 +8952,8 @@ msgid "GridMap Duplicate Selection" msgstr "그리드맵 ì„ íƒ ë³µì œ" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "그리드맵 ì„¤ì •" +msgstr "그리드맵 ì¹ í•˜ê¸°" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9316,9 +9341,8 @@ msgid "Change Input Value" msgstr "ìž…ë ¥ ê°’ 변경" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "CanvasItem í¬ê¸° ì¡°ì ˆ" +msgstr "ì£¼ì„ í¬ê¸° ì¡°ì ˆ" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9650,10 +9674,10 @@ msgid "" "Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " "define its shape." msgstr "" -"ì´ ë…¸ë“œëŠ” ëª¨ì–‘ì„ ê°–ëŠ” ìžì‹ 노드가 없습니다, 다른 물체와 충ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘ìš© " +"ì´ ë…¸ë“œëŠ” Shapeì„ ê°–ëŠ” ìžì‹ 노드가 없습니다, 다른 물체와 충ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘ìš© " "í• ìˆ˜ 없습니다.\n" -"CollisionShape2D ë˜ëŠ” CollisionPolygon2D를 ìžì‹ 노드로 추가하여 ëª¨ì–‘ì„ ì •ì˜í•˜" -"세요." +"CollisionShape2D ë˜ëŠ” CollisionPolygon2D를 ìžì‹ 노드로 추가하여 Shapeì„ ì •ì˜" +"하세요." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -9675,17 +9699,17 @@ 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ì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©" +"니다. 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ê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모" -"ì–‘ 리소스를 만드세요!" +"CollisionShape2Dê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 Shapeì´ ì œê³µë˜ì–´ì•¼ 합니다. " +"Shape 리소스를 만드세요!" #: scene/2d/cpu_particles_2d.cpp msgid "" @@ -9858,9 +9882,9 @@ msgid "" "Consider adding a CollisionShape or CollisionPolygon as a child to define " "its shape." msgstr "" -"ì´ ë…¸ë“œëŠ” ëª¨ì–‘ì„ ê°–ëŠ” ìžì‹ 노드가 없습니다, 다른 물체와 충ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘ìš© " +"ì´ ë…¸ë“œëŠ” Shapeì„ ê°–ëŠ” ìžì‹ 노드가 없습니다, 다른 물체와 충ëŒí•˜ê±°ë‚˜ ìƒí˜¸ìž‘ìš© " "í• ìˆ˜ 없습니다.\n" -"CollisionShape ë˜ëŠ” CollisionPolygon를 ìžì‹ 노드로 추가하여 ëª¨ì–‘ì„ ì •ì˜í•˜ì„¸" +"CollisionShape ë˜ëŠ” CollisionPolygon를 ìžì‹ 노드로 추가하여 Shapeì„ ì •ì˜í•˜ì„¸" "ìš”." #: scene/3d/collision_polygon.cpp @@ -9869,7 +9893,7 @@ 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ì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ" +"CollisionPolygonì€ CollisionObjectì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ" "다. Area, StaticBody, RigidBody, KinematicBody ë“±ì— ìžì‹ 노드로 추가하여 사용" "합니다." @@ -9883,18 +9907,26 @@ 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 ë“±ì— ìžì‹ 노드로 추가하여 사용합니" -"다." +"CollisionShapeì€ CollisionObjectì— ì¶©ëŒ Shapeì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ" +"다. Area, StaticBody, RigidBody, KinematicBody ë“±ì— ìžì‹ 노드로 추가하여 사용" +"합니다." #: scene/3d/collision_shape.cpp msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" -"CollisionShapeê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 리소스" +"CollisionShapeê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 Shapeì´ ì œê³µë˜ì–´ì•¼ 합니다. Shape 리소스" "를 만드세요!" +#: 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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "ì§€ì •ëœ ë©”ì‹œê°€ 없으므로 메시를 ë³¼ 수 없습니다." @@ -9911,6 +9943,14 @@ msgstr "" 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 "" +"GIProbe는 GLES2 비디오 ë“œë¼ì´ë²„ì—ì„œ 지ì›í•˜ì§€ 않습니다.\n" +"BakedLightmapì„ ì‚¬ìš©í•˜ì„¸ìš”." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10080,6 +10120,16 @@ msgstr "16 진수나 코드 값으로 ì „í™˜í•©ë‹ˆë‹¤." msgid "Add current color as a preset." msgstr "현재 색ìƒì„ 프리셋으로 추가합니다." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"컨테ì´ë„ˆ ìžì²´ëŠ” ìžì‹ 배치 í–‰ë™ì„ 구성하지 않는 í•œ ìš©ë„ê°€ 없습니다.\n" +"스í¬ë¦½íŠ¸ë¥¼ 추가하지 않는 경우, 순수한 'Control' 노드를 사용해주세요." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "ê²½ê³ !" @@ -10088,6 +10138,10 @@ msgstr "ê²½ê³ !" msgid "Please Confirm..." msgstr "확ì¸í•´ì£¼ì„¸ìš”..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "부모 í´ë”ë¡œ ì´ë™í•©ë‹ˆë‹¤." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10171,6 +10225,9 @@ msgstr "ê· ì¼í•˜ê²Œ 배치함." msgid "Varyings can only be assigned in vertex function." msgstr "Varyings는 ì˜¤ì§ ë²„í…스 함수ì—서만 ì§€ì •í• ìˆ˜ 있습니다." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "ì„ íƒëœ ì”¬ì„ ì„ íƒëœ ë…¸ë“œì˜ ìžì‹ìœ¼ë¡œ ì¸ìŠ¤í„´ìŠ¤ 합니다." + #~ msgid "FPS" #~ msgstr "초당 í”„ë ˆìž„" @@ -11651,9 +11708,6 @@ msgstr "Varyings는 ì˜¤ì§ ë²„í…스 함수ì—서만 ì§€ì •í• ìˆ˜ 있습니다. #~ msgid "Cannot go into subdir:" #~ msgstr "하위 ë””ë ‰í† ë¦¬ë¡œ ì´ë™í• 수 없습니다:" -#~ msgid "Imported Resources" -#~ msgstr "ê°€ì ¸ì˜¨ 리소스" - #~ msgid "Insert Keys (Ins)" #~ msgstr "키 삽입 (Ins 키)" diff --git a/editor/translations/lt.po b/editor/translations/lt.po index cf5799620e..27fa42d705 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -1366,8 +1366,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1417,7 +1431,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1492,10 +1506,32 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Pasirinkite Nodus, kuriuos norite importuoti" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Pasirinkite Nodus, kuriuos norite importuoti" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1719,8 +1755,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1729,6 +1765,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2975,14 +3021,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3124,10 +3162,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5095,19 +5129,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5198,11 +5232,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5800,6 +5834,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6864,6 +6906,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7014,6 +7072,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Keisti Poligono SkalÄ™" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Keisti Poligono SkalÄ™" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Panaikinti" @@ -7136,6 +7204,10 @@ 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 "" @@ -9715,6 +9787,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9729,6 +9807,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9879,6 +9963,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ä®spÄ—jimas!" @@ -9887,6 +9979,10 @@ msgstr "Ä®spÄ—jimas!" msgid "Please Confirm..." msgstr "PraÅ¡ome Patvirtinti..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/lv.po b/editor/translations/lv.po index 8cf29d32cb..4c46135e35 100644 --- a/editor/translations/lv.po +++ b/editor/translations/lv.po @@ -1372,8 +1372,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1423,7 +1437,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1498,10 +1512,32 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "IzvÄ“lÄ“ties Å¡o Mapi" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "IzvÄ“lÄ“ties Å¡o Mapi" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1724,8 +1760,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1734,6 +1770,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2973,14 +3019,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3119,10 +3157,6 @@ msgid "Search files" msgstr "MeklÄ“t:" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5077,19 +5111,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5180,11 +5214,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5777,6 +5811,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6844,6 +6886,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6994,6 +7052,15 @@ 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 "Izveidot" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Noņemt" @@ -7115,6 +7182,10 @@ 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 "" @@ -9679,6 +9750,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9693,6 +9770,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9840,6 +9923,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Pievienot paÅ¡reizÄ“jo krÄsu kÄ iepriekÅ¡noteiktu krÄsu" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "BrÄ«dinÄjums!" @@ -9848,6 +9939,10 @@ msgstr "BrÄ«dinÄjums!" msgid "Please Confirm..." msgstr "LÅ«dzu Apstipriniet..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/mi.po b/editor/translations/mi.po new file mode 100644 index 0000000000..bd3832641d --- /dev/null +++ b/editor/translations/mi.po @@ -0,0 +1,9865 @@ +# LANGUAGE translation of the Godot Engine editor +# Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. +# Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) +# This file is distributed under the same license as the Godot source code. +# follower <follower@rancidbacon.com>, 2019. +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"Language: mi\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp +#: modules/mono/glue/gd_glue.cpp +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid input %i (not passed) in expression" +msgstr "" + +#: core/math/expression.cpp +msgid "self can't be used because instance is null (not passed)" +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid operands to operator %s, %s and %s." +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid index of type %s for base type %s" +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid named index '%s' for base type %s" +msgstr "" + +#: core/math/expression.cpp +msgid "Invalid arguments to construct '%s'" +msgstr "" + +#: core/math/expression.cpp +msgid "On call to '%s':" +msgstr "" + +#: editor/animation_bezier_editor.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Free" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Balanced" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Mirror" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Insert Key Here" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Duplicate Selected Key(s)" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Delete Selected Key(s)" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Add Bezier Point" +msgstr "" + +#: editor/animation_bezier_editor.cpp +msgid "Move Bezier Points" +msgstr "" + +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Keyframe Time" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Keyframe Value" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Length" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Property Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "3D Transform Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Call Method Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Bezier Curve Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Audio Playback Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation Playback Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation Length Time (seconds)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation Looping" +msgstr "" + +#: editor/animation_track_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Functions:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Audio Clips:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Clips:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Track Path" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Toggle this track on/off." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Update Mode (How this property is set)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Interpolation Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove this track." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Time (s): " +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Toggle Track Enabled" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Continuous" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Discrete" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Trigger" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Capture" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Nearest" +msgstr "" + +#: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp +#: editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Cubic" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clamp Loop Interp" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Wrap Loop Interp" +msgstr "" + +#: editor/animation_track_editor.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Duplicate Key(s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Delete Key(s)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Update Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Interpolation Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Loop Mode" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: editor/animation_track_editor.cpp editor/create_dialog.cpp +#: editor/editor_audio_buses.cpp editor/editor_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/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "AnimationPlayer can't animate itself, only other players." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Change Animation Step" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Rearrange Tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Transform tracks only apply to Spatial-based nodes." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "" +"Audio tracks can only point to nodes of type:\n" +"-AudioStreamPlayer\n" +"-AudioStreamPlayer2D\n" +"-AudioStreamPlayer3D" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation tracks can only point to AnimationPlayer nodes." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "An animation player can't animate itself, only other players." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Not possible to add a new track without a root" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Bezier Track" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Track path is invalid, so can't add a key." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Track is not of type Spatial, can't insert key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Transform Track Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Track Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Track path is invalid, so can't add a method key." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Add Method Track Key" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Method not found in object: " +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clipboard is empty" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Paste Tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "" +"This option does not work for Bezier editing, as it's only a single track." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Only show tracks from nodes selected in tree." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Group tracks by node or display them as plain list." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Snap (s): " +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation step value." +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/project_manager.cpp editor/project_settings_editor.cpp +#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp +msgid "Edit" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Animation properties." +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Copy Tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: editor/animation_track_editor.cpp modules/gridmap/grid_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Delete Selection" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Go to Next Step" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Go to Previous Step" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Pick the node that will be animated:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Use Bezier Curves" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Optimize" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: editor/animation_track_editor.cpp +msgid "Select tracks to copy:" +msgstr "" + +#: editor/animation_track_editor.cpp editor/editor_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_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 editor/editor_help.cpp +msgid "No Matches" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replaced %d occurrence(s)." +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/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 modules/mono/editor/mono_bottom_panel.cpp +msgid "Warnings" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line and column numbers." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "" +"Target method not found! Specify a valid method or attach a script to target " +"Node." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect To Node:" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp +#: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp +msgid "Add" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/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/project_manager.cpp +#: editor/project_settings_editor.cpp +msgid "Remove" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: editor/connections_dialog.cpp editor/dependency_editor.cpp +#: editor/export_template_manager.cpp editor/groups_editor.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/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/project_export.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Close" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect '%s' from '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect all from signal: '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect..." +msgstr "" + +#: editor/connections_dialog.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect Signal: " +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Edit Connection: " +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Are you sure you want to remove all connections from the \"%s\" signal?" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Are you sure you want to remove all connections from this signal?" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect All" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Edit..." +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Go To Method" +msgstr "" + +#: editor/create_dialog.cpp +msgid "Change %s Type" +msgstr "" + +#: editor/create_dialog.cpp editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Change" +msgstr "" + +#: editor/create_dialog.cpp +msgid "Create New %s" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +#: editor/filesystem_dock.cpp +msgid "Favorites:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.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/plugin_config_dialog.cpp +#: editor/plugins/asset_library_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 not take effect unless reloaded." +msgstr "" + +#: editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will 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_settings_editor.cpp editor/script_create_dialog.cpp +msgid "Path" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_file_dialog.cpp +#: editor/editor_help_search.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp +#: editor/property_selector.cpp editor/quick_open.cpp +#: editor/script_create_dialog.cpp +#: modules/visual_script/visual_script_property_selector.cpp +#: scene/gui/file_dialog.cpp +msgid "Open" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +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 editor/export_template_manager.cpp +msgid "Cannot remove:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Load failed due to missing dependencies:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Open Anyway" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: editor/dependency_editor.cpp editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Delete selected files?" +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/dictionary_property_edit.cpp +msgid "Change Dictionary Key" +msgstr "" + +#: editor/dictionary_property_edit.cpp +msgid "Change Dictionary Value" +msgstr "" + +#: editor/editor_about.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: editor/editor_about.cpp +msgid "Godot Engine contributors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Project Founders" +msgstr "" + +#: editor/editor_about.cpp +msgid "Lead Developer" +msgstr "" + +#: editor/editor_about.cpp +msgid "Project Manager " +msgstr "" + +#: editor/editor_about.cpp +msgid "Developers" +msgstr "" + +#: editor/editor_about.cpp +msgid "Authors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Platinum Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "Gold Sponsors" +msgstr "" + +#: editor/editor_about.cpp +msgid "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 "Thirdparty License" +msgstr "" + +#: editor/editor_about.cpp +msgid "" +"Godot Engine relies on a number of thirdparty free and open source " +"libraries, all compatible with the terms of its MIT license. The following " +"is an exhaustive list of all such thirdparty 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 "Uncompressing Assets" +msgstr "" + +#: editor/editor_asset_installer.cpp editor/project_manager.cpp +msgid "Package installed successfully!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Success!" +msgstr "" + +#: editor/editor_asset_installer.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Install" +msgstr "" + +#: editor/editor_asset_installer.cpp +msgid "Package Installer" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Speakers" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Rename Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Change Audio Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Toggle Audio Bus Bypass Effects" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Select Audio Bus Send" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Bus Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio Bus, Drag and Drop to rearrange." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Solo" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Mute" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bypass" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Bus options" +msgstr "" + +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/animation_player_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Effect" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Master bus can't be deleted!" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Delete Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Duplicate Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Reset Bus Volume" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Move Audio Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save Audio Bus Layout As..." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Location for New Layout..." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Open Audio Bus Layout" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "There is no 'res://default_bus_layout.tres' file." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Invalid file, not an audio bus layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add Bus" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Add a new Audio Bus to this layout." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/editor_properties.cpp +#: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Load" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load an existing Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save As" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Save this Bus Layout to a file." +msgstr "" + +#: editor/editor_audio_buses.cpp editor/import_dock.cpp +msgid "Load Default" +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Load the default Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.cpp +msgid "Create a new Bus Layout." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant 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 +msgid "Enable" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Rearrange Autoloads" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Invalid Path." +msgstr "" + +#: editor/editor_autoload_settings.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/plugins/animation_tree_editor_plugin.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/settings_config_dialog.cpp +msgid "Name" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Singleton" +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 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 +#: 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_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Select Current Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Select This Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Open in File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#: editor/project_manager.cpp +msgid "Show in File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder..." +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Refresh" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/editor_properties.cpp editor/inspector_dock.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp +msgid "Save" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Back" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Forward" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Hidden Files" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Favorite" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Toggle Mode" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Focus Path" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Up" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Move Favorite Down" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Go to parent folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 +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 "(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 +msgid "Inherits:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Methods:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Theme Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Theme Properties:" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Signals:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations" +msgstr "" + +#: editor/editor_help.cpp +msgid "Enumerations:" +msgstr "" + +#: editor/editor_help.cpp +msgid "enum " +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants" +msgstr "" + +#: editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class Description" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Online Tutorials:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There are currently no tutorials for this class, you can [color=$color][url=" +"$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/" +"url][/color]." +msgstr "" + +#: editor/editor_help.cpp +msgid "Property Descriptions" +msgstr "" + +#: editor/editor_help.cpp +msgid "Property Descriptions:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this property. Please help us by " +"[color=$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Descriptions" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Descriptions:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this method. Please help us by [color=" +"$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help_search.cpp editor/editor_node.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: editor/editor_help_search.cpp +msgid "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_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/editor_profiler.cpp +#: editor/editor_properties.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/property_editor.cpp editor/scene_tree_dock.cpp +#: editor/script_editor_debugger.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Clear" +msgstr "" + +#: editor/editor_log.cpp +msgid "Clear Output" +msgstr "" + +#: editor/editor_node.cpp +msgid "Project export failed with error code %d." +msgstr "" + +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Save Resource As..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Can't open '%s'. The file could have been moved or deleted." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while parsing '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unexpected end of file '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Missing '%s' or its dependencies." +msgstr "" + +#: editor/editor_node.cpp +msgid "Error while loading '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a tree root." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This scene can't be saved because there is a cyclic instancing inclusion.\n" +"Please resolve it and then attempt to save again." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " +"be satisfied." +msgstr "" + +#: editor/editor_node.cpp editor/scene_tree_dock.cpp +msgid "Can't overwrite scene that is still open!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was imported, so it's not editable.\n" +"Please read the documentation relevant to importing scenes to better " +"understand this workflow." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource belongs to a scene that was instanced or inherited.\n" +"Changes to it will not 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 will not 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 will not 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 "" +"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 "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 +msgid "Open Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Scene..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Quick Open Script..." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save & Close" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to '%s' before closing?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Saved %s modified resource(s)." +msgstr "" + +#: editor/editor_node.cpp +msgid "A root node is required to save the scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Scene As..." +msgstr "" + +#: editor/editor_node.cpp +msgid "No" +msgstr "" + +#: editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: editor/editor_node.cpp editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a root node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: editor/editor_node.cpp +msgid "This operation can't be done without a selected node." +msgstr "" + +#: editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: editor/editor_node.cpp +msgid "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 +msgid "Save & Quit" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes to the following scene(s) before quitting?" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save changes the following scene(s) before opening Project Manager?" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This option is deprecated. Situations where refresh must be forced are now " +"considered a bug. Please report." +msgstr "" + +#: editor/editor_node.cpp +msgid "Pick a Main Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to enable addon plugin at: '%s' parsing of config failed." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s'." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Unable to load addon script from path: '%s' There seems to be an error in " +"the code, please check the syntax." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Unable to load addon script from path: '%s' Base type is not EditorPlugin." +msgstr "" + +#: editor/editor_node.cpp +msgid "Unable to load addon script from path: '%s' Script is not in tool mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Scene '%s' was automatically imported, so it can't be modified.\n" +"To make changes to it, a new inherited scene can be created." +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Clear Recent Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: editor/editor_node.cpp editor/import_dock.cpp +#: editor/script_create_dialog.cpp +msgid "Default" +msgstr "" + +#: editor/editor_node.cpp editor/editor_properties.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +msgid "Show in FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play This Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files or folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more folders" +msgstr "" + +#: editor/editor_node.cpp +msgid "%d more files" +msgstr "" + +#: editor/editor_node.cpp +msgid "Dock Position" +msgstr "" + +#: editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle distraction-free mode." +msgstr "" + +#: editor/editor_node.cpp +msgid "Add a new scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "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 +msgid "Save Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Save All Scenes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Open Recent" +msgstr "" + +#: editor/editor_node.cpp +msgid "Convert To..." +msgstr "" + +#: editor/editor_node.cpp +msgid "MeshLibrary..." +msgstr "" + +#: editor/editor_node.cpp +msgid "TileSet..." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Undo" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_text_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Redo" +msgstr "" + +#: editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: editor/editor_node.cpp +msgid "Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp +msgid "Tools" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Project Data Folder" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +#: editor/project_export.cpp +msgid "Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"When 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 +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: 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 +msgid "Editor" +msgstr "" + +#: editor/editor_node.cpp editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: editor/editor_node.cpp +msgid "Toggle Fullscreen" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Editor Data/Settings Folder" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Editor Data Folder" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Editor Settings Folder" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/editor_node.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/project_settings_editor.cpp editor/rename_dialog.cpp +msgid "Search" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Online Docs" +msgstr "" + +#: editor/editor_node.cpp +msgid "Q&A" +msgstr "" + +#: editor/editor_node.cpp +msgid "Issue Tracker" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: editor/editor_node.cpp +msgid "About" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: editor/editor_node.cpp editor/editor_profiler.cpp +msgid "Stop" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Play Custom Scene" +msgstr "" + +#: editor/editor_node.cpp +msgid "Changing the video driver requires restarting the editor." +msgstr "" + +#: editor/editor_node.cpp editor/project_settings_editor.cpp +#: editor/settings_config_dialog.cpp +msgid "Save & Restart" +msgstr "" + +#: editor/editor_node.cpp +msgid "Spins when the editor window redraws." +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: editor/editor_node.cpp +msgid "Disable Update Spinner" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Node" +msgstr "" + +#: editor/editor_node.cpp +msgid "Expand Bottom Panel" +msgstr "" + +#: editor/editor_node.cpp scene/resources/visual_shader.cpp +msgid "Output" +msgstr "" + +#: editor/editor_node.cpp +msgid "Don't Save" +msgstr "" + +#: editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: editor/editor_node.cpp +msgid "Password:" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: editor/editor_node.cpp +msgid "New Inherited" +msgstr "" + +#: editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 2D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open 3D Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open Script Editor" +msgstr "" + +#: editor/editor_node.cpp editor/project_manager.cpp +msgid "Open Asset Library" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the next Editor" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open the previous Editor" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Creating Mesh Previews" +msgstr "" + +#: editor/editor_plugin.cpp +msgid "Thumbnail..." +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Edit Plugin" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp +msgid "Author:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Edit:" +msgstr "" + +#: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp +#: editor/rename_dialog.cpp +msgid "Start" +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 "Time:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + +#: editor/editor_properties.cpp +msgid "On" +msgstr "" + +#: editor/editor_properties.cpp +msgid "Layer" +msgstr "" + +#: editor/editor_properties.cpp +msgid "Bit %d, value %d" +msgstr "" + +#: editor/editor_properties.cpp +msgid "[Empty]" +msgstr "" + +#: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp +msgid "Assign..." +msgstr "" + +#: editor/editor_properties.cpp +msgid "Invalid RID" +msgstr "" + +#: editor/editor_properties.cpp +msgid "" +"The selected resource (%s) does not match any type expected for this " +"property (%s)." +msgstr "" + +#: editor/editor_properties.cpp +msgid "" +"Can't create a ViewportTexture on resources saved as a file.\n" +"Resource needs to belong to a scene." +msgstr "" + +#: editor/editor_properties.cpp +msgid "" +"Can't create a ViewportTexture on this resource because it's not set as " +"local to scene.\n" +"Please switch on the 'local to scene' property on it (and all resources " +"containing it up to a node)." +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Pick a Viewport" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "New Script" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/editor_properties.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/property_editor.cpp +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +msgid "Paste" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Convert To %s" +msgstr "" + +#: editor/editor_properties.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Open Editor" +msgstr "" + +#: editor/editor_properties.cpp editor/property_editor.cpp +msgid "Selected node is not a Viewport!" +msgstr "" + +#: editor/editor_properties_array_dict.cpp +msgid "Size: " +msgstr "" + +#: editor/editor_properties_array_dict.cpp +msgid "Page: " +msgstr "" + +#: editor/editor_properties_array_dict.cpp +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_properties_array_dict.cpp +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: editor/editor_run_native.cpp +msgid "Select device from the list" +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 "" + +#: 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 "" + +#: editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Re-Download" +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 "(Missing)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "(Current)" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Retrieving mirrors, please wait..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove template version '%s'?" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Invalid version.txt format inside templates: %s." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "No version.txt found inside templates." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error creating path for templates:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Extracting Export Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Importing:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"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 +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request Failed." +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.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 "" +"Templates installation failed. The problematic templates archives can be " +"found at '%s'." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Error requesting url: " +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connecting to Mirror..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Disconnected" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Resolving" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Resolve" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connecting..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Can't Connect" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connected" +msgstr "" + +#: editor/export_template_manager.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Requesting..." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Downloading" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Connection Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "SSL Handshake Error" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Current Version:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Installed Versions:" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Install From File" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Remove Template" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select template file" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Export Template Manager" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Templates" +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Select mirror from list: (Shift+Click: Open in Browser)" +msgstr "" + +#: editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Favorites" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot navigate to '%s' as it has not been found in the file system!" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Status: Import of file failed. Please fix file and reimport manually." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move/rename resources root." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Cannot move a folder into itself." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error moving:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error duplicating:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Unable to update dependencies:" +msgstr "" + +#: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp +msgid "No name provided." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Provided name contains invalid characters" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "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 "Renaming file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Renaming folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating file:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Open Scene(s)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Add to favorites" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Remove from favorites" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Edit Dependencies..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View Owners..." +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Rename..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Duplicate..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move To..." +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp +msgid "New Script..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "New Resource..." +msgstr "" + +#: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp +msgid "Expand All" +msgstr "" + +#: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp +msgid "Collapse All" +msgstr "" + +#: editor/filesystem_dock.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/project_manager.cpp editor/rename_dialog.cpp +#: editor/scene_tree_dock.cpp +msgid "Rename" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Next Directory" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Toggle split mode" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Search files" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "" +"Scanning Files,\n" +"Please Wait..." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "There is already file or folder with the same name in this location." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Overwrite" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Find in Files" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Find:" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Folder:" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Filters:" +msgstr "" + +#: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find..." +msgstr "" + +#: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp +msgid "Replace..." +msgstr "" + +#: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Find: " +msgstr "" + +#: editor/find_in_files.cpp +msgid "Replace: " +msgstr "" + +#: editor/find_in_files.cpp +msgid "Replace all (no undo)" +msgstr "" + +#: editor/find_in_files.cpp +msgid "Searching..." +msgstr "" + +#: editor/find_in_files.cpp +msgid "Search complete" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Group name already exists." +msgstr "" + +#: editor/groups_editor.cpp +msgid "Invalid group name." +msgstr "" + +#: editor/groups_editor.cpp editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Nodes not in Group" +msgstr "" + +#: editor/groups_editor.cpp editor/scene_tree_dock.cpp +msgid "Filter nodes" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Nodes in Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Manage Groups" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Single Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import with Separate Objects+Materials+Animations" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Import as Multiple Scenes+Materials" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Importing Scene..." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Generating for Mesh: " +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script..." +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Invalid/broken script for post-import (check console):" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Error running post-import script:" +msgstr "" + +#: editor/import/resource_importer_scene.cpp +msgid "Saving..." +msgstr "" + +#: editor/import_dock.cpp +msgid "Set as Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid "Clear Default for '%s'" +msgstr "" + +#: editor/import_dock.cpp +msgid " Files" +msgstr "" + +#: editor/import_dock.cpp +msgid "Import As:" +msgstr "" + +#: editor/import_dock.cpp editor/property_editor.cpp +msgid "Preset..." +msgstr "" + +#: editor/import_dock.cpp +msgid "Reimport" +msgstr "" + +#: editor/import_dock.cpp +msgid "Save scenes, re-import and restart" +msgstr "" + +#: editor/import_dock.cpp +msgid "Changing the type of an imported file requires editor restart." +msgstr "" + +#: editor/import_dock.cpp +msgid "" +"WARNING: Assets exist that use this resource, they may stop loading properly." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Failed to load resource." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Expand All Properties" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Collapse All Properties" +msgstr "" + +#: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Save As..." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Copy Params" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Paste Params" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Edit Resource Clipboard" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Make Built-In" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Open in Help" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "History of recently edited objects." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Object properties." +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Filter properties" +msgstr "" + +#: editor/inspector_dock.cpp +msgid "Changes may be lost!" +msgstr "" + +#: editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Edit a Plugin" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Create a Plugin" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Plugin Name:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Subfolder:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Language:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Script Name:" +msgstr "" + +#: editor/plugin_config_dialog.cpp +msgid "Activate now?" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Polygon" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create points." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "" +"Edit points.\n" +"LMB: Move Point\n" +"RMB: Erase Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Erase points." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Edit Polygon (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Polygon And Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Load..." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Move Node Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Change BlendSpace1D Limits" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Change BlendSpace1D Labels" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "This type of node can't be used. Only root nodes are allowed." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Add Node Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Add Animation Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Remove BlendSpace1D Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +msgid "Move BlendSpace1D Node Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "" +"AnimationTree is inactive.\n" +"Activate to enable playback, check node warnings if activation fails." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Set the blending position within the space" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Select and move points, create points with RMB." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp scene/gui/graph_edit.cpp +msgid "Enable snap and show grid." +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Point" +msgstr "" + +#: editor/plugins/animation_blend_space_1d_editor.cpp +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Open Animation Node" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Triangle already exists" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Add Triangle" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Change BlendSpace2D Limits" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Change BlendSpace2D Labels" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Remove BlendSpace2D Point" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Remove BlendSpace2D Triangle" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "BlendSpace2D does not belong to an AnimationTree node." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "No triangles exist, so no blending can take place." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Toggle Auto Triangles" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Create triangles by connecting points." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Erase points and triangles." +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +msgid "Generate blend triangles automatically (instead of manually)" +msgstr "" + +#: editor/plugins/animation_blend_space_2d_editor.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Parameter Changed" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Edit Filters" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Output node can't be added to the blend tree." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Add Node to BlendTree" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Node Moved" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Unable to connect, port may be in use or connection may be invalid." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Nodes Connected" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Nodes Disconnected" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Set Animation" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Delete Node" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Toggle Filter On/Off" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Change Filter" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "No animation player set, so unable to retrieve track names." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Player path set is invalid, so unable to retrieve track names." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "" +"Animation player has no valid root node path, so unable to retrieve track " +"names." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Node Renamed" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add Node..." +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "Edit Filtered Tracks:" +msgstr "" + +#: editor/plugins/animation_blend_tree_editor_plugin.cpp +msgid "Enable filtering" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Delete Animation?" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Invalid animation name!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation name already exists!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "No animation to copy!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "No animation resource on clipboard!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "No animation to edit!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "New" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Transitions..." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Open in Inspector" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Enable Onion Skinning" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Directions" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Past" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Future" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Depth" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "1 step" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "2 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "3 steps" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Differences Only" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Force White Modulate" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Include Gizmos (3D)" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Pin AnimationPlayer" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +#: editor/plugins/resource_preloader_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp +#: editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Move Node" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Add Transition" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "End" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Immediate" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Sync" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "At End" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Travel" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Start and end nodes are needed for a sub-transition." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "No playback resource set at path: %s." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Node Removed" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Transition Removed" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Set Start Node (Autoplay)" +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "" +"Select and move nodes.\n" +"RMB to add new nodes.\n" +"Shift+LMB to create connections." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Create new nodes." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Connect nodes." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Remove selected node or transition." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Toggle autoplay this animation on start, restart or seek to zero." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Set the end animation. This is useful for sub-transitions." +msgstr "" + +#: editor/plugins/animation_state_machine_editor.cpp +msgid "Transition: " +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "AnimationTree" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Import Animations..." +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: editor/plugins/animation_tree_player_editor_plugin.cpp +msgid "Filters..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Contents:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "View Files" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't resolve hostname:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Connection error, please try again." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Can't connect to host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "No response from host:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, return code:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Request failed, too many redirects" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Bad download hash, assuming file has been tampered with." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Expected:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Got:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Failed sha256 hash check" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Asset Download Error:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Downloading (%s / %s)..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Downloading..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Resolving..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Error making request" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Idle" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "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 "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 +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_settings_editor.cpp +msgid "Plugins" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp +msgid "Sort:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_settings_editor.cpp +msgid "Category:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Support..." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "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 "Rotation Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove vertical guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Remove horizontal guide" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Create new horizontal and vertical guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move pivot" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotate CanvasItem" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move anchor" +msgstr "" + +#: 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 "Presets for the anchors and margins values of a Control node." +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 "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 +msgid "Paste Pose" +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 +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 +msgid "Move Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotate Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Scale Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Toggle snapping." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snapping Options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to grid" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +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 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 +msgid "Snap to parent" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node anchor" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node sides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to node center" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to other nodes" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap to guides" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton Options" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Show Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Custom Bone(s) from Node(s)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Custom Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "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 "Layout" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert keys." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Multiply grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Divide grid step by 2" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Add %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Adding %s..." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Cannot instantiate multiple nodes without root." +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change default type" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "" +"Drag & drop + Shift : Add node as sibling\n" +"Drag & drop + Alt : Change node type" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Polygon3D" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: editor/plugins/cpu_particles_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 "Flat0" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Flat1" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Ease in" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Ease out" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Smoothstep" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Modify Curve Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load Curve Preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Add point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Left linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Right linear" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Load preset" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Remove Curve Point" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Toggle Curve Linear Tangent" +msgstr "" + +#: editor/plugins/curve_editor_plugin.cpp +msgid "Hold Shift to edit tangents individually" +msgstr "" + +#: editor/plugins/gi_probe_editor_plugin.cpp +msgid "Bake GI Probe" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +msgid "Gradient Edited" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex 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 Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#: editor/plugins/sprite_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 "Create Convex Static Body" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh..." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV1" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "View UV2" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: editor/plugins/mesh_library_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: editor/plugins/navigation_polygon_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generating Visibility Rect" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Can only set point into a ParticlesMaterial process material" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image..." +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Convert to CPUParticles" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Particles" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generation Time (sec):" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Mask" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Capture from Pixel" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Emission Colors" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Points:" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Surface Points+Normal (Directed)" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Emission Source: " +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "A processor material of type 'ParticlesMaterial' is required." +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generating AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate Visibility AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Out-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove In-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Split Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Left Click: Split Segment (in curve)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp editor/plugins/theme_editor_plugin.cpp +#: editor/project_export.cpp +msgid "Options" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Mirror Handle Angles" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Mirror Handle Lengths" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Position" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove Out-Control Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Remove In-Control Point" +msgstr "" + +#: editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: editor/plugins/physical_bone_plugin.cpp +msgid "Move joint" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"The skeleton property of the Polygon2D does not point to a Skeleton2D node" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Sync Bones" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"No texture in this polygon.\n" +"Set a texture to be able to edit UV." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Polygon & UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Internal Vertex" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Remove Internal Vertex" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Invalid Polygon (need 3 different vertices)" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Add Custom Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Remove Custom Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform Polygon" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Paint Bone Weights" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Open Polygon 2D UV editor." +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Points" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygons" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Bones" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Points" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "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 +msgid "Grid Settings" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +#: editor/plugins/spatial_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 "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 +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 +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ResourcePreloader" +msgstr "" + +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "AnimationTree has no path set to an AnimationPlayer" +msgstr "" + +#: editor/plugins/root_motion_editor_plugin.cpp +msgid "Path to AnimationPlayer is invalid" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Files" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close and save changes?" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error writing TextFile:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error: could not load file." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error could not load file." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error saving file!" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error Saving" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Error Importing" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "New TextFile..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open File" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Save File As..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "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 " Class Reference" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Toggle alphabetical sorting of the method list." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Sort" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Up" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Move Down" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Next script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Previous script" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "File" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Open..." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "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 Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close All" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Close Other Tabs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Toggle Scripts Panel" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +#: editor/plugins/script_text_editor.cpp +msgid "Find Next" +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 "Step Into" +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 "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Discard" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Results" +msgstr "" + +#: editor/plugins/script_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 editor/plugins/text_editor.cpp +msgid "Standard" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Only resources from filesystem can be dropped." +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 scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Cut" +msgstr "" + +#: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp +msgid "Select All" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Delete Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Left" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Indent Right" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Toggle Comment" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold/Unfold Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Unfold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Clone Down" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Complete Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent to Spaces" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Indent to Tabs" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Auto Indent" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +#: 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/script_text_editor.cpp +msgid "Find Previous" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find in Files..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Function..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Go to Line..." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Contextual Help" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp +msgid "Shader" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "This skeleton has no bones, create some children Bone2D nodes." +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Create Rest Pose from Bones" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Set Rest Pose to Bones" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Skeleton2D" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Make Rest Pose (From Bones)" +msgstr "" + +#: editor/plugins/skeleton_2d_editor_plugin.cpp +msgid "Set Bones to Rest Pose" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp +msgid "Create physical bones" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp +msgid "Skeleton" +msgstr "" + +#: editor/plugins/skeleton_editor_plugin.cpp +msgid "Create physical skeleton" +msgstr "" + +#: editor/plugins/skeleton_ik_editor_plugin.cpp +msgid "Play IK" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling: " +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translating: " +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Yaw" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Objects Drawn" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Material Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Shader Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Surface Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Draw Calls" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Vertices" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align with View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Lock View Rotation" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Display Unshaded" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Environment" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Gizmos" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Information" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Half Resolution" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Doppler Enable" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Cinematic Preview" +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 "" +"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 "View Rotation Locked" +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 "Select Mode (Q)" +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 "Move Mode (W)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Space Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Mode (%s)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Top View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Front View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Left View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Right View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Switch Perspective/Orthogonal view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Insert Animation Key" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Focus Selection" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align Selection With View" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Select" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Move" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Rotate" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Tool Scale" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Toggle Freelook" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap object to floor" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog..." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Nameless gizmo" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Sprite is empty!" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Can't convert a sprite using animation frames to mesh." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Invalid geometry, can't replace by mesh." +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Sprite" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Convert to 2D Mesh" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Create 2D Mesh" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Simplification: " +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Grow (Pixels): " +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Update Preview" +msgstr "" + +#: editor/plugins/sprite_editor_plugin.cpp +msgid "Settings:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "New Animation" +msgstr "" + +#: 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 +msgid "Animation Frames:" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (Before)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Move (After)" +msgstr "" + +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "SpriteFrames" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Region Rect" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Margin" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +#: scene/resources/visual_shader.cpp +msgid "None" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Pixel Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Snap" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Auto Slice" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Offset:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Step:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Sep.:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "TextureRegion" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove All" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Edit theme..." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Theme editing menu." +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Create From Current Editor Theme" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Radio Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Checked Radio Item" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Has,Many,Options" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/rename_dialog.cpp +msgid "Style" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Fix Invalid Tiles" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Cut Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Line Draw" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rectangle Paint" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket Fill" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Find Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Copy Selection" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate left" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate right" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Flip horizontally" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Flip vertically" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Clear transform" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Texture(s) to TileSet." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove selected Texture from TileSet." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Copy bitmask." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Paste bitmask." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Erase bitmask." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create a new rectangle." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create a new polygon." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Keep polygon inside region Rect." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Enable snap and show grid (configurable via the Inspector)." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Display Tile Names (Hold Alt Key)" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove selected texture? This will remove all tiles which use it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "You haven't selected a texture to remove." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene? This will overwrite all current tiles." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Texture" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "%s file(s) were not added because was already on the list." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Drag handles to edit Rect.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete selected Rect." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select current edited sub-tile.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Delete polygon." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"LMB: Set bit on.\n" +"RMB: Set bit off.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select sub-tile to use as icon, this will be also used on invalid autotile " +"bindings.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select sub-tile to change its priority.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "" +"Select sub-tile to change its z index.\n" +"Click on another Tile to edit it." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Set Tile Region" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Tile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Set Tile Icon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Tile Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Collision Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Occlusion Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Navigation Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Paste Tile Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Clear Tile Bitmask" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Tile" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Collision Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Occlusion Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Navigation Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Tile Priority" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Edit Tile Z Index" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Collision Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Create Occlusion Polygon" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "This property can't be changed." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "TileSet" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Set Uniform Name" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Set Input Default Port" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Add Node to Visual Shader" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Duplicate Nodes" +msgstr "" + +#: 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 +msgid "VisualShader" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Edit Visual Property" +msgstr "" + +#: editor/plugins/visual_shader_editor_plugin.cpp +msgid "Visual Shader Mode Changed" +msgstr "" + +#: editor/project_export.cpp +msgid "Runnable" +msgstr "" + +#: editor/project_export.cpp +msgid "Delete 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 "Export Path" +msgstr "" + +#: editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: editor/project_export.cpp +msgid "Export all resources in the project" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected scenes (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export selected resources (and dependencies)" +msgstr "" + +#: editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Resources to export:" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" +msgstr "" + +#: editor/project_export.cpp +msgid "" +"Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" +msgstr "" + +#: editor/project_export.cpp +msgid "Patches" +msgstr "" + +#: editor/project_export.cpp +msgid "Make Patch" +msgstr "" + +#: editor/project_export.cpp +msgid "Features" +msgstr "" + +#: editor/project_export.cpp +msgid "Custom (comma-separated):" +msgstr "" + +#: editor/project_export.cpp +msgid "Feature List:" +msgstr "" + +#: editor/project_export.cpp +msgid "Script" +msgstr "" + +#: editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: editor/project_export.cpp +msgid "Text" +msgstr "" + +#: editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: editor/project_export.cpp +msgid "Invalid Encryption Key (must be 64 characters long)" +msgstr "" + +#: editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: editor/project_export.cpp +msgid "Export mode?" +msgstr "" + +#: editor/project_export.cpp +msgid "Export All" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export With Debug" +msgstr "" + +#: editor/project_manager.cpp +msgid "The path does not exist." +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid '.zip' project file, does not contain a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose an empty folder." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a 'project.godot' or '.zip' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Directory already contains a Godot project." +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid Project Name." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create folder." +msgstr "" + +#: editor/project_manager.cpp +msgid "There is already a folder in this path with the specified name." +msgstr "" + +#: editor/project_manager.cpp +msgid "It would be a good idea to name your project." +msgstr "" + +#: editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Couldn't load project.godot in project path (error %d). It may be missing or " +"corrupted." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't edit project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "Couldn't create project.godot in project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "The following files failed extraction from package:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Rename Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import & Edit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create & Edit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install Project:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install & Edit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create folder" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Installation Path:" +msgstr "" + +#: editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: editor/project_manager.cpp +msgid "Renderer:" +msgstr "" + +#: editor/project_manager.cpp +msgid "OpenGL ES 3.0" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Higher visual quality\n" +"All features available\n" +"Incompatible with older hardware\n" +"Not recommended for web games" +msgstr "" + +#: editor/project_manager.cpp +msgid "OpenGL ES 2.0" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Lower visual quality\n" +"Some features not available\n" +"Works on most hardware\n" +"Recommended for web games" +msgstr "" + +#: editor/project_manager.cpp +msgid "Renderer can be changed later, but scenes may need to be adjusted." +msgstr "" + +#: editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't open project at '%s'." +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to open more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"The following project settings file does not specify the version of Godot " +"through which it was created.\n" +"\n" +"%s\n" +"\n" +"If you proceed with opening it, it will be converted to Godot's current " +"configuration file format.\n" +"Warning: You will not 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 will not 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 \"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 more than one project?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Language changed.\n" +"The UI will update next time the editor or project manager starts." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You are about the scan %s folders for existing Godot projects. Do you " +"confirm?" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "Select a Folder to Scan" +msgstr "" + +#: editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Templates" +msgstr "" + +#: editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: editor/project_manager.cpp +msgid "Restart Now" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't run project" +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"You don't currently have any projects.\n" +"Would you like to explore the official example projects in the Asset Library?" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Key " +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joy Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "" +"Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " +"'\"'" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Change Action deadzone" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "All Devices" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Press a Key..." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Left Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Right Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "X Button 1" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "X Button 2" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Axis Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Axis" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Joypad Button Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Event" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Left Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Right Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Middle Button." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Up." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Wheel Down." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Global Property" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Select a setting item first!" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "No property '%s' exists." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Setting '%s' is internal, and it can't be deleted." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Delete Item" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "" +"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " +"'\"'." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Already existing" +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 "Override for Feature" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Translation" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Add Remapped Path" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Changed Locale Filter Mode" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Project Settings (project.godot)" +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override For..." +msgstr "" + +#: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp +msgid "Editor must be restarted for changes to take effect" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Input Map" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Deadzone" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Device:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Index:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Localization" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Translations:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Resources:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locale" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales Filter" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show all locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Show only selected locales" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Filter mode:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Locales:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "AutoLoad" +msgstr "" + +#: editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: editor/property_editor.cpp +msgid "File..." +msgstr "" + +#: editor/property_editor.cpp +msgid "Dir..." +msgstr "" + +#: editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: editor/property_editor.cpp +msgid "Select Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Property" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Virtual Method" +msgstr "" + +#: editor/property_selector.cpp +msgid "Select Method" +msgstr "" + +#: editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: editor/rename_dialog.cpp editor/scene_tree_dock.cpp +msgid "Batch Rename" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Prefix" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Suffix" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Advanced options" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Substitute" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Node name" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Node's parent name, if available" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Node type" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Current scene name" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Root node name" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "" +"Sequential integer counter.\n" +"Compare counter options." +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Per Level counter" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "If set the counter restarts for each group of child nodes" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Initial value for the counter" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Step" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Amount by which counter is incremented for each node" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Padding" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "" +"Minimum number of digits for the counter.\n" +"Missing digits are padded with leading zeros." +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Regular Expressions" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Post-Process" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Keep" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "CamelCase to under_scored" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "under_scored to CamelCase" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Case" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "To Lowercase" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "To Uppercase" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Reset" +msgstr "" + +#: editor/rename_dialog.cpp +msgid "Error" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "No parent to instance the scenes at." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Node must belong to the edited scene to become root." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Instantiated scenes can't become root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make node as Root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can not perform with the root node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Save New Scene As..." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Disabling \"editable_instance\" will cause all properties of the node to be " +"reverted to their default." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Editable Children" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Load As Placeholder" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Create Root Node:" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "2D Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "3D Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "User Interface" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Custom Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Sub-Resources" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Open documentation" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Extend Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Make Scene Root" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp editor/script_editor_debugger.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Copy Node Path" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Delete (No Confirm)" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach a new or existing script for the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear a script for the selected node." +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Remote" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Local" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node configuration warning:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has connection(s) and group(s).\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node has connections.\n" +"Click to show signals dock." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is in group(s).\n" +"Click to show groups dock." +msgstr "" + +#: editor/scene_tree_editor.cpp editor/script_create_dialog.cpp +msgid "Open Script" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is locked.\n" +"Click to unlock it." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Children are not selectable.\n" +"Click to make selectable." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Visibility" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"AnimationPlayer is pinned.\n" +"Click to unpin." +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Node Configuration Warning!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading template '%s'" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error - Could not create script in filesystem." +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Error loading script from %s" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Open Script/Choose Location" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Filename is empty" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Directory of the same name exists" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "File exists, will be reused" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Wrong extension chosen" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid Path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Invalid inherited parent name or path" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Script valid" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Allowed: a-z, A-Z, 0-9 and _" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in script (into scene file)" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Create new script file" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Load existing script file" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Inherits" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Class Name" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Template" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Built-in Script" +msgstr "" + +#: editor/script_create_dialog.cpp +msgid "Attach Node Script" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Remote " +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Trace" +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 modules/mono/editor/mono_bottom_panel.cpp +msgid "Errors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Copy Error" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: editor/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 "Shortcuts" +msgstr "" + +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change AudioStreamPlayer3D Emission Angle" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Notifier AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Cylinder Shape Radius" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Cylinder Shape Height" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Cylinder Radius" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Cylinder Height" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Torus Inner Radius" +msgstr "" + +#: modules/csg/csg_gizmos.cpp +msgid "Change Torus Outer Radius" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Remove current entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Library" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "" + +#: modules/gdnative/register_types.cpp +msgid "GDNative" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Step argument is zero!" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp +msgid "Object can't provide a length." +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Plane" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Previous Plane" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Plane:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Previous Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Floor:" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Delete Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Fill Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Duplicate Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Paint" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Grid Map" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Snap View" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Disabled" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Above" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clip Below" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit X Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Y Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Edit Z Axis" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate X" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Y" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Back Rotate Z" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Cursor Clear Rotation" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Create Area" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Create Exterior Connector" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Erase Area" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Clear Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Fill Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Settings" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance:" +msgstr "" + +#: modules/mono/csharp_script.cpp +msgid "Class name can't be a reserved keyword" +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Generating solution..." +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Generating C# project..." +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Failed to create solution." +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Failed to save solution." +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Done" +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Failed to create C# project." +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Mono" +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "About C# support" +msgstr "" + +#: modules/mono/editor/godotsharp_editor.cpp +msgid "Create C# solution" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "Builds" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "Build Project" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "View log" +msgstr "" + +#: modules/mono/mono_gd/gd_mono_utils.cpp +msgid "End of inner exception stack trace" +msgstr "" + +#: modules/recast/navigation_mesh_editor_plugin.cpp +msgid "Bake NavMesh" +msgstr "" + +#: modules/recast/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: modules/recast/navigation_mesh_generator.cpp +msgid "Done!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"A node yielded without working memory, please read the docs on how to yield " +"properly!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Node yielded, but did not return a function state in the first working " +"memory." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "" +"Return value must be assigned to first element of node working memory! Fix " +"your node please." +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Node returned an invalid sequence output: " +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Found sequence bit but not the node in the stack, report bug!" +msgstr "" + +#: modules/visual_script/visual_script.cpp +msgid "Stack overflow with stack depth: " +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Signal Arguments" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Argument name" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Default Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Set Variable Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Variables:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name is not a valid identifier:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Name already in use by another func/var/signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Rename Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Expression" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Duplicate VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a simple reference to the node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold %s to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Hold Ctrl to drop a Variable Setter." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Preload Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Node(s) From Tree" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Getter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Add Setter Property" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Base Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Move Node(s)" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove VisualScript Node" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Node Data" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Connect Node Sequence" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Script already has function '%s'" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Change Input Value" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Resize Comment" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Can't copy the function node." +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Clipboard is empty!" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste VisualScript Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Function" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Signal:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Base Type:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Members:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Available Nodes:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Select or create a function to edit graph" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal Arguments:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Variable:" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Delete Selected" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Find Node Type" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Copy Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Cut Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Paste Nodes" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Member" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Input type not iterable: " +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid" +msgstr "" + +#: modules/visual_script/visual_script_flow_control.cpp +msgid "Iterator became invalid: " +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name." +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Base object is not a Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Path does not lead Node!" +msgstr "" + +#: modules/visual_script/visual_script_func_nodes.cpp +msgid "Invalid index property name '%s' in node %s." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid ": Invalid argument of type: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid ": Invalid arguments: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableGet not found in script: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "VariableSet not found in script: " +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "Custom node has no _step() method, can't process graph." +msgstr "" + +#: modules/visual_script/visual_script_nodes.cpp +msgid "" +"Invalid return value from _step(), must be integer (seq out), or string " +"(error)." +msgstr "" + +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Search VisualScript" +msgstr "" + +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Get %s" +msgstr "" + +#: modules/visual_script/visual_script_property_selector.cpp +msgid "Set %s" +msgstr "" + +#: platform/android/export/export.cpp +msgid "Package name is missing." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Package segments must be of non-zero length." +msgstr "" + +#: platform/android/export/export.cpp +msgid "The character '%s' is not allowed in Android application package names." +msgstr "" + +#: platform/android/export/export.cpp +msgid "A digit cannot be the first character in a package segment." +msgstr "" + +#: platform/android/export/export.cpp +msgid "The character '%s' cannot be the first character in a package segment." +msgstr "" + +#: platform/android/export/export.cpp +msgid "The package must have at least one '.' separator." +msgstr "" + +#: platform/android/export/export.cpp +msgid "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 "Invalid public key for APK expansion." +msgstr "" + +#: platform/android/export/export.cpp +msgid "Invalid package name:" +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Identifier is missing." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "Identifier segments must be of non-zero length." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "The character '%s' is not allowed in Identifier." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "A digit cannot be the first character in a Identifier segment." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "" +"The character '%s' cannot be the first character in a Identifier segment." +msgstr "" + +#: platform/iphone/export/export.cpp +msgid "The Identifier must have at least one '.' separator." +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 "Run in Browser" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Run exported HTML in the system's default browser." +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not write file:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not open template for export:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Invalid export template:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read custom HTML shell:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read boot splash image file:" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Using default boot splash image." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid package unique name." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid product GUID." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid publisher GUID." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid background color." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid Store Logo image dimensions (should be 50x50)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." +msgstr "" + +#: platform/uwp/export/export.cpp +msgid "Invalid splash screen image dimensions (should be 620x300)." +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_object_2d.cpp +msgid "" +"This node has no shape, so it can't collide or interact with other objects.\n" +"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to " +"define its shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/cpu_particles_2d.cpp +msgid "" +"CPUParticles2D animation requires the usage of a CanvasItemMaterial with " +"\"Particles Animation\" enabled." +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "" +"GPU-based particles are not supported by the GLES2 video driver.\n" +"Use the CPUParticles2D node instead. You can use the \"Convert to " +"CPUParticles\" option for this purpose." +msgstr "" + +#: scene/2d/particles_2d.cpp scene/3d/particles.cpp +msgid "" +"A material to process the particles is not assigned, so no behavior is " +"imprinted." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "" +"Particles2D animation requires the usage of a CanvasItemMaterial with " +"\"Particles Animation\" enabled." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/physics_body_2d.cpp +msgid "" +"Size changes to RigidBody2D (in character or rigid modes) will be overridden " +"by the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "This Bone2D chain should end at a Skeleton2D node." +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "A Bone2D only works with a Skeleton2D or another Bone2D as parent node." +msgstr "" + +#: scene/2d/skeleton_2d.cpp +msgid "" +"This bone lacks a proper REST pose. Go to the Skeleton2D node and set one." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRCamera must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "ARVRController must have an ARVROrigin node as its parent" +msgstr "" + +#: scene/3d/arvr_nodes.cpp +msgid "" +"The controller id must not be 0 or this controller will not 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 will not 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/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 with " +"\"Billboard Particles\" enabled." +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/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 with \"Billboard " +"Particles\" enabled." +msgstr "" + +#: scene/3d/path.cpp +msgid "PathFollow only works when set as a child of a Path node." +msgstr "" + +#: scene/3d/path.cpp +msgid "" +"PathFollow ROTATION_ORIENTED requires \"Up Vector\" enabled in its parent " +"Path's Curve resource." +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "" +"Size changes to RigidBody (in character or rigid modes) will be overridden " +"by the physics engine when running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/3d/remote_transform.cpp +msgid "Path property must point to a valid Spatial node to work." +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "This body will be ignored until you set a mesh" +msgstr "" + +#: scene/3d/soft_body.cpp +msgid "" +"Size changes to SoftBody will be overridden by the physics engine when " +"running.\n" +"Change the size in children collision shapes instead." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/3d/vehicle_body.cpp +msgid "" +"VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " +"it as a child of a VehicleBody." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "WorldEnvironment needs an Environment resource." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/world_environment.cpp +msgid "" +"This WorldEnvironment is ignored. Either add a Camera (for 3D scenes) or set " +"this environment's Background Mode to Canvas (for 2D scenes)." +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "On BlendTree node '%s', animation not found: '%s'" +msgstr "" + +#: scene/animation/animation_blend_tree.cpp +msgid "Animation not found: '%s'" +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "In node '%s', invalid animation: '%s'." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Invalid animation: '%s'." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "Nothing connected to input '%s' of node '%s'." +msgstr "" + +#: scene/animation/animation_tree.cpp +msgid "A root AnimationNode for the graph is not 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 "AnimationPlayer root 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 "Pick a color from the screen." +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Raw Mode" +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 it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/gui/range.cpp +msgid "If exp_edit is true min_value must be > 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/resources/dynamic_font.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +msgid "Invalid font size." +msgstr "" + +#: scene/resources/visual_shader.cpp +msgid "Input" +msgstr "" + +#: scene/resources/visual_shader_nodes.cpp +msgid "Invalid source for shader." +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 "" diff --git a/editor/translations/ml.po b/editor/translations/ml.po index 1521d0a841..d029bdaacd 100644 --- a/editor/translations/ml.po +++ b/editor/translations/ml.po @@ -1335,8 +1335,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1384,7 +1398,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1459,10 +1473,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1678,8 +1712,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1688,6 +1722,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2922,14 +2966,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3065,10 +3101,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4997,19 +5029,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5100,11 +5132,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5685,6 +5717,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6737,6 +6777,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6875,6 +6931,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -6992,6 +7056,10 @@ 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 "" @@ -9543,6 +9611,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9557,6 +9631,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9700,6 +9780,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9708,6 +9796,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/ms.po b/editor/translations/ms.po index 70640a39da..61fb10d582 100644 --- a/editor/translations/ms.po +++ b/editor/translations/ms.po @@ -1349,8 +1349,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1398,7 +1412,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1473,10 +1487,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1692,8 +1726,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1702,6 +1736,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2936,14 +2980,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3079,10 +3115,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5019,19 +5051,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5122,11 +5154,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5707,6 +5739,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6763,6 +6803,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6903,6 +6959,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -7021,6 +7085,10 @@ 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 "" @@ -9576,6 +9644,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9590,6 +9664,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9733,6 +9813,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9741,6 +9829,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/nb.po b/editor/translations/nb.po index d5ed37e58c..405d71e43b 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -1434,8 +1434,22 @@ msgstr "Pakking" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1488,7 +1502,7 @@ msgstr "Vis I Filutforsker" msgid "New Folder..." msgstr "Ny Mappe..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Oppdater" @@ -1563,10 +1577,35 @@ msgstr "Flytt Favoritt Oppover" msgid "Move Favorite Down" msgstr "Flytt Favoritt Nedover" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Forrige fane" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Lag mappe" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "GÃ¥ til overnevnt mappe" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Kunne ikke opprette mappe." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Vis elementer som et rutenett av miniatyrbilder" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Vis elementer som liste" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Mapper og Filer:" @@ -1808,9 +1847,9 @@ msgstr "Nullstill resultat" msgid "Project export failed with error code %d." msgstr "Eksport av prosjektet mislyktes med feilkode %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Feil ved lagring av ressurs!" +#: 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 @@ -1818,6 +1857,16 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Feil ved lagring av ressurs!" + +#: 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 "Lagre Ressurs Som..." @@ -3170,16 +3219,6 @@ msgstr "Kan ikke navigere til '%s' for den ble ikke funnet pÃ¥ filsystemet!" #: editor/filesystem_dock.cpp #, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Vis elementer som et rutenett av miniatyrbilder" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Vis elementer som liste" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" @@ -3335,11 +3374,6 @@ msgid "Search files" msgstr "Søk i klasser" #: editor/filesystem_dock.cpp -#, 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." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5404,6 +5438,10 @@ 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 "" @@ -5416,10 +5454,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Ingen piksler med gjennomsiktighet > 128 i bilde..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "" @@ -5508,11 +5542,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -6139,6 +6173,14 @@ msgid "Open Godot online documentation" msgstr "Ã…pne Godots nettbaserte dokumentasjon" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Søk i referanse-dokumentasjonen." @@ -7240,6 +7282,24 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Neste skript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "Forrige skript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7396,6 +7456,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Flytt Polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Flytt Polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Fjern Mal" @@ -7527,6 +7597,10 @@ msgid "Exporting All" msgstr "Eksporter" #: 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 "" @@ -10184,6 +10258,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10198,6 +10278,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10346,6 +10432,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -10354,6 +10448,11 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "GÃ¥ til overnevnt mappe" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10428,6 +10527,10 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, 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." + #~ msgid "Warnings:" #~ msgstr "Advarsler:" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 541763f376..c0e046dc9b 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -29,12 +29,14 @@ # Peter Goelst <muis24@gmail.com>, 2019. # Wouter Buckens <wou.buc@gmail.com>, 2019. # Stijn Hinlopen <f.a.hinlopen@gmail.com>, 2019. +# jef dered <themen098s@vivaldi.net>, 2019. +# Alex H. <sandertjeh13@hotmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-01-26 21:22+0000\n" -"Last-Translator: Stijn Hinlopen <f.a.hinlopen@gmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: Alex H. <sandertjeh13@hotmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\n" @@ -42,11 +44,10 @@ 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.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp -#, fuzzy msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "Ongeldig argumenttype aan convert(), gebruik TYPE_* constanten." @@ -111,14 +112,12 @@ msgid "Delete Selected Key(s)" msgstr "Geselecteerde Key(s) Verwijderen" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Punt toevoegen" +msgstr "Bézierpunt toevoegen" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Beweeg Punt" +msgstr "Beweeg Bézierpunten" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -149,9 +148,8 @@ msgid "Anim Change Call" msgstr "Anim Wijzig Aanroep" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Verander Animatie Lus" +msgstr "Verander Animatielengte" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -240,7 +238,7 @@ msgstr "Tijd (s): " #: editor/animation_track_editor.cpp #, fuzzy msgid "Toggle Track Enabled" -msgstr "Inschakelen Doppler" +msgstr "Verander de ingeschakelde track" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -293,19 +291,16 @@ msgid "Delete Key(s)" msgstr "Verwijder Key(s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Verander Animatie Naam:" +msgstr "Verander animatie update modus" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Interpolatiemodus" +msgstr "Verander Animatie Interpolatiemodus" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Verander Animatie Lus" +msgstr "Verander Animatie lus Modus" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -349,14 +344,13 @@ msgid "Anim Insert Key" msgstr "Anim Key Invoegen" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Verander Animatie FPS" +msgstr "Verander Animatiestappen" #: editor/animation_track_editor.cpp #, fuzzy msgid "Rearrange Tracks" -msgstr "Herschik Autoloads" +msgstr "Herschik Tracks" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -389,9 +383,8 @@ msgid "Not possible to add a new track without a root" msgstr "Niet mogelijk om een nieuwe track toe te voegen zonder een root" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Track Toevoegen" +msgstr "Voeg Bézierbaan Toe" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -662,11 +655,11 @@ msgstr "Initialiseer Zoom" #: editor/code_editor.cpp modules/mono/editor/mono_bottom_panel.cpp msgid "Warnings" -msgstr "" +msgstr "Waarschuwingen" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "Regel- en kolomnummers." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1414,8 +1407,22 @@ msgstr "Inpakken" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1466,7 +1473,7 @@ msgstr "Weergeven in Bestandsbeheer" msgid "New Folder..." msgstr "Nieuwe Map..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Verversen" @@ -1541,10 +1548,34 @@ msgstr "Verplaats Favoriet Naar Boven" msgid "Move Favorite Down" msgstr "Verplaats Favoriet Naar Beneden" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Vorig tabblad" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Map Maken" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ga naar bovenliggende folder" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Map kon niet gemaakt worden." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Toon items in een miniatuurraster." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Bekijk objecten als een lijst" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Mappen & Bestanden:" @@ -1773,9 +1804,9 @@ msgstr "Maak Uitvoer Leeg" msgid "Project export failed with error code %d." msgstr "Project exporteren faalt door foutcode %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Error bij het opslaan van resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "De geïmporteerde bronnen kunnen niet worden opgeslagen." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1783,6 +1814,19 @@ msgid "OK" msgstr "Oké" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Error bij het opslaan van resource!" + +#: 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 "" +"Deze bron kan niet worden opgeslagen omdat het niet bij de bewerkte scene " +"behoort. Maak het eerst uniek." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Resource Opslaan Als..." @@ -2009,7 +2053,7 @@ msgstr "Mislukt om resource te laden." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "Een hoofdknooppunt is vereist voor het opslaan van de scène." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2772,6 +2816,9 @@ msgid "" "Can't create a ViewportTexture on resources saved as a file.\n" "Resource needs to belong to a scene." msgstr "" +"Kan geen ViewportTexture creëren op bronnen die zijn opgeslagen als een " +"bestand.\n" +"Bron moet toebehoren aan een scène." #: editor/editor_properties.cpp msgid "" @@ -2780,6 +2827,10 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"Kan geen ViewportTexture creëren op deze bron omdat deze niet is ingesteld " +"als 'local to scene'.\n" +"Schakel de 'local to scene' eigenschap op deze bron in (en op alle bronnen " +"die het bevat tot en met een knooppunt)." #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" @@ -3105,15 +3156,6 @@ msgstr "" "is!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Toon items in een miniatuurraster." - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Bekijk objecten als een lijst" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Status: Importeren van bestand mislukt. Repareer het bestand en importeer " @@ -3251,12 +3293,6 @@ msgid "Search files" msgstr "Zoek bestanden" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Maak een nieuwe kopie van de geselecteerde scene(s) als kind van de " -"geselecteerde knoop." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3471,7 +3507,7 @@ msgstr "Herimporteer" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" -msgstr "" +msgstr "Sla scènes op, her-importeer en start opnieuw op" #: editor/import_dock.cpp #, fuzzy @@ -3482,6 +3518,8 @@ msgstr "Om de video driver te veranderen moet de editor herstart worden." msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"WAARSCHUWING: Er bestaan Assets die gebruikmaken van deze bron, hierdoor " +"kunnen deze mogelijk niet worden geladen." #: editor/inspector_dock.cpp msgid "Failed to load resource." @@ -3701,7 +3739,7 @@ msgstr "Verwijder Pad Punt" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Verplaats BlendSpace1D knooppunt" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3728,7 +3766,7 @@ msgstr "Selecteer en verplaats punten, maak punten aan met RMK." #: 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 "Schakel automatisch uitlijnen en rasterweergave in." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3777,7 +3815,7 @@ msgstr "BlendSpace2D hoort niet bij een AnimationTree knoop." #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "No triangles exist, so no blending can take place." -msgstr "" +msgstr "Er bestaan geen driehoeken, blending kan niet plaatsvinden." #: editor/plugins/animation_blend_space_2d_editor.cpp #, fuzzy @@ -3794,7 +3832,7 @@ msgstr "Punten en driehoeken wissen." #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Generate blend triangles automatically (instead of manually)" -msgstr "" +msgstr "Genereer geblende driehoeken automatisch (in plaats van handmatig)" #: editor/plugins/animation_blend_space_2d_editor.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3813,7 +3851,7 @@ msgstr "Filters Bewerken" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Output node can't be added to the blend tree." -msgstr "" +msgstr "Output Node kan niet worden toegevoegd aan de blend tree." #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -4150,7 +4188,7 @@ msgstr "Aan het einde" #: editor/plugins/animation_state_machine_editor.cpp msgid "Travel" -msgstr "" +msgstr "Verplaats" #: editor/plugins/animation_state_machine_editor.cpp #, fuzzy @@ -4174,7 +4212,7 @@ msgstr "Overgangsknoop" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Stel in als Start Node (Autoplay)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4204,7 +4242,7 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set the end animation. This is useful for sub-transitions." -msgstr "" +msgstr "Stel eindanimatie in. Dit is handig voor sub-transities." #: editor/plugins/animation_state_machine_editor.cpp msgid "Transition: " @@ -4602,6 +4640,7 @@ msgstr "Verplaats CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." msgstr "" +"Vooraf ingestelde waardes voor de ankers en marges van een Control Node." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4794,7 +4833,7 @@ msgstr "Maak IK Ketting Leeg" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Custom Bone(s) from Node(s)" -msgstr "" +msgstr "Maak één of meerdere op maat gemaakte botten van één of meerdere Nodes" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4833,7 +4872,7 @@ msgstr "Toon Aanzicht Portaal" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Group And Lock Icons" -msgstr "" +msgstr "Toon Groep en Slot Iconen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -5009,7 +5048,7 @@ msgstr "Bak GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Gradient aangepast" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5277,6 +5316,10 @@ msgid "Generating Visibility Rect" msgstr "Genereer Zichtbaarheid Rechthoek" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Genereer Zichtbaarheid Rechthoek" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "Kan punt alleen plaatsen in een PartikelsMateriaal proces materiaal" @@ -5289,10 +5332,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Geen pixels met transparantie > 128 in afbeelding..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Genereer Zichtbaarheid Rechthoek" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Laad Emissie Masker" @@ -5381,13 +5420,13 @@ msgid "Generating AABB" msgstr "AABB Genereren" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Genereer AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Genereer Zichtbaarheid AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Genereer AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Verwijder Punt van Curve" @@ -5526,7 +5565,7 @@ msgstr "Beweeg Punt" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" -msgstr "" +msgstr "De Polygon2D skeleteigenschap wijst niet naar een Skeleton2D Node" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -5538,6 +5577,8 @@ msgid "" "No texture in this polygon.\n" "Set a texture to be able to edit UV." msgstr "" +"Deze polygoon bevat geen textuur.\n" +"Stel een textuur in om de UV aan te kunnen passen." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -5548,6 +5589,8 @@ msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." msgstr "" +"Polygon2D heeft interne hoekpunten waardoor deze niet meer bewerkt kan " +"worden via de viewport." #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -5566,7 +5609,7 @@ msgstr "Verwijder In-Controle Punt" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Invalid Polygon (need 3 different vertices)" -msgstr "" +msgstr "Ongeldige Polygoon (heeft minimaal 3 verschillende hoekpunten nodig)" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -5602,7 +5645,7 @@ msgstr "Polygon 2D UV Editor" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV" -msgstr "" +msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp #, fuzzy @@ -5651,24 +5694,28 @@ msgstr "Schaal Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create a custom polygon. Enables custom polygon rendering." msgstr "" +"Creëer een op maat gemaakte polygoon. Schakelt het renderen van op maat " +"gemaakte polygonen in." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "Remove a custom polygon. If none remain, custom polygon rendering is " "disabled." msgstr "" +"Verwijder een op maat gemaakte polygoon. Als er geen overblijven zal het " +"renderen van op maat gemaakte polygonen worden uitgeschakeld." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Paint weights with specified intensity." -msgstr "" +msgstr "Teken gewichten met gespecificeerde intensiteit." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Unpaint weights with specified intensity." -msgstr "" +msgstr "Wis gewichten met gespecificeerde intensiteit." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" -msgstr "" +msgstr "Radius:" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -5782,7 +5829,7 @@ msgstr "BronnenPrelader" #: editor/plugins/root_motion_editor_plugin.cpp msgid "AnimationTree has no path set to an AnimationPlayer" -msgstr "" +msgstr "AnimationTree heeft geen ingesteld pad naar een AnimationPlayer" #: editor/plugins/root_motion_editor_plugin.cpp #, fuzzy @@ -5874,7 +5921,7 @@ msgstr " Klasse Referentie" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." -msgstr "" +msgstr "Schakel het alfabetisch sorteren van de methode lijst in of uit." #: editor/plugins/script_editor_plugin.cpp msgid "Sort" @@ -6004,6 +6051,14 @@ msgid "Open Godot online documentation" msgstr "Open Godot online documentatie" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Zoek in de referentie documentatie." @@ -6051,7 +6106,7 @@ msgstr "Regel:" #: editor/plugins/script_text_editor.cpp msgid "(ignore)" -msgstr "" +msgstr "(negeren)" #: editor/plugins/script_text_editor.cpp #, fuzzy @@ -6060,7 +6115,7 @@ msgstr "Ga Naar Functie..." #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Standard" -msgstr "" +msgstr "Standaard" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." @@ -6093,7 +6148,7 @@ msgstr "Maak Hoofdletters" #: editor/plugins/script_text_editor.cpp editor/plugins/text_editor.cpp msgid "Syntax Highlighter" -msgstr "" +msgstr "Syntax Markeren" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -6216,7 +6271,7 @@ msgstr "Creëer Emissie Punten Vanuit Mesh" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Rest Pose to Bones" -msgstr "" +msgstr "Stel Rustpose in op Botten" #: editor/plugins/skeleton_2d_editor_plugin.cpp #, fuzzy @@ -6225,11 +6280,11 @@ msgstr "Singleton" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Make Rest Pose (From Bones)" -msgstr "" +msgstr "Maak Rustpose (van Botten)" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Set Bones to Rest Pose" -msgstr "" +msgstr "Stel Botten in op Rustpose" #: editor/plugins/skeleton_editor_plugin.cpp #, fuzzy @@ -6306,7 +6361,7 @@ msgstr "Schakelaar" #: editor/plugins/spatial_editor_plugin.cpp msgid "Yaw" -msgstr "" +msgstr "Yaw" #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" @@ -6476,6 +6531,10 @@ 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 "" +"Opmerking: De weergegeven FPS waarde is de verversingssnelheid van de " +"editor.\n" +"Deze waarde kan niet worden gebruikt als een betrouwbare indicatie van in-" +"game performance." #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -6523,7 +6582,7 @@ msgstr "Lokale Coördinaten" #: editor/plugins/spatial_editor_plugin.cpp msgid "Local Space Mode (%s)" -msgstr "" +msgstr "Lokale Ruimtemodus (%s)" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -6601,7 +6660,7 @@ msgstr "Transformatie" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap object to floor" -msgstr "" +msgstr "Lijn object uit op vloer" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog..." @@ -6711,7 +6770,7 @@ msgstr "Post" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "" +msgstr "Naamloos apparaat" #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -6720,11 +6779,11 @@ msgstr "Mesh is leeg!" #: editor/plugins/sprite_editor_plugin.cpp msgid "Can't convert a sprite using animation frames to mesh." -msgstr "" +msgstr "Kan geen Sprite converteren dat animatieframes gebruikt om te meshen." #: editor/plugins/sprite_editor_plugin.cpp msgid "Invalid geometry, can't replace by mesh." -msgstr "" +msgstr "Ongeldige geometrie, kan niet worden vervangen door Mesh." #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -6743,11 +6802,11 @@ msgstr "Creëer Omlijning Mesh" #: editor/plugins/sprite_editor_plugin.cpp msgid "Simplification: " -msgstr "" +msgstr "Simplificatie: " #: editor/plugins/sprite_editor_plugin.cpp msgid "Grow (Pixels): " -msgstr "" +msgstr "Vergroot (Pixels): " #: editor/plugins/sprite_editor_plugin.cpp #, fuzzy @@ -6769,7 +6828,7 @@ msgstr "Voeg Frame toe" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "" +msgstr "Klembord van bron is leeg of het is niet een textuur!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" @@ -6835,9 +6894,8 @@ msgid "Set Region Rect" msgstr "" #: editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Set Margin" -msgstr "Stel Handgreep In" +msgstr "Stel Marge In" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" @@ -6859,19 +6917,19 @@ msgstr "Rooster Snap" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Automatisch Snijden" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "Afstand:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Stap:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Sep.:" -msgstr "" +msgstr "Separatie:" #: editor/plugins/texture_region_editor_plugin.cpp #, fuzzy @@ -6908,11 +6966,11 @@ msgstr "Thema Bewerkingsmenu." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "Class Items Toevoegen" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "Class Items Verwijderen" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -6940,33 +6998,31 @@ msgstr "Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Item Aanvinken" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Item Aangevinkt" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Radio Item" -msgstr "Item Toevoegen" +msgstr "Radio Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Radio Item" -msgstr "" +msgstr "Radio Item Aangevinkt" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "Had" +msgstr "Heeft" #: editor/plugins/theme_editor_plugin.cpp msgid "Many" msgstr "Veel" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Has,Many,Options" -msgstr "Opties" +msgstr "Heeft,Veel,Opties" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" @@ -7020,7 +7076,7 @@ msgstr "Centreer Selectie" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "Teken TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" @@ -7028,15 +7084,15 @@ msgstr "Teken Lijn" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Teken Driehoek" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "Opvullen" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "" +msgstr "Wis TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find Tile" @@ -7056,7 +7112,7 @@ msgstr "Spiegel Y" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "Teken Tegel" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" @@ -7104,6 +7160,24 @@ msgid "Merge from Scene" msgstr "Vervoeg vanuit Scene" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Volgend script" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Selecteer de volgende shape, sub-tegel of Tegel." + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "Vorig tabblad" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Selecteer de vorige shape, subtegel of Tegel." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Bitmasker kopiëren." @@ -7151,7 +7225,7 @@ msgstr "Geen Texture geselecteerd om te verwijderen." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene? This will overwrite all current tiles." -msgstr "" +msgstr "Creëer vanuit scène? Hiermee worden alle huidige tegels overschreven." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" @@ -7164,7 +7238,7 @@ msgstr "Verwijder Sjabloon" #: editor/plugins/tile_set_editor_plugin.cpp msgid "%s file(s) were not added because was already on the list." -msgstr "" +msgstr "%s bestand(en) niet toegevoegd omdat deze al op de lijst staan." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -7203,6 +7277,9 @@ msgid "" "bindings.\n" "Click on another Tile to edit it." msgstr "" +"Selecteer subtegel om te gebruiken als icoon, wordt ook gebruikt op " +"ongeldige autotegel bindingen.\n" +"Klik op een andere Tegel om deze aan te passen." #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7230,7 +7307,7 @@ msgstr "Map Maken" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "" +msgstr "Tegel Icoon Instellen" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7259,7 +7336,17 @@ msgstr "Plak Animatie" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "" +msgstr "Wis Tegel Bitmasker" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Concave" +msgstr "Beweeg Polygon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Beweeg Polygon" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7288,7 +7375,7 @@ msgstr "Filters Bewerken" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" -msgstr "" +msgstr "Wijzig Tegel Z Index" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy @@ -7331,7 +7418,7 @@ msgstr "Dupliceer Graaf Knooppunt(en)" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Visuele Shader Invoertype Gewijzigd" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -7380,6 +7467,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Exporteren van project voor platform '%s' is mislukt.\n" +"Exportsjablonen zijn mogelijk niet aanwezig of ongeldig." #: editor/project_export.cpp msgid "" @@ -7387,6 +7476,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Exporteren van project voor platform '%s' is mislukt.\n" +"Dit probleem wordt mogelijk veroorzaakt door een foutieve instelling in de " +"vooraf ingestelde exportinstellingen of uw eigen exportinstellingen." #: editor/project_export.cpp #, fuzzy @@ -7399,8 +7491,13 @@ msgid "Exporting All" msgstr "Aan het exporteren voor %s" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Dit pad bestaat niet." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "Exportsjablonen voor dit platform zijn niet aanwezig of corrupt:" #: editor/project_export.cpp msgid "Presets" @@ -7417,11 +7514,11 @@ msgstr "Project Exporteren" #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "Bronnen" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "Exporteer alle bronnen in het project" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" @@ -7429,25 +7526,29 @@ msgstr "Exporteer geselecteerde scenes (en afhankelijkheden)" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "Exporteer geselecteerde bronnen (en afhankelijkheden)" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Exporteer Modus:" #: editor/project_export.cpp msgid "Resources to export:" -msgstr "" +msgstr "Bronnen te exporteren:" #: editor/project_export.cpp msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Filters voor het exporteren van bestanden dat geen bron zijn (scheiden met " +"een komma, bijv.: *.json, *.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Filters voor het uitsluiten van bestanden van het project (scheiden met een " +"komma, bijv.: *.json, *.txt)" #: editor/project_export.cpp msgid "Patches" @@ -7455,7 +7556,7 @@ msgstr "Patches" #: editor/project_export.cpp msgid "Make Patch" -msgstr "" +msgstr "Maak Patch" #: editor/project_export.cpp msgid "Features" @@ -7481,23 +7582,23 @@ msgstr "Project Exporteren" #: editor/project_export.cpp msgid "Text" -msgstr "" +msgstr "Tekst" #: editor/project_export.cpp msgid "Compiled" -msgstr "" +msgstr "Gecompileerd" #: editor/project_export.cpp msgid "Encrypted (Provide Key Below)" -msgstr "" +msgstr "Versleuteld (Verstrek hieronder de sleutel)" #: editor/project_export.cpp msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "" +msgstr "Ongeldige Encryptiesleutel (moet 64 tekens lang zijn)" #: editor/project_export.cpp msgid "Script Encryption Key (256-bits as hex):" -msgstr "" +msgstr "Script Encryptiesleutel (256-bits als hexadecimale):" #: editor/project_export.cpp msgid "Export PCK/Zip" @@ -7527,7 +7628,7 @@ msgstr "Dit pad bestaat niet." #: editor/project_manager.cpp msgid "Invalid '.zip' project file, does not contain a 'project.godot' file." -msgstr "" +msgstr "Ongeldig '.zip' projectbestand, bevat geen 'project.godot' bestand." #: editor/project_manager.cpp msgid "Please choose an empty folder." @@ -7540,7 +7641,7 @@ msgstr "Kies alstublieft een 'project.godot' bestand." #: editor/project_manager.cpp msgid "Directory already contains a Godot project." -msgstr "" +msgstr "Map bevat al een Godot project." #: editor/project_manager.cpp msgid "Imported Project" @@ -7572,6 +7673,8 @@ msgid "" "Couldn't load project.godot in project path (error %d). It may be missing or " "corrupted." msgstr "" +"Kan project.godot in project pad niet laden (error %d). Mogelijk is het " +"bestand niet aanwezig of corrupt." #: editor/project_manager.cpp msgid "Couldn't edit project.godot in project path." @@ -7642,11 +7745,11 @@ msgstr "Bladeren" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "Renderer:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp msgid "" @@ -7655,10 +7758,14 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"Hogere beeldkwaliteit\n" +"Alle features beschikbaar\n" +"Incompatibel met verouderde hardware\n" +"Niet aanbevolen voor web gebaseerde games" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7667,10 +7774,16 @@ msgid "" "Works on most hardware\n" "Recommended for web games" msgstr "" +"Lagere beeldkwaliteit\n" +"Sommige features zijn niet beschikbaar\n" +"Werkt op bijna alle hardware\n" +"Aanbevolen voor web gebaseerde games" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." msgstr "" +"Renderer kan later worden gewijzigd, scenes moeten dan mogelijk worden " +"bijgesteld." #: editor/project_manager.cpp msgid "Unnamed Project" @@ -7697,6 +7810,15 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"Het volgende project-configuratiebestand specificeert niet door welke versie " +"van Godot deze gemaakt is.\n" +"\n" +"%s\n" +"\n" +"Als je doorgaat met het openen van dit bestand, zal het worden geconverteerd " +"naar Godot's huidige format voor project-configuratiebestanden.\n" +"Waarschuwing: Hierna kan het project niet meer worden geopend door oudere " +"versies van Godot Engine." #: editor/project_manager.cpp msgid "" @@ -7709,12 +7831,22 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"Het volgende project-configuratiebestand was gegenereerd door een oudere " +"versie van Godot Engine, en moet worden geconverteerd voor deze versie:\n" +"\n" +"%s\n" +"\n" +"Wil je dit project-configuratiebestand converteren?\n" +"Waarschuwing: Hierna kan het project niet meer worden geopend door oudere " +"versies van Godot Engine." #: editor/project_manager.cpp msgid "" "The project settings were created by a newer engine version, whose settings " "are not compatible with this version." msgstr "" +"Het project-configuratiebestand is gemaakt door een nieuwere versie van " +"Godot Engine, en is incompatibel met de huidige versie." #: editor/project_manager.cpp msgid "" @@ -7731,6 +7863,8 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"Kan project niet starten: Assets moeten worden geïmporteerd.\n" +"Wijzig het project om de initiële import te starten." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" @@ -7754,6 +7888,8 @@ msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" msgstr "" +"U staat op het punt om %s folders te scannen voor bestaande Godot projecten. " +"Akkoord?" #: editor/project_manager.cpp msgid "Project Manager" @@ -7782,7 +7918,7 @@ msgstr "Verwijder Selectie" #: editor/project_manager.cpp msgid "Exit" -msgstr "" +msgstr "Sluiten" #: editor/project_manager.cpp msgid "Restart Now" @@ -7798,45 +7934,48 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"U heeft momenteel geen projecten.\n" +"Wilt u de officiële voorbeeldprojecten verkennen in de Asset Library?" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "" +msgstr "Sleutel " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "" +msgstr "Controller Knop" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "" +msgstr "Controller Axis" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Muis Knop" #: editor/project_settings_editor.cpp msgid "" "Invalid action name. it cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'" msgstr "" +"Ongeldige actienaam. Kan niet leeg zijn en mag niet '/', ':', '=', '\\' of " +"'\"' bevatten" #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" -msgstr "" +msgstr "Action '%s' bestaat al!" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" -msgstr "" +msgstr "Hernoem Input Action Event" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Change Action deadzone" -msgstr "Verander Animatie Naam:" +msgstr "Wijzig Action Deadzone" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" -msgstr "" +msgstr "Toevoegen Input Action Event" #: editor/project_settings_editor.cpp #, fuzzy @@ -7857,35 +7996,35 @@ msgstr "Alt+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Control+" -msgstr "" +msgstr "Control+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key..." -msgstr "" +msgstr "Druk op een toets..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "Muis Knop Index:" #: editor/project_settings_editor.cpp msgid "Left Button" -msgstr "" +msgstr "Links Knop" #: editor/project_settings_editor.cpp msgid "Right Button" -msgstr "" +msgstr "Rechts Knop" #: editor/project_settings_editor.cpp msgid "Middle Button" -msgstr "" +msgstr "Middelste Knop" #: editor/project_settings_editor.cpp msgid "Wheel Up Button" -msgstr "" +msgstr "Muiswiel Omhoog Knop" #: editor/project_settings_editor.cpp msgid "Wheel Down Button" -msgstr "" +msgstr "Muiswiel Omlaag Knop" #: editor/project_settings_editor.cpp #, fuzzy @@ -7909,7 +8048,7 @@ msgstr "Knop" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "Controller Axis Index:" #: editor/project_settings_editor.cpp msgid "Axis" @@ -7917,7 +8056,7 @@ msgstr "As" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "Controller Knop Index:" #: editor/project_settings_editor.cpp #, fuzzy @@ -7926,11 +8065,11 @@ msgstr "Schaal Selectie" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "" +msgstr "Wis Input Action Event" #: editor/project_settings_editor.cpp msgid "Add Event" -msgstr "" +msgstr "Event Toevoegen" #: editor/project_settings_editor.cpp msgid "Button" @@ -7963,15 +8102,15 @@ msgstr "Getter Property Toevoegen" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "Selecteer eerst een instellingsitem!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "" +msgstr "Eigenschap '%s' bestaat niet." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "Instelling '%s' is intern, en kan niet worden verwijderd." #: editor/project_settings_editor.cpp #, fuzzy @@ -7983,6 +8122,8 @@ msgid "" "Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or " "'\"'." msgstr "" +"Ongeldige actienaam. Kan niet leeg zijn en mag niet '/', ':', '=', '\\' of " +"'\"' bevatten." #: editor/project_settings_editor.cpp msgid "Already existing" @@ -7990,19 +8131,19 @@ msgstr "Bestaat al" #: editor/project_settings_editor.cpp msgid "Add Input Action" -msgstr "" +msgstr "Toevoegen Input Action" #: editor/project_settings_editor.cpp msgid "Error saving settings." -msgstr "" +msgstr "Fout bij opslaan instellingen." #: editor/project_settings_editor.cpp msgid "Settings saved OK." -msgstr "" +msgstr "Instellingen succesvol opgeslagen." #: editor/project_settings_editor.cpp msgid "Override for Feature" -msgstr "" +msgstr "Override voor Feature" #: editor/project_settings_editor.cpp msgid "Add Translation" @@ -8014,31 +8155,33 @@ msgstr "Verwijder vertaling" #: editor/project_settings_editor.cpp msgid "Add Remapped Path" -msgstr "" +msgstr "Voeg Remapped Path toe" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Resource Remap Add Remap" -msgstr "" +msgstr "Bron Remap Toevoegen" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Change Resource Remap Language" -msgstr "" +msgstr "Wijzig Bron Remap Taal" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap" -msgstr "" +msgstr "Verwijder Bron Remap" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap Option" -msgstr "" +msgstr "Verwijder Bron Remap Optie" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter" -msgstr "" +msgstr "Lokale Filter Gewijzigd" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "Lokale Filtermodus Gewijzigd" #: editor/project_settings_editor.cpp msgid "Project Settings (project.godot)" @@ -8050,11 +8193,11 @@ msgstr "Algemeen" #: editor/project_settings_editor.cpp msgid "Override For..." -msgstr "" +msgstr "Override Voor..." #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Editor must be restarted for changes to take effect" -msgstr "" +msgstr "Editor moet worden herstart voordat de wijzigingen worden toegepast" #: editor/project_settings_editor.cpp msgid "Input Map" @@ -8062,7 +8205,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Action:" -msgstr "" +msgstr "Action:" #: editor/project_settings_editor.cpp #, fuzzy @@ -8071,19 +8214,19 @@ msgstr "Verplaats Actie" #: editor/project_settings_editor.cpp msgid "Deadzone" -msgstr "" +msgstr "Deadzone" #: editor/project_settings_editor.cpp msgid "Device:" -msgstr "" +msgstr "Apparaat:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "" +msgstr "Index:" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "Lokalisatie" #: editor/project_settings_editor.cpp msgid "Translations" @@ -8095,23 +8238,25 @@ msgstr "Vertalingen:" #: editor/project_settings_editor.cpp msgid "Remaps" -msgstr "" +msgstr "Remaps" #: editor/project_settings_editor.cpp msgid "Resources:" -msgstr "" +msgstr "Bronnen:" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Remaps by Locale:" -msgstr "" +msgstr "Remaps door Locale:" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "Locale" #: editor/project_settings_editor.cpp +#, fuzzy msgid "Locales Filter" -msgstr "" +msgstr "Lokalen Filter" #: editor/project_settings_editor.cpp msgid "Show all locales" @@ -8132,7 +8277,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "" +msgstr "Automatisch Laden" #: editor/property_editor.cpp msgid "Ease In" @@ -8144,7 +8289,7 @@ msgstr "" #: editor/property_editor.cpp msgid "Zero" -msgstr "" +msgstr "Nul" #: editor/property_editor.cpp msgid "Easing In-Out" @@ -8164,7 +8309,7 @@ msgstr "" #: editor/property_editor.cpp msgid "Assign" -msgstr "" +msgstr "Toewijzen" #: editor/property_editor.cpp #, fuzzy @@ -8173,7 +8318,7 @@ msgstr "Alles Selecteren" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "Fout bij laden bestand: Niet een bron!" #: editor/property_editor.cpp #, fuzzy @@ -8190,19 +8335,19 @@ msgstr "Selecteer Eigenschap" #: editor/property_selector.cpp msgid "Select Virtual Method" -msgstr "" +msgstr "Selecteer Virtuele Method" #: editor/property_selector.cpp msgid "Select Method" -msgstr "" +msgstr "Selecteer Method" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" -msgstr "" +msgstr "Kan PVRTC tool niet uitvoeren:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" -msgstr "" +msgstr "Kan geconverteerd beeld niet laden met de PVRTC tool:" #: editor/rename_dialog.cpp editor/scene_tree_dock.cpp #, fuzzy @@ -8211,11 +8356,11 @@ msgstr "Hernoemen" #: editor/rename_dialog.cpp msgid "Prefix" -msgstr "" +msgstr "Voorvoegsel" #: editor/rename_dialog.cpp msgid "Suffix" -msgstr "" +msgstr "Achtervoegsel" #: editor/rename_dialog.cpp #, fuzzy @@ -8224,7 +8369,7 @@ msgstr "Uitlijnen opties" #: editor/rename_dialog.cpp msgid "Substitute" -msgstr "" +msgstr "Plaatsvervanger" #: editor/rename_dialog.cpp #, fuzzy @@ -8233,7 +8378,7 @@ msgstr "Node Naam:" #: editor/rename_dialog.cpp msgid "Node's parent name, if available" -msgstr "" +msgstr "Naam van primaire Node, indien beschikbaar" #: editor/rename_dialog.cpp #, fuzzy @@ -8255,18 +8400,22 @@ msgid "" "Sequential integer counter.\n" "Compare counter options." msgstr "" +"Sequentiële integer teller.\n" +"Vergelijk tellersopties." #: editor/rename_dialog.cpp msgid "Per Level counter" -msgstr "" +msgstr "Per Niveau teller" #: editor/rename_dialog.cpp +#, fuzzy msgid "If set the counter restarts for each group of child nodes" msgstr "" +"Herstart de teller voor iedere groep van secundaire Nodes indien ingesteld" #: editor/rename_dialog.cpp msgid "Initial value for the counter" -msgstr "" +msgstr "Initiële waarde van teller" #: editor/rename_dialog.cpp #, fuzzy @@ -8275,17 +8424,19 @@ msgstr "Stap(pen):" #: editor/rename_dialog.cpp msgid "Amount by which counter is incremented for each node" -msgstr "" +msgstr "Hoeveelheid waarmee de teller incrementeert voor iedere Node" #: editor/rename_dialog.cpp msgid "Padding" -msgstr "" +msgstr "Vulling" #: editor/rename_dialog.cpp msgid "" "Minimum number of digits for the counter.\n" "Missing digits are padded with leading zeros." msgstr "" +"Minimum aantal nummers voor de teller.\n" +"Missende nummers worden opgevuld met nullen." #: editor/rename_dialog.cpp #, fuzzy @@ -8294,23 +8445,23 @@ msgstr "Verander Expressie" #: editor/rename_dialog.cpp msgid "Post-Process" -msgstr "" +msgstr "Post-Process" #: editor/rename_dialog.cpp msgid "Keep" -msgstr "" +msgstr "Houd" #: editor/rename_dialog.cpp msgid "CamelCase to under_scored" -msgstr "" +msgstr "CamelCase naar under_scored" #: editor/rename_dialog.cpp msgid "under_scored to CamelCase" -msgstr "" +msgstr "under_scored naar CamelCase" #: editor/rename_dialog.cpp msgid "Case" -msgstr "" +msgstr "Case" #: editor/rename_dialog.cpp #, fuzzy @@ -8341,7 +8492,7 @@ msgstr "" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" -msgstr "" +msgstr "Houd Globale Transformatie" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent" @@ -8349,11 +8500,11 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Run Mode:" -msgstr "" +msgstr "Uitvoermodus:" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Huidige Scene" #: editor/run_settings_dialog.cpp msgid "Main Scene" @@ -8361,11 +8512,11 @@ msgstr "Hoofdscène" #: editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "" +msgstr "Hoofdscene Argumenten:" #: editor/run_settings_dialog.cpp msgid "Scene Run Settings" -msgstr "" +msgstr "Scene Uitvoerinstellingen" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." @@ -10123,6 +10274,12 @@ msgstr "" "Een vorm moet gegeven worden om CollisionShape te laten werken. Maak " "alsjeblieft een vorm resource voor deze!" +#: 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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10137,6 +10294,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10297,6 +10460,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Huidige kleur als een preset toevoegen" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alarm!" @@ -10305,6 +10476,11 @@ msgstr "Alarm!" msgid "Please Confirm..." msgstr "Bevestig Alsjeblieft..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Ga naar bovenliggende folder" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10387,6 +10563,11 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Maak een nieuwe kopie van de geselecteerde scene(s) als kind van de " +#~ "geselecteerde knoop." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index a211de63b7..a2e25fba35 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -17,7 +17,7 @@ # Maksymilian Åšwiąć <maksymilian.swiac@gmail.com>, 2017-2018. # Mietek SzczeÅ›niak <ravaging@go2.pl>, 2016. # NeverK <neverkoxu@gmail.com>, 2018, 2019. -# Rafal Brozio <rafal.brozio@gmail.com>, 2016. +# Rafal Brozio <rafal.brozio@gmail.com>, 2016, 2019. # RafaÅ‚ Ziemniak <synaptykq@gmail.com>, 2017. # RM <synaptykq@gmail.com>, 2018. # Sebastian Krzyszkowiak <dos@dosowisko.net>, 2017. @@ -26,16 +26,17 @@ # Zatherz <zatherz@linux.pl>, 2017. # Tomek <kobewi4e@gmail.com>, 2018, 2019. # Wojcieh Er Zet <wojcieh.rzepecki@gmail.com>, 2018. -# Dariusz Siek <dariuszynski@gmail.com>, 2018. +# Dariusz Siek <dariuszynski@gmail.com>, 2018, 2019. # Szymon Nowakowski <smnbdg13@gmail.com>, 2019. # Nie Powiem <blazek10@tlen.pl>, 2019. # Sebastian Hojka <sibibibi1@gmail.com>, 2019. # Robert <vizz0@onet.pl>, 2019. +# MichaÅ‚ Topa <moonchasered@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-03-01 11:59+0000\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" "Last-Translator: Tomek <kobewi4e@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" @@ -45,7 +46,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 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -61,12 +62,12 @@ msgstr "" #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" -msgstr "NiewÅ‚aÅ›ciwe wejÅ›cie %i (nie podano) w wyrażeniu" +msgstr "NieprawidÅ‚owe wejÅ›cie %i (nie podano) w wyrażeniu" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" msgstr "" -"self nie może zostać użyte ponieważ obiekt ma wartość null (nie podano)" +"self nie może być użyte ponieważ instancja jest równa zeru (nie przekazano)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -114,14 +115,12 @@ msgid "Delete Selected Key(s)" msgstr "UsuÅ„ klucz(e)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Dodaj punkt" +msgstr "Dodaj punkt krzywej Beziera" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "PrzesuÅ„ punkty" +msgstr "PrzesuÅ„ punkty krzywej Beziera" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -152,9 +151,8 @@ msgid "Anim Change Call" msgstr "Animacja - wywoÅ‚anie funkcji" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "ZmieÅ„ pÄ™tle animacji" +msgstr "ZmieÅ„ dÅ‚ugość animacji" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -211,9 +209,8 @@ msgid "Anim Clips:" msgstr "Klipy animacji:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "ZmieÅ„ Wartość Tablicy" +msgstr "ZmieÅ„ adres Å›cieżki" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -240,9 +237,8 @@ msgid "Time (s): " msgstr "Czas (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Efekt Dopplera" +msgstr "PrzeÅ‚Ä…cz aktywność Å›cieżki" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -295,19 +291,16 @@ msgid "Delete Key(s)" msgstr "UsuÅ„ klucz(e)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "ZmieÅ„ nazwÄ™ animacji:" +msgstr "ZmieÅ„ tryb zmiany animacji" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Sposób interpolacji" +msgstr "ZmieÅ„ sposób interpolacji animacji" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "ZmieÅ„ pÄ™tle animacji" +msgstr "ZmieÅ„ sposób zapÄ™tlania animacji" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -352,14 +345,12 @@ msgid "Anim Insert Key" msgstr "Wstaw klatkÄ™ kluczowÄ…" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "ZmieÅ„ FPS animacji" +msgstr "ZmieÅ„ krok animacji" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Przestaw Autoloady" +msgstr "Przestaw Å›cieżki" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -391,9 +382,8 @@ msgid "Not possible to add a new track without a root" msgstr "Nie da siÄ™ dodać nowej Å›cieżki bez korzenia" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Dodaj Å›cieżkÄ™" +msgstr "Dodaj Å›cieżkÄ™ krzywej Beziera" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -404,23 +394,20 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "Åšcieżka nie jest typu Spatial, nie można wstawić klucza" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Åšcieżka przeksztaÅ‚cenia 3D" +msgstr "Dodaj klucz Å›cieżki transformacji" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Dodaj Å›cieżkÄ™" +msgstr "Dodaj klucz Å›cieżki" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." msgstr "Åšcieżka jest nieprawidÅ‚owa, wiÄ™c nie można wstawić klucza metody." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Åšcieżka wywoÅ‚ania metody" +msgstr "Dodaj klucz Å›cieżki metody" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -582,17 +569,16 @@ msgid "Copy" msgstr "Kopiuj" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Klipy dźwiÄ™kowe:" +msgstr "Dodaj klip Å›cieżki audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "ZmieÅ„ poczÄ…tkowe przesuniÄ™cie klipu Å›cieżki audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "ZmieÅ„ koÅ„cowe przesuniÄ™cie klipu Å›cieżki audio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -663,9 +649,8 @@ msgid "Warnings" msgstr "Ostrzeżenia" #: editor/code_editor.cpp -#, fuzzy msgid "Line and column numbers." -msgstr "Numery linii i kolumn" +msgstr "Numery linii i kolumn." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1223,9 +1208,8 @@ msgid "Add Bus" msgstr "Dodaj magistralÄ™" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Zapisz ukÅ‚ad magistrali audio jako..." +msgstr "Dodaj nowÄ… SzynÄ™ Audio do tego ukÅ‚adu." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1403,9 +1387,31 @@ msgstr "Pakowanie" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Platforma docelowa wymaga dla GLES2 kompresji tekstur 'ETC'. WÅ‚Ä…cz 'Import " +"Etc' w Ustawieniach Projektu." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"Platforma docelowa wymaga dla GLES3 kompresji tekstur 'ETC2'. WÅ‚Ä…cz 'Import " +"Etc 2' w Ustawieniach Projektu." + +#: 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 "" +"Platforma docelowa wymaga kompresji tekstur 'ETC', by sterownik awaryjny " +"GLES2 mógÅ‚ zadziaÅ‚ać.\n" +"WÅ‚Ä…cz 'Import Etc' w Ustawieniach Projektu lub wyÅ‚Ä…cz 'Driver Fallback " +"Enabled'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1452,7 +1458,7 @@ msgstr "Pokaż w menedżerze plików" msgid "New Folder..." msgstr "Utwórz katalog..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "OdÅ›wież" @@ -1527,10 +1533,30 @@ msgstr "PrzesuÅ„ Ulubiony w górÄ™" msgid "Move Favorite Down" msgstr "PrzesuÅ„ Ulubiony w dół" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Poprzedni folder" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "NastÄ™pny folder" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Przejdź folder wyżej" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Dodaj/usuÅ„ aktualny folder z ulubionych." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "WyÅ›wietl elementy jako siatkÄ™ miniatur." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "WyÅ›wietl elementy jako listÄ™." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Katalogi i pliki:" @@ -1753,9 +1779,9 @@ msgstr "Wyczyść dane wyjÅ›ciowe" msgid "Project export failed with error code %d." msgstr "Eksport projektu nie powiódÅ‚ siÄ™, kod bÅ‚Ä™du to %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "BÅ‚Ä…d podczas zapisu zasobu!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Zaimportowane zasoby nie mogÄ… być zapisane." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1763,6 +1789,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "BÅ‚Ä…d podczas zapisu zasobu!" + +#: 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 "" +"Ten zasób nie może zostać zapisany, ponieważ nie należy do edytowanej sceny. " +"UczyÅ„ go najpierw unikalnym." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Zapisz zasób jako..." @@ -1982,14 +2020,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Zapisać zmiany w '%s' przed zamkniÄ™ciem?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Nie udaÅ‚o siÄ™ wczytać zasobu." +msgstr "Zapisano %s zmodyfikowanych zasobów." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Tylko jeden plik jest wymagany dla dużych tekstur." +msgstr "Scena musi posiadać korzeÅ„, by jÄ… zapisać." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2256,7 +2292,7 @@ msgstr "Ostatnio otwierane" #: editor/editor_node.cpp msgid "Convert To..." -msgstr "Konwertuje na..." +msgstr "Konwertuj na..." #: editor/editor_node.cpp msgid "MeshLibrary..." @@ -2294,7 +2330,7 @@ msgstr "Ustawienia projektu" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" -msgstr "Eksport" +msgstr "Eksportuj" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" @@ -2306,7 +2342,7 @@ msgstr "Otwórz folder danych projektu" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "Wyjdź do Listy Projektów" +msgstr "Wyjdź do listy projektów" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp @@ -2427,7 +2463,7 @@ msgstr "Otwórz folder ustawieÅ„ edytora" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "ZarzÄ…dzanie szablonami eksportu" +msgstr "ZarzÄ…dzaj szablonami eksportu" #: editor/editor_node.cpp msgid "Help" @@ -2511,9 +2547,8 @@ msgid "Save & Restart" msgstr "Zapisz i zrestartuj" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "Ikona obraca siÄ™, gdy okno edytora jest odrysowywane!" +msgstr "Obraca siÄ™, gdy okno edytora jest przerysowywane." #: editor/editor_node.cpp msgid "Update Always" @@ -2833,9 +2868,9 @@ msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" -"Nie znaleziono możliwej do uruchomienia konfiguracji eksportu dla tej " +"Nie znaleziono możliwego do uruchomienia profilu eksportu dla tej " "platformy.\n" -"Dodaj poprawnÄ… konfiguracjÄ™ z menu eksportu." +"Dodaj poprawny profil z menu eksportu." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -2904,7 +2939,7 @@ msgstr "Pobieranie informacji o serwerach lustrzanych, proszÄ™ czekać..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Usunąć wersjÄ™ '%s' szablonu?" +msgstr "Usunąć wersjÄ™ \"%s\" szablonu?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." @@ -3077,14 +3112,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "Nie można przejść do '%s' - nie znaleziono w tym systemie plików!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "WyÅ›wietl elementy jako siatkÄ™ miniatur." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "WyÅ›wietl elementy jako listÄ™." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Status: Importowanie pliku nie powiodÅ‚o siÄ™. ProszÄ™ naprawić plik i ponownie " @@ -3222,10 +3249,6 @@ msgid "Search files" msgstr "Przeszukaj pliki" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Utwórz instancjÄ™ wybranej sceny/scen jako dziecko wybranego wÄ™zÅ‚a." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3628,19 +3651,16 @@ msgstr "Wczytaj..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "PrzesuÅ„ punkty" +msgstr "PrzesuÅ„ punkt wÄ™zÅ‚a" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "ZmieÅ„ czas mieszania" +msgstr "ZmieÅ„ granice BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "ZmieÅ„ czas mieszania" +msgstr "ZmieÅ„ etykiety BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3651,24 +3671,21 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Dodaj wÄ™zeÅ‚" +msgstr "Dodaj punkt wÄ™zÅ‚a" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Dodaj animacjÄ™" +msgstr "Dodaj punkt animacji" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "UsuÅ„ punkt Å›cieżki" +msgstr "UsuÅ„ punkt BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "PrzesuÅ„ punkt wÄ™zÅ‚a BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3714,29 +3731,24 @@ msgid "Triangle already exists" msgstr "TrójkÄ…t już istnieje" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Dodaj zmiennÄ…" +msgstr "Dodaj trójkÄ…t" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "ZmieÅ„ czas mieszania" +msgstr "ZmieÅ„ granice BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "ZmieÅ„ czas mieszania" +msgstr "ZmieÅ„ etykiety BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "UsuÅ„ punkt Å›cieżki" +msgstr "UsuÅ„ punkt BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "UsuÅ„ zmiennÄ…" +msgstr "UsuÅ„ trójkÄ…t BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3747,9 +3759,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "Nie ma żadnego trójkÄ…ta, wiÄ™c nie może zajść mieszanie." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "PrzeÅ‚Ä…cz automatycznie Å‚adowane zmienne globalne" +msgstr "PrzeÅ‚Ä…cz automatyczne trójkÄ…ty" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3769,9 +3780,8 @@ msgid "Blend:" msgstr "Mieszanie:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Zmiany materiaÅ‚u" +msgstr "Parametr zmieniony" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3783,15 +3793,13 @@ msgid "Output node can't be added to the blend tree." msgstr "WÄ™zeÅ‚ wyjÅ›ciowy nie może być dodany do drzewa mieszania." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Dodaj wÄ™zeÅ‚(y) z drzewa" +msgstr "Dodaj wÄ™zeÅ‚ do BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Tryb przesuwania" +msgstr "WÄ™zeÅ‚ przesuniÄ™ty" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3802,36 +3810,30 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "PodÅ‚Ä…czony" +msgstr "WÄ™zÅ‚y poÅ‚Ä…czone" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "RozÅ‚Ä…czono" +msgstr "WÄ™zÅ‚y rozÅ‚Ä…czone" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Animacje" +msgstr "Ustaw animacjÄ™" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "UsuÅ„ wÄ™zeÅ‚ (wÄ™zÅ‚y)" +msgstr "UsuÅ„ wÄ™zeÅ‚" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "WÅ‚Ä…cz/wyÅ‚Ä…cz tÄ™ Å›cieżkÄ™." +msgstr "PrzeÅ‚Ä…cz filtrowanie" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "ZmieÅ„Â filtr ustawieÅ„Â lokalizacji" +msgstr "ZmieÅ„ filtr" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3854,9 +3856,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nazwa wÄ™zÅ‚a" +msgstr "WÄ™zeÅ‚ przemianowany" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3911,7 +3912,6 @@ msgid "Rename Animation" msgstr "ZmieÅ„ nazwÄ™ animacji" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Blend Next Changed" msgstr "Mieszaj nastÄ™pnÄ… zmienionÄ…" @@ -4005,14 +4005,12 @@ msgid "Autoplay on Load" msgstr "Auto odtwarzanie po zaÅ‚adowaniu" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Onion Skinning" -msgstr "Tryb warstw cebuli" +msgstr "Onion skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Enable Onion Skinning" -msgstr "WÅ‚Ä…cz tryb warstw cebuli" +msgstr "WÅ‚Ä…cz Onion skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Directions" @@ -4087,14 +4085,12 @@ msgid "Cross-Animation Blend Times" msgstr "Czasy przejÅ›cia pomiÄ™dzy animacjami" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Tryb przesuwania" +msgstr "PrzesuÅ„ wÄ™zeÅ‚" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Dodaj tÅ‚umaczenie" +msgstr "Dodaj przejÅ›cie" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4130,18 +4126,16 @@ msgid "No playback resource set at path: %s." msgstr "Nie znaleziono zasobu do odtworzenia w Å›cieżce: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "UsuniÄ™te:" +msgstr "WÄ™zeÅ‚ usuniÄ™ty" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "WÄ™zeÅ‚ PrzejÅ›cia" +msgstr "PrzejÅ›cie usuniÄ™te" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Ustaw wÄ™zeÅ‚ poczÄ…tkowy (autoodtwarzanie)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4578,6 +4572,8 @@ msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" +"WartoÅ›ci zakotwiczeÅ„ i marginesów wÄ™złów potomnych kontenerów sÄ… nadpisane " +"przez ich rodzica." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4600,6 +4596,8 @@ msgid "" "Warning: Children of a container get their position and size determined only " "by their parent." msgstr "" +"Ostrzeżenie: Pozycja i rozmiar wÄ™zÅ‚a potomnego kontenera sÄ… ustawiane tylko " +"przez jego rodzica." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/texture_region_editor_plugin.cpp @@ -4813,15 +4811,15 @@ msgstr "Wstaw klucze." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "Wstaw Klucz (IstniejÄ…ce Åšcieżki)" +msgstr "Wstaw klucz (istniejÄ…ce Å›cieżki)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "Skopiuj PozÄ™" +msgstr "Skopiuj pozÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "Wyczyść PozÄ™" +msgstr "Wyczyść pozÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" @@ -4866,9 +4864,8 @@ msgstr "" "PrzeciÄ…gnij i upuść + Alt: ZmieÅ„ typ wÄ™zÅ‚a" #: editor/plugins/collision_polygon_editor_plugin.cpp -#, fuzzy msgid "Create Polygon3D" -msgstr "Utwórz wielokÄ…t" +msgstr "Utwórz WielokÄ…t3D" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Edit Poly" @@ -4966,7 +4963,7 @@ msgstr "Wypal sondÄ™ GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Gradient edytowany" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5062,9 +5059,8 @@ msgid "Create Convex Static Body" msgstr "Utwórz statyczne ciaÅ‚o wypukÅ‚e" #: editor/plugins/mesh_instance_editor_plugin.cpp -#, fuzzy msgid "Create Trimesh Collision Sibling" -msgstr "Utwórz trójsiatkÄ™ sÄ…siednich kolizji" +msgstr "Utwórz sÄ…siadujÄ…cÄ… trójsiatkÄ™ kolizji" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Collision Sibling" @@ -5225,9 +5221,12 @@ msgid "Generating Visibility Rect" msgstr "Generowanie prostokÄ…ta widzialnoÅ›ci" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy +msgid "Generate Visibility Rect" +msgstr "Wygeneruj prostokÄ…t widocznoÅ›ci" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" -msgstr "Punkt można wstawić tylko w materiaÅ‚ obróbki ParticlesMaterial" +msgstr "Punkt można wstawić tylko w materiaÅ‚ przetwarzania ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" @@ -5238,10 +5237,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Brak pikseli z przeźroczystoÅ›ciÄ… > 128 w obrazie..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Wygeneruj prostokÄ…ta widzialnoÅ›ci" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Wczytaj maskÄ™ emisji" @@ -5321,35 +5316,32 @@ msgid "Emission Source: " msgstr "ŹródÅ‚a emisji: " #: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "MateriaÅ‚ przetwarzajÄ…cy typu 'ParticlesMaterial' jest wymagany." +msgstr "MateriaÅ‚ przetwarzajÄ…cy typu \"ParticlesMaterial\" jest wymagany." #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generowanie AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Generuj AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Generuj AABB widocznoÅ›ci" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Generuj AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "UsuÅ„ punkt z krzywej" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Remove Out-Control from Curve" -msgstr "UsuÅ„ punkt z krzywej" +msgstr "UsuÅ„ punkt kontrolny wychodzÄ…cy z krzywej" #: editor/plugins/path_2d_editor_plugin.cpp -#, fuzzy msgid "Remove In-Control from Curve" -msgstr "UsuÅ„ punkt z krzywej" +msgstr "UsuÅ„ punkt kontrolny wchodzÄ…cy z krzywej" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -5366,11 +5358,11 @@ msgstr "PrzenieÅ› punkt krzywej" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "" +msgstr "PrzesuÅ„ punkt kontrolny wchodzÄ…cy z krzywej" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "" +msgstr "PrzesuÅ„ punkt kontrolny wychodzÄ…cy z krzywej" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -5440,14 +5432,12 @@ msgid "Set Curve Point Position" msgstr "Ustaw pozycje punktu krzywej" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve In Position" -msgstr "Ustaw pozycje krzywej" +msgstr "Ustaw punkt kontrolny wchodzÄ…cy z krzywej" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Out Position" -msgstr "Ustaw pozycje punktu krzywej" +msgstr "Ustaw punkt kontrolny wychodzÄ…cy z krzywej" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" @@ -5458,14 +5448,12 @@ msgid "Remove Path Point" msgstr "UsuÅ„ punkt Å›cieżki" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Remove Out-Control Point" -msgstr "UsuÅ„ punkt Å›cieżki" +msgstr "UsuÅ„ punkt kontrolny wychodzÄ…cy" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Remove In-Control Point" -msgstr "UsuÅ„ punkt Å›cieżki" +msgstr "UsuÅ„ punkt kontrolny wchodzÄ…cy" #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" @@ -5481,7 +5469,6 @@ msgid "" msgstr "WÅ‚aÅ›ciwość skeleton wÄ™zÅ‚a Polygon2D nie wskazuje na wÄ™zeÅ‚ Skeleton2D" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Sync Bones" msgstr "Synchronizuj koÅ›ci" @@ -5538,9 +5525,8 @@ msgid "Transform Polygon" msgstr "Przekształć wielokÄ…t" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Paint Bone Weights" -msgstr "Maluj wagi koÅ›ci" +msgstr "Oznacz ciężar koÅ›ci" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Open Polygon 2D UV editor." @@ -5555,9 +5541,8 @@ msgid "UV" msgstr "UV" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Points" -msgstr "Punkt" +msgstr "Punkty" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygons" @@ -5597,23 +5582,23 @@ msgstr "Skaluj WielokÄ…t" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create a custom polygon. Enables custom polygon rendering." -msgstr "" +msgstr "Utwórz wÅ‚asny wielokÄ…t. WÅ‚Ä…cza renderowanie wÅ‚asnego wielokÄ…ta." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "" "Remove a custom polygon. If none remain, custom polygon rendering is " "disabled." msgstr "" +"UsuÅ„ wÅ‚asny wielokÄ…t. JeÅ›li nie zostaÅ‚ żaden, renderowanie wÅ‚asnych " +"wielokÄ…tów jest wyÅ‚Ä…czone." #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Paint weights with specified intensity." -msgstr "Maluj wagi z podanÄ… intensywnoÅ›ciÄ…." +msgstr "Oznacz ciężar ze sprecyzowanÄ…Â intensywnoÅ›ciÄ…." #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Unpaint weights with specified intensity." -msgstr "Odmaluj wagi z podanÄ… intensywnoÅ›ciÄ…." +msgstr "Odznacz ciężar ze sprecyzowanÄ… intensywnoÅ›ciÄ…." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Radius:" @@ -5759,17 +5744,14 @@ msgid "Error while saving theme." msgstr "BÅ‚Ä…d podczas zapisywania motywu." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Saving" msgstr "BÅ‚Ä…d zapisywania" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing theme." msgstr "BÅ‚Ä…d importowania motywu." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error Importing" msgstr "BÅ‚Ä…d importowania" @@ -5802,9 +5784,8 @@ msgid "Save Theme As..." msgstr "Zapisz motyw jako..." #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid " Class Reference" -msgstr " Referencja klas" +msgstr " - referencja klasy" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle alphabetical sorting of the method list." @@ -5934,6 +5915,14 @@ msgid "Open Godot online documentation" msgstr "Otwórz dokumentacjÄ™ online" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Poszukaj w dokumentacji referencyjnej." @@ -6129,14 +6118,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Ten szkielet nie ma koÅ›ci. Stwórz jakieÅ› wÄ™zÅ‚y potomne Bone2D." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Utwórz pozÄ™ spoczynkowÄ… (z koÅ›ci)" +msgstr "Utwórz pozÄ™ spoczynkowÄ… z koÅ›ci" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Utwórz pozÄ™ spoczynkowÄ… (z koÅ›ci)" +msgstr "Ustaw koÅ›ciom pozÄ™ spoczynkowÄ…" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6291,9 +6278,8 @@ msgid "Rear" msgstr "TyÅ‚" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Wyrównaj z widokiem" +msgstr "Dopasuj do widoku" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6328,9 +6314,8 @@ msgid "View Environment" msgstr "WyÅ›wietlaj Å›rodowisko" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Gizmos" -msgstr "Pokaż uchwyty" +msgstr "Pokaż ikony wÄ™złów" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" @@ -6389,6 +6374,8 @@ 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 "" +"Uwaga: WyÅ›wietlana wartość FPS pochodzi z edytora.\n" +"Nie może być używana jako miarodajny wskaźnik wydajnoÅ›ci w grze." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6399,9 +6386,8 @@ msgid "XForm Dialog" msgstr "Okno dialogowe XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "PrzyciÄ…gaj do siatki" +msgstr "PrzyciÄ…gnij wÄ™zÅ‚y do podÅ‚ogi" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6591,7 +6577,6 @@ msgid "View Z-Far:" msgstr "Widok Z-Daleko:" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Transform Change" msgstr "Zmiana przeksztaÅ‚cenia" @@ -6608,7 +6593,6 @@ msgid "Scale (ratio):" msgstr "Skala (proporcja):" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Transform Type" msgstr "Typ przeksztaÅ‚cenia" @@ -6622,7 +6606,7 @@ msgstr "Po" #: editor/plugins/spatial_editor_plugin.cpp msgid "Nameless gizmo" -msgstr "" +msgstr "Uchwyt bez nazwy" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" @@ -6694,14 +6678,12 @@ msgid "(empty)" msgstr "(pusty)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animacje" +msgstr "Animacje:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animacje" +msgstr "Nowa animacja" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6712,9 +6694,8 @@ msgid "Loop" msgstr "PÄ™tla" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Klatki animacji" +msgstr "Klatki animacji:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -6986,14 +6967,12 @@ msgid "Clear transform" msgstr "Wyczyść przeksztaÅ‚cenie" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Add Texture(s) to TileSet." -msgstr "Dodaj teksturÄ™/tekstury do TileSet." +msgstr "Dodaj teksturÄ™/y do TileSetu." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected Texture from TileSet." -msgstr "UsuÅ„ zaznaczonÄ… teksturÄ™ z TileSet." +msgstr "UsuÅ„ zaznaczonÄ… TeksturÄ™ z TileSetu." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" @@ -7004,6 +6983,22 @@ msgid "Merge from Scene" msgstr "PoÅ‚Ä…cz ze sceny" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "NastÄ™pny koordynat" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Wybierz nastÄ™pny ksztaÅ‚t, podkafelek lub Kafelek." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Poprzedni koordynat" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Wybierz poprzedni ksztaÅ‚t, podkafelek lub Kafelek." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Kopiuj maskÄ™ bitowÄ…." @@ -7016,9 +7011,8 @@ msgid "Erase bitmask." msgstr "Wyczyść maskÄ™ bitowÄ…." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Utwórz nowe wÄ™zÅ‚y." +msgstr "Utwórz nowy prostokÄ…t." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7026,22 +7020,20 @@ msgstr "Utwórz nowy wielokÄ…t." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Keep polygon inside region Rect." -msgstr "" +msgstr "Trzymaj wielokÄ…t wewnÄ…trz regionu ProstokÄ…ta." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Enable snap and show grid (configurable via the Inspector)." msgstr "WÅ‚Ä…cz przyciÄ…ganie i pokaż siatkÄ™ (konfigurowalne w inspektorze)." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Display Tile Names (Hold Alt Key)" msgstr "Pokaż nazwy kafelków (przytrzymaj Alt)" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove selected texture? This will remove all tiles which use it." -msgstr "Usunąć wybranÄ… teksturÄ™ i WSZYSTKIE KAFELKI, które jej używajÄ…?" +msgstr "" +"Usunąć wybranÄ… teksturÄ™? To usunie wszystkie kafelki, które jej używajÄ…." #: editor/plugins/tile_set_editor_plugin.cpp msgid "You haven't selected a texture to remove." @@ -7072,9 +7064,8 @@ msgstr "" "Kliknij na inny kafelek, by go edytować." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Delete selected Rect." -msgstr "UsuÅ„ zaznaczony prostokÄ…t." +msgstr "UsuÅ„ zaznaczony ProstokÄ…t." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -7089,7 +7080,6 @@ msgid "Delete polygon." msgstr "UsuÅ„ wielokÄ…t." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "" "LMB: Set bit on.\n" "RMB: Set bit off.\n" @@ -7097,7 +7087,7 @@ msgid "" msgstr "" "LPM: WÅ‚Ä…cz bit.\n" "PPM: WyÅ‚Ä…cz bit.\n" -"Kliknij inny kafelek, by go edytować." +"Kliknij inny Kafelek, by go edytować." #: editor/plugins/tile_set_editor_plugin.cpp msgid "" @@ -7118,94 +7108,88 @@ msgstr "" "Kliknij inny kafelek, by go edytować." #: 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 "" -"Wybierz pod-kafelek, by zmienić jego priorytet.\n" -"Kliknij inny kafelek, by go edytować." +"Wybierz pod-kafelek, by zmienić jego indeks Z.\n" +"Kliknij inny Kafelek, by go edytować." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Set Tile Region" -msgstr "Ustaw obszar tekstury" +msgstr "Ustaw obszar Kafelka" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Tile" -msgstr "Utwórz katalog" +msgstr "Utwórz Kafelek" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" -msgstr "" +msgstr "Ustaw ikonÄ™ Kafelka" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Bitmask" -msgstr "Edytuj filtry" +msgstr "Edytuj maskÄ™ bitowÄ… Kafelka" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Collision Polygon" msgstr "Edytuj wielokÄ…t kolizji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Occlusion Polygon" -msgstr "Edytuj wielokÄ…t" +msgstr "Edytuj wielokÄ…t okluzji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Navigation Polygon" -msgstr "Edytuj wielokÄ…t nawigacyjny" +msgstr "Edytuj wielokÄ…t nawigacji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Paste Tile Bitmask" -msgstr "Wklej animacjÄ™" +msgstr "Wklej maskÄ™ bitowÄ… Kafelka" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Clear Tile Bitmask" -msgstr "" +msgstr "Wyczyść maskÄ™ bitowÄ… Kafelka" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "ZmieÅ„ wielokÄ…t na wklÄ™sÅ‚y" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "ZmieÅ„ wielokÄ…t na wypukÅ‚y" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Tile" -msgstr "UsuÅ„ szablon" +msgstr "UsuÅ„ Kafelek" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Collision Polygon" -msgstr "UsuÅ„Â wielokÄ…t i punkt" +msgstr "UsuÅ„Â wielokÄ…t kolizji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Occlusion Polygon" -msgstr "Stwórz Occluder Polygon" +msgstr "UsuÅ„ wielokÄ…t okluzji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Remove Navigation Polygon" -msgstr "Utwórz wielokÄ…t nawigacyjny" +msgstr "Utwórz wielokÄ…t nawigacji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Edit Tile Priority" -msgstr "Edytuj filtry" +msgstr "Edytuj priorytet Kafelka" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Edit Tile Z Index" -msgstr "" +msgstr "Edytuj indeks Z Kafelka" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Collision Polygon" -msgstr "Utwórz wielokÄ…t nawigacyjny" +msgstr "Utwórz wielokÄ…t kolizji" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Occlusion Polygon" -msgstr "Stwórz Occluder Polygon" +msgstr "Utwórz wielokÄ…t okluzji" #: editor/plugins/tile_set_editor_plugin.cpp msgid "This property can't be changed." @@ -7217,26 +7201,23 @@ msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Ustaw nazwÄ™ uniformu" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Ustaw jako domyÅ›lne dla '%s'" +msgstr "Ustaw domyÅ›lny port wejÅ›cia" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "Shader wizualny" +msgstr "Dodaj WÄ™zeÅ‚ do Wizualnego Shadera" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Duplikuj wÄ™zeÅ‚(y)" +msgstr "Duplikuj wÄ™zÅ‚y" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Typ wejÅ›cia shadera wizualnego zmieniony" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7255,14 +7236,12 @@ msgid "VisualShader" msgstr "Shader wizualny" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Edytuj filtry" +msgstr "Edytuj WizualnÄ… WÅ‚aÅ›ciwość" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Zmiany Shadera" +msgstr "Zmiana Trybu Wizualnego Shadera" #: editor/project_export.cpp msgid "Runnable" @@ -7270,17 +7249,19 @@ msgstr "Uruchamiany" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "Usunąć ścieżkÄ™ '%s' z listy?" +msgstr "Usunąć ścieżkÄ™ \"%s\" z listy?" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "Usunąć predefiniowane '%s'?" +msgstr "Usunąć profil \"%s\"?" #: editor/project_export.cpp msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Nie udaÅ‚o siÄ™ wyeksportować projektu dla platformy \"%s\".\n" +"Brak szablonów eksportu lub sÄ… nieprawidÅ‚owe." #: editor/project_export.cpp msgid "" @@ -7288,6 +7269,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Nie udaÅ‚o siÄ™ wyeksportować projektu dla platformy \"%s\".\n" +"Może to być przez problem z konfiguracjÄ… w profilu eksportu lub twoich " +"ustawieniach eksportu." #: editor/project_export.cpp msgid "Release" @@ -7298,6 +7282,10 @@ msgid "Exporting All" msgstr "Eksportowanie wszystkiego" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "Podana Å›cieżka eksportu nie istnieje:" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Brakuje szablonów eksportu dla tej platformy lub sÄ… uszkodzone:" @@ -7393,7 +7381,7 @@ msgstr "Zaszyfrowany (podaj klucz poniżej)" #: editor/project_export.cpp msgid "Invalid Encryption Key (must be 64 characters long)" -msgstr "" +msgstr "NieprawidÅ‚owy klucz szyfrowania (dÅ‚ugość musi wynosić 64 znaki)" #: editor/project_export.cpp msgid "Script Encryption Key (256-bits as hex):" @@ -7534,15 +7522,15 @@ msgstr "Åšcieżka instalacji projektu:" #: editor/project_manager.cpp msgid "Browse" -msgstr "Szukaj" +msgstr "PrzeglÄ…daj" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "Renderer:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" -msgstr "" +msgstr "OpenGL ES 3.0" #: editor/project_manager.cpp msgid "" @@ -7551,10 +7539,14 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"Wyższa jakość wizualna\n" +"Wszystkie funkcjonalnoÅ›ci dostÄ™pne\n" +"Niekompatybilne ze starszym sprzÄ™tem\n" +"Niezalecane dla gier przeglÄ…darkowych" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7563,17 +7555,22 @@ msgid "" "Works on most hardware\n" "Recommended for web games" msgstr "" +"Mniejsza jakość wizualna\n" +"Niektóre funkcjonalnoÅ›ci niedostÄ™pne\n" +"DziaÅ‚a na wiÄ™kszoÅ›ci sprzÄ™tu\n" +"Rekomendowane dla gier przeglÄ…darkowych" #: editor/project_manager.cpp msgid "Renderer can be changed later, but scenes may need to be adjusted." msgstr "" +"Renderer może zostać później zmieniony, ale sceny mogÄ… potrzebować " +"dostosowania." #: editor/project_manager.cpp msgid "Unnamed Project" msgstr "Projekt bez nazwy" #: editor/project_manager.cpp -#, fuzzy msgid "Can't open project at '%s'." msgstr "Nie można otworzyć projektu w '%s'." @@ -7593,6 +7590,15 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"Podany plik ustawieÅ„ projektu nie zawiera informacji o wersji Godota, w " +"której zostaÅ‚ stworzony.\n" +"\n" +"%s\n" +"\n" +"JeÅ›li mimo to go otworzysz, zostanie przekonwertowany do aktualnego formatu " +"pliku konfiguracji Godota.\n" +"Ostrzeżenie: Nie bÄ™dziesz w stanie wiÄ™cej otworzyć tego projektu z " +"wczeÅ›niejszymi wersjami silnika." #: editor/project_manager.cpp msgid "" @@ -7605,6 +7611,14 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" +"Podany plik ustawieÅ„ projektu zostaÅ‚ stworzony przez starszÄ… wersjÄ™ silnika " +"i musi zostać przekonwertowany do aktualnej wersji.\n" +"\n" +"%s\n" +"\n" +"Chcesz go przekonwertować?\n" +"Ostrzeżenie: Nie bÄ™dziesz w stanie wiÄ™cej otworzyć tego projektu z " +"wczeÅ›niejszymi wersjami silnika." #: editor/project_manager.cpp msgid "" @@ -8029,11 +8043,11 @@ msgstr "AutoÅ‚adowanie" #: editor/property_editor.cpp msgid "Ease In" -msgstr "" +msgstr "Åagodne wejÅ›cie" #: editor/property_editor.cpp msgid "Ease Out" -msgstr "" +msgstr "Åagodne wyjÅ›cie" #: editor/property_editor.cpp msgid "Zero" @@ -8041,11 +8055,11 @@ msgstr "Zero" #: editor/property_editor.cpp msgid "Easing In-Out" -msgstr "" +msgstr "Åagodne wejÅ›cie-wyjÅ›cie" #: editor/property_editor.cpp msgid "Easing Out-In" -msgstr "" +msgstr "Åagodne wyjÅ›cie-wejÅ›cie" #: editor/property_editor.cpp msgid "File..." @@ -8141,10 +8155,12 @@ msgid "" "Sequential integer counter.\n" "Compare counter options." msgstr "" +"Sekwencyjny licznik caÅ‚kowity.\n" +"Porównaj opcje licznika." #: editor/rename_dialog.cpp msgid "Per Level counter" -msgstr "" +msgstr "Poziomowy licznik" #: editor/rename_dialog.cpp msgid "If set the counter restarts for each group of child nodes" @@ -8179,9 +8195,8 @@ msgid "Regular Expressions" msgstr "Wyrażenia regularne" #: editor/rename_dialog.cpp -#, fuzzy msgid "Post-Process" -msgstr "Post-Process" +msgstr "Przetwarzanie koÅ„cowe" #: editor/rename_dialog.cpp msgid "Keep" @@ -8297,19 +8312,20 @@ msgstr "Duplikuj wÄ™zeÅ‚(y)" #: editor/scene_tree_dock.cpp msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." msgstr "" +"Nie można zmieniać wÄ™złów nadrzÄ™dnych w scenie dziedziczonej. Kolejność " +"wÄ™złów nie może siÄ™ zmienić." #: editor/scene_tree_dock.cpp msgid "Node must belong to the edited scene to become root." -msgstr "" +msgstr "WÄ™zeÅ‚ musi należeć do edytowanej sceny, by stać siÄ™ korzeniem." #: editor/scene_tree_dock.cpp msgid "Instantiated scenes can't become root" -msgstr "" +msgstr "Instancje scen nie mogÄ… zostać korzeniem" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "ZmieÅ„ na korzeÅ„ sceny" +msgstr "ZmieÅ„ wÄ™zeÅ‚ na KorzeÅ„" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8345,12 +8361,11 @@ msgstr "Wczytaj jako zastÄ™pczy" #: editor/scene_tree_dock.cpp msgid "Make Local" -msgstr "Zrób lokalne" +msgstr "UczyÅ„ lokalnym" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "ZmieÅ„ na korzeÅ„ sceny" +msgstr "Nowy korzeÅ„ sceny" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8781,19 +8796,16 @@ msgid "Set From Tree" msgstr "Ustaw z drzewa" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Åagodne wyjÅ›cie" +msgstr "UsuÅ„ skrót" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Skróty" +msgstr "Przywróć skrót" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "ZmieÅ„ zakotwiczenie" +msgstr "ZmieÅ„ skrót" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -8928,7 +8940,6 @@ msgid "GDNative" msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "Step argument is zero!" msgstr "Argument kroku wynosi zero!" @@ -9002,9 +9013,8 @@ msgid "GridMap Duplicate Selection" msgstr "GridMap duplikuj zaznaczenie" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Ustawienia GridMap" +msgstr "Malowanie GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9015,17 +9025,14 @@ msgid "Snap View" msgstr "PrzyciÄ…ganie widoku" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Disabled" -msgstr "WyÅ‚Ä…czone przycinanie" +msgstr "WyÅ‚Ä…cz przycinanie" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Above" msgstr "Przytnij powyżej" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clip Below" msgstr "Przytnij poniżej" @@ -9139,7 +9146,7 @@ msgstr "Utwórz solucjÄ™ C#" #: modules/mono/editor/mono_bottom_panel.cpp msgid "Builds" -msgstr "" +msgstr "Wydania" #: modules/mono/editor/mono_bottom_panel.cpp msgid "Build Project" @@ -9151,12 +9158,11 @@ msgstr "Pokaż logi" #: modules/mono/mono_gd/gd_mono_utils.cpp msgid "End of inner exception stack trace" -msgstr "" +msgstr "Koniec Å›ladu stosu wewnÄ™trznego wyjÄ…tku" #: modules/recast/navigation_mesh_editor_plugin.cpp -#, fuzzy msgid "Bake NavMesh" -msgstr "Wypiecz NavMesh" +msgstr "Przygotuj NavMesh" #: modules/recast/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -9184,7 +9190,7 @@ msgstr "Konstruowanie zwartego pola wysokoÅ›ci..." #: modules/recast/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "Erodowanie osiÄ…galnego obszaru..." #: modules/recast/navigation_mesh_generator.cpp msgid "Partitioning..." @@ -9219,12 +9225,16 @@ msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" msgstr "" +"WÄ™zeÅ‚ zostaÅ‚ zawieszony bez pamiÄ™ci roboczej, przeczytaj w dokumentacji jak " +"wÅ‚aÅ›ciwie zawieszać dziaÅ‚anie wÄ™złów!" #: modules/visual_script/visual_script.cpp msgid "" "Node yielded, but did not return a function state in the first working " "memory." msgstr "" +"WÄ™zeÅ‚ zostaÅ‚ zawieszony, ale nie zwróciÅ‚ stanu funkcji w pierwszej pamiÄ™ci " +"roboczej." #: modules/visual_script/visual_script.cpp msgid "" @@ -9240,7 +9250,7 @@ msgstr "WÄ™zeÅ‚ zwróciÅ‚ niewÅ‚aÅ›ciwÄ… sekwencjÄ™ wyjÅ›ciowÄ…: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" -msgstr "" +msgstr "Znaleziono bit sekwencji, ale nie wÄ™zeÅ‚ na stosie, zgÅ‚oÅ› bÅ‚Ä…d!" #: modules/visual_script/visual_script.cpp msgid "Stack overflow with stack depth: " @@ -9317,14 +9327,18 @@ msgstr "Duplikuj wÄ™zÅ‚y VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"Przytrzymaj %s, by upuÅ›cić pobieracz (Getter). Przytrzymaj Shift, by upuÅ›cić " +"generycznÄ… sygnaturÄ™." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"Przytrzymaj Ctrl, by upuÅ›cić pobieracz (Getter). Przytrzymaj Shift, by " +"upuÅ›cić generycznÄ… sygnaturÄ™." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a simple reference to the node." -msgstr "" +msgstr "Przytrzymaj %s, by upuÅ›cić prostÄ… referencjÄ™ do wÄ™zÅ‚a." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." @@ -9332,16 +9346,15 @@ msgstr "Przytrzymaj Ctrl, by upuÅ›cić prostÄ… referencjÄ™ do wÄ™zÅ‚a." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." -msgstr "" +msgstr "Przytrzymaj %s, by upuÅ›cić ustawiacz (Setter) zmiennej." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Variable Setter." -msgstr "" +msgstr "Przytrzymaj Ctrl, by upuÅ›cić ustawiacz (Setter) zmiennej." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Preload Node" -msgstr "Dodaj dziecko wÄ™zÅ‚a" +msgstr "Dodaj wstÄ™pnie wczytany wÄ™zeÅ‚" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -9372,14 +9385,12 @@ msgid "Connect Nodes" msgstr "PodÅ‚Ä…cz wÄ™zÅ‚y" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Node Data" -msgstr "PodÅ‚Ä…cz wÄ™zÅ‚y" +msgstr "PoÅ‚Ä…cz dane wÄ™zÅ‚a" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Connect Node Sequence" -msgstr "PodÅ‚Ä…cz wÄ™zÅ‚y" +msgstr "PoÅ‚Ä…cz sekwencjÄ™ wÄ™złów" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" @@ -9390,9 +9401,8 @@ msgid "Change Input Value" msgstr "ZmieÅ„ wartość wejÅ›ciowÄ…" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "ZmieÅ„ rozmiar CanvasItem" +msgstr "ZmieÅ„ rozmiar komentarza" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9545,87 +9555,86 @@ msgstr "Ustaw %s" #: platform/android/export/export.cpp msgid "Package name is missing." -msgstr "" +msgstr "Brakuje nazwy paczki." #: platform/android/export/export.cpp msgid "Package segments must be of non-zero length." -msgstr "" +msgstr "Segmenty paczki muszÄ… mieć niezerowÄ… dÅ‚ugość." #: platform/android/export/export.cpp msgid "The character '%s' is not allowed in Android application package names." -msgstr "" +msgstr "Znak '%s' nie jest dozwolony w nazwach paczek aplikacji Androida." #: platform/android/export/export.cpp msgid "A digit cannot be the first character in a package segment." -msgstr "" +msgstr "Cyfra nie może być pierwszym znakiem w segmencie paczki." #: platform/android/export/export.cpp msgid "The character '%s' cannot be the first character in a package segment." -msgstr "" +msgstr "Znak '%s' nie może być pierwszym znakiem w segmencie paczki." #: platform/android/export/export.cpp msgid "The package must have at least one '.' separator." -msgstr "" +msgstr "Paczka musi mieć co najmniej jednÄ… kropkÄ™ jako separator." #: platform/android/export/export.cpp msgid "ADB executable not configured in the Editor Settings." -msgstr "" +msgstr "Plik wykonywalny ADB nie skonfigurowany w Ustawieniach Edytora." #: platform/android/export/export.cpp msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "" +msgstr "Jarsigner OpenJDK nie skonfigurowany w Ustawieniach Edytora." #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "" +"Debugowy keystore nieskonfigurowany w Ustawieniach Edytora ani w profilu " +"eksportu." #: platform/android/export/export.cpp msgid "Invalid public key for APK expansion." -msgstr "" +msgstr "Niepoprawny klucz publiczny dla ekspansji APK." #: platform/android/export/export.cpp -#, fuzzy msgid "Invalid package name:" -msgstr "Niepoprawna nazwa klasy" +msgstr "Niepoprawna nazwa paczki:" #: platform/iphone/export/export.cpp msgid "Identifier is missing." -msgstr "" +msgstr "Brakuje identyfikatora." #: platform/iphone/export/export.cpp msgid "Identifier segments must be of non-zero length." -msgstr "" +msgstr "Segmenty identyfikatora muszÄ… mieć niezerowÄ… dÅ‚ugość." #: platform/iphone/export/export.cpp -#, fuzzy msgid "The character '%s' is not allowed in Identifier." -msgstr "Nazwa nie jest prawidÅ‚owym identyfikatorem:" +msgstr "Znak '%s' nie jest dozwolony w identyfikatorze." #: platform/iphone/export/export.cpp msgid "A digit cannot be the first character in a Identifier segment." -msgstr "" +msgstr "Cyfra nie może być pierwszym znakiem w segmencie identyfikatora." #: platform/iphone/export/export.cpp msgid "" "The character '%s' cannot be the first character in a Identifier segment." -msgstr "" +msgstr "Znak '%s' nie może być pierwszym znakiem w segmencie identyfikatora." #: platform/iphone/export/export.cpp msgid "The Identifier must have at least one '.' separator." -msgstr "" +msgstr "Identyfikator musi mieć co najmniej jednÄ… kropkÄ™ jako separator." #: platform/iphone/export/export.cpp msgid "App Store Team ID not specified - cannot configure the project." -msgstr "" +msgstr "App Store Team ID nie podany - nie można skonfigurować projektu." #: platform/iphone/export/export.cpp -#, fuzzy msgid "Invalid Identifier:" -msgstr "Nazwa nie jest prawidÅ‚owym identyfikatorem:" +msgstr "Niepoprawny identyfikator:" #: platform/iphone/export/export.cpp msgid "Required icon is not specified in the preset." -msgstr "" +msgstr "Wymagana ikona nie jest podana w profilu eksportu." #: platform/javascript/export/export.cpp msgid "Run in Browser" @@ -9656,64 +9665,55 @@ msgid "Could not read boot splash image file:" msgstr "Nie można odczytać pliku obrazu splash:" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Using default boot splash image." -msgstr "DomyÅ›lny obrazek splash" +msgstr "Używam domyÅ›lnego obrazka powitalnego." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid package unique name." -msgstr "NiewÅ‚aÅ›ciwa nazwa." +msgstr "NiewÅ‚aÅ›ciwa unikalna nazwa paczki." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid product GUID." -msgstr "Niepoprawny rozmiar fonta." +msgstr "NieprawidÅ‚owy GUID produktu." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid publisher GUID." -msgstr "Niepoprawna Å›cieżka bazowa" +msgstr "Niepoprawny GUID wydawcy." #: platform/uwp/export/export.cpp msgid "Invalid background color." msgstr "Kolor tÅ‚a nieprawidÅ‚owy." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid Store Logo image dimensions (should be 50x50)." -msgstr "" -"NieprawidÅ‚owe wymiary obrazka ekranu powitalnego (powinno być 620x300)." +msgstr "NieprawidÅ‚owe wymiary sklepowego obrazka logo (powinno być 50x50)." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid square 44x44 logo image dimensions (should be 44x44)." msgstr "" -"NieprawidÅ‚owe wymiary obrazka ekranu powitalnego (powinno być 620x300)." +"NieprawidÅ‚owe wymiary obrazka kwadratowego logo 44x44 (powinno być 44x44)." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid square 71x71 logo image dimensions (should be 71x71)." msgstr "" -"NieprawidÅ‚owe wymiary obrazka ekranu powitalnego (powinno być 620x300)." +"NieprawidÅ‚owe wymiary obrazka kwadratowego logo 71x71 (powinno być 71x71)." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid square 150x150 logo image dimensions (should be 150x150)." msgstr "" -"NieprawidÅ‚owe wymiary obrazka ekranu powitalnego (powinno być 620x300)." +"NieprawidÅ‚owe wymiary obrazka kwadratowego logo 150x150 (powinno być " +"150x150)." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid square 310x310 logo image dimensions (should be 310x310)." msgstr "" -"NieprawidÅ‚owe wymiary obrazka ekranu powitalnego (powinno być 620x300)." +"NieprawidÅ‚owe wymiary obrazka kwadratowego logo 310x310 (powinno być " +"310x310)." #: platform/uwp/export/export.cpp -#, fuzzy msgid "Invalid wide 310x150 logo image dimensions (should be 310x150)." msgstr "" -"NieprawidÅ‚owe wymiary obrazka ekranu powitalnego (powinno być 620x300)." +"NieprawidÅ‚owe wymiary obrazka szerokiego logo 310x150 (powinno być 310x150)." #: platform/uwp/export/export.cpp msgid "Invalid splash screen image dimensions (should be 620x300)." @@ -9835,6 +9835,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"CzÄ…steczki oparte o GPU sÄ… nieobsÅ‚ugiwane przez sterownik wideo GLES2.\n" +"Użyj zamiast tego wÄ™zÅ‚a CPUParticles2D. Możesz użyć do tego celu opcji " +"\"Konwertuj na CPUParticles\"." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9857,13 +9860,12 @@ msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "PathFollow2D zadziaÅ‚a tylko wtedy, gdy bÄ™dzie dzieckiem wÄ™zeÅ‚ Path2D." #: 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 "" -"Zmiany rozmiaru w RigidBody2D (w trybach character i rigid) zostanÄ… " +"Zmiany rozmiaru w RigidBody2D (w trybach character lub rigid) zostanÄ… " "nadpisane przez silnik fizyki podczas dziaÅ‚ania.\n" "Zamiast tego, zmieÅ„ rozmiary ksztaÅ‚tów kolizji w wÄ™zÅ‚ach podrzÄ™dnych." @@ -9938,18 +9940,17 @@ msgstr "(PozostaÅ‚y czas: %d:%02d s)" #: scene/3d/baked_lightmap.cpp msgid "Plotting Meshes: " -msgstr "" +msgstr "KreÅ›lenie siatek: " #: scene/3d/baked_lightmap.cpp msgid "Plotting Lights:" -msgstr "" +msgstr "KreÅ›lenie Å›wiateÅ‚:" #: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp msgid "Finishing Plot" -msgstr "" +msgstr "KoÅ„czenie kreÅ›lenia" #: scene/3d/baked_lightmap.cpp -#, fuzzy msgid "Lighting Meshes: " msgstr "OÅ›wietlanie siatek: " @@ -9996,10 +9997,17 @@ msgstr "" "KsztaÅ‚t musi być okreÅ›lony dla CollisionShape, aby speÅ‚niaÅ‚ swoje zadanie. " "Utwórz zasób typu CollisionShape w odpowiednim polu obiektu!" +#: 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 "" +"KsztaÅ‚ty pÅ‚aszczyzny nie dziaÅ‚ajÄ… dobrze i zostanÄ… usuniÄ™te w przyszÅ‚ych " +"wersjach. Nie używaj ich." + #: scene/3d/cpu_particles.cpp -#, fuzzy msgid "Nothing is visible because no mesh has been assigned." -msgstr "Nic nie jest widoczne, bo nie zostaÅ‚a przypisana żadna siatka." +msgstr "Nie zostaÅ‚a przypisana żadna siatka, wiÄ™c nic siÄ™ nie pojawi." #: scene/3d/cpu_particles.cpp msgid "" @@ -10011,7 +10019,15 @@ msgstr "" #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" +msgstr "KreÅ›lenie siatek" + +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." msgstr "" +"GIProbes nie sÄ… obsÅ‚ugiwane przez sterownik wideo GLES2.\n" +"Zamiast tego użyj BakedLightmap." #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." @@ -10033,6 +10049,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"CzÄ…steczki oparte o GPU sÄ… nieobsÅ‚ugiwane przez sterownik wideo GLES2.\n" +"Użyj zamiast tego wÄ™zÅ‚a CPUParticles. Możesz użyć do tego celu opcji " +"\"Konwertuj na CPUParticles\"." #: scene/3d/particles.cpp msgid "" @@ -10053,22 +10072,21 @@ msgid "PathFollow only works when set as a child of a Path node." msgstr "PathFollow dziaÅ‚a tylko, gdy jest wÄ™zÅ‚em podrzÄ™dnym Path." #: scene/3d/path.cpp -#, fuzzy msgid "" "PathFollow ROTATION_ORIENTED requires \"Up Vector\" enabled in its parent " "Path's Curve resource." msgstr "" -"OrientedPathFollow wymaga wÅ‚Ä…czonych wektorów w górÄ™ w jego nadrzÄ™dnym Path." +"PathFollow ROTATION_ORIENTED wymaga wÅ‚Ä…czonego \"Wektora w górÄ™\" w zasobie " +"Curve jego nadrzÄ™dnego wÄ™zÅ‚a Path." #: 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 "" -"Zmiany rozmiaru w RigidBody (w trybach character i rigid) zostanÄ… nadpisane " -"przez silnik fizyki podczas dziaÅ‚ania.\n" +"Zmiany rozmiaru w RigidBody (w trybach character lub rigid) zostanÄ… " +"nadpisane przez silnik fizyki podczas dziaÅ‚ania.\n" "Zamiast tego, zmieÅ„ rozmiary ksztaÅ‚tów kolizji w wÄ™zÅ‚ach podrzÄ™dnych." #: scene/3d/remote_transform.cpp @@ -10168,7 +10186,7 @@ msgstr "Ten wÄ™zeÅ‚ jest przestarzaÅ‚y. Zamiast tego użyj AnimationTree." #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Pobierz kolor z ekranu." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -10176,12 +10194,23 @@ msgstr "Trybie RAW" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "PrzeÅ‚Ä…cz miÄ™dzy szesnastkowymi i kodowymi wartoÅ›ciami." #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "Dodaj bieżący kolor jako domyÅ›lne" +msgstr "Dodaj bieżący kolor do zapisanych." + +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Kontener sam w sobie nie speÅ‚nia żadnego celu, chyba że jakiÅ› skrypt " +"konfiguruje sposób ustawiania jego podrzÄ™dnych wÄ™złów.\n" +"JeÅ›li nie zamierzasz dodać skryptu, zamiast tego użyj zwykÅ‚ego wÄ™zÅ‚a " +"\"Control\"." #: scene/gui/dialogs.cpp msgid "Alert!" @@ -10191,6 +10220,10 @@ msgstr "Alarm!" msgid "Please Confirm..." msgstr "ProszÄ™ potwierdzić..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Przejdź folder wyżej." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10203,7 +10236,7 @@ msgstr "" #: scene/gui/range.cpp msgid "If exp_edit is true min_value must be > 0." -msgstr "" +msgstr "JeÅ›li exp_edit jest prawdziwe, min_value musi być > 0." #: scene/gui/scroll_container.cpp msgid "" @@ -10276,6 +10309,9 @@ msgstr "Przypisanie do uniformu." msgid "Varyings can only be assigned in vertex function." msgstr "Varying może być przypisane tylko w funkcji wierzchoÅ‚ków." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Utwórz instancjÄ™ wybranej sceny/scen jako dziecko wybranego wÄ™zÅ‚a." + #~ msgid "FPS" #~ msgstr "Klatki na sekundÄ™" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index a48c2fac95..dea945f474 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -1370,8 +1370,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1423,7 +1437,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1498,10 +1512,32 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Slit th' Node" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Slit th' Node" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1725,8 +1761,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1735,6 +1771,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2987,14 +3033,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3136,10 +3174,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5112,19 +5146,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5215,11 +5249,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5817,6 +5851,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6893,6 +6935,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7048,6 +7106,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Discharge ye' Variable" @@ -7175,6 +7241,10 @@ 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 "" @@ -9792,6 +9862,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9806,6 +9882,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9950,6 +10032,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9958,6 +10048,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index 9e9ead344e..f546b8928f 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -53,12 +53,14 @@ # Thiago Amendola <amendolathiago@gmail.com>, 2019. # Raphael Nogueira Campos <raphaelncampos@gmail.com>, 2019. # Dimenicius <vinicius.costa.92@gmail.com>, 2019. +# Davi <wokep.ma.wavid@gmail.com>, 2019. +# Endrick Gustavo <endrickgb@hotmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2019-02-21 21:18+0000\n" -"Last-Translator: Julio Yagami <juliohenrique31501234@hotmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: Endrick Gustavo <endrickgb@hotmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -66,7 +68,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -133,14 +135,12 @@ msgid "Delete Selected Key(s)" msgstr "Excluir Chave(s) Selecionada(s)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Adicionar ponto" +msgstr "Adicionar um Ponto Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Mover pontos" +msgstr "Mover pontos Bezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -171,9 +171,8 @@ msgid "Anim Change Call" msgstr "Alterar Chamada da Anim" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Alterar Repetição da Animação" +msgstr "Alterar Duração da Animação" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -230,9 +229,8 @@ msgid "Anim Clips:" msgstr "Clipes de Animação:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Alterar Valor do Vetor" +msgstr "Alterar Valor do Trajeto" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -314,19 +312,16 @@ msgid "Delete Key(s)" msgstr "Deletar Chave(s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Alterar Nome da Animação:" +msgstr "Alterar Modo de Atualização da Animação:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Modo de Interpolação" +msgstr "Alterar Modo de Interpolação da Animação" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Alterar Repetição da Animação" +msgstr "Alterar Modo Repetição da Animação" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -1424,8 +1419,24 @@ msgstr "Empacotando" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"A plataforma alvo requer compressão de texturas 'ETC' para GLES2. Habilite " +"'Import Etc' nas Configurações de Projeto." + +#: editor/editor_export.cpp +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 @@ -1473,7 +1484,7 @@ msgstr "Mostrar no Gerenciador de Arquivos" msgid "New Folder..." msgstr "Nova Pasta..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Atualizar" @@ -1548,10 +1559,33 @@ msgstr "Mover Favorito Acima" msgid "Move Favorite Down" msgstr "Mover Favorito Abaixo" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Chão Anterior" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Próximo Chão" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ir para pasta pai" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Não foi possÃvel criar a pasta." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Visualizar itens como uma grade de miniaturas." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Visualizar itens como uma lista." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Diretórios & Arquivos:" @@ -1774,9 +1808,10 @@ msgstr "Limpar SaÃda" msgid "Project export failed with error code %d." msgstr "Falha na exportação do projeto com código de erro %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Erro ao salvar Recurso!" +#: editor/editor_node.cpp +#, fuzzy +msgid "Imported resources can't be saved." +msgstr "Recursos Importados" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1784,6 +1819,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Erro ao salvar Recurso!" + +#: 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 "" +"O recurso não pode ser salvo porque não pertence à cena editada. Faça-o " +"único primeiro." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Salvar Recurso como..." @@ -2004,14 +2051,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Salvar alterações em '%s' antes de fechar?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Falha ao carregar recurso." +msgstr "Foram salvos %s recurso(s) modificado(s)." #: editor/editor_node.cpp -#, fuzzy msgid "A root node is required to save the scene." -msgstr "Apenas um arquivo é requerido para textura grande." +msgstr "Um nó raiz é requerido para salvar a cena." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -3104,14 +3149,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "ImpossÃvel navegar até '%s' pois não existe no sistema de arquivos!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Visualizar itens como uma grade de miniaturas." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Visualizar itens como uma lista." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Estado: Falha na importação do arquivo. Por favor, conserte o arquivo e " @@ -3249,10 +3286,6 @@ msgid "Search files" msgstr "Pesquisar arquivos" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Instanciar a(s) cena(s) selecionada como filho do nó selecionado." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3659,9 +3692,8 @@ msgid "Move Node Point" msgstr "Mover pontos" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Alterar Tempo de Mistura" +msgstr "Alterar limites do BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #, fuzzy @@ -3795,9 +3827,8 @@ msgid "Blend:" msgstr "Misturar:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Alterações de Material" +msgstr "Parâmetro Modificado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3815,9 +3846,8 @@ msgstr "Adicionar Nó(s) a Partir da Ãrvore" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Modo Mover" +msgstr "Nó Movido" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3827,15 +3857,13 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Conectado" +msgstr "Nós Conectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Desconectado" +msgstr "Nós Desconectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -3844,9 +3872,8 @@ msgstr "Nova animação" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Excluir Nó(s)" +msgstr "Excluir Nó" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #, fuzzy @@ -4162,13 +4189,12 @@ msgid "Node Removed" msgstr "Removido:" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Nó Transition" +msgstr "Transição Removida" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Configurar Nó de InÃcio (Autoplay)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4993,7 +5019,7 @@ msgstr "Cozinhar Sonda GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Gradiente Editado" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5253,6 +5279,10 @@ msgid "Generating Visibility Rect" msgstr "Gerar Retângulo de Visibilidade" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Gerar Retângulo de Visibilidade" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Só é permitido colocar um ponto em um material processador ParticlesMaterial" @@ -5266,10 +5296,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Nenhum pixel com transparência > 128 na imagem." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Gerar Retângulo de Visibilidade" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Carregar Máscara de Emissão" @@ -5357,13 +5383,13 @@ msgid "Generating AABB" msgstr "Gerando AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Gerar AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Gerar AABB de Visibilidade" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Gerar AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Remover Ponto da Curva" @@ -5950,6 +5976,14 @@ msgid "Open Godot online documentation" msgstr "Abrir a documentação online da Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Pesquise a documentação de referência." @@ -6404,6 +6438,8 @@ 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 "" +"Nota: O valor de FPS mostrado é da taxa de quadros do editor\n" +"Ele não deve ser usado como indicação confiável de desempenho do jogo." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -7012,6 +7048,23 @@ msgid "Merge from Scene" msgstr "Fundir a partir de Cena" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Próximo Chão" + +#: 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 "Coordenada Anterior" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Copie o bitmask." @@ -7024,9 +7077,8 @@ msgid "Erase bitmask." msgstr "Apagar o bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Criar novos nós." +msgstr "Criar um novo retângulo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7165,6 +7217,14 @@ msgid "Clear Tile Bitmask" msgstr "Limpar o Bitmask da telha" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Tornar o PolÃgono Côncavo" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Tornar o PolÃgono Convexo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Remover Telha" @@ -7272,11 +7332,15 @@ msgid "" msgstr "" #: 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 "" +"Falha ao exportar o projeto para a plataforma '%s'.\n" +"Isto pode ser devido a um problema de configuração nas pré-configurações de " +"exportação ou nas configurações de exportação." #: editor/project_export.cpp msgid "Release" @@ -7287,6 +7351,10 @@ msgid "Exporting All" msgstr "Exportando tudo" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "O caminho de exportação informado não existe." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "Modelos de exportação para esta plataforma não foram encontrados/estão " @@ -8327,9 +8395,8 @@ msgid "Instantiated scenes can't become root" msgstr "Cenas instanciadas não podem se tornar raiz" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Fazer Raiz de Cena" +msgstr "Tornar Raiz o Nó" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8368,9 +8435,8 @@ msgid "Make Local" msgstr "Tornar Local" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Fazer Raiz de Cena" +msgstr "Nova Raiz de Cena" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8801,19 +8867,16 @@ msgid "Set From Tree" msgstr "Definir a partir da árvore" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Suavizar final" +msgstr "Apagar Atalho" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Atalhos" +msgstr "Restaurar Atalho" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Alterar Âncoras" +msgstr "Modificar Atalho" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -9410,9 +9473,8 @@ msgid "Change Input Value" msgstr "Alterar Valor da Entrada" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Redimensionar o CanvasItem" +msgstr "Redimensionar Comentário" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -10009,6 +10071,14 @@ msgstr "" "Uma forma deve ser fornecida para que o nó CollisionShape funcione. Por " "favor, crie um recurso de forma a ele!" +#: 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 "" +"Formas planas não funcionam bem e serão removidas em versões futuras. Por " +"favor não as use." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Nada é visÃvel porque nenhuma malha foi atribuÃda." @@ -10025,6 +10095,12 @@ msgstr "" msgid "Plotting Meshes" msgstr "Planejando Malhas" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10197,6 +10273,14 @@ msgstr "Alterne entre valores haxadecimais e de código." msgid "Add current color as a preset." msgstr "Adicionar cor atual como uma predefinição." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -10205,6 +10289,10 @@ msgstr "Alerta!" msgid "Please Confirm..." msgstr "Confirme Por Favor..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Ir para diretório pai" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10289,6 +10377,9 @@ msgstr "Atribuição à uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Variáveis só podem ser atribuÃdas na função de vértice." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Instanciar a(s) cena(s) selecionada como filho do nó selecionado." + #~ msgid "FPS" #~ msgstr "FPS" @@ -11809,9 +11900,6 @@ msgstr "Variáveis só podem ser atribuÃdas na função de vértice." #~ msgid "Cannot go into subdir:" #~ msgstr "Não é possÃvel ir ao subdiretório:" -#~ msgid "Imported Resources" -#~ msgstr "Recursos Importados" - #~ msgid "Insert Keys (Ins)" #~ msgstr "Inserir Chaves (Ins)" diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 4a80776647..2eabc658ba 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-01 12:09+0000\n" +"PO-Revision-Date: 2019-03-19 15:04+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" @@ -27,7 +27,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.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -95,14 +95,12 @@ msgid "Delete Selected Key(s)" msgstr "Apagar Chave(s) Selecionada(s)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Adicionar Ponto" +msgstr "Adicionar Ponto Bezier" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Mover Ponto" +msgstr "Mover Ponto Bezier" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -133,9 +131,8 @@ msgid "Anim Change Call" msgstr "Anim Mudar Chamada" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Mudar Ciclo da Animação" +msgstr "Mudar Duração da Animação" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -192,9 +189,8 @@ msgid "Anim Clips:" msgstr "Clips Anim:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Mudar valor do Array" +msgstr "Mudar Caminho da Pista" #: editor/animation_track_editor.cpp msgid "Toggle this track on/off." @@ -221,9 +217,8 @@ msgid "Time (s): " msgstr "Tempo (s): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Doppler Ativo" +msgstr "Alternar Pista Ativada" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -276,19 +271,16 @@ msgid "Delete Key(s)" msgstr "Apagar Chave(s)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Mudar o Nome da Animação:" +msgstr "Mudar o Modo de Atualização da Animação" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Modo de Interpolação" +msgstr "Mudar o Modo de Interpolação da Animação" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Mudar Ciclo da Animação" +msgstr "Mudar Modo do Loop da Animação" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -334,14 +326,12 @@ msgid "Anim Insert Key" msgstr "Anim Inserir Chave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Mudar FPS da Animação" +msgstr "Mudar Passo da Animação" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "Reorganizar Carregamentos Automáticos" +msgstr "Reorganizar Pistas" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -374,9 +364,8 @@ msgid "Not possible to add a new track without a root" msgstr "Não é possÃvel adicionar nova pista sem uma raÃz" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Adicionar Pista" +msgstr "Adicionar Pista Bezier" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." @@ -387,14 +376,12 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "Pista não do tipo Spatial, não se consegue inserir chave" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Pista de Transformação 3D" +msgstr "Adicionar Chave da Pista de Transformação" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Adicionar Pista" +msgstr "Adicionar Chave da Pista" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." @@ -402,9 +389,8 @@ msgstr "" "Caminho da pista é inválido, não se consegue adicionar uma chave método." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Chamar Pista Método" +msgstr "Adicionar Chave da Pista Método" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -511,7 +497,7 @@ msgstr "Usar Curvas Bezier" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" -msgstr "Otimizador de Anim." +msgstr "Otimizador de Anim" #: editor/animation_track_editor.cpp msgid "Max. Linear Error:" @@ -566,17 +552,16 @@ msgid "Copy" msgstr "Copiar" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Clips Ãudio:" +msgstr "Adicionar Clip da Pista Ãudio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Alterar Compensação do InÃcio do Clip da Pista Ãudio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Alterar Compensação do Fim do Clip da Pista Ãudio" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -648,7 +633,7 @@ msgstr "Avisos" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "Números de Linha e Coluna." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1207,9 +1192,8 @@ msgid "Add Bus" msgstr "Adicionar Barramento" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add a new Audio Bus to this layout." -msgstr "Guardar Modelo do barramento de áudio como..." +msgstr "Adicionar novo Barramento de Ãudio a este modelo." #: editor/editor_audio_buses.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp @@ -1392,9 +1376,31 @@ msgstr "Empacotamento" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Plataforma Alvo exige compressão de textura 'ETC' para GLES2. Ative " +"'Importar Etc' nas Configurações do Projeto." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." +msgstr "" +"Plataforma Alvo exige compressão de textura 'ETC2' para GLES3. Ative " +"'Importar Etc 2' nas Configurações do Projeto." + +#: editor/editor_export.cpp +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 "" +"Plataforma Alvo exige compressão de textura 'ETC' para o driver de recurso " +"em GLES2.\n" +"Ative 'Importar Etc' nas Configurações do Projeto, ou desative 'Driver de " +"Recurso ativo'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1441,7 +1447,7 @@ msgstr "Mostrar no Gestor de Ficheiros" msgid "New Folder..." msgstr "Nova Diretoria..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Atualizar" @@ -1516,10 +1522,30 @@ msgstr "Mover Favorito para Cima" msgid "Move Favorite Down" msgstr "Mover Favorito para Baixo" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Pasta Anterior" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Próxima Pasta" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ir para a pasta acima" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "(Não) tornar favorita atual pasta." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Visualizar itens como grelha de miniaturas." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Visualizar itens como lista." + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Diretorias e Ficheiros:" @@ -1742,9 +1768,9 @@ msgstr "Limpar SaÃda" msgid "Project export failed with error code %d." msgstr "Exportação do projeto falhou com código de erro %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Erro ao guardar recurso!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Recursos importados não podem ser guardados." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1752,6 +1778,18 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Erro ao guardar recurso!" + +#: 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 "" +"Este recurso não pode ser guardado porque não pertence à cena editada. Faça-" +"o único." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Guardar Recurso Como..." @@ -1975,13 +2013,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Guardar alterações a '%s' antes de fechar?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Falha ao carregar recurso." +msgstr "Guardado(s) %s recurso(s) modificado(s)." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "É necessário um Nó Raiz para guardar a cena." #: editor/editor_node.cpp msgid "Save Scene As..." @@ -2250,7 +2287,7 @@ msgstr "Converter Para..." #: editor/editor_node.cpp msgid "MeshLibrary..." -msgstr "MeshLibrary..." +msgstr "Bib. de Meshes..." #: editor/editor_node.cpp msgid "TileSet..." @@ -2503,9 +2540,8 @@ msgid "Save & Restart" msgstr "Guardar & Reiniciar" #: editor/editor_node.cpp -#, fuzzy msgid "Spins when the editor window redraws." -msgstr "Roda quando a janela do Editor atualiza!" +msgstr "Roda quando a janela do editor atualiza." #: editor/editor_node.cpp msgid "Update Always" @@ -3068,14 +3104,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "'%s' não foi encontrado no Sistema de Ficheiros!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "Visualizar itens como grelha de miniaturas." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "Visualizar itens como lista." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Estado: A importação do Ficheiro falhou. Corrija o Ficheiro e importe " @@ -3213,10 +3241,6 @@ msgid "Search files" msgstr "Procurar ficheiros" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3617,19 +3641,16 @@ msgstr "Carregar..." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Move Node Point" -msgstr "Mover Ponto" +msgstr "Mover Ponto Nó" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Limits" -msgstr "Mudar tempo de Mistura" +msgstr "Mudar Limites do BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Mudar tempo de Mistura" +msgstr "Mudar Legendas do BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3639,24 +3660,21 @@ msgstr "Este tipo de nó não pode ser usado. Apenas nós raiz são permitidos." #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Node Point" -msgstr "Adicionar Nó" +msgstr "Adicionar Ponto Nó" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Adicionar Animação" +msgstr "Adicionar Ponto Animação" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Remove BlendSpace1D Point" -msgstr "Remover Ponto de Caminho" +msgstr "Remover Ponto de BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Mover Ponto Nó em BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3702,29 +3720,24 @@ msgid "Triangle already exists" msgstr "Já existe triângulo" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Adicionar Variável" +msgstr "Adicionar Triângulo" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Mudar tempo de Mistura" +msgstr "Mudar Limites do BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Mudar tempo de Mistura" +msgstr "Mudar Legendas do BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Remover Ponto de Caminho" +msgstr "Remover Ponto do BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Remover Variável" +msgstr "Remover Triângulo do BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3735,9 +3748,8 @@ msgid "No triangles exist, so no blending can take place." msgstr "Não existem triângulos, nenhuma mistura pode ocorrer." #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Toggle Auto Triangles" -msgstr "Alternar Globals de carregamento automático" +msgstr "Alternar Triângulos Auto" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3757,9 +3769,8 @@ msgid "Blend:" msgstr "Mistura:" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Parameter Changed" -msgstr "Mudanças de Material" +msgstr "Mudança de Parâmetro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp @@ -3771,15 +3782,13 @@ msgid "Output node can't be added to the blend tree." msgstr "SaÃda do nó não pode ser adicionada à árvore de mistura." #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Add Node to BlendTree" -msgstr "Adicionar Nó da Ãrvore" +msgstr "Adicionar Nó a BlendTree" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Node Moved" -msgstr "Modo mover" +msgstr "Nó Movido" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3789,36 +3798,30 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Connected" -msgstr "Ligado" +msgstr "Nós Conectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Nodes Disconnected" -msgstr "Desconectado" +msgstr "Nós Desconectados" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Animação" +msgstr "Definir Animação" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Apagar Nó(s)" +msgstr "Apagar Nó" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Toggle Filter On/Off" -msgstr "Alternar esta pista on/off." +msgstr "Alternar Filtro On/Off" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Change Filter" -msgstr "Filtro de localização alterado" +msgstr "Alterar Filtro" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "No animation player set, so unable to retrieve track names." @@ -3842,9 +3845,8 @@ msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Renamed" -msgstr "Nome do Nó" +msgstr "Nó Renomeado" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp @@ -4073,14 +4075,12 @@ msgid "Cross-Animation Blend Times" msgstr "Tempos de Mistura de Animação cruzada" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -msgstr "Modo mover" +msgstr "Mover Nó" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Add Transition" -msgstr "Adicionar tradução" +msgstr "Adicionar Transição" #: editor/plugins/animation_state_machine_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -4116,18 +4116,16 @@ msgid "No playback resource set at path: %s." msgstr "Nenhum recurso de playback definido no caminho: %s." #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Node Removed" -msgstr "Remover" +msgstr "Nó Removido" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Transition Removed" -msgstr "Nó Transition" +msgstr "Transição Removida" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Definir Nó de InÃcio (Reprodução Automática)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4551,16 +4549,15 @@ msgstr "Mover CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "Pré-definições para âncoras e margens de um Nó Control." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "" "Children of containers have their anchors and margins values overridden by " "their parent." msgstr "" -"Atenção: as crianças de um contentor obtêm a sua posição e tamanho " -"determinados apenas pelos seus pais." +"As âncoras e margens de filhos de um contentores são sobrescritas pelo seu " +"pai." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" @@ -4867,7 +4864,7 @@ msgstr "Definir Manipulador" #: editor/plugins/cpu_particles_editor_plugin.cpp msgid "CPUParticles" -msgstr "CPUPartÃculas" +msgstr "CPUParticles" #: editor/plugins/cpu_particles_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4949,7 +4946,7 @@ msgstr "Consolidar Sonda GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Gradiente Editado" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5207,6 +5204,10 @@ msgid "Generating Visibility Rect" msgstr "A Gerar Visibilidade Rect" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Gerar Visibilidade do Rect" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "Só pode definir um Ponto num Material ParticlesMaterial" @@ -5219,10 +5220,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Sem pixeis com transparência > 128 na imagem..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Gerar Visibilidade do Rect" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Carregar máscara de emissão" @@ -5233,7 +5230,7 @@ msgstr "Limpar máscara de emissão" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Convert to CPUParticles" -msgstr "Converter em CPUPartÃculas" +msgstr "Converter em CPUParticles" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -5310,13 +5307,13 @@ msgid "Generating AABB" msgstr "A gerar AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Gerar AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Gerar visibilidade AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Gerar AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Remover Ponto da curva" @@ -5474,7 +5471,7 @@ msgstr "Criar mapa UV" msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." -msgstr "" +msgstr "Polygon 2D tem vértices internos, não podendo ser editado no viewport." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" @@ -5901,6 +5898,14 @@ msgid "Open Godot online documentation" msgstr "Abrir documentação online do Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Procurar na documentação de referência." @@ -6096,14 +6101,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "Este esqueleto não tem ossos, crie alguns nós Bone2D filhos." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Criar Pose de Descanso (a partir de Ossos)" +msgstr "Criar Pose de Descanso a partir de Ossos" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Criar Pose de Descanso (a partir de Ossos)" +msgstr "Definir Pose de Descanso para Ossos" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6258,9 +6261,8 @@ msgid "Rear" msgstr "Trás" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" -msgstr "Alinhar com a vista" +msgstr "Alinhar com a Vista" #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "No parent to instance a child at." @@ -6355,6 +6357,8 @@ 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 "" +"Nota: O FPS mostrado é a taxa de frames do editor.\n" +"Não é uma indicação fiável do desempenho do jogo." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6365,9 +6369,8 @@ msgid "XForm Dialog" msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Ajustar ao Fundo" +msgstr "Ajustar Nós ao Fundo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6585,9 +6588,8 @@ msgid "Post" msgstr "Pós" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Nameless gizmo" -msgstr "Bugiganga sem nome" +msgstr "Bugiganga sem Nome" #: editor/plugins/sprite_editor_plugin.cpp msgid "Sprite is empty!" @@ -6658,14 +6660,12 @@ msgid "(empty)" msgstr "(vazio)" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Animações" +msgstr "Animações:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Animação" +msgstr "Nova Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6676,9 +6676,8 @@ msgid "Loop" msgstr "Ciclo" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Frames da Animação" +msgstr "Frames da Animação:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -6966,6 +6965,22 @@ msgid "Merge from Scene" msgstr "Fundir a partir da Cena" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "Próxima Coordenada" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Selecione a próxima forma, subtile ou Tile." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "Coordenada Anterior" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Selecione a forma, subtile ou Tile anterior." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Copiar bitmask." @@ -6978,9 +6993,8 @@ msgid "Erase bitmask." msgstr "Apagar bitmask." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Criar novos nós." +msgstr "Criar novo retângulo." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7120,6 +7134,14 @@ msgid "Clear Tile Bitmask" msgstr "Limpar Bitmask de Tile" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Fazer PolÃgono Côncavo" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Fazer PolÃgono Convexo" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Remover Tile" @@ -7161,26 +7183,23 @@ msgstr "TileSet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Definir Nome do Uniform" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Definir como Padrão para '%s'" +msgstr "Definir Porta de Entrada por Defeito" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VIsualShader" +msgstr "Adicionar Nó ao Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Duplicar Nó(s)" +msgstr "Duplicar Nós" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" -msgstr "" +msgstr "Alterado Tipo de Entrada do Visual Shader" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Vertex" @@ -7199,14 +7218,12 @@ msgid "VisualShader" msgstr "VIsualShader" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Edit Visual Property" -msgstr "Editar Prioridade de Tile" +msgstr "Editar Propriedade Visual" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Visual Shader Mode Changed" -msgstr "Alterações do Shader" +msgstr "Modo do Visual Shader Alterado" #: editor/project_export.cpp msgid "Runnable" @@ -7225,6 +7242,8 @@ msgid "" "Failed to export the project for platform '%s'.\n" "Export templates seem to be missing or invalid." msgstr "" +"Falhou a exportação do projeto para a plataforma '%s'.\n" +"O Modelo de exportação está ausente ou é inválido." #: editor/project_export.cpp msgid "" @@ -7232,6 +7251,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Falhou a exportação do projeto para a plataforma '%s'.\n" +"Pode ser provocado por um problema na predefinição ou configuração da " +"exportação." #: editor/project_export.cpp msgid "Release" @@ -7242,6 +7264,10 @@ msgid "Exporting All" msgstr "A Exportar Tudo" #: editor/project_export.cpp +msgid "The given export path doesn't exist:" +msgstr "O caminho de exportação não existe:" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" "Modelos de exportação para esta plataforma estão ausentes/corrompidos :" @@ -7536,7 +7562,6 @@ msgid "Are you sure to open more than one project?" msgstr "Está seguro que quer abrir mais do que um Projeto?" #: editor/project_manager.cpp -#, fuzzy msgid "" "The following project settings file does not specify the version of Godot " "through which it was created.\n" @@ -7548,12 +7573,13 @@ msgid "" "Warning: You will not be able to open the project with previous versions of " "the engine anymore." msgstr "" -"A seguinte configuração do projeto foi gerada por um motor mais antigo, e " -"precisa de ser convertida para esta versão.\n" +"A seguinte configuração do projeto não especifica a versão do Godot em que " +"foi criada.\n" "\n" "%s\n" "\n" -"Deseja convertê-la?\n" +"Se continuar com a abertura, será convertida para o formato da versão " +"atual.\n" "Aviso: Não conseguirá mais abrir o projeto em versões anteriores à deste " "motor." @@ -8280,7 +8306,6 @@ msgid "Instantiated scenes can't become root" msgstr "Cenas instantâneas não se podem tornar root" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" msgstr "Tornar Nó Raiz" @@ -8321,9 +8346,8 @@ msgid "Make Local" msgstr "Tornar Local" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Tornar Nó Raiz" +msgstr "Nova Raiz de Cena" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8754,19 +8778,16 @@ msgid "Set From Tree" msgstr "Definir a partir da árvore" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Erase Shortcut" -msgstr "Ease out" +msgstr "Apagar Atalho" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Restore Shortcut" -msgstr "Atalhos" +msgstr "Restaurar Atalho" #: editor/settings_config_dialog.cpp -#, fuzzy msgid "Change Shortcut" -msgstr "Mudar âncoras" +msgstr "Alterar Atalho" #: editor/settings_config_dialog.cpp msgid "Shortcuts" @@ -8802,7 +8823,7 @@ msgstr "Mudar partÃculas AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" -msgstr "Mudar extensões de sonda" +msgstr "Mudar Extensões de Sonda" #: editor/spatial_editor_gizmos.cpp modules/csg/csg_gizmos.cpp msgid "Change Sphere Shape Radius" @@ -8975,9 +8996,8 @@ msgid "GridMap Duplicate Selection" msgstr "Seleção duplicada de GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Configurações do GridMap" +msgstr "Pintura do GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9364,9 +9384,8 @@ msgid "Change Input Value" msgstr "Mudar valor de entrada" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Redimensionar CanvasItem" +msgstr "Redimensionar Comentário" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9803,6 +9822,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"PartÃculas baseadas em GPU não são suportadas pelo driver de vÃdeo GLES2.\n" +"Use o Nó CPUParticles2D. Pode usar a opção \"Converter em CPUParticles\" " +"para este efeito." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9961,6 +9983,14 @@ msgstr "" "Uma forma tem de ser fornecida para CollisionShape funcionar. Crie um " "recurso forma!" +#: 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 "" +"Formas planas não funcionam bem e serão removidas em futuras versões. Não as " +"use por favor." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Nada é visÃvel porque nenhuma Malha foi atribuÃda." @@ -9977,6 +10007,14 @@ msgstr "" msgid "Plotting Meshes" msgstr "A desenhar Meshes" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" +"Sondas GI não são suportadas pelo driver vÃdeo GLES2.\n" +"Em vez disso, use um BakedLightmap." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9997,6 +10035,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"PartÃculas baseadas em GPU não são suportadas pelo driver de vÃdeo GLES2.\n" +"Use o Nó CPUParticles. Pode usar a opção \"Converter em CPUParticles\" para " +"este efeito." #: scene/3d/particles.cpp msgid "" @@ -10133,7 +10174,7 @@ msgstr "Este nó foi depreciado. Use AnimationTree em vez disso." #: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Escolha uma cor do ecrã." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -10141,12 +10182,23 @@ msgstr "Modo Raw" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Alternar valores entre hexadecimal e código." #: scene/gui/color_picker.cpp -#, fuzzy msgid "Add current color as a preset." -msgstr "Adicionar cor atual como predefinição" +msgstr "Adicionar cor atual como predefinição." + +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Por si só um Contentor não tem utilidade, a não ser que um script configure " +"o comportamento dos seu filhos.\n" +"Se não pretende adicionar um script, será preferÃvel usar um simples nó " +"'Control'." #: scene/gui/dialogs.cpp msgid "Alert!" @@ -10156,6 +10208,10 @@ msgstr "Alerta!" msgid "Please Confirm..." msgstr "Confirme por favor..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Ir para a pasta acima." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10240,6 +10296,10 @@ msgstr "Atribuição a uniforme." msgid "Varyings can only be assigned in vertex function." msgstr "Variações só podem ser atribuÃdas na função vértice." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "" +#~ "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/ro.po b/editor/translations/ro.po index 7e471609e7..807d02dc5d 100644 --- a/editor/translations/ro.po +++ b/editor/translations/ro.po @@ -1404,8 +1404,22 @@ msgstr "Ambalare" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1457,7 +1471,7 @@ msgstr "ArătaÈ›i în Administratorul de FiÈ™iere" msgid "New Folder..." msgstr "Director Nou..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "ReîmprospătaÈ›i" @@ -1532,10 +1546,35 @@ msgstr "DeplasaÈ›i Favorit Sus" msgid "Move Favorite Down" msgstr "DeplasaÈ›i Favorit Jos" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Fila anterioară" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "CreaÈ›i Director" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "AccesaÈ›i Directorul Părinte" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Directorul nu a putut fi creat." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Vizualizează articolele ca È™i o grilă de miniaturi" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Vizualizează articolele ca È™i o listă" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Directoare È™i FiÅŸiere:" @@ -1777,9 +1816,9 @@ msgstr "Curăță AfiÈ™area" msgid "Project export failed with error code %d." msgstr "Exportul de proiect nu a reuÅŸit cu un cod de eroare %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Eroare la salvarea resursei!" +#: 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 @@ -1787,6 +1826,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Eroare la salvarea resursei!" + +#: 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 "SalvaÈ›i Resursa Ca..." @@ -3114,16 +3163,6 @@ msgstr "" "fiÈ™iere!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Vizualizează articolele ca È™i o grilă de miniaturi" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Vizualizează articolele ca È™i o listă" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Stare: Importarea fiÈ™ierului eÈ™uată. Te rog repară fiÈ™ierul È™i reimportă " @@ -3269,10 +3308,6 @@ msgid "Search files" msgstr "Căutare Clase" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "InstanÈ›iază scena(ele) selectată ca un copil al nodului selectat." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5314,6 +5349,10 @@ msgid "Generating Visibility Rect" msgstr "Generare Dreptunghi de Vizibilitate" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Generare Dreptunghi de Vizibilitate" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "" "Definirea unui punct este posibilă doar într-un material de proces " @@ -5328,10 +5367,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Nici un pixel cu transparenÈ›a > 128 în imagine..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Generare Dreptunghi de Vizibilitate" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "ÃŽncărcare Mască de Emisie" @@ -5419,13 +5454,13 @@ msgid "Generating AABB" msgstr "Generare AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Generare AABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Generare Vizibilitate AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Generare AABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Ștergere Punt din Curbă" @@ -6042,6 +6077,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7127,6 +7170,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Fila anterioară" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7280,6 +7340,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Deplasare poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Deplasare poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Elimină Șablon" @@ -7409,6 +7479,10 @@ msgid "Exporting All" msgstr "Exportare" #: 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 "" @@ -10017,6 +10091,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10031,6 +10111,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10179,6 +10265,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -10187,6 +10281,11 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "AccesaÈ›i Directorul Părinte" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10260,6 +10359,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "InstanÈ›iază scena(ele) selectată ca un copil al nodului selectat." + #, fuzzy #~ msgid "Font Size:" #~ msgstr "Dimensiunea Conturului:" diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 0964776b0f..19896638b8 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -37,12 +37,16 @@ # Sergey Nakhov <true.stalin.exe@gmail.com>, 2019. # Bumerang <it.bumerang@gmail.com>, 2019. # Viorel <vrila.noroc@gmail.com>, 2019. +# Vladislav Smirnov <beluckydaf@gmail.com>, 2019. +# Nikita <iron-nikita@yandex.ru>, 2019. +# LeLuCh B0й <alekx@alumni.nottingham.ac.uk>, 2019. +# ÐÑ€Ñений Солодков <arsen332211@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-23 17:17+0000\n" -"Last-Translator: Viorel <vrila.noroc@gmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: ÐÑ€Ñений Солодков <arsen332211@gmail.com>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -51,7 +55,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -66,7 +70,7 @@ 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)" @@ -119,14 +123,12 @@ msgid "Delete Selected Key(s)" msgstr "Удалить выделенные ключ(и)" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Добавить точку" +msgstr "Добавить точку Безье" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Передвинуть Точку" +msgstr "Передвинуть Точку Безье" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -157,9 +159,8 @@ msgid "Anim Change Call" 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 @@ -216,9 +217,8 @@ 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." @@ -301,19 +301,16 @@ msgid "Delete Key(s)" msgstr "Удалить ключ(ключи)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Изменить Ð¸Ð¼Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸:" +msgstr "Изменить Режим ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ðнимации" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Режим Перехода" +msgstr "Изменить Режим ИнтерполÑции Ðнимации" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Изменить цикличноÑÑ‚ÑŒ анимации" +msgstr "Изменить Режим Цикла Ðнимации" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -357,14 +354,12 @@ msgid "Anim Insert Key" msgstr "Ð’Ñтавить ключ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Изменить FPS анимации" +msgstr "Изменить Шаг Ðнимации" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "ПереÑтановка автозагрузок" +msgstr "ПереÑтавить Дорожки" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -395,9 +390,8 @@ msgid "Not possible to add a new track without a root" 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." @@ -408,14 +402,12 @@ msgid "Track is not of type Spatial, can't insert key" msgstr "Трек не имеет тип Spatial, Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ ключ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Трек 3D ПреобразованиÑ" +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." @@ -593,11 +585,11 @@ msgstr "Ðудио Дорожки:" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Изменить Ñмещение начала в Audio Track клипе" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Изменить Ñмещение начала в Audio Track клипе" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -668,9 +660,8 @@ msgid "Warnings" msgstr "ПредупреждениÑ" #: editor/code_editor.cpp -#, fuzzy msgid "Line and column numbers." -msgstr "Ðомер линии и Ñтолбца" +msgstr "Ðомера Ñтрок и Ñтолбцов." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -1156,7 +1147,7 @@ msgstr "Заглушить" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "Bypass" +msgstr "Обход" #: editor/editor_audio_buses.cpp msgid "Bus options" @@ -1413,9 +1404,30 @@ msgstr "Упаковывание" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° требует Ñжатие текÑтур 'ETC' Ð´Ð»Ñ GLES2. Включите 'Импорт " +"Etc' в наÑтройках проекта." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." +msgstr "" +"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° требует компреÑÑию текÑтур 'ETC2' Ð´Ð»Ñ GLES2. Включите " +"'Import Etc 2' в наÑтройках проекта." + +#: 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 "" +"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° требует ÑÐ¶Ð°Ñ‚Ð¸Ñ Ñ‚ÐµÐºÑтур 'ETC' Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ°Ñ‚Ð° драйвера к GLES2.\n" +"Включите 'Импорт Etc' в ÐаÑтройках Проекта или отключите 'Откат Драйвера " +"Включен'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp @@ -1426,9 +1438,8 @@ msgstr "ПользовательÑкий отладочный шаблон не #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp -#, fuzzy msgid "Custom release template not found." -msgstr "ПользовательÑкий релизный пакет не найден." +msgstr "ПользовательÑкий релизный шаблон не найден." #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" @@ -1463,7 +1474,7 @@ msgstr "ПроÑмотреть в проводнике" msgid "New Folder..." msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Обновить" @@ -1538,10 +1549,31 @@ msgstr "ПеремеÑтить избранное вверх" msgid "Move Favorite Down" msgstr "ПеремеÑтить избранное вниз" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Перейти к родительÑкой папке" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "Каталоги и файлы:" @@ -1764,9 +1796,9 @@ msgstr "ОчиÑтить вывод" msgid "Project export failed with error code %d." msgstr "ÐкÑпорт проекта не удалÑÑ, код %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1774,6 +1806,18 @@ msgid "OK" msgstr "Ок" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Ошибка при Ñохранении реÑурÑа!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" +"Данный реÑÑƒÑ€Ñ Ð½ÐµÐ»ÑŒÐ·Ñ Ñохранить, потому что он не ÑвлÑетÑÑ Ñ‡Ð°Ñтью изменённой " +"Ñцены. Сначала нужно Ñделать его уникальным." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Сохранить реÑÑƒÑ€Ñ ÐºÐ°Ðº..." @@ -1999,9 +2043,8 @@ 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..." @@ -2427,9 +2470,8 @@ msgid "Toggle Fullscreen" msgstr "Переключить полноÑкранный режим" #: editor/editor_node.cpp -#, fuzzy msgid "Open Editor Data/Settings Folder" -msgstr "Открыть папку данных/наÑтроек редактора" +msgstr "Открыть папку Данные/ÐаÑтройки редактора" #: editor/editor_node.cpp msgid "Open Editor Data Folder" @@ -2953,9 +2995,8 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Can't resolve." -msgstr "Ðе удаётÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ¸Ñ‚ÑŒ." +msgstr "Ðе могу преобразовать." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3091,14 +3132,6 @@ msgstr "" "Ðе удаетÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ к '%s', так как он не был найден в файловой ÑиÑтеме!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "ПроÑмотр Ñлементов в виде миниатюр." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "ПроÑмотр Ñлементов в виде ÑпиÑка." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "СтатуÑ: Импорт файла не удалÑÑ. ПожалуйÑта, иÑправьте файл и " @@ -3236,10 +3269,6 @@ msgid "Search files" msgstr "ПоиÑк файлов" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Добавить выбранную Ñцену(Ñ‹), в качеÑтве потомка выбранного узла." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3451,7 +3480,7 @@ msgstr "Переимпортировать" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" -msgstr "" +msgstr "Сохранить Ñцены, импортировать заново и перезапуÑтить" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." @@ -3680,7 +3709,7 @@ msgstr "Удалить точку пути" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "Передвинуть точку узла BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -4150,7 +4179,7 @@ msgstr "Transition узел" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Задать начальный узел (автоматичеÑкое воÑпроизведение)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4576,7 +4605,7 @@ msgstr "ПеремеÑтить CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Presets for the anchors and margins values of a Control node." -msgstr "" +msgstr "ПредуÑтановки Ð´Ð»Ñ Ñкорей и Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ñтупов контрольного узла." #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4975,7 +5004,7 @@ msgstr "Запечь GI пробу" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Градиент отредактирован" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5233,6 +5262,10 @@ 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 "Возможно уÑтановить точку только в ParticlesMaterial материал" @@ -5245,10 +5278,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Ðикаких пикÑелей Ñ Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾Ñтью > 128 в изображении..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Создать облаÑÑ‚ÑŒ видимоÑти" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "МаÑка выброÑа загружена" @@ -5336,11 +5365,11 @@ msgid "Generating AABB" msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "Генерировать AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "Генерировать AABB" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5501,6 +5530,8 @@ msgid "" "Polygon 2D has internal vertices, so it can no longer be edited in the " "viewport." msgstr "" +"Polygon 2D имеет внутренние вершины, поÑтому его Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ в окне " +"проÑмотра." #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon & UV" @@ -5926,6 +5957,14 @@ msgid "Open Godot online documentation" msgstr "Открыть онлайн документацию Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "ПоиÑк Ñправочной документации." @@ -6380,6 +6419,9 @@ msgid "" "Note: The FPS value displayed is the editor's framerate.\n" "It cannot be used as a reliable indication of in-game performance." msgstr "" +"Примечание: Отображаемое значение FPS ÑвлÑетÑÑ Ñ‡Ð°Ñтотой кадров редактора.\n" +"Его Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в качеÑтве надежного Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти " +"игры." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6992,6 +7034,24 @@ msgid "Merge from Scene" msgstr "СлиÑние из Ñцены" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Предыдущий Ñтаж" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Выберите предыдущую форму, Ñлемент тайла или тайл." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Копировать битовую маÑку." @@ -7146,6 +7206,16 @@ msgid "Clear Tile Bitmask" msgstr "ОчиÑтить Битовую МаÑку Плитки" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Concave" +msgstr "Передвинуть полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Передвинуть полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Удалить тайл" @@ -7183,11 +7253,11 @@ msgstr "Ðто ÑвойÑтво не может быть изменено." #: editor/plugins/tile_set_editor_plugin.cpp msgid "TileSet" -msgstr "TileSet" +msgstr "Ðабор Тайлов" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Задать единообразное имÑ" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -7206,7 +7276,7 @@ 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" @@ -7222,7 +7292,7 @@ msgstr "Свет" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "VisualShader" -msgstr "VisualShader" +msgstr "Визуальный Шейдер" #: editor/plugins/visual_shader_editor_plugin.cpp #, fuzzy @@ -7251,6 +7321,8 @@ 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 "" @@ -7258,6 +7330,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Ðе удалоÑÑŒ ÑкÑпортировать проект Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ '%s'.\n" +"Ðто может быть ÑвÑзано Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¾Ð¹ конфигурации в предуÑтановке ÑкÑпорта или " +"наÑтройках ÑкÑпорта." #: editor/project_export.cpp msgid "Release" @@ -7268,6 +7343,11 @@ msgid "Exporting All" msgstr "ÐкÑпорт вÑех" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Путь не ÑущеÑтвует." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Шаблоны ÑкÑпорта Ð´Ð»Ñ Ñтой платформы отÑутÑтвуют/повреждены:" @@ -7507,7 +7587,7 @@ msgstr "Обзор" #: editor/project_manager.cpp msgid "Renderer:" -msgstr "" +msgstr "ОтриÑовщик:" #: editor/project_manager.cpp msgid "OpenGL ES 3.0" @@ -7520,10 +7600,14 @@ msgid "" "Incompatible with older hardware\n" "Not recommended for web games" msgstr "" +"Более выÑокое качеÑтво графики\n" +"Ð’Ñе функции доÑтупны\n" +"ÐеÑовмеÑтимо Ñо Ñтарым оборудованием\n" +"Ðе рекомендуетÑÑ Ð´Ð»Ñ Ð²ÐµÐ±-игр" #: editor/project_manager.cpp msgid "OpenGL ES 2.0" -msgstr "" +msgstr "OpenGL ES 2.0" #: editor/project_manager.cpp msgid "" @@ -7532,10 +7616,16 @@ 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 "" +"ОтриÑовщик может быть изменен позже, но Ñцены могут потребовать " +"корректировки." #: editor/project_manager.cpp msgid "Unnamed Project" @@ -8184,9 +8274,8 @@ msgid "under_scored to CamelCase" msgstr "under_scored к CamelCase" #: editor/rename_dialog.cpp -#, fuzzy msgid "Case" -msgstr "РегиÑÑ‚Ñ€" +msgstr "Случай" #: editor/rename_dialog.cpp msgid "To Lowercase" @@ -8287,6 +8376,8 @@ msgstr "Дублировать узел(узлы)" #: editor/scene_tree_dock.cpp msgid "Can't reparent nodes in inherited scenes, order of nodes can't change." msgstr "" +"Ðевозможно изменить Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ñƒ узла в наÑледованных Ñценах, порÑдок узлов не " +"может быть изменен." #: editor/scene_tree_dock.cpp msgid "Node must belong to the edited scene to become root." @@ -8419,9 +8510,8 @@ msgid "Change Type" msgstr "Изменить тип" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Extend Script" -msgstr "ÐаÑледовать Ñкрипт" +msgstr "РаÑширить Ñкрипт" #: editor/scene_tree_dock.cpp msgid "Make Scene Root" @@ -8676,7 +8766,6 @@ msgid "Bytes:" msgstr "Байты:" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Stack Trace" msgstr "ТраÑÑировка Стека" @@ -9564,9 +9653,8 @@ msgid "ADB executable not configured in the Editor Settings." msgstr "ИÑполнÑемый файл ADB не Ñконфигурирован в наÑтройках редактора." #: platform/android/export/export.cpp -#, fuzzy msgid "OpenJDK jarsigner not configured in the Editor Settings." -msgstr "Значок OpenJDK jarsigner не Ñконфигурирован в наÑтройках редактора." +msgstr "OpenJDK jarsigner не наÑтроен в ÐаÑтройках Редактора." #: platform/android/export/export.cpp msgid "Debug keystore not configured in the Editor Settings nor in the preset." @@ -9812,6 +9900,9 @@ msgid "" "Use the CPUParticles2D node instead. You can use the \"Convert to " "CPUParticles\" option for this purpose." msgstr "" +"ЧаÑтицы на базе GPU не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾ драйвером GLES2.\n" +"ВмеÑто Ñтого иÑпользуйте узел CPUParticles2D. Ð”Ð»Ñ Ñтого можно " +"воÑпользоватьÑÑ Ð¾Ð¿Ñ†Ð¸ÐµÐ¹ \"Преобразовать в CPUParticles\"." #: scene/2d/particles_2d.cpp scene/3d/particles.cpp msgid "" @@ -9974,6 +10065,14 @@ msgstr "" "Shape должен быть предуÑмотрен Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ CollisionShape. ПожалуйÑта, " "Ñоздайте shape-реÑÑƒÑ€Ñ Ð´Ð»Ñ Ñтого!" +#: 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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Ðичто не видно, потому что не назначена Ñетка." @@ -9990,6 +10089,14 @@ msgstr "" 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 "" +"GIProbes не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð¾Ð¼ GLES2.\n" +"ВмеÑто Ñтого иÑпользуйте BakedLightmap." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10009,6 +10116,9 @@ msgid "" "Use the CPUParticles node instead. You can use the \"Convert to CPUParticles" "\" option for this purpose." msgstr "" +"ЧаÑтицы на базе GPU не поддерживаютÑÑ Ð²Ð¸Ð´ÐµÐ¾ драйвером GLES2.\n" +"ВмеÑто Ñтого иÑпользуйте узел CPUParticles. Ð”Ð»Ñ Ñтого можно воÑпользоватьÑÑ " +"опцией \"Преобразовать в CPUParticles\"." #: scene/3d/particles.cpp msgid "" @@ -10141,7 +10251,7 @@ msgstr "Ðтот узел был удален. ВмеÑто Ñтого иÑпоР#: scene/gui/color_picker.cpp msgid "Pick a color from the screen." -msgstr "" +msgstr "Выбрать цвет Ñ Ñкрана." #: scene/gui/color_picker.cpp msgid "Raw Mode" @@ -10149,13 +10259,25 @@ msgstr "RAW режим" #: scene/gui/color_picker.cpp msgid "Switch between hexadecimal and code values." -msgstr "" +msgstr "Переключение между шеÑтнадцатеричными и кодовыми значениÑми." #: scene/gui/color_picker.cpp #, fuzzy msgid "Add current color as a preset." msgstr "Добавить текущий цвет как преÑет" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Контейнер Ñам по Ñебе не имеет ÑмыÑла, пока Ñкрипт не наÑтроит режим " +"Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ детей.\n" +"ЕÑли вы не ÑобираетеÑÑŒ добавлÑÑ‚ÑŒ Ñкрипт, иÑпользуйте вмеÑто Ñтого проÑтой " +"узел 'Control'." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Внимание!" @@ -10164,6 +10286,11 @@ msgstr "Внимание!" msgid "Please Confirm..." msgstr "Подтверждение..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Перейти к родительÑкой папке" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10244,14 +10371,15 @@ msgid "Assignment to function." 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 "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть назначены только в функции вершины." + +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Добавить выбранную Ñцену(Ñ‹), в качеÑтве потомка выбранного узла." #~ msgid "FPS" #~ msgstr "FPS" @@ -11795,9 +11923,6 @@ msgstr "Переменные могут быть назначены только #~ msgid "Cannot go into subdir:" #~ msgstr "Ðевозможно перейти в подпапку:" -#~ msgid "Imported Resources" -#~ msgstr "Импортированные реÑурÑÑ‹" - #~ msgid "Insert Keys (Ins)" #~ msgstr "Ð’Ñтавить ключи (Ins)" diff --git a/editor/translations/si.po b/editor/translations/si.po index d792087871..dab5cb3e0f 100644 --- a/editor/translations/si.po +++ b/editor/translations/si.po @@ -1348,8 +1348,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1397,7 +1411,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1472,10 +1486,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1691,8 +1725,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1701,6 +1735,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2935,14 +2979,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3078,10 +3114,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5016,19 +5048,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5119,11 +5151,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5704,6 +5736,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6760,6 +6800,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6900,6 +6956,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -7018,6 +7082,10 @@ 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 "" @@ -9569,6 +9637,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9583,6 +9657,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9726,6 +9806,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9734,6 +9822,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/sk.po b/editor/translations/sk.po index af5966a37d..a664935a69 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -5,12 +5,13 @@ # J08nY <johnenter@gmail.com>, 2016. # MineGame 159 <minegame459@gmail.com>, 2018. # Zuzana Palenikova <sousana.is@gmail.com>, 2019. +# MineGame159 <petulko08@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-01 12:10+0000\n" -"Last-Translator: Zuzana Palenikova <sousana.is@gmail.com>\n" +"PO-Revision-Date: 2019-03-12 15:26+0000\n" +"Last-Translator: MineGame159 <petulko08@gmail.com>\n" "Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/" "godot/sk/>\n" "Language: sk\n" @@ -18,7 +19,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 3.5-dev\n" +"X-Generator: Weblate 3.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -63,7 +64,7 @@ msgstr "Pri volanà '%s':" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Voľné" #: editor/animation_bezier_editor.cpp msgid "Balanced" @@ -91,17 +92,16 @@ msgid "Add Bezier Point" msgstr "Signály:" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "VÅ¡etky vybrané" +msgstr "Presunúť Vybraté Body" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" -msgstr "" +msgstr "Animácia DuplikovaÅ¥ KľúÄe" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Delete Keys" -msgstr "" +msgstr "Animácia VymazaÅ¥ KľúÄe" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" @@ -126,12 +126,12 @@ msgstr "Animácia ZmeniÅ¥ Hovor" #: editor/animation_track_editor.cpp msgid "Change Animation Length" -msgstr "" +msgstr "ZmeniÅ¥ Dĺžku Animácie" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "ZmeniÅ¥ Dĺžku Animácie" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -163,7 +163,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Animation Length Time (seconds)" -msgstr "" +msgstr "Dĺžka ÄŒasu Animácie (v sekundách)" #: editor/animation_track_editor.cpp msgid "Animation Looping" @@ -172,15 +172,15 @@ msgstr "" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" -msgstr "" +msgstr "Funkcie:" #: editor/animation_track_editor.cpp msgid "Audio Clips:" -msgstr "" +msgstr "Zvukové Klipy:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "" +msgstr "Klipy Animácie:" #: editor/animation_track_editor.cpp msgid "Change Track Path" @@ -196,7 +196,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Interpolation Mode" -msgstr "" +msgstr "Režim Interpolácie" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" @@ -209,7 +209,7 @@ msgstr "VÅ¡etky vybrané" #: editor/animation_track_editor.cpp msgid "Time (s): " -msgstr "" +msgstr "ÄŒas (s): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" @@ -221,28 +221,28 @@ msgstr "Priebežný" #: editor/animation_track_editor.cpp msgid "Discrete" -msgstr "" +msgstr "Diskrétne" #: editor/animation_track_editor.cpp msgid "Trigger" -msgstr "" +msgstr "Spúšť" #: editor/animation_track_editor.cpp msgid "Capture" -msgstr "" +msgstr "ZachytiÅ¥" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "" +msgstr "NajbližšÃ" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp msgid "Linear" -msgstr "" +msgstr "Lineárne" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "Kubický" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" @@ -255,7 +255,7 @@ msgstr "" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "VložiÅ¥ KľúÄ" #: editor/animation_track_editor.cpp #, fuzzy @@ -298,19 +298,19 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp editor/script_create_dialog.cpp msgid "Create" -msgstr "" +msgstr "VytvoriÅ¥" #: editor/animation_track_editor.cpp msgid "Anim Insert" -msgstr "" +msgstr "Animácia VložiÅ¥" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." -msgstr "" +msgstr "AnimationPlayer nemôže animovaÅ¥ sám seba, iba ostatný hráÄi." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" -msgstr "" +msgstr "Animácia VytvoriÅ¥ & VložiÅ¥" #: editor/animation_track_editor.cpp msgid "Anim Insert Track & Key" @@ -318,7 +318,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Anim Insert Key" -msgstr "" +msgstr "Animácia VložiÅ¥ KľúÄ" #: editor/animation_track_editor.cpp #, fuzzy @@ -341,6 +341,10 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"Audio stopy môžu ukazovaÅ¥ len na nodes typu:\n" +"-AudioStreamPlayer\n" +"-AudioStreamPlayer2D\n" +"-AudioStreamPlayer3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." @@ -640,13 +644,13 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "" +msgstr "PripojiÅ¥ k Node:" #: 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 "" +msgstr "PridaÅ¥" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp @@ -655,7 +659,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp #: editor/project_settings_editor.cpp msgid "Remove" -msgstr "" +msgstr "OdstrániÅ¥" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" @@ -667,7 +671,7 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Path to Node:" -msgstr "" +msgstr "Cesta k Node:" #: editor/connections_dialog.cpp msgid "Make Function" @@ -693,102 +697,99 @@ msgstr "" #: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Close" -msgstr "" +msgstr "ZatvoriÅ¥" #: editor/connections_dialog.cpp msgid "Connect" -msgstr "" +msgstr "PripojiÅ¥" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "" +msgstr "PripojiÅ¥ '%s' k '%s'" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" -msgstr "" +msgstr "OdpojiÅ¥ '%s' z '%s'" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" -msgstr "" +msgstr "OpojiÅ¥ vÅ¡etky z signálu: '%s'" #: editor/connections_dialog.cpp msgid "Connect..." -msgstr "" +msgstr "PripojiÅ¥..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Disconnect" -msgstr "" +msgstr "OdpojiÅ¥" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connect Signal: " -msgstr "VÅ¡etky vybrané" +msgstr "PripojiÅ¥ Signál: " #: editor/connections_dialog.cpp -#, fuzzy msgid "Edit Connection: " -msgstr "UpraviÅ¥ výber krivky" +msgstr "UpraviÅ¥ Pripojenie: " #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "" +msgstr "Naozaj chcete odstrániÅ¥ vÅ¡etky pripojenia z \"%s\" signálu?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" -msgstr "" +msgstr "Signály" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "Naozaj chcete odstrániÅ¥ vÅ¡etky pripojenia z tohto signálu?" #: editor/connections_dialog.cpp msgid "Disconnect All" -msgstr "" +msgstr "OpojiÅ¥ VÅ¡etko" #: editor/connections_dialog.cpp msgid "Edit..." -msgstr "" +msgstr "UpraviÅ¥..." #: editor/connections_dialog.cpp msgid "Go To Method" -msgstr "" +msgstr "Prejdite na Metódu" #: editor/create_dialog.cpp msgid "Change %s Type" -msgstr "" +msgstr "ZmeniÅ¥ %s Typ" #: editor/create_dialog.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Change" -msgstr "" +msgstr "ZmeniÅ¥" #: editor/create_dialog.cpp -#, fuzzy msgid "Create New %s" -msgstr "VytvoriÅ¥ adresár" +msgstr "VytvoriÅ¥ Nový %s" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp msgid "Favorites:" -msgstr "" +msgstr "Obľúbené:" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp msgid "Recent:" -msgstr "" +msgstr "Nedávne:" #: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/property_selector.cpp editor/quick_open.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Search:" -msgstr "" +msgstr "HľadaÅ¥:" #: 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 "Zhody:" #: editor/create_dialog.cpp editor/plugin_config_dialog.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp @@ -798,17 +799,19 @@ msgstr "Popis:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "" +msgstr "HľadaÅ¥ Náhradu pre:" #: editor/dependency_editor.cpp msgid "Dependencies For:" -msgstr "" +msgstr "Závislosti pre:" #: editor/dependency_editor.cpp msgid "" "Scene '%s' is currently being edited.\n" "Changes will not take effect unless reloaded." msgstr "" +"Scéna '%s' sa práve upravuje.\n" +"Zmeny sa neprejavia, pokiaľ znovu naÄÃtané." #: editor/dependency_editor.cpp msgid "" @@ -819,32 +822,32 @@ msgstr "" #: editor/dependency_editor.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "" +msgstr "ZávislostÃ" #: editor/dependency_editor.cpp msgid "Resource" -msgstr "" +msgstr "Prostriedok" #: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp #: editor/project_settings_editor.cpp editor/script_create_dialog.cpp msgid "Path" -msgstr "" +msgstr "Cesta" #: editor/dependency_editor.cpp msgid "Dependencies:" -msgstr "" +msgstr "ZávislostÃ:" #: editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "" +msgstr "OpraviÅ¥ Rozbité" #: editor/dependency_editor.cpp msgid "Dependency Editor" -msgstr "" +msgstr "Editor ZávislostÃ" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "HľadaÅ¥ Náhradný Zdroj:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -858,11 +861,11 @@ msgstr "OtvoriÅ¥" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "" +msgstr "Majitelia:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "" +msgstr "OdstrániÅ¥ vybraté súbory z projektu? (nedá sa vrátiÅ¥ späť)" #: editor/dependency_editor.cpp msgid "" @@ -870,46 +873,48 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" +"Súbory ktoré budú odstránené vyžadujú ÄalÅ¡ie zdroje, aby mohli pracovaÅ¥.\n" +"OdstrániÅ¥ aj napriek tomu? (nedá sa vrátiÅ¥ späť)" #: editor/dependency_editor.cpp editor/export_template_manager.cpp msgid "Cannot remove:" -msgstr "" +msgstr "Nemôžete odstrániÅ¥:" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "" +msgstr "Chyba pri naÄÃtanÃ:" #: editor/dependency_editor.cpp msgid "Load failed due to missing dependencies:" -msgstr "" +msgstr "NaÄÃtanie zlyhalo z dôvodu chýbajúcich závislostÃ:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" -msgstr "" +msgstr "OtvoriÅ¥ aj napriek tomu" #: editor/dependency_editor.cpp msgid "Which action should be taken?" -msgstr "" +msgstr "Ktorá akcia by sa mala prijaÅ¥?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "" +msgstr "OpraviÅ¥ Závislosti" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "" +msgstr "Chyby pri naÄÃtanÃ!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "Natrvalo odstrániÅ¥ %d položky? (Nedá sa vrátiÅ¥ späť!)" #: editor/dependency_editor.cpp msgid "Owns" -msgstr "" +msgstr "VlastnÃ" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "" +msgstr "Zdroje Bez Výslovného VlastnÃctva:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" @@ -917,7 +922,7 @@ msgstr "" #: editor/dependency_editor.cpp msgid "Delete selected files?" -msgstr "" +msgstr "OdstrániÅ¥ vybraté súbory?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp #: editor/editor_file_dialog.cpp editor/editor_node.cpp @@ -925,79 +930,79 @@ 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 "VymazaÅ¥" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "" +msgstr "ZmeniÅ¥ KÄ¾ÃºÄ v SlovnÃku" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" -msgstr "" +msgstr "ZmeniÅ¥ Hodnotu v SlovnÃku" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" -msgstr "" +msgstr "VÄaka z Godot komunity!" #: editor/editor_about.cpp msgid "Godot Engine contributors" -msgstr "" +msgstr "Godot Engine prispievatelia" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "" +msgstr "Zakladatelia Projektu" #: editor/editor_about.cpp msgid "Lead Developer" -msgstr "" +msgstr "Vedúci Vývojár" #: editor/editor_about.cpp msgid "Project Manager " -msgstr "" +msgstr "Manažér Projektu " #: editor/editor_about.cpp msgid "Developers" -msgstr "" +msgstr "Vývojári" #: editor/editor_about.cpp msgid "Authors" -msgstr "" +msgstr "Autori" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "" +msgstr "Platinový Sponzori" #: editor/editor_about.cpp msgid "Gold Sponsors" -msgstr "" +msgstr "Zlatý Sponzori" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "" +msgstr "Malý Sponzori" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "" +msgstr "Zlatý Darcovia" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "" +msgstr "Strieborný Darcovia" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "" +msgstr "Bronzový Darcovia" #: editor/editor_about.cpp msgid "Donors" -msgstr "" +msgstr "Darcovia" #: editor/editor_about.cpp msgid "License" -msgstr "" +msgstr "Licencia" #: editor/editor_about.cpp msgid "Thirdparty License" -msgstr "" +msgstr "Thirdparty Licencie" #: editor/editor_about.cpp msgid "" @@ -1008,22 +1013,21 @@ msgid "" msgstr "" #: editor/editor_about.cpp -#, fuzzy msgid "All Components" -msgstr "KonÅ¡tanty:" +msgstr "VÅ¡etky Komponenty" #: editor/editor_about.cpp #, fuzzy msgid "Components" -msgstr "KonÅ¡tanty:" +msgstr "Komponenty" #: editor/editor_about.cpp msgid "Licenses" -msgstr "" +msgstr "Licencie" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in zip format." -msgstr "" +msgstr "Chyba pri otváranà súboru balÃka, nie je vo formáte zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" @@ -1031,29 +1035,29 @@ msgstr "" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package installed successfully!" -msgstr "" +msgstr "BalÃk bol úspeÅ¡ne nainÅ¡talovaný!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "" +msgstr "Úspech!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Install" -msgstr "" +msgstr "InÅ¡talovaÅ¥" #: editor/editor_asset_installer.cpp msgid "Package Installer" -msgstr "" +msgstr "InÅ¡talátor BalÃkov" #: editor/editor_audio_buses.cpp msgid "Speakers" -msgstr "" +msgstr "Reproduktory" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "" +msgstr "PridaÅ¥ Efekt" #: editor/editor_audio_buses.cpp #, fuzzy @@ -1099,15 +1103,15 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "Sólo" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "" +msgstr "StlmiÅ¥" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "ObÃsÅ¥" #: editor/editor_audio_buses.cpp msgid "Bus options" @@ -1116,19 +1120,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 "DuplikovaÅ¥" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "" +msgstr "ObnoviÅ¥ HlasitosÅ¥" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "" +msgstr "OdstrániÅ¥ Efekt" #: editor/editor_audio_buses.cpp msgid "Audio" -msgstr "" +msgstr "Audio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1168,7 +1172,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "" +msgstr "Neexistuje žiadny súbor \"res://default_bus_layout.tres\"." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." @@ -1186,7 +1190,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "NaÄÃtaÅ¥" #: editor/editor_audio_buses.cpp #, fuzzy @@ -1195,7 +1199,7 @@ msgstr "Popis:" #: editor/editor_audio_buses.cpp msgid "Save As" -msgstr "" +msgstr "UložiÅ¥ Ako" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." @@ -1203,7 +1207,7 @@ msgstr "" #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "" +msgstr "NaÄÃtaÅ¥ predvolené" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." @@ -1215,7 +1219,7 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "" +msgstr "Neplatný Názov." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" @@ -1358,8 +1362,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1412,7 +1430,7 @@ msgstr "OtvoriÅ¥ súbor" msgid "New Folder..." msgstr "VytvoriÅ¥ adresár" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1487,10 +1505,32 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "VytvoriÅ¥ adresár" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "VytvoriÅ¥ adresár" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "PrieÄinky a Súbory:" @@ -1721,8 +1761,8 @@ msgstr "Popis:" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1731,6 +1771,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2979,14 +3029,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3126,10 +3168,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5106,19 +5144,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5209,11 +5247,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5812,6 +5850,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6884,6 +6930,23 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Popis:" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7039,6 +7102,15 @@ 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 "VytvoriÅ¥ adresár" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "VÅ¡etky vybrané" @@ -7165,6 +7237,10 @@ 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 "" @@ -9775,6 +9851,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9789,6 +9871,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9933,6 +10021,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9941,6 +10037,11 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "VytvoriÅ¥ adresár" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 3af3c9d835..a18d140b17 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -1401,8 +1401,22 @@ msgstr "Pakiranje" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1454,7 +1468,7 @@ msgstr "Pokaži V Upravitelju Datotek" msgid "New Folder..." msgstr "Nova Mapa..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Osveži" @@ -1529,10 +1543,35 @@ msgstr "Premakni Priljubljeno Navzgor" msgid "Move Favorite Down" msgstr "Premakni Priljubljeno Navzdol" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "PrejÅ¡nji zavihek" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Ustvarite Mapo" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Pojdi v nadrejeno mapo" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Mape ni mogoÄe ustvariti." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Oglejte si elemente, kot mrežo sliÄic" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Oglejte si elemente v seznamu" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Mape & Datoteke:" @@ -1772,9 +1811,9 @@ msgstr "PoÄisti Izhod" msgid "Project export failed with error code %d." msgstr "Izvoz projekta ni uspelo s kodno napako %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Napaka pri shranjevanju virov!" +#: 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 @@ -1782,6 +1821,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Napaka pri shranjevanju virov!" + +#: 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 "Shrani Vire Kot..." @@ -3099,16 +3148,6 @@ msgstr "" "sistemu!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Oglejte si elemente, kot mrežo sliÄic" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Oglejte si elemente v seznamu" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Stanje: Uvoz datoteke ni uspel. Popravi datoteko in ponovno roÄno uvozi." @@ -3253,11 +3292,6 @@ msgid "Search files" msgstr "IÅ¡Äi Razrede" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Naredi primer iz izbranih prizorov, ki bo naslednik izbranega gradnika." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5296,19 +5330,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5399,11 +5433,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -6018,6 +6052,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7103,6 +7145,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "PrejÅ¡nji zavihek" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7258,6 +7317,15 @@ 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 "Ustvarite Poligon" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Odstrani Predlogo" @@ -7389,6 +7457,10 @@ msgid "Exporting All" msgstr "Izvozi" #: 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 "" @@ -10015,6 +10087,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10029,6 +10107,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10179,6 +10263,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Dodaj trenutno barvo kot prednastavljeno" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Opozorilo!" @@ -10187,6 +10279,11 @@ msgstr "Opozorilo!" msgid "Please Confirm..." msgstr "Prosimo Potrdite..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Pojdi v nadrejeno mapo" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10263,6 +10360,10 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ 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 23c2f02d7a..f3b24cc2f5 100644 --- a/editor/translations/sq.po +++ b/editor/translations/sq.po @@ -3,30 +3,33 @@ # Copyright (c) 2014-2019 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # Igli <iglibh@outlook.com>, 2018. +# Enrik Qose <enrikqose@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2018-12-29 12:09+0000\n" -"Last-Translator: Igli <iglibh@outlook.com>\n" +"PO-Revision-Date: 2019-03-24 17:38+0000\n" +"Last-Translator: Enrik Qose <enrikqose@gmail.com>\n" "Language-Team: Albanian <https://hosted.weblate.org/projects/godot-engine/" "godot/sq/>\n" "Language: sq\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.4-dev\n" +"X-Generator: Weblate 3.6-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 "" -"Lloji i argumentit i gabuar për t'u konvertuar, përdor TYPE_* konstantet." +"Tipi i argumentit i pa lejuar për tu konvertuar me convert(), përdor " +"konstantet TYPE_*." #: 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 "Jo mjaftueshëm bite për çkodim të biteve, ose format i gabuar." +msgstr "" +"Bajte (byte) të pa mjaftueshem për çkodim të bajteve, ose format i gabuar." #: core/math/expression.cpp msgid "Invalid input %i (not passed) in expression" @@ -34,7 +37,7 @@ msgstr "Input i gabuar %i (nuk kaloi) në shprehje" #: core/math/expression.cpp msgid "self can't be used because instance is null (not passed)" -msgstr "self nuk mund të përdoret sepse instance është null (nuk kaloi)" +msgstr "'self' nuk mund të përdoret sepse instanca është 'null' (nuk kaloi)" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." @@ -42,15 +45,15 @@ msgstr "Operandë të gabuar për operatorët %s, %s dhe %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "Index i gabuar i llojit %s për llojin bazë %s" +msgstr "Indeksi i gabuar i llojit %s për llojin bazë %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "Index i emërtuar gabimisht '%s' për llojin bazë %s" +msgstr "Indeksi i emërtuar gabimisht '%s' për llojin bazë %s" #: core/math/expression.cpp msgid "Invalid arguments to construct '%s'" -msgstr "Argument i gabuar për të ndërtuar '%s'" +msgstr "Argumente të gabuar për të ndërtuar '%s'" #: core/math/expression.cpp msgid "On call to '%s':" @@ -59,11 +62,11 @@ msgstr "Në thërritje të '%s':" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "Falas" +msgstr "Liro" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "I balancuar" +msgstr "I Balancuar" #: editor/animation_bezier_editor.cpp msgid "Mirror" @@ -71,15 +74,15 @@ msgstr "Pasqyrë" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" -msgstr "Vendos Key Këtu" +msgstr "Vendos Çelësin Këtu" #: editor/animation_bezier_editor.cpp msgid "Duplicate Selected Key(s)" -msgstr "Dyfisho Key(s) të Selektuar" +msgstr "Dyfisho Çelësat e Zgjedhur" #: editor/animation_bezier_editor.cpp msgid "Delete Selected Key(s)" -msgstr "Fshi Key(s) të Selektuar" +msgstr "Fshi Çelësat e Zgjedhur" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" @@ -118,26 +121,25 @@ msgid "Anim Change Call" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Përsëritje Animacioni" +msgstr "Ndrysho Gjatësin e Animacionit" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Ndrysho Ciklin e Animacionit" #: editor/animation_track_editor.cpp msgid "Property Track" -msgstr "" +msgstr "Binari i Vetive" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "" +msgstr "Binari i Transformimeve 3D" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "Binari i Thërritjes së Metodave" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" @@ -145,15 +147,15 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" -msgstr "" +msgstr "Binari i Ridëgjimit të Audios" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "" +msgstr "Binari i Rishikimit të Animacionit" #: editor/animation_track_editor.cpp msgid "Add Track" -msgstr "" +msgstr "Shto Binarë" #: editor/animation_track_editor.cpp msgid "Animation Length Time (seconds)" @@ -210,7 +212,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Continuous" -msgstr "I vazhdueshëm:" +msgstr "I Vazhdueshëm" #: editor/animation_track_editor.cpp msgid "Discrete" @@ -267,9 +269,8 @@ msgid "Change Animation Interpolation Mode" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Përsëritje Animacioni" +msgstr "Ndrysho Metodën e Përsëritjes së Animacionit" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -313,9 +314,8 @@ msgid "Anim Insert Key" msgstr "" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Step" -msgstr "Pastro Animacionin" +msgstr "Ndrysho Hapin e Animacionit" #: editor/animation_track_editor.cpp msgid "Rearrange Tracks" @@ -532,9 +532,8 @@ msgid "Copy" msgstr "" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Klipe Audio:" +msgstr "Shto Klip Audio" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" @@ -628,13 +627,13 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "" +msgstr "Lidhë me Nyjen:" #: 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 "" +msgstr "Shto" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/groups_editor.cpp editor/plugins/animation_player_editor_plugin.cpp @@ -643,7 +642,7 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp #: editor/project_settings_editor.cpp msgid "Remove" -msgstr "" +msgstr "Hiq" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" @@ -681,155 +680,159 @@ msgstr "" #: editor/run_settings_dialog.cpp editor/settings_config_dialog.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Close" -msgstr "" +msgstr "Mbyll" #: editor/connections_dialog.cpp msgid "Connect" -msgstr "" +msgstr "Lidh" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "" +msgstr "Lidh '%s' me '%s'" #: editor/connections_dialog.cpp msgid "Disconnect '%s' from '%s'" -msgstr "" +msgstr "Shkëput '%s' nga '%s'" #: editor/connections_dialog.cpp msgid "Disconnect all from signal: '%s'" -msgstr "" +msgstr "Shkëputi të gjith nga sinjali: '%s'" #: editor/connections_dialog.cpp msgid "Connect..." -msgstr "" +msgstr "Lidh..." #: editor/connections_dialog.cpp #: editor/plugins/animation_tree_player_editor_plugin.cpp msgid "Disconnect" -msgstr "" +msgstr "Shkëput" #: editor/connections_dialog.cpp msgid "Connect Signal: " -msgstr "" +msgstr "Lidh Sinjalin: " #: editor/connections_dialog.cpp msgid "Edit Connection: " -msgstr "" +msgstr "Modifiko Lidhjen: " #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "" +msgstr "A jeni i sigurt që do të heqësh të gjitha lidhjet nga sinjali \"%s\"?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" -msgstr "" +msgstr "Sinjalet" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "A jeni i sigurt që doni të hiqni të gjitha lidhjet nga ky sinjal?" #: editor/connections_dialog.cpp msgid "Disconnect All" -msgstr "" +msgstr "Shkëputi të Gjitha" #: editor/connections_dialog.cpp msgid "Edit..." -msgstr "" +msgstr "Modifiko..." #: editor/connections_dialog.cpp msgid "Go To Method" -msgstr "" +msgstr "Shko te Metoda" #: editor/create_dialog.cpp msgid "Change %s Type" -msgstr "" +msgstr "Ndrysho Tipin e %s" #: editor/create_dialog.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Change" -msgstr "" +msgstr "Ndrysho" #: editor/create_dialog.cpp msgid "Create New %s" -msgstr "" +msgstr "Krijo %s të ri" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp msgid "Favorites:" -msgstr "" +msgstr "Të Preferuarat:" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp msgid "Recent:" -msgstr "" +msgstr "Të fundit:" #: editor/create_dialog.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/property_selector.cpp editor/quick_open.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Search:" -msgstr "" +msgstr "Kërko:" #: 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 "Përputhjet:" #: editor/create_dialog.cpp editor/plugin_config_dialog.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp #: modules/visual_script/visual_script_property_selector.cpp msgid "Description:" -msgstr "" +msgstr "Përshkrimi:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "" +msgstr "Kërko Zëvendësimin Për:" #: editor/dependency_editor.cpp msgid "Dependencies For:" -msgstr "" +msgstr "Varësit Për:" #: editor/dependency_editor.cpp msgid "" "Scene '%s' is currently being edited.\n" "Changes will not take effect unless reloaded." msgstr "" +"Skena '%s' është duke u modifikuar.\n" +"Ndryshimet nuk do të kenë efekt në qoftë se nuk ringarkohet." #: editor/dependency_editor.cpp msgid "" "Resource '%s' is in use.\n" "Changes will take effect when reloaded." msgstr "" +"Resursi '%s' është në përdorim.\n" +"Ndryshimet do të marrin efekt kur të ringarkohet." #: editor/dependency_editor.cpp #: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "" +msgstr "Varësitë" #: editor/dependency_editor.cpp msgid "Resource" -msgstr "" +msgstr "Resursi" #: editor/dependency_editor.cpp editor/editor_autoload_settings.cpp #: editor/project_settings_editor.cpp editor/script_create_dialog.cpp msgid "Path" -msgstr "" +msgstr "Rrugë" #: editor/dependency_editor.cpp msgid "Dependencies:" -msgstr "" +msgstr "Varësitë:" #: editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "" +msgstr "Rregullo të Thyerat" #: editor/dependency_editor.cpp msgid "Dependency Editor" -msgstr "" +msgstr "Editori i Varësive" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "Kërko Resursin Zëvendësues:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help_search.cpp editor/editor_node.cpp @@ -839,15 +842,15 @@ msgstr "" #: modules/visual_script/visual_script_property_selector.cpp #: scene/gui/file_dialog.cpp msgid "Open" -msgstr "" +msgstr "Hap" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "" +msgstr "Pronarët e:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "" +msgstr "Hiq skedarët e zgjedhur nga projekti? (pa kthim pas)" #: editor/dependency_editor.cpp msgid "" @@ -855,54 +858,57 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" +"Skedarët që do të hiqen janë të kërkuara nga resurse të tjera në mënyrë që " +"ato të funksionojnë.\n" +"Hiqi gjithsesi? (pa kthim pas)" #: editor/dependency_editor.cpp editor/export_template_manager.cpp msgid "Cannot remove:" -msgstr "" +msgstr "Nuk mund të heqësh:" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "" +msgstr "Gabim gjatë ngarkimit:" #: editor/dependency_editor.cpp msgid "Load failed due to missing dependencies:" -msgstr "" +msgstr "Ngrakimi dështoi për shkak të varësive të munguara:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" -msgstr "" +msgstr "Hap Gjithsesi" #: editor/dependency_editor.cpp msgid "Which action should be taken?" -msgstr "" +msgstr "Cili veprim duhet të kryet?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "" +msgstr "Rregullo Varësitë" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "" +msgstr "Gabimet janë duke u ngarkuar!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "Përfundimisht fshi %d artikuj? (pa kthim pas)" #: editor/dependency_editor.cpp msgid "Owns" -msgstr "" +msgstr "Zotëron" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "" +msgstr "Resurset Pa Zotërues Të Caktuar:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "" +msgstr "Eksploruesi I Resurseve Pa Zotërues" #: editor/dependency_editor.cpp msgid "Delete selected files?" -msgstr "" +msgstr "Fshi skedarët e zgjedhur?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp #: editor/editor_file_dialog.cpp editor/editor_node.cpp @@ -910,79 +916,79 @@ 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 "Fshi" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "" +msgstr "Ndrysho Çelësin e Fjalorit" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" -msgstr "" +msgstr "Ndrysho Vlerën e Fjalorit" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" -msgstr "" +msgstr "Faleminderit nga komuniteti i Godot!" #: editor/editor_about.cpp msgid "Godot Engine contributors" -msgstr "" +msgstr "Kontribuesit e Godot Engine" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "" +msgstr "Themeluesit e Projektit" #: editor/editor_about.cpp msgid "Lead Developer" -msgstr "" +msgstr "Krye Zhvilluesi" #: editor/editor_about.cpp msgid "Project Manager " -msgstr "" +msgstr "Menaxheri Projektit " #: editor/editor_about.cpp msgid "Developers" -msgstr "" +msgstr "Zhvilluesit" #: editor/editor_about.cpp msgid "Authors" -msgstr "" +msgstr "Autorët" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "" +msgstr "Sponsorat Platinium" #: editor/editor_about.cpp msgid "Gold Sponsors" -msgstr "" +msgstr "Sponsorat Flori" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "" +msgstr "Mini Sponsorat" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "" +msgstr "Dhuruesit Flori" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "" +msgstr "Dhuruesit Argjend" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "" +msgstr "Dhuruesit Bronz" #: editor/editor_about.cpp msgid "Donors" -msgstr "" +msgstr "Dhuruesit" #: editor/editor_about.cpp msgid "License" -msgstr "" +msgstr "Liçensa" #: editor/editor_about.cpp msgid "Thirdparty License" -msgstr "" +msgstr "Liçensa të palëve të treta" #: editor/editor_about.cpp msgid "" @@ -991,52 +997,56 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" +"Godot Engine mbështetet në nje numër librarish falas dhe 'open source' " +"palësh të treta, të gjitha në përshtatje me liçensen MIT. Më poshtë është " +"një listë e këtyre komponentëve së bashku me deklaratat e tyre për të " +"drejtat e autorit dhe termat e liçensës." #: editor/editor_about.cpp msgid "All Components" -msgstr "" +msgstr "Të Gjithë Komponentët" #: editor/editor_about.cpp msgid "Components" -msgstr "" +msgstr "Komponentët" #: editor/editor_about.cpp msgid "Licenses" -msgstr "" +msgstr "Liçensat" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in zip format." -msgstr "" +msgstr "Gabim në hapjen e skedarit paketë, nuk është në formatin zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "" +msgstr "Duke Dekompresuar Asetet" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package installed successfully!" -msgstr "" +msgstr "Paketa u instalua me sukses!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "" +msgstr "Sukses!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Install" -msgstr "" +msgstr "Instalo" #: editor/editor_asset_installer.cpp msgid "Package Installer" -msgstr "" +msgstr "Instaluesi Paketave" #: editor/editor_audio_buses.cpp msgid "Speakers" -msgstr "" +msgstr "Folësit" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "" +msgstr "Shto Efekt" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" @@ -1084,11 +1094,11 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "" +msgstr "Pa Zë" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "Tejkalo" #: editor/editor_audio_buses.cpp msgid "Bus options" @@ -1097,19 +1107,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 "Dyfisho" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "" +msgstr "Rivendos Volumin" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "" +msgstr "Fshi Efektin" #: editor/editor_audio_buses.cpp msgid "Audio" -msgstr "" +msgstr "Audio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1167,7 +1177,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "Ngarko" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." @@ -1175,7 +1185,7 @@ msgstr "" #: editor/editor_audio_buses.cpp msgid "Save As" -msgstr "" +msgstr "Ruaje Si" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." @@ -1183,7 +1193,7 @@ msgstr "" #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "" +msgstr "Ngarko të Parazgjedhur" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." @@ -1195,357 +1205,402 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "" +msgstr "Emër i palejuar." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "" +msgstr "Karakteret e lejuar:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" +"Emër i palejuar. Nuk duhet të përplaset me emrin e një klase egzistuese të " +"programit." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." -msgstr "" +msgstr "Emër i palejuar. Nuk duhet të përplaset me emrin e një tipi 'buit-in'." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" +"Emër i palejuar. Nuk duhet të përplaset me emrin e një konstante globale." #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" -msgstr "" +msgstr "Autoload '%s' egziston!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "" +msgstr "Riemërto Autoload-in" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "" +msgstr "Ndrysho Globalet e AutoLoad-it" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "" +msgstr "Lëviz Autoload-in" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "" +msgstr "Hiq Autoload-in" #: editor/editor_autoload_settings.cpp msgid "Enable" -msgstr "" +msgstr "Lejo" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "" +msgstr "Riorganizo Autoload-et" #: editor/editor_autoload_settings.cpp msgid "Invalid Path." -msgstr "" +msgstr "Rruga e pasaktë." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "" +msgstr "Skedari nuk egziston." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." -msgstr "" +msgstr "Jo në rrugën e resurseve." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "" +msgstr "Shto Autoload" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: editor/plugins/animation_tree_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Path:" -msgstr "" +msgstr "Rruga:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Emri i Nyjes:" #: editor/editor_autoload_settings.cpp editor/editor_help_search.cpp #: editor/editor_profiler.cpp editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Emri" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "" +msgstr "Vetmitar" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "Duke Përditësuar Skenën" #: editor/editor_data.cpp msgid "Storing local changes..." -msgstr "" +msgstr "Duke ruajtur ndryshimet lokale..." #: editor/editor_data.cpp msgid "Updating scene..." -msgstr "" +msgstr "Duke përditësuar skenën..." #: editor/editor_data.cpp editor/editor_properties.cpp msgid "[empty]" -msgstr "" +msgstr "[bosh]" #: editor/editor_data.cpp msgid "[unsaved]" -msgstr "" +msgstr "[e paruajtur]" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "" +msgstr "Ju lutem zgjidhni direktorin bazë në fillim" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Zgjidh një Direktori" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Krijo një Folder" #: 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 #: scene/gui/file_dialog.cpp msgid "Name:" -msgstr "" +msgstr "Emri:" #: 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 "Nuk mund të krijoj folderin." #: editor/editor_dir_dialog.cpp msgid "Choose" -msgstr "" +msgstr "Zgjidh" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "" +msgstr "Duke Ruajtur Skedarin:" #: editor/editor_export.cpp msgid "No export template found at the expected path:" -msgstr "" +msgstr "Nuk u gjet shabllon eksportimi në rrugën e pritur:" #: editor/editor_export.cpp msgid "Packing" +msgstr "Duke Paketuar" + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Platforma e përcaktuar kërkon 'ETC' texture compression për GLES2. Lejo " +"'Import Etc' në Opsionet e Projektit." + +#: editor/editor_export.cpp +msgid "" +"Target platform requires 'ETC2' texture compression for GLES3. Enable " +"'Import Etc 2' in Project Settings." msgstr "" +"Platforma e përcaktuar kërkon 'ETC2' texture compression për GLES3. Lejo " +"'Import Etc 2' në Opsionet e Projektit." #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 "" +"Platforma e përcaktuar kërkon 'ETC' texture compression për driver fallback " +"to GLES2.\n" +"Lejo 'Import Etc' in Opsionet e Projektit, ose çaktivizo 'Driver Fallback " +"Enabled'." #: editor/editor_export.cpp platform/android/export/export.cpp #: platform/iphone/export/export.cpp platform/javascript/export/export.cpp #: platform/osx/export/export.cpp platform/uwp/export/export.cpp msgid "Custom debug template not found." -msgstr "" +msgstr "Shablloni 'Custom debug' nuk u gjet." #: 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 "Shablloni 'Custom release' nuk u gjet." #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:" -msgstr "" +msgstr "Skedari shabllon nuk u gjet:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select Current Folder" -msgstr "" +msgstr "Zgjidh Folderin Aktual" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Skedari Egziston, Mbishkruaj?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Select This Folder" -msgstr "" +msgstr "Zgjidh Këtë Folder" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Copy Path" -msgstr "" +msgstr "Kopjo Rrugën" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "Open in File Manager" -msgstr "" +msgstr "Hap në Menaxherin e Skedarëve" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp #: editor/project_manager.cpp msgid "Show in File Manager" -msgstr "" +msgstr "Shfaq në Menaxherin e Skedarëve" #: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp msgid "New Folder..." -msgstr "" +msgstr "Folder i Ri..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" -msgstr "" +msgstr "Rifresko" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" -msgstr "" +msgstr "Të Gjithë të Njohurat" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "Të Gjithë Skedarët (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Hap një Skedar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Hap Skedarët" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Hap një Direktori" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Hap një Skedar ose Direktori" #: 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 "Ruaj" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "" +msgstr "Ruaj një Skedar" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "Shko Pas" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "Shko Përpara" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" +msgstr "Shko Lartë" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Ndrysho Skedarët e Fshehur" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "Ndrysho të Preferuarat" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "" +msgstr "Ndrysho Mënyrën" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "" +msgstr "Fokuso Rrugën" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "Lëviz të Preferuarën Lartë" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "Lëviz të Preferuarën Poshtë" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "Folderi i Mëparshëm" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "Folderi Tjetër" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" -msgstr "" +msgstr "Shko te folderi prind" + +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +msgstr "Hiqe nga të preferuarat folderin aktual." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a grid of thumbnails." +msgstr "Shiko artikujt si një rrjet kornizash." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "View items as a list." +msgstr "Shiko artikujt si nje list." #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "" +msgstr "Direktorit & Skedarët:" #: editor/editor_file_dialog.cpp editor/plugins/sprite_editor_plugin.cpp #: editor/plugins/style_box_editor_plugin.cpp msgid "Preview:" -msgstr "" +msgstr "Shikim paraprak:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File:" -msgstr "" +msgstr "Skedar:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "Duhet të perdorësh një shtesë të lejuar." #: editor/editor_file_system.cpp msgid "ScanSources" -msgstr "" +msgstr "SkanoBurimet" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "" +msgstr "Duke (Ri)Importuar Asetet" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" -msgstr "" +msgstr "Siper" #: editor/editor_help.cpp msgid "Class:" -msgstr "" +msgstr "Klasa:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp msgid "Inherits:" -msgstr "" +msgstr "Trashëgon:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "E trashëguar nga:" #: editor/editor_help.cpp msgid "Brief Description:" -msgstr "" +msgstr "Përshkrim i Shkurtër:" #: editor/editor_help.cpp msgid "Properties" -msgstr "" +msgstr "Vetitë" #: editor/editor_help.cpp msgid "Properties:" -msgstr "" +msgstr "Vetitë:" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Metodat" #: editor/editor_help.cpp msgid "Methods:" -msgstr "" +msgstr "Metodat:" #: editor/editor_help.cpp msgid "Theme Properties" -msgstr "" +msgstr "Vetitë e Temës" #: editor/editor_help.cpp msgid "Theme Properties:" -msgstr "" +msgstr "Vetitë e Temës:" #: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp msgid "Signals:" -msgstr "" +msgstr "Sinjalet:" #: editor/editor_help.cpp msgid "Enumerations" -msgstr "" +msgstr "Enumeracionet" #: editor/editor_help.cpp msgid "Enumerations:" -msgstr "" +msgstr "Enumeracionet:" #: editor/editor_help.cpp msgid "enum " @@ -1553,23 +1608,23 @@ msgstr "" #: editor/editor_help.cpp msgid "Constants" -msgstr "" +msgstr "Konstantet" #: editor/editor_help.cpp msgid "Constants:" -msgstr "" +msgstr "Konstantet:" #: editor/editor_help.cpp msgid "Class Description" -msgstr "" +msgstr "Përshkrimi i Klasës" #: editor/editor_help.cpp msgid "Class Description:" -msgstr "" +msgstr "Përshkrimi i Klasës:" #: editor/editor_help.cpp msgid "Online Tutorials:" -msgstr "" +msgstr "Tutorialet Online:" #: editor/editor_help.cpp msgid "" @@ -1577,91 +1632,98 @@ msgid "" "$url]contribute one[/url][/color] or [color=$color][url=$url2]request one[/" "url][/color]." msgstr "" +"Nuk ka për momentin tutoriale për këtë klas, ti mund të [color=$color][url=" +"$url]contribute one[/url][/color] ose [color=$color][url=$url2]request one[/" +"url][/color]." #: editor/editor_help.cpp msgid "Property Descriptions" -msgstr "" +msgstr "Përshkrimi i Vetive" #: editor/editor_help.cpp msgid "Property Descriptions:" -msgstr "" +msgstr "Përshkrimi i Vetive:" #: 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 "" +"Nuk ka për momentin përshkrim për këtë veti. Të lutem na ndihmo duke [color=" +"$color][url=$url]contributing one[/url][/color]!" #: editor/editor_help.cpp msgid "Method Descriptions" -msgstr "" +msgstr "Përshkrimi i Metodës" #: editor/editor_help.cpp msgid "Method Descriptions:" -msgstr "" +msgstr "Përshkrimi i Metodes:" #: 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 "" +"Nuk ka për momentin një përshkrim për këtë metod. Të lutem na ndihmo duke " +"[color=$color][url=$url]contributing one[/url][/color]!" #: editor/editor_help_search.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Kërko Ndihmë" #: editor/editor_help_search.cpp msgid "Display All" -msgstr "" +msgstr "Shfaqi të Gjitha" #: editor/editor_help_search.cpp msgid "Classes Only" -msgstr "" +msgstr "Vetëm Klasat" #: editor/editor_help_search.cpp msgid "Methods Only" -msgstr "" +msgstr "Vetëm Metodat" #: editor/editor_help_search.cpp msgid "Signals Only" -msgstr "" +msgstr "Vetëm Sinjalet" #: editor/editor_help_search.cpp msgid "Constants Only" -msgstr "" +msgstr "Vetëm Konstantet" #: editor/editor_help_search.cpp msgid "Properties Only" -msgstr "" +msgstr "Vetëm Vetitë" #: editor/editor_help_search.cpp msgid "Theme Properties Only" -msgstr "" +msgstr "Vetëm Vetitë e Temës" #: editor/editor_help_search.cpp msgid "Member Type" -msgstr "" +msgstr "Tipi i Anëtarit" #: editor/editor_help_search.cpp msgid "Class" -msgstr "" +msgstr "Klasa" #: editor/editor_inspector.cpp editor/project_settings_editor.cpp msgid "Property:" -msgstr "" +msgstr "Vetitë:" #: editor/editor_inspector.cpp msgid "Set" -msgstr "" +msgstr "Vendos" #: editor/editor_inspector.cpp msgid "Set Multiple:" -msgstr "" +msgstr "Vendos të Shumëfishta:" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Përfundimi:" #: editor/editor_log.cpp editor/editor_profiler.cpp #: editor/editor_properties.cpp @@ -1671,124 +1733,140 @@ msgstr "" #: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Clear" -msgstr "" +msgstr "Pastro" #: editor/editor_log.cpp msgid "Clear Output" -msgstr "" +msgstr "Pastro Përfundimin" #: editor/editor_node.cpp msgid "Project export failed with error code %d." -msgstr "" +msgstr "Eksportimi i projektit dështoi me kodin e gabimit %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." +msgstr "Resurset e importuara nuk mund të ruhen." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp msgid "OK" +msgstr "Në rregull" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Gabim duke ruajtur resurset!" + +#: 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 "" +"Ky resurs nuk mund të ruhet sepse nuk i përket skenës së modifikuar. Bëje më " +"parë unik." #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." -msgstr "" +msgstr "Ruaj Resurset Si..." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Nuk mund të hapi skedarin për të shkruajtur:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "Formati i skedarit të kërkuar është i panjohur:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Gabim gjatë ruajtjes." #: 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 "Nuk mund të hapi '%s'. Skedari mund te jetë lëvizur ose fshirë." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "" +msgstr "Gabim gjatë analizës gramatikore '%s'." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "Mbarim i papritur i skedarit '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "Mungesë e '%s' ose e varësive të tij." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "" +msgstr "Gabim gjatë ngarkimit të '%s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Duke Ruajtur Skenën" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Duke Analizuar" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Duke Krijuar Kornizat" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." -msgstr "" +msgstr "Ky veprim nuk mund të kryhet pa një rrënjë të pemës." #: 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 "" +"Skena nuk mund të ruhet sepse ndodhet një instancim ciklik.\n" +"Të lutem rregulloje dhe më pas provoje ta ruash përsëri." #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances or inheritance) couldn't " "be satisfied." msgstr "" +"Nuk mund ta ruante skenën. Me shumë mundësi varësitë (instancat ose " +"trashgimit) nuk mund të plotësohej." #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "Can't overwrite scene that is still open!" -msgstr "" +msgstr "Nuk mund të mbishkruash skenën që është akoma e hapur!" #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "Nuk mund të ngarkoj 'MeshLibrary' për bashkimin!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Gabim gjatë ruajtjes së MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "Nuk mund të ngarkoj TileSet-in për bashkimin!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Gabim gjatë ruajtjes së TileSet-it!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Gabim duke provuar të ruaj faqosjen!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Faqosja e parazgjedhur e editorit u mbishkel." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Emri i faqosjes nuk u gjet!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Riktheu faqosjen e parazgjedhur në opsionet bazë." #: editor/editor_node.cpp msgid "" @@ -1796,18 +1874,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Ky resurs i përket një skene që është e importuar, kështu që nuk mund të " +"modifikohet.\n" +"Ju lutem lexoni dokumentimin e përshtatshëm për të importuar skenat dhe të " +"kuptoni më mirë këtë metodë të punuari." #: editor/editor_node.cpp msgid "" "This resource belongs to a scene that was instanced or inherited.\n" "Changes to it will not be kept when saving the current scene." msgstr "" +"Ky resurs i përket një skene që është instancuar ose trashëguat.\n" +"Ndryshimet në të nuk do të ruhen kur të ruani skenën aktuale." #: 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 "" +"Ky resurs është i importuar kështu që nuk mund të modifikohet. Kështu që " +"ndrysho opsionet e tij në panelin e importit dhe më pas ri-importoje." #: editor/editor_node.cpp msgid "" @@ -1816,6 +1902,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Kjo skenë është e importuar kështu që ndryshimet në të nuk do të ruhen. " +"Instancimi ose trashëgimi prej saj do të lejoj të bësh ndryshime në të.\n" +"Ju lutem lexoni dokumentimin e përshtatshëm për të importuar skenat dhe të " +"kuptoni më mirë këtë metodë të punuari." #: editor/editor_node.cpp msgid "" @@ -1823,10 +1913,14 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"Ky është një objekt në largësi (remote) kështu ndryshimet në të nuk do të " +"ruhen.\n" +"Ju lutem lexoni dokumentimin e përshtatshëm për të 'debugging' për të " +"kuptuar më mirë këtë metodë të punuari." #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "Nuk ka një skenë të përcaktuar për të filluar." #: editor/editor_node.cpp msgid "" @@ -1834,6 +1928,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Nuk është përcaktuar një skenë kryesore më parë, zgjidh një?\n" +"Mund ta ndryshosh më vonë në \"Opsionet e Projektit\" nën kategorin " +"'aplikacioni'." #: editor/editor_node.cpp msgid "" @@ -1841,6 +1938,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Skena e zgjedhur '%s' nuk egziston, zgjidh një të saktë?\n" +"Mund ta ndryshosh më vonë te \"Opsionet e Projektit\" nën kategorin " +"'aplikacioni'." #: editor/editor_node.cpp msgid "" @@ -1848,366 +1948,389 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Skena e zgjedhur nuk është një skedar skene, zgjidh një të saktë?\n" +"Mund ta ndryshosh më vonë te \"Opsionet e Projektit\" nën kategorin " +"'aplikacioni'." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." msgstr "" +"Skena aktuale nuk është ruajtur më parë, ju lutem ruajeni para se të filloni." #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "" +msgstr "Nuk mund të fillojë subprocess-in!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "Hap Skenën" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "" +msgstr "Hap Skenën Bazë" #: editor/editor_node.cpp msgid "Quick Open Scene..." -msgstr "" +msgstr "Hap Skenën Shpejtë..." #: editor/editor_node.cpp msgid "Quick Open Script..." -msgstr "" +msgstr "Hap Shkrimin Shpejt..." #: editor/editor_node.cpp msgid "Save & Close" -msgstr "" +msgstr "Ruaj & Mbyll" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "Ruaji ndryshimet në '%s' para se ta mbyllësh?" #: editor/editor_node.cpp msgid "Saved %s modified resource(s)." -msgstr "" +msgstr "U ruajtën resurset e modifikuara të %s." #: editor/editor_node.cpp msgid "A root node is required to save the scene." -msgstr "" +msgstr "Një nyje rrënjë është e kërkuar para se të ruash skenën." #: editor/editor_node.cpp msgid "Save Scene As..." -msgstr "" +msgstr "Ruaje Skenën Si..." #: editor/editor_node.cpp msgid "No" -msgstr "" +msgstr "Jo" #: editor/editor_node.cpp msgid "Yes" -msgstr "" +msgstr "Po" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "" +msgstr "Kjo skenë nuk është ruajtur më parë. Ruaje para se të fillosh?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "" +msgstr "Ky veprim nuk mund të kryhet pa një skenë." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "Eksporto Librarinë Mesh" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "" +msgstr "Ky veprim nuk mund të kryhet pa një nyje rrënjë." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "" +msgstr "Eksporto Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "" +msgstr "Ky veprim nuk mund të kryhet pa një nyje të zgjedhur." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "" +msgstr "Skena aktuale nuk është ruajtur. Hap gjithsesi?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "" +msgstr "Nuk mund të ringarkojë një skenë që nuk është ruajtur më parë." #: editor/editor_node.cpp msgid "Revert" -msgstr "" +msgstr "Rikthe" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "" +msgstr "Ky veprim nuk mund të çbëhet. Rikthe gjithsesi?" #: editor/editor_node.cpp msgid "Quick Run Scene..." -msgstr "" +msgstr "Hap Skenën Shpejtë..." #: editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Dil" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "Dil nga editori?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "" +msgstr "Hap Menaxherin e Projekteve?" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "" +msgstr "Ruaj & Dil" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "Ruaj ndryshimet nga skenat e mëposhtme përpara se të dalësh?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" msgstr "" +"Ruaj ndryshimet ne skenat e mëposhtme para se të hapësh Menaxherin e " +"Projekteve?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"Ky opsion është hequr. Situatat ku një rifreskim duhet të kryet me forcë " +"tashmë konsiderohen një 'bug'. Ju lutem reportojeni." #: editor/editor_node.cpp msgid "Pick a Main Scene" -msgstr "" +msgstr "Zgjidh një Skenë Kryesore" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" +"I paaftë të aktivizoj shtojcën në: '%s' analiza gramatikore e 'config' " +"dështoi." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "" +msgstr "I paaftë te gjej fushën e shkrimit për shtojcën në: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "I paaftë të ngarkojë shkrimin e shtojcës nga rruga: '%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 "" +"I paaftë të ngarkojë shkrimin e shtojcës nga rruga: '%s' Me sa duket është " +"një gabim në kod, ju lutem kontrolloni sintaksën." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"I paaftë të ngarkojë shkrimin e shtojcës nga rruga: '%s' Tipi bazë nuk është " +"'EditorPlugin'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"I paaftë të ngarkojë shkrimin për shtojcën nga rruga: '%s' Shkrimi nuk është " +"në metodën vegël." #: 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 "" +"Skena '%s' është importuar automatikisht, prandaj nuk mund të modifikohet.\n" +"Për të bërë ndryshime në të, një skenë e re e trashëguar mund të krijohet." #: 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 "" +"Gabim gjat ngarkimit të skenës, duhet të jetë brenda rrugës së projektit. " +"Përdor 'Importo' për të hapur skenën, më pas ruaje brenda rrugës së " +"projektit." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "" +msgstr "Skena '%s' ka varësi të thyera:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "" +msgstr "Pastro Skenat e Fundit" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "Ruaj Faqosjen" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "" +msgstr "Fshi Faqosjen" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "" +msgstr "E Parazgjedhur" #: editor/editor_node.cpp editor/editor_properties.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp msgid "Show in FileSystem" -msgstr "" +msgstr "Shfaqe në 'FileSystem'" #: editor/editor_node.cpp msgid "Play This Scene" -msgstr "" +msgstr "Luaj Këtë Skenë" #: editor/editor_node.cpp msgid "Close Tab" -msgstr "" +msgstr "Mbyll Tabin" #: editor/editor_node.cpp msgid "Switch Scene Tab" -msgstr "" +msgstr "Ndrysho Tabin e Skenës" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "" +msgstr "%d skedar ose foldera më shumë" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "" +msgstr "%d foldera më shumë" #: editor/editor_node.cpp msgid "%d more files" -msgstr "" +msgstr "%d skedarë më shumë" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "Pozicioni i Dokut" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Metoda Pa Shpërqëndrime" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Ndrysho metodën pa shpërqëndrime." #: editor/editor_node.cpp msgid "Add a new scene." -msgstr "" +msgstr "Shto një skenë të re." #: editor/editor_node.cpp msgid "Scene" -msgstr "" +msgstr "Skenë" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "" +msgstr "Shko në skenën e hapur më parë." #: editor/editor_node.cpp msgid "Next tab" -msgstr "" +msgstr "Tabi tjetër" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "" +msgstr "Tabi i mëparshëm" #: editor/editor_node.cpp msgid "Filter Files..." -msgstr "" +msgstr "Filtro Skedarët..." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Veprime me skedarët e skenave." #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Skenë e Re" #: editor/editor_node.cpp msgid "New Inherited Scene..." -msgstr "" +msgstr "Skenë e Re e Trashëguar..." #: editor/editor_node.cpp msgid "Open Scene..." -msgstr "" +msgstr "Hap Skenën..." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Ruaj Skenën" #: editor/editor_node.cpp msgid "Save All Scenes" -msgstr "" +msgstr "Ruaj të Gjitha Skenat" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Mbyll Skenën" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "Hap të Fundit" #: editor/editor_node.cpp msgid "Convert To..." -msgstr "" +msgstr "Konverto në..." #: editor/editor_node.cpp msgid "MeshLibrary..." -msgstr "" +msgstr "LibrariaMesh..." #: editor/editor_node.cpp msgid "TileSet..." -msgstr "" +msgstr "SetPllakash..." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "" +msgstr "Zhbëj" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Redo" -msgstr "" +msgstr "Ribëj" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "" +msgstr "Rikthe Skenën" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Vegla të ndryshme për projektin ose skenën." #: editor/editor_node.cpp msgid "Project" -msgstr "" +msgstr "Projekti" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "" +msgstr "Opsionet e Projektit" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "Eksporto" #: editor/editor_node.cpp editor/plugins/tile_set_editor_plugin.cpp msgid "Tools" -msgstr "" +msgstr "Veglat" #: editor/editor_node.cpp msgid "Open Project Data Folder" -msgstr "" +msgstr "Hap Folderin e të Dhënave të Projektit" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Dil të Lista Projekteve" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: editor/project_export.cpp msgid "Debug" -msgstr "" +msgstr "Rregullo (Debug)" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Dorëzo me Rregullim në Largësi" #: 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 "" +"Kur eksporton ose dorëzon, rezultati i ekzekutueshëm do të tentoj të lidhet " +"me IP-në e këtij kompjuteri në mënyrë që të rregullohet." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Dorëzim i Vogël me Rrjet FS" #: editor/editor_node.cpp msgid "" @@ -2218,30 +2341,39 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Kur ky opsion është i aktivizuar, eksportimi ose dorëzimi do të prodhojë një " +"të ekzekutueshëm minimal.\n" +"Filesystem-i do të jepet nga projekti nga editri përmes rrjetit.\n" +"Në Android, dorëzimi do të përdori kabllin USB për performancë më të " +"shpejtë. Ky opsion shpejton testimin për lojërat e mëdha." #: editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "" +msgstr "Format e Përplasjes të Dukshme" #: 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 "" +"Format e përplasjes dhe nyjet 'raycast' (për 2D dhe 3D) do të jenë të " +"dukshme gjatë ekzekutimit të lojës nëse ky opsion është i aktivizuar." #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "" +msgstr "Navigim i Dukshëm" #: editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Rrjetat e navigimit dhe poligonet do të jenë të dukshme gjatë lojës nëse ky " +"opsion është i aktivizuar." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Sinkronizo Nryshimet e Skenës" #: editor/editor_node.cpp msgid "" @@ -2250,10 +2382,13 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Kur ky opsion është i aktivizuar, çdo ndryshim i bërë në këtë skenë do të " +"kopjohet dhe në lojën duke u ekzekutuar.\n" +"Kur përdoret në largësi është më efikas me rrjet 'filesystem'." #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "" +msgstr "Sinkronizo Ndryshimet e Shkrimit" #: editor/editor_node.cpp msgid "" @@ -2262,42 +2397,46 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Kurbky opsion është aktivizuar, çdo shkrim që ruhet do të ringarkohet në " +"lojën që është duke u ekzekutuar.\n" +"Kur përdoret në një paisje në largësi është më efikas me rrjetin " +"'filesyetem'." #: editor/editor_node.cpp msgid "Editor" -msgstr "" +msgstr "Editor" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" -msgstr "" +msgstr "Opsionet e Editorit" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Faqosja e Editorit" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Ndrysho Ekranin e Plotë" #: editor/editor_node.cpp msgid "Open Editor Data/Settings Folder" -msgstr "" +msgstr "Hap Folderin e Editorit për të Dhënat/Opsionet" #: editor/editor_node.cpp msgid "Open Editor Data Folder" -msgstr "" +msgstr "Hap Folderin e të Dhënave të Editorit" #: editor/editor_node.cpp msgid "Open Editor Settings Folder" -msgstr "" +msgstr "Hap Folderin e Opsioneve të Editorit" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "" +msgstr "Menaxho Shabllonet e Eksportit" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "Ndihmë" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp @@ -2305,303 +2444,309 @@ msgstr "" #: editor/plugins/shader_editor_plugin.cpp editor/plugins/text_editor.cpp #: editor/project_settings_editor.cpp editor/rename_dialog.cpp msgid "Search" -msgstr "" +msgstr "Kërko" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Dokumentimi Online" #: editor/editor_node.cpp msgid "Q&A" -msgstr "" +msgstr "Pyetje&Përgjigje" #: editor/editor_node.cpp msgid "Issue Tracker" -msgstr "" +msgstr "Gjurmuesi i Problemeve" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Komuniteti" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Rreth" #: editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "Luaj projektin." #: editor/editor_node.cpp msgid "Play" -msgstr "" +msgstr "Luaj" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "" +msgstr "Pusho skenën" #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "" +msgstr "Pusho Skenën" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "" +msgstr "Ndalo skenën." #: editor/editor_node.cpp editor/editor_profiler.cpp msgid "Stop" -msgstr "" +msgstr "Ndalo" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Luaj skenën e modifikuar." #: editor/editor_node.cpp msgid "Play Scene" -msgstr "" +msgstr "Luaj Skenën" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Luaj skenë të zgjedhur" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "" +msgstr "Luaj Skenë të Zgjedhur" #: editor/editor_node.cpp msgid "Changing the video driver requires restarting the editor." -msgstr "" +msgstr "Ndryshimi i driver-it të videos kërkon të rifillosh editorin." #: editor/editor_node.cpp editor/project_settings_editor.cpp #: editor/settings_config_dialog.cpp msgid "Save & Restart" -msgstr "" +msgstr "Ruaj & Rifillo" #: editor/editor_node.cpp msgid "Spins when the editor window redraws." -msgstr "" +msgstr "Rrotullohet kur dritarja e editorit rivizaton." #: editor/editor_node.cpp msgid "Update Always" -msgstr "" +msgstr "Përditëso Gjithmonë" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "" +msgstr "Përditëso Ndryshimet" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Çaktivizo Rrotulluesin e Përditësimit" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Importo" #: editor/editor_node.cpp +#, fuzzy msgid "FileSystem" -msgstr "" +msgstr "FileSystem" #: editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "Inspektori" #: editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "Nyje" #: editor/editor_node.cpp msgid "Expand Bottom Panel" -msgstr "" +msgstr "Zgjero Panelin Fundor" #: editor/editor_node.cpp scene/resources/visual_shader.cpp msgid "Output" -msgstr "" +msgstr "Përfundimi" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "Mos Ruaj" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Importo Shabllonet Nga Skedari ZIP" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "" +msgstr "Eksporto Projektin" #: editor/editor_node.cpp msgid "Export Library" -msgstr "" +msgstr "Libraria e Eksportit" #: editor/editor_node.cpp msgid "Merge With Existing" -msgstr "" +msgstr "Bashko Me Ekzistuesin" #: editor/editor_node.cpp msgid "Password:" -msgstr "" +msgstr "Fjalëkalimi:" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "" +msgstr "Hap & Fillo një Shkrim" #: editor/editor_node.cpp msgid "New Inherited" -msgstr "" +msgstr "E Trashëguar e Re" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "Ngarko Gabimet" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "Zgjidh" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "" +msgstr "Hap Editorin 2D" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "" +msgstr "Hap Editorin 3D" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "" +msgstr "Hap Editorin e Shkrimit" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "Hap Editorin e Aseteve" #: editor/editor_node.cpp msgid "Open the next Editor" -msgstr "" +msgstr "Hap Editorin tjetër" #: editor/editor_node.cpp msgid "Open the previous Editor" -msgstr "" +msgstr "Hap Editorin e mëparshëm" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "Duke Krijuar Shikimin Paraprak të Mesh-ave" #: editor/editor_plugin.cpp msgid "Thumbnail..." -msgstr "" +msgstr "Korniza..." #: editor/editor_plugin_settings.cpp msgid "Edit Plugin" -msgstr "" +msgstr "Modifiko Shtojcën" #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Shtojcat e Instaluara:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Update" -msgstr "" +msgstr "Përditëso" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "Versioni:" #: editor/editor_plugin_settings.cpp editor/plugin_config_dialog.cpp msgid "Author:" -msgstr "" +msgstr "Autori:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "Statusi:" #: editor/editor_plugin_settings.cpp msgid "Edit:" -msgstr "" +msgstr "Modifiko:" #: editor/editor_profiler.cpp editor/plugins/animation_state_machine_editor.cpp #: editor/rename_dialog.cpp msgid "Start" -msgstr "" +msgstr "Fillo" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Përmasa:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "Koha e Hapit (sek)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Koha Mesatare (sek)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "" +msgstr "Hapi %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "Hapi i Fizikës %" #: editor/editor_profiler.cpp msgid "Time:" -msgstr "" +msgstr "Koha:" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Gjithpërfshirës" #: editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "Vetja" #: editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "Nr i Hapit:" #: editor/editor_profiler.cpp msgid "Time" -msgstr "" +msgstr "Koha" #: editor/editor_profiler.cpp msgid "Calls" -msgstr "" +msgstr "Thërritjet" #: editor/editor_properties.cpp msgid "On" -msgstr "" +msgstr "Mbi" #: editor/editor_properties.cpp msgid "Layer" -msgstr "" +msgstr "Shtresa" #: editor/editor_properties.cpp msgid "Bit %d, value %d" -msgstr "" +msgstr "Biti %d, vlera %d" #: editor/editor_properties.cpp msgid "[Empty]" -msgstr "" +msgstr "[Bosh]" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp msgid "Assign..." -msgstr "" +msgstr "Cakto..." #: editor/editor_properties.cpp msgid "Invalid RID" -msgstr "" +msgstr "RID i pavlefshëm" #: editor/editor_properties.cpp msgid "" "The selected resource (%s) does not match any type expected for this " "property (%s)." msgstr "" +"Resursi i zgjedhur (%s) nuk përputhet me ndonjë tip të pritur për këtë veti " +"(%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 "" +"Nuk mund të krijoj një 'ViewportTexture' në resurset e ruajtur si një " +"skedar.\n" +"Resursi duhet ti përkasë një skene." #: editor/editor_properties.cpp msgid "" @@ -2610,22 +2755,26 @@ msgid "" "Please switch on the 'local to scene' property on it (and all resources " "containing it up to a node)." msgstr "" +"Nuk mune të krijojë një 'ViewportTexture' në këtë resurs sepse nuk është " +"vendosur si një lokal në skenë.\n" +"Ju lutem aktivizoni vetinë 'lokal në skenë' në të (dhe të gjitha resurset që " +"e mbajnë deri te një nyje)." #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "" +msgstr "Zgjidh një 'Viewport'" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New Script" -msgstr "" +msgstr "Shkrim i Ri" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "New %s" -msgstr "" +msgstr "%s i Ri" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Make Unique" -msgstr "" +msgstr "Bëje Unik" #: editor/editor_properties.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp @@ -2639,605 +2788,609 @@ 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 "Ngjit" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Convert To %s" -msgstr "" +msgstr "Konverto në %s" #: 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 msgid "Open Editor" -msgstr "" +msgstr "Hap Editorin" #: editor/editor_properties.cpp editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "" +msgstr "Nyja e zgjedhur nuk është një 'Viewport'!" #: editor/editor_properties_array_dict.cpp msgid "Size: " -msgstr "" +msgstr "Madhësia: " #: editor/editor_properties_array_dict.cpp msgid "Page: " -msgstr "" +msgstr "Faqja: " #: editor/editor_properties_array_dict.cpp msgid "New Key:" -msgstr "" +msgstr "Çelës i Ri:" #: editor/editor_properties_array_dict.cpp msgid "New Value:" -msgstr "" +msgstr "Vlerë e Re:" #: editor/editor_properties_array_dict.cpp msgid "Add Key/Value Pair" -msgstr "" +msgstr "Shto Palë Çelës/Vlerë" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Hiq Artikullin" #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "Zgjidh paisjen nga lista" #: 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 "" +"Nuk u gjet eksport paraprak i saktë për këtë platformë.\n" +"Ju lutem shtoni një eksport paraprak të saktë në menu." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "Shkruaj logjikën në metodën _run()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Ekziston një skenë e modifikuar që më parë." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Nuk mund të instancoj shkrimin:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "A mos harrove fjalën kyç 'tool'?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Nuk mund të ekzekutonte shkrimin:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "" +msgstr "A mos harrove metodën '_run'?" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Zgjidh Nyjet Për ti Importuar" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Rruga Skenës:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Importo nga Nyja:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "" +msgstr "Ri-Shkarko" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "Çinstalo" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "" +msgstr "(E Instaluar)" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download" -msgstr "" +msgstr "Shkarko" #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "" +msgstr "(Mungon)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "" +msgstr "(Aktual)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait..." -msgstr "" +msgstr "Duke marrë pasqyrat, ju lutem prisni..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "" +msgstr "Hiq shabllonin me version '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Nuk mund të hapi zip-in e shablloneve të eksportimit." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates: %s." -msgstr "" +msgstr "version.txt është format i pasaktë brenda shablloneve: %s." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Nuk u gjet version.txt brenda shablloneve." #: editor/export_template_manager.cpp msgid "Error creating path for templates:" -msgstr "" +msgstr "Gabim gjatë krijimit të rrugës për shabllonet:" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "Duke Nxjerrë Shabllonet e Eksportit" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "Duke Importuar:" #: editor/export_template_manager.cpp msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Nuk u gjet linku për shkarkimin e këtij versioni. Shkarkimi direkt është i " +"disponueshëm vetëm për lëshimet zyrtare." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "" +msgstr "Nuk mund të zgjidhte." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "" +msgstr "Nuk mund të lidhet." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response." -msgstr "" +msgstr "Nuk u përgjigj." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request Failed." -msgstr "" +msgstr "Kërkimi Dështoi." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Ridrejto Ciklin." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Dështoi:" #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "Shkarkimi u Plotësua." #: editor/export_template_manager.cpp msgid "" "Templates installation failed. The problematic templates archives can be " "found at '%s'." msgstr "" +"Instalimi i shablloneve dështoi. Arkivat problematike të shablloneve mund të " +"gjenden në '%s'." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Gabim duke kërkuar url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror..." -msgstr "" +msgstr "Duke u Lidhur te Pasqyra..." #: editor/export_template_manager.cpp msgid "Disconnected" -msgstr "" +msgstr "U Shkëput" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "" +msgstr "Duke Zgjidhur" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Nuk mund të zgjidhi" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting..." -msgstr "" +msgstr "Duke u lidhur..." #: editor/export_template_manager.cpp msgid "Can't Connect" -msgstr "" +msgstr "Nuk mund të lidhet" #: editor/export_template_manager.cpp msgid "Connected" -msgstr "" +msgstr "U Lidh" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting..." -msgstr "" +msgstr "Duke bër kërkesën..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "Duke Shkarkuar" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "" +msgstr "Gabim në Lidhje" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "Gabim në 'SSL Handshake'" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Versioni Aktual:" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "" +msgstr "Versionet e Instaluar:" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "" +msgstr "Instalo Nga Skedari" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "" +msgstr "Hiq Shabllonin" #: editor/export_template_manager.cpp msgid "Select template file" -msgstr "" +msgstr "Zgjidh skedarin e shabllonit" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "Menaxheri i Shablloneve të Eksportimit" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "" +msgstr "Shkarko Shabllonet" #: editor/export_template_manager.cpp msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "" +msgstr "Zgjidh pasqyrën nga lista: (Shift+Kliko: Për ta hapur në shfletues)" #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Nuk mund të hapi file_type_catche.cch për të shkruajtur, skedari nuk do të " +"ruhet!" #: editor/filesystem_dock.cpp msgid "Favorites" -msgstr "" +msgstr "Të Preferuarat" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" +"Nuk mund të navigoj te '%s' sepse nuk është gjetur në sistemin e skedarëve!" #: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"Statusi: Importimi i skedarit dështoi. Please rregullo skedarin dhe ri-" +"importoje manualisht." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Nuk mund të leviz/riemërtoj rrenjën e resurseve." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself." -msgstr "" +msgstr "Nuk mund të leviz një folder brenda vetvetes." #: editor/filesystem_dock.cpp msgid "Error moving:" -msgstr "" +msgstr "Gabim gjatë lëvizjes:" #: editor/filesystem_dock.cpp msgid "Error duplicating:" -msgstr "" +msgstr "Gabim gjatë dyfishimit:" #: editor/filesystem_dock.cpp msgid "Unable to update dependencies:" -msgstr "" +msgstr "I paaftë të përditësoj varësitë:" #: editor/filesystem_dock.cpp editor/scene_tree_editor.cpp msgid "No name provided." -msgstr "" +msgstr "Nuk u dha një emër." #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Emri i dhënë përmban karaktere të pasakta" #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Emri permban karaktere të pasakta." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "Një skedar ose folder me këtë emër ekziston që më parë." #: editor/filesystem_dock.cpp msgid "Renaming file:" -msgstr "" +msgstr "Duke riemërtuar skedarin:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "Duke riemërtuar folderin:" #: editor/filesystem_dock.cpp msgid "Duplicating file:" -msgstr "" +msgstr "Duke dyfishuar skedarin:" #: editor/filesystem_dock.cpp msgid "Duplicating folder:" -msgstr "" +msgstr "Duke dyfishuar folderin:" #: editor/filesystem_dock.cpp msgid "Open Scene(s)" -msgstr "" +msgstr "Hap Skenat" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "Instanco" #: editor/filesystem_dock.cpp msgid "Add to favorites" -msgstr "" +msgstr "Shto te të preferuarat" #: editor/filesystem_dock.cpp msgid "Remove from favorites" -msgstr "" +msgstr "Hiq nga të preferuarat" #: editor/filesystem_dock.cpp msgid "Edit Dependencies..." -msgstr "" +msgstr "Modifiko Varësitë..." #: editor/filesystem_dock.cpp msgid "View Owners..." -msgstr "" +msgstr "Shiko Pronarët..." #: editor/filesystem_dock.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Rename..." -msgstr "" +msgstr "Riemërto..." #: editor/filesystem_dock.cpp msgid "Duplicate..." -msgstr "" +msgstr "Dyfisho..." #: editor/filesystem_dock.cpp msgid "Move To..." -msgstr "" +msgstr "Lëviz në..." #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "New Script..." -msgstr "" +msgstr "Shkrim i Ri..." #: editor/filesystem_dock.cpp msgid "New Resource..." -msgstr "" +msgstr "Resurs i Ri..." #: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp msgid "Expand All" -msgstr "" +msgstr "Zgjero të Gjitha" #: editor/filesystem_dock.cpp editor/script_editor_debugger.cpp msgid "Collapse All" -msgstr "" +msgstr "Mbyll të Gjitha" #: 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 "Riemërto" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Direktoria e Mëparshme" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "Direktoria Tjetër" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Riskano 'Filesystem'-in" #: editor/filesystem_dock.cpp msgid "Toggle split mode" -msgstr "" +msgstr "Ndrysho metodën e ndarjes" #: editor/filesystem_dock.cpp msgid "Search files" -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Kërko skedarët" #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." msgstr "" +"Duke Skanuar Skedarët,\n" +"Ju Lutem Prisini..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Lëviz" #: editor/filesystem_dock.cpp msgid "There is already file or folder with the same name in this location." msgstr "" +"Ekziston që më parë një skedar ose folder me të njëjtin emër në këtë " +"vendndodhje." #: editor/filesystem_dock.cpp msgid "Overwrite" -msgstr "" +msgstr "Mbishkruaj" #: editor/filesystem_dock.cpp editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "" +msgstr "Krijo një Shkrim" #: editor/find_in_files.cpp msgid "Find in Files" -msgstr "" +msgstr "Gjej në Skedarët" #: editor/find_in_files.cpp msgid "Find:" -msgstr "" +msgstr "Gjej:" #: editor/find_in_files.cpp msgid "Folder:" -msgstr "" +msgstr "Folderi:" #: editor/find_in_files.cpp msgid "Filters:" -msgstr "" +msgstr "Filtrat:" #: editor/find_in_files.cpp editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find..." -msgstr "" +msgstr "Gjej..." #: editor/find_in_files.cpp editor/plugins/script_text_editor.cpp msgid "Replace..." -msgstr "" +msgstr "Zëvendëso..." #: editor/find_in_files.cpp editor/progress_dialog.cpp scene/gui/dialogs.cpp msgid "Cancel" -msgstr "" +msgstr "Anullo" #: editor/find_in_files.cpp msgid "Find: " -msgstr "" +msgstr "Gjej: " #: editor/find_in_files.cpp msgid "Replace: " -msgstr "" +msgstr "Zëvendëso: " #: editor/find_in_files.cpp msgid "Replace all (no undo)" -msgstr "" +msgstr "Zëvendëso të gjitha (pa kthim pas)" #: editor/find_in_files.cpp msgid "Searching..." -msgstr "" +msgstr "Duke kërkuar..." #: editor/find_in_files.cpp msgid "Search complete" -msgstr "" +msgstr "Kërkimi u kompletua" #: editor/groups_editor.cpp msgid "Group name already exists." -msgstr "" +msgstr "Emri i grupit ekziston që më parë." #: editor/groups_editor.cpp msgid "Invalid group name." -msgstr "" +msgstr "Emri i grupit i pasakt." #: editor/groups_editor.cpp editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Grupet" #: editor/groups_editor.cpp msgid "Nodes not in Group" -msgstr "" +msgstr "Nyjet që nuk janë në Grup" #: editor/groups_editor.cpp editor/scene_tree_dock.cpp msgid "Filter nodes" -msgstr "" +msgstr "Nyjet filtruese" #: editor/groups_editor.cpp msgid "Nodes in Group" -msgstr "" +msgstr "Nyjet në Grup" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Shto te Grupi" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Hiq nga Grupi" #: editor/groups_editor.cpp msgid "Manage Groups" -msgstr "" +msgstr "Menaxho Grupet" #: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Import as Single Scene" -msgstr "" +msgstr "Importo si një Skenë të vetme" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Importo me Animacione të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Importo me Materiale të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Importo me Objekte të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Importo me Objekte+Materiale të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Importo me Objekte+Animacione të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Importo me Materiale+Animacione të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Importo me Objekte+Materiale+Animacione të Veçuara" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Importo si Skena të Shumfishta" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Importo si Skena+Materiale të Shumfishta" #: editor/import/resource_importer_scene.cpp #: editor/plugins/mesh_library_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Importo Skenën" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene..." -msgstr "" +msgstr "Duke Importuar Skenën..." #: editor/import/resource_importer_scene.cpp msgid "Generating Lightmaps" -msgstr "" +msgstr "Duke Gjeneruar Hartat e Dritës" #: editor/import/resource_importer_scene.cpp msgid "Generating for Mesh: " -msgstr "" +msgstr "Duke Gjeneruar për 'Mesh'-in: " #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script..." -msgstr "" +msgstr "Duke Ekzekutuar Shkrimin..." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" @@ -3253,23 +3406,23 @@ msgstr "" #: editor/import/resource_importer_scene.cpp msgid "Saving..." -msgstr "" +msgstr "Duke Ruajtur..." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Vendos si të Parazgjedhur për '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Pastro të Parazgjedhurat për '%s'" #: editor/import_dock.cpp msgid " Files" -msgstr "" +msgstr " Skedarët" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Importo Si:" #: editor/import_dock.cpp editor/property_editor.cpp msgid "Preset..." @@ -3277,101 +3430,105 @@ msgstr "" #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Ri-importo" #: editor/import_dock.cpp msgid "Save scenes, re-import and restart" -msgstr "" +msgstr "Ruaj skenat, ri-importo dhe rifillo" #: editor/import_dock.cpp msgid "Changing the type of an imported file requires editor restart." msgstr "" +"Ndryshimi i tipit të një skedari te importuar kërkon që editori të " +"rifillohet." #: editor/import_dock.cpp msgid "" "WARNING: Assets exist that use this resource, they may stop loading properly." msgstr "" +"Kujdes: Egzistojnë asete që përdorin këtë resurs, ato mund të ndalojnë të " +"ngarkohen si duhet." #: editor/inspector_dock.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Dështoi të ngarkojë resursin." #: editor/inspector_dock.cpp msgid "Expand All Properties" -msgstr "" +msgstr "Zgjero Të Gjitha Vetitë" #: editor/inspector_dock.cpp msgid "Collapse All Properties" -msgstr "" +msgstr "Zvogëlo Të Gjitha Vetitë" #: editor/inspector_dock.cpp editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Save As..." -msgstr "" +msgstr "Ruaje Si…" #: editor/inspector_dock.cpp msgid "Copy Params" -msgstr "" +msgstr "Kopjo Parametrat" #: editor/inspector_dock.cpp msgid "Paste Params" -msgstr "" +msgstr "Ngjit Parametrat" #: editor/inspector_dock.cpp msgid "Edit Resource Clipboard" -msgstr "" +msgstr "Modifiko Resursin 'Clipboard'" #: editor/inspector_dock.cpp msgid "Copy Resource" -msgstr "" +msgstr "Kopjo Resursin" #: editor/inspector_dock.cpp msgid "Make Built-In" -msgstr "" +msgstr "Bëje 'Built-In'" #: editor/inspector_dock.cpp msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "Bëj Sub-Resurset Unik" #: editor/inspector_dock.cpp msgid "Open in Help" -msgstr "" +msgstr "Hap në Ndihmë" #: editor/inspector_dock.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "Krijo një resurs të ri në memorje dhe modifikoje atë." #: editor/inspector_dock.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "Ngarko një resurs egzistues nga disku dhe modifikoje atë." #: editor/inspector_dock.cpp msgid "Save the currently edited resource." -msgstr "" +msgstr "Ruaje resursin aktual të modifikuar." #: editor/inspector_dock.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "Shko te objekti i mëparshëm i modifikuar në histori." #: editor/inspector_dock.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "Shko te objekti tjetër i modifikuar në histori." #: editor/inspector_dock.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "Historia e objekteve të modifikuara së fundmi." #: editor/inspector_dock.cpp msgid "Object properties." -msgstr "" +msgstr "Vetitë e objekteve." #: editor/inspector_dock.cpp msgid "Filter properties" -msgstr "" +msgstr "Filtro vetitë." #: editor/inspector_dock.cpp msgid "Changes may be lost!" -msgstr "" +msgstr "Ndryshimet mund të humbasin!" #: editor/multi_node_edit.cpp msgid "MultiNode Set" @@ -3379,74 +3536,74 @@ msgstr "" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Zgjidh një nyje për të modifikuar Sinjalet dhe Grupet." #: editor/plugin_config_dialog.cpp msgid "Edit a Plugin" -msgstr "" +msgstr "Modifiko një Shtojcë" #: editor/plugin_config_dialog.cpp msgid "Create a Plugin" -msgstr "" +msgstr "Krijo një Shtojcë" #: editor/plugin_config_dialog.cpp msgid "Plugin Name:" -msgstr "" +msgstr "Emri i Shtojcës:" #: editor/plugin_config_dialog.cpp msgid "Subfolder:" -msgstr "" +msgstr "Subfolderi:" #: editor/plugin_config_dialog.cpp msgid "Language:" -msgstr "" +msgstr "Gjuha:" #: editor/plugin_config_dialog.cpp msgid "Script Name:" -msgstr "" +msgstr "Emri i Shkrimit:" #: editor/plugin_config_dialog.cpp msgid "Activate now?" -msgstr "" +msgstr "Aktivizo tani?" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Polygon" -msgstr "" +msgstr "Krijo një Poligon" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create points." -msgstr "" +msgstr "Krijo pika." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" "Edit points.\n" "LMB: Move Point\n" "RMB: Erase Point" -msgstr "" +msgstr "Modifiko pikat. LMB: Lëviz Pikën RMB: Fshi Pikën" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Erase points." -msgstr "" +msgstr "Fshi Pikat." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Edit Polygon" -msgstr "" +msgstr "Modifiko Poligonin" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Fut një Pikë" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Edit Polygon (Remove Point)" -msgstr "" +msgstr "Modifiko Poligonin (Hiq Pikën)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Polygon And Point" -msgstr "" +msgstr "Hiq Poligonin Dhe Pikën" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3454,14 +3611,14 @@ msgstr "" #: editor/plugins/animation_state_machine_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "Shto Animacion" #: 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 "Ngarko…" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3489,9 +3646,8 @@ msgstr "" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Animation Point" -msgstr "Përsëritje Animacioni" +msgstr "Shto Pikë në Animacion" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Remove BlendSpace1D Point" @@ -3628,15 +3784,13 @@ msgid "Nodes Disconnected" msgstr "" #: editor/plugins/animation_blend_tree_editor_plugin.cpp -#, fuzzy msgid "Set Animation" -msgstr "Përmirëso Animacionin" +msgstr "Vendos Animacionin" #: editor/plugins/animation_blend_tree_editor_plugin.cpp #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Delete Node" -msgstr "Fshi Key(s)" +msgstr "Fshi Nyjen" #: editor/plugins/animation_blend_tree_editor_plugin.cpp msgid "Toggle Filter On/Off" @@ -5003,19 +5157,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5106,11 +5260,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5691,6 +5845,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6438,14 +6600,12 @@ msgid "(empty)" msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animations:" -msgstr "Funksionet:" +msgstr "Animacionet:" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "New Animation" -msgstr "Përmirëso Animacionin" +msgstr "Animacionin i Ri" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" @@ -6456,9 +6616,8 @@ msgid "Loop" msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp -#, fuzzy msgid "Animation Frames:" -msgstr "Karakteristikat e animacionit." +msgstr "Kornizat e Animacionit:" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" @@ -6746,6 +6905,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6852,9 +7027,8 @@ msgid "Set Tile Region" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create Tile" -msgstr "Krijo" +msgstr "Krijo Pllakë" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Set Tile Icon" @@ -6885,9 +7059,16 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" -msgstr "Fshi keys të gabuar" +msgstr "Fshi një Pllakë" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Collision Polygon" @@ -6938,9 +7119,8 @@ msgid "Add Node to Visual Shader" msgstr "" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" -msgstr "Dyfisho Key(s)" +msgstr "Dyfisho Nyjet" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Visual Shader Input Type Changed" @@ -7004,6 +7184,10 @@ 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 "" @@ -9555,6 +9739,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9569,6 +9759,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9712,6 +9908,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9720,6 +9924,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index fd45d7d072..31ff003c25 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -1407,8 +1407,22 @@ msgstr "Паковање" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1461,7 +1475,7 @@ msgstr "Покажи у менаџеру датотека" msgid "New Folder..." msgstr "Ðови директоријум..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "ОÑвежи" @@ -1536,10 +1550,35 @@ msgstr "Помери нагоре омиљену" msgid "Move Favorite Down" msgstr "Помери надоле омиљену" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Претодни Ñпрат" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Ðаправи директоријум" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Иди у родитељÑки директоријум" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "ÐеуÑпех при прављењу директоријума." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Прикажи Ñтвари као мрежа Ñличица" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Прикажи Ñтвари као лиÑта" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Директоријуми и датотеке:" @@ -1782,9 +1821,9 @@ msgstr "Излаз" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1792,6 +1831,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Грешка при чувању реÑурÑа!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Сачувај реÑÑƒÑ€Ñ ÐºÐ°Ð¾..." @@ -3117,16 +3166,6 @@ msgstr "ÐеуÑпех навигације у „%s“ пошто није пр #: editor/filesystem_dock.cpp #, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Прикажи Ñтвари као мрежа Ñличица" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Прикажи Ñтвари као лиÑта" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" @@ -3281,10 +3320,6 @@ msgid "Search files" msgstr "Потражи клаÑе" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Ðаправи Ñледећу Ñцену/е као дете одабраног чвора." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5323,6 +5358,10 @@ 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 "Тачка Ñе Ñамо може поÑтавити у ParticlesMaterial процеÑни материјал" @@ -5335,10 +5374,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "У Ñлици нема пикÑела Ñа транÑпарентношћу већом од 128..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Генериши правоугаоник видљивоÑти" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Учитај маÑку емиÑије" @@ -5427,13 +5462,13 @@ msgid "Generating AABB" msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "Генериши оÑно поравнан гранични оквир (AABB)" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Генериши оÑно поравнан гранични оквир (AABB) видљивоÑти" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "Генериши оÑно поравнан гранични оквир (AABB)" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Обриши тачку из криве" @@ -6056,6 +6091,14 @@ msgid "Open Godot online documentation" msgstr "Отвори Godot онлајн документацију" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Претражи документацију." @@ -7171,6 +7214,24 @@ msgid "Merge from Scene" msgstr "Споји од Ñцене" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "Претодни Ñпрат" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7329,6 +7390,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Помери полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Помери полигон" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Обриши шаблон" @@ -7464,6 +7535,11 @@ msgid "Exporting All" msgstr "Извоз" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Путања не поÑтоји." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Извозни шаблони за ову платформу или ниÑу пронађени или Ñу иÑкварене:" @@ -10097,6 +10173,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10111,6 +10193,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10259,6 +10347,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -10267,6 +10363,11 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Иди у родитељÑки директоријум" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10341,6 +10442,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Ðаправи Ñледећу Ñцену/е као дете одабраног чвора." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/sr_Latn.po b/editor/translations/sr_Latn.po index 1a75fd637d..39d66c018c 100644 --- a/editor/translations/sr_Latn.po +++ b/editor/translations/sr_Latn.po @@ -1358,8 +1358,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1407,7 +1421,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1482,10 +1496,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1702,8 +1736,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1712,6 +1746,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2946,14 +2990,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3089,10 +3125,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5036,19 +5068,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5139,11 +5171,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5729,6 +5761,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6792,6 +6832,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6940,6 +6996,15 @@ 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 "Napravi" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "ObriÅ¡i Selekciju" @@ -7061,6 +7126,10 @@ 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 "" @@ -9617,6 +9686,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9631,6 +9706,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9774,6 +9855,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9782,6 +9871,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 4de14cba75..822a6f9388 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -9,12 +9,13 @@ # Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>, 2018. # Magnus Helander <helander@fastmail.net>, 2018. # Daniel K <danielkimblad@hotmail.com>, 2018. +# Toiya <elviraa98@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2018-12-13 14:42+0100\n" -"Last-Translator: Daniel K <danielkimblad@hotmail.com>\n" +"PO-Revision-Date: 2019-03-19 15:04+0000\n" +"Last-Translator: Toiya <elviraa98@gmail.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" "Language: sv\n" @@ -22,12 +23,12 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Weblate 3.6-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 "Ogiltligt typargument till convert(), använd TYPE_* konstanter." #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/mono/glue/gd_glue.cpp @@ -45,11 +46,11 @@ msgstr "" #: core/math/expression.cpp msgid "Invalid operands to operator %s, %s and %s." -msgstr "" +msgstr "Ogiltiga operander till operator %s, %s och %s." #: core/math/expression.cpp msgid "Invalid index of type %s for base type %s" -msgstr "" +msgstr "Ogiltigt index av typ %s för bastyp %s" #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" @@ -66,40 +67,35 @@ msgstr "" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Gratis" #: editor/animation_bezier_editor.cpp msgid "Balanced" -msgstr "" +msgstr "Balanserad" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Mirror" -msgstr "Spegla X" +msgstr "Spegla" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Insert Key Here" -msgstr "Anim Infoga Nyckel" +msgstr "Infoga Nyckel Här" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Duplicate Selected Key(s)" -msgstr "Duplicera urval" +msgstr "Duplicera valda nycklar" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Delete Selected Key(s)" -msgstr "Ta bort valda filer?" +msgstr "Ta bort valda nycklar" #: editor/animation_bezier_editor.cpp msgid "Add Bezier Point" -msgstr "" +msgstr "Lägg till Bezierpunkt" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "Flytta Ner" +msgstr "Flytta Bezierpunkt" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -111,7 +107,7 @@ msgstr "Anim Ta Bort Nycklar" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Time" -msgstr "Anim Ändra Nyckelram Tid" +msgstr "Anim Ändra Tid för Nyckebild" #: editor/animation_track_editor.cpp msgid "Anim Change Transition" @@ -123,21 +119,20 @@ msgstr "Anim Ändra Transformation" #: editor/animation_track_editor.cpp msgid "Anim Change Keyframe Value" -msgstr "Anim Ändra Värde PÃ¥ Tidsnyckeln" +msgstr "Anim Ändra Värde PÃ¥ Nyckelbild" #: editor/animation_track_editor.cpp msgid "Anim Change Call" msgstr "Anim Ändra Anrop" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Ändra Animationsnamn:" +msgstr "Ändra Animationslängd" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Ändra Animationsloop" #: editor/animation_track_editor.cpp msgid "Property Track" @@ -175,9 +170,8 @@ msgid "Animation Length Time (seconds)" msgstr "Animation längd (i sekunder)." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Looping" -msgstr "Animation zoom." +msgstr "Animationslooping" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -185,13 +179,12 @@ msgid "Functions:" msgstr "Funktioner:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Clips:" -msgstr "Ljud-Lyssnare" +msgstr "Ljudklipp:" #: editor/animation_track_editor.cpp msgid "Anim Clips:" -msgstr "" +msgstr "Animklipp:" #: editor/animation_track_editor.cpp #, fuzzy @@ -199,9 +192,8 @@ msgid "Change Track Path" msgstr "Ändra Arrays Värde" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle this track on/off." -msgstr "Växla distraktionsfritt läge." +msgstr "Ändra spÃ¥rets läge till pÃ¥/av." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" @@ -222,9 +214,8 @@ msgid "Remove this track." msgstr "Ta bort valt spÃ¥r." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s): " -msgstr "Tid:" +msgstr "Tid (s): " #: editor/animation_track_editor.cpp msgid "Toggle Track Enabled" @@ -245,11 +236,11 @@ msgstr "Trigger" #: editor/animation_track_editor.cpp msgid "Capture" -msgstr "" +msgstr "FÃ¥nga" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "" +msgstr "Närmaste" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -258,7 +249,7 @@ msgstr "Linjär" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "Kubik" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" @@ -271,22 +262,20 @@ msgstr "" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Lägg till nyckel" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Duplicate Key(s)" -msgstr "Duplicera Nod(er)" +msgstr "Duplicera Nycklar" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Delete Key(s)" -msgstr "Ta bort Nod(er)" +msgstr "Ta bort Nycklar" #: editor/animation_track_editor.cpp #, fuzzy msgid "Change Animation Update Mode" -msgstr "Ändra Animationsnamn:" +msgstr "Ändra Animationens Uppdateringsläge" #: editor/animation_track_editor.cpp #, fuzzy @@ -1531,8 +1520,22 @@ msgstr "Packar" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1588,7 +1591,7 @@ msgstr "Visa I Filhanteraren" msgid "New Folder..." msgstr "Ny Mapp..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Uppdatera" @@ -1668,10 +1671,33 @@ msgstr "Flytta Favorit Upp" msgid "Move Favorite Down" msgstr "Flytta Favorit Ner" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "FöregÃ¥ende flik" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Skapa Mapp" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "GÃ¥ till överordnad mapp" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Kunde inte skapa mapp." + +#: 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 #, fuzzy msgid "Directories & Files:" @@ -1930,10 +1956,9 @@ msgstr "Output:" msgid "Project export failed with error code %d." msgstr "Projekt exporten misslyckades med följande felmeddelande %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Error saving resource!" -msgstr "Fel vid sparande av resurs!" +#: 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 @@ -1941,6 +1966,17 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Error saving resource!" +msgstr "Fel vid sparande av resurs!" + +#: 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 "Spara Resurs Som..." @@ -3339,14 +3375,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3504,11 +3532,6 @@ msgid "Search files" msgstr "Sök Klasser" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Instansiera valda scen(er) som barn till vald Node." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5572,19 +5595,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5678,11 +5701,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -6307,6 +6330,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7447,6 +7478,24 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Nästa Skript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "FöregÃ¥ende Skript" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7602,6 +7651,15 @@ 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 "Skapa Prenumeration" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Ta Bort Mall" @@ -7731,6 +7789,11 @@ msgid "Exporting All" msgstr "Exportera" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Sökvägen finns inte." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" @@ -10498,6 +10561,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10512,6 +10581,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10663,6 +10738,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Lägg till nuvarande färg som en förinställning" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp #, fuzzy msgid "Alert!" @@ -10673,6 +10756,11 @@ msgstr "Varning!" msgid "Please Confirm..." msgstr "Vänligen Bekräfta..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "GÃ¥ till överordnad mapp" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10750,6 +10838,10 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#, fuzzy +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Instansiera valda scen(er) som barn till vald Node." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/ta.po b/editor/translations/ta.po index ef56649851..1bb5f50fe1 100644 --- a/editor/translations/ta.po +++ b/editor/translations/ta.po @@ -1351,8 +1351,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1400,7 +1414,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1475,10 +1489,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1694,8 +1728,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1704,6 +1738,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2938,14 +2982,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3082,10 +3118,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5023,19 +5055,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5126,11 +5158,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5712,6 +5744,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6768,6 +6808,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6908,6 +6964,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -7026,6 +7090,10 @@ 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 "" @@ -9581,6 +9649,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9595,6 +9669,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9738,6 +9818,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9746,6 +9834,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/te.po b/editor/translations/te.po index c0b3ef05a8..9b70573576 100644 --- a/editor/translations/te.po +++ b/editor/translations/te.po @@ -1335,8 +1335,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1384,7 +1398,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1459,10 +1473,30 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1678,8 +1712,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1688,6 +1722,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2922,14 +2966,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3065,10 +3101,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -4997,19 +5029,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5100,11 +5132,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5685,6 +5717,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6737,6 +6777,22 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6875,6 +6931,14 @@ msgid "Clear Tile Bitmask" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "" @@ -6992,6 +7056,10 @@ 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 "" @@ -9543,6 +9611,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9557,6 +9631,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9700,6 +9780,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9708,6 +9796,10 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/th.po b/editor/translations/th.po index 9637545869..79ad3c5357 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -1407,8 +1407,22 @@ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¸§à¸šà¸£à¸§à¸¡" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1461,7 +1475,7 @@ msgstr "à¹à¸ªà¸”งในตัวจัดà¸à¸²à¸£à¹„ฟล์" msgid "New Folder..." msgstr "สร้างโฟลเดà¸à¸£à¹Œ..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "รีเฟรช" @@ -1536,10 +1550,35 @@ msgstr "เลื่à¸à¸™à¹‚ฟลเดà¸à¸£à¹Œà¸—ี่ชà¸à¸šà¸‚ึ้น msgid "Move Favorite Down" msgstr "เลื่à¸à¸™à¹‚ฟลเดà¸à¸£à¹Œà¸—ี่ชà¸à¸šà¸¥à¸‡" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "ไปชั้นล่าง" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "ไปชั้นบน" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "ไปยังโฟลเดà¸à¸£à¹Œà¸«à¸¥à¸±à¸" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "ไม่สามารถสร้างโฟลเดà¸à¸£à¹Œ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "à¹à¸ªà¸”งเป็นภาพตัวà¸à¸¢à¹ˆà¸²à¸‡" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "à¹à¸ªà¸”งเป็นรายชื่à¸à¹„ฟล์" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "ไฟล์à¹à¸¥à¸°à¹‚ฟลเดà¸à¸£à¹Œ:" @@ -1775,9 +1814,9 @@ msgstr "ลบข้à¸à¸„วาม" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1785,6 +1824,16 @@ msgid "OK" msgstr "ตà¸à¸¥à¸‡" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "บันทึà¸à¸£à¸µà¸‹à¸à¸£à¹Œà¸ªà¸œà¸´à¸”พลาด!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "บันทึà¸à¸£à¸µà¸‹à¸à¸£à¹Œà¸ªà¹€à¸›à¹‡à¸™..." @@ -3074,16 +3123,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "ไม่สามารถไปยัง '%s' เนื่à¸à¸‡à¸ˆà¸²à¸à¹„ม่พบในระบบ!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "à¹à¸ªà¸”งเป็นภาพตัวà¸à¸¢à¹ˆà¸²à¸‡" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "à¹à¸ªà¸”งเป็นรายชื่à¸à¹„ฟล์" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "สถานะ: นำเข้าไฟล์ล้มเหลว à¸à¸£à¸¸à¸“าà¹à¸à¹‰à¹„ขไฟล์à¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าใหม่" @@ -3227,10 +3266,6 @@ msgid "Search files" msgstr "ค้นหาคลาส" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¸—ี่เลืà¸à¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¹‚หนดลูà¸à¸‚à¸à¸‡à¹‚หนดที่เลืà¸à¸" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5274,6 +5309,10 @@ 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 "สามารถà¸à¸³à¸«à¸™à¸”จุดให้à¹à¸à¹ˆ ParticlesMaterial เท่านั้น" @@ -5286,10 +5325,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "รูปไม่มีพิà¸à¹€à¸‹à¸¥à¹ƒà¸”ที่ความโปร่งà¹à¸ªà¸‡ > 128 ..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "สร้างà¸à¸£à¸à¸šà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "โหลด Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" @@ -5378,13 +5413,13 @@ msgid "Generating AABB" msgstr "สร้างเส้นà¸à¸£à¸à¸š" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate 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 "ลบจุดในเส้นโค้ง" @@ -6001,6 +6036,14 @@ msgid "Open Godot online documentation" msgstr "เปิดคู่มืà¸" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "ค้นหาคู่มืà¸" @@ -7106,6 +7149,24 @@ msgid "Merge from Scene" msgstr "รวมจาà¸à¸‰à¸²à¸" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "ไปชั้นล่าง" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7267,6 +7328,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "ย้ายรูปหลายเหลี่ยม" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "ย้ายรูปหลายเหลี่ยม" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "ลบà¹à¸¡à¹ˆà¹à¸šà¸š" @@ -7403,6 +7474,11 @@ msgid "Exporting All" msgstr "ส่งà¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸š %s" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "ไม่พบไฟล์" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "à¹à¸¡à¹ˆà¹à¸šà¸šà¸ªà¹ˆà¸‡à¸à¸à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸¥à¸•à¸Ÿà¸à¸£à¹Œà¸¡à¸™à¸µà¹‰à¸ªà¸¹à¸à¸«à¸²à¸¢/เสียหาย:" @@ -10067,6 +10143,12 @@ msgid "" "shape resource for it!" 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 "" + #: scene/3d/cpu_particles.cpp #, fuzzy msgid "Nothing is visible because no mesh has been assigned." @@ -10082,6 +10164,12 @@ msgstr "" msgid "Plotting Meshes" msgstr "วางà¹à¸™à¸§ meshes" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "ต้à¸à¸‡à¸¡à¸µ NavigationMesh เพื่à¸à¹ƒà¸«à¹‰à¹‚หนดนี้ทำงานได้" @@ -10239,6 +10327,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "เพิ่มสีที่เลืà¸à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "à¹à¸ˆà¹‰à¸‡à¹€à¸•à¸·à¸à¸™!" @@ -10247,6 +10343,11 @@ msgstr "à¹à¸ˆà¹‰à¸‡à¹€à¸•à¸·à¸à¸™!" msgid "Please Confirm..." msgstr "à¸à¸£à¸¸à¸“ายืนยัน..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "ไปยังโฟลเดà¸à¸£à¹Œà¸«à¸¥à¸±à¸" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10331,6 +10432,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "à¸à¸´à¸™à¸ªà¹à¸•à¸™à¸‹à¹Œà¸‰à¸²à¸à¸—ี่เลืà¸à¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¹‚หนดลูà¸à¸‚à¸à¸‡à¹‚หนดที่เลืà¸à¸" + #~ msgid "FPS" #~ msgstr "เฟรมต่à¸à¸§à¸´à¸™à¸²à¸—ี" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index 8111bff345..6ee2fd344a 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -21,12 +21,14 @@ # OÄŸuzhan Özdemir <ozdemiroguzhan0@gmail.com>, 2018. # Alper Çitmen <alper.citmen@gmail.com>, 2019. # ege1212 <owlphp@gmail.com>, 2019. +# Ömer YAZICIOÄžLU <oyazicioglu@gmail.com>, 2019. +# Mertcan Duman <mertcan.dmn16@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-13 07:10+0000\n" -"Last-Translator: ege1212 <owlphp@gmail.com>\n" +"PO-Revision-Date: 2019-03-19 15:04+0000\n" +"Last-Translator: Mertcan Duman <mertcan.dmn16@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" "Language: tr\n" @@ -34,7 +36,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.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -63,22 +65,20 @@ msgid "Invalid operands to operator %s, %s and %s." msgstr "%s düğümünde geçersiz indeks özelliÄŸi ismi '%s'." #: core/math/expression.cpp -#, fuzzy msgid "Invalid index of type %s for base type %s" -msgstr "%s düğümünde geçersiz indeks özelliÄŸi ismi '%s'." +msgstr "%s temel tipi için, %s tipinde geçersiz index." #: core/math/expression.cpp msgid "Invalid named index '%s' for base type %s" -msgstr "" +msgstr "%s temel tipi için, geçersiz isimlendirilmiÅŸ index %s" #: core/math/expression.cpp -#, fuzzy msgid "Invalid arguments to construct '%s'" -msgstr ": Åžu tür için geçersiz deÄŸiÅŸtirgen: " +msgstr "'%s' oluÅŸturulurken geçersiz argümanlar atandı." #: core/math/expression.cpp msgid "On call to '%s':" -msgstr "" +msgstr "'%s': çaÄŸrıldığında." #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -92,7 +92,7 @@ msgstr "DengelenmiÅŸ" #: editor/animation_bezier_editor.cpp #, fuzzy msgid "Mirror" -msgstr "X'e Aynala" +msgstr "ayna" #: editor/animation_bezier_editor.cpp msgid "Insert Key Here" @@ -147,9 +147,8 @@ msgid "Anim Change Call" msgstr "Animasyon DeÄŸiÅŸikliÄŸi ÇaÄŸrısı" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Length" -msgstr "Animasyon Döngüsünü DeÄŸiÅŸtir" +msgstr "Animasyon UzunluÄŸunu DeÄŸiÅŸtir" #: editor/animation_track_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -162,41 +161,36 @@ msgid "Property Track" msgstr "Özellik:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "3D Transform Track" -msgstr "Dönüştürme Türü" +msgstr "3D Dönüştürücü Ä°zi" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "Yöntem Çağırma Ä°zi" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "Bezier EÄŸri Ä°zi" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" -msgstr "" +msgstr "Ses Oynatıcı Ä°zi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Playback Track" -msgstr "Animasyonu oynatmayı durdur. (S)" +msgstr "Animasyon Oynatıcı Ä°zi" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track" -msgstr "Animasyon Ä°z Ekle" +msgstr "Ä°z Ekle" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Length Time (seconds)" -msgstr "Animasyon uzunluÄŸu (saniye)." +msgstr "Animasyon UzunluÄŸu (saniye)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation Looping" -msgstr "Animasyon yaklaÅŸ." +msgstr "Animasyon Döngüsü" #: editor/animation_track_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -204,52 +198,44 @@ msgid "Functions:" msgstr "Ä°ÅŸlevler:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Audio Clips:" -msgstr "Ses Dinleyici" +msgstr "Ses Klipsi:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Anim Clips:" -msgstr "Parçalar" +msgstr "Animasyon Klipsleri:" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Track Path" -msgstr "Dizi DeÄŸerini DeÄŸiÅŸtir" +msgstr "Ä°z Yolunu DeÄŸiÅŸtir" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle this track on/off." -msgstr "Dikkat-Dağıtmayan Kipine geç." +msgstr "Bu izi Aç/Kapat." #: editor/animation_track_editor.cpp msgid "Update Mode (How this property is set)" -msgstr "" +msgstr "Güncelleme Kipi (Bu özellik nasıl belirlenir)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Interpolation Mode" -msgstr "Animasyon Düğümü" +msgstr "AradeÄŸerleme Kipi" #: editor/animation_track_editor.cpp msgid "Loop Wrap Mode (Interpolate end with beginning on loop)" -msgstr "" +msgstr "Döngü Örtü Kipi (Döngünün baÅŸlangıcını sonu ile aradeÄŸerle)" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Remove this track." -msgstr "Seçilen izleri sil." +msgstr "Bu izi sil." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Time (s): " -msgstr "X-Sönülme Süresi (sn):" +msgstr "Süresi (sn): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "ÇoÄŸaltıcı Aktif" +msgstr "Ä°z Dönüştürücü Etkin" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -264,13 +250,12 @@ msgid "Trigger" msgstr "Tetikleyici" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Capture" -msgstr "Özellikler" +msgstr "Yakala" #: editor/animation_track_editor.cpp msgid "Nearest" -msgstr "" +msgstr "En Yakın" #: editor/animation_track_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -279,15 +264,15 @@ msgstr "DoÄŸrusal" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "Kübik" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" -msgstr "" +msgstr "Döngü AradeÄŸerlemesini Kıskaçla" #: editor/animation_track_editor.cpp msgid "Wrap Loop Interp" -msgstr "" +msgstr "Döngü AradeÄŸerlemesin Sar" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -305,19 +290,16 @@ msgid "Delete Key(s)" msgstr "Düğümleri Sil" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Animasyonun Adını DeÄŸiÅŸtir:" +msgstr "Animasyonun Güncelleme Kipini DeÄŸiÅŸtir" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Animasyon Düğümü" +msgstr "Animasyon AradeÄŸerleme Kipini DeÄŸiÅŸtir" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Animasyon Döngüsünü DeÄŸiÅŸtir" +msgstr "Animasyon Döngü Kipini DeÄŸiÅŸtir" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -347,6 +329,7 @@ msgstr "Animasyon Gir" #: editor/animation_track_editor.cpp msgid "AnimationPlayer can't animate itself, only other players." msgstr "" +"Animasyon Oynatıcısı kendisini oynatamaz, sadece diÄŸer oynatıcılar yapabilir." #: editor/animation_track_editor.cpp msgid "Anim Create & Insert" @@ -363,12 +346,11 @@ msgstr "Animasyon Anahtar Gir" #: editor/animation_track_editor.cpp #, fuzzy msgid "Change Animation Step" -msgstr "Animasyon FPS'sini DeÄŸiÅŸtir" +msgstr "Animasyon Adımını DeÄŸiÅŸtir" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Rearrange Tracks" -msgstr "KendindenYüklenme'leri Yeniden Sırala" +msgstr "Ä°zleri Yeniden Sırala" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -381,69 +363,68 @@ msgid "" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" msgstr "" +"Ses izleri sadece ÅŸu düğüm tiplerini iÅŸaret edebilir:\n" +"-SesAkışOynatıcı\n" +"-SesAkışOynatıcı2D\n" +"-SesAkışOynatıcı3D" #: editor/animation_track_editor.cpp msgid "Animation tracks can only point to AnimationPlayer nodes." -msgstr "" +msgstr "Animasyon izleri sadece AnimasyonOynatıcı düğümlerini iÅŸaret edebilir." #: editor/animation_track_editor.cpp msgid "An animation player can't animate itself, only other players." msgstr "" +"Bir animasyon oynatıcı kendisini oynamataz, sadece diÄŸer oynatıcılar " +"yapaibilir." #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "" +msgstr "Bir kök olmadan yeni bir iz eklemek mümkün deÄŸildir" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Bezier Track" -msgstr "Animasyon Ä°z Ekle" +msgstr "Bezier Ä°z Ekle" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a key." -msgstr "" +msgstr "Bu yol geçersizdir, dolayısı ile anahtar eklenemez." #: editor/animation_track_editor.cpp msgid "Track is not of type Spatial, can't insert key" -msgstr "" +msgstr "Ä°z, Spatial tipinde deÄŸildir, anahtar eklenemez" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Transform Track Key" -msgstr "Dönüştürme Türü" +msgstr "Dönüştürme Ä°z Anahtarı Ekle" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Track Key" -msgstr "Animasyon Ä°z Ekle" +msgstr "Ä°z Anahtarı Ekle" #: editor/animation_track_editor.cpp msgid "Track path is invalid, so can't add a method key." -msgstr "" +msgstr "Ä°z yolu geçersizdir, dolayısı ile yöntem anahtarı eklenemez." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Animasyon Ä°z & Anahtar Gir" +msgstr "Yöntem Ä°z Anahtarı Ekle" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Method not found in object: " -msgstr "VariableGet betikte bulunamadı: " +msgstr "Yöntem, nesne içinde bulunamadı " #: editor/animation_track_editor.cpp msgid "Anim Move Keys" msgstr "Animasyon Anahtarları Taşı" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Clipboard is empty" -msgstr "Pano boÅŸ!" +msgstr "Pano boÅŸ" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Paste Tracks" -msgstr "Parametreleri Yapıştır" +msgstr "Ä°zleri Yapıştır" #: editor/animation_track_editor.cpp msgid "Anim Scale Keys" @@ -453,14 +434,15 @@ msgstr "Animasyon Anahtarı Ölçekle" msgid "" "This option does not work for Bezier editing, as it's only a single track." msgstr "" +"Bu seçenek yalnızca tek izli olduÄŸundan, Bezier düzenlemede iÅŸe yaramaz." #: editor/animation_track_editor.cpp msgid "Only show tracks from nodes selected in tree." -msgstr "" +msgstr "sadece aÄŸaç'ta seçili düğümlerdeki izleri göster." #: editor/animation_track_editor.cpp msgid "Group tracks by node or display them as plain list." -msgstr "" +msgstr "Ä°zleri düğüme göre grupla veya onları düz liste olarak göster." #: editor/animation_track_editor.cpp #, fuzzy @@ -468,9 +450,8 @@ msgid "Snap (s): " msgstr "Yapış (Noktalara):" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation step value." -msgstr "Animasyon aÄŸacı geçerlidir." +msgstr "Animasyon adım deÄŸeri." #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -482,14 +463,12 @@ msgid "Edit" msgstr "Düzenle" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Animation properties." -msgstr "AnimasyonAÄŸacı" +msgstr "Animasyon özellikleri." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Copy Tracks" -msgstr "DeÄŸiÅŸkenleri Tıpkıla" +msgstr "Ä°zleri Kopyala" #: editor/animation_track_editor.cpp msgid "Scale Selection" @@ -532,11 +511,11 @@ msgstr "Animasyonda temizlik yap" #: editor/animation_track_editor.cpp msgid "Pick the node that will be animated:" -msgstr "" +msgstr "Anime edilecek düğümü seç:" #: editor/animation_track_editor.cpp msgid "Use Bezier Curves" -msgstr "" +msgstr "Bezier EÄŸrileri Kullan" #: editor/animation_track_editor.cpp msgid "Anim. Optimizer" @@ -584,7 +563,7 @@ msgstr "Ölçek Oranı:" #: editor/animation_track_editor.cpp msgid "Select tracks to copy:" -msgstr "" +msgstr "Kopyalanacak izleri seç:" #: editor/animation_track_editor.cpp editor/editor_properties.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -595,17 +574,16 @@ msgid "Copy" msgstr "Tıpkıla" #: editor/animation_track_editor_plugins.cpp -#, fuzzy msgid "Add Audio Track Clip" -msgstr "Ses Dinleyici" +msgstr "Ses Ä°z Klipsi Ekle" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip Start Offset" -msgstr "" +msgstr "Ses Ä°z Klipsi BaÅŸlangıç Kaymasını DeÄŸiÅŸtir" #: editor/animation_track_editor_plugins.cpp msgid "Change Audio Track Clip End Offset" -msgstr "" +msgstr "Ses Ä°z Klipsi BitiÅŸ Kaymasını DeÄŸiÅŸtir" #: editor/array_property_edit.cpp msgid "Resize Array" @@ -677,7 +655,7 @@ msgstr "Uyarılar" #: editor/code_editor.cpp msgid "Line and column numbers." -msgstr "" +msgstr "Satır ve sütun numaraları." #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" @@ -761,9 +739,8 @@ msgid "Disconnect '%s' from '%s'" msgstr "Åžunun: '%s' ÅŸununla: '%s' baÄŸlantısını kes" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect all from signal: '%s'" -msgstr "Åžunun: '%s' ÅŸununla: '%s' baÄŸlantısını kes" +msgstr "'%s' sinyali ile tüm baÄŸlantıları kes" #: editor/connections_dialog.cpp msgid "Connect..." @@ -777,17 +754,17 @@ msgstr "BaÄŸlantıyı kes" #: editor/connections_dialog.cpp #, fuzzy msgid "Connect Signal: " -msgstr "BaÄŸlantı Sinyali:" +msgstr "BaÄŸlantı Sinyali: " #: editor/connections_dialog.cpp #, fuzzy msgid "Edit Connection: " -msgstr "BaÄŸlantıları Düzenle" +msgstr "BaÄŸlantıları Düzenle " #: editor/connections_dialog.cpp -#, fuzzy msgid "Are you sure you want to remove all connections from the \"%s\" signal?" -msgstr "Birden fazla projeyi çalıştırmaya kararlı mısınız?" +msgstr "" +"\"%s\" sinyalinden tüm baÄŸlantıları kaldırmak istediÄŸinizden emin misiniz?" #: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp msgid "Signals" @@ -795,12 +772,11 @@ msgstr "Sinyaller" #: editor/connections_dialog.cpp msgid "Are you sure you want to remove all connections from this signal?" -msgstr "" +msgstr "Bu sinyalden, tüm baÄŸlantıları kaldırmak istediÄŸinizden emin misiniz?" #: editor/connections_dialog.cpp -#, fuzzy msgid "Disconnect All" -msgstr "BaÄŸlantıyı kes" +msgstr "Tüm BaÄŸlantıları Kes" #: editor/connections_dialog.cpp #, fuzzy @@ -808,13 +784,12 @@ msgid "Edit..." msgstr "Düzenle" #: editor/connections_dialog.cpp -#, fuzzy msgid "Go To Method" -msgstr "Metotlar" +msgstr "Yönteme Git" #: editor/create_dialog.cpp msgid "Change %s Type" -msgstr "%s Tipini deÄŸiÅŸtir" +msgstr "%s Tipini DeÄŸiÅŸtir" #: editor/create_dialog.cpp editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -823,7 +798,7 @@ msgstr "DeÄŸiÅŸtir" #: editor/create_dialog.cpp msgid "Create New %s" -msgstr "Yeni %s oluÅŸtur" +msgstr "Yeni %s OluÅŸtur" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -957,7 +932,7 @@ msgstr "Hangi eylem alınmalı?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "Bağımlılıkları düzelt" +msgstr "Bağımlılıkları Düzelt" #: editor/dependency_editor.cpp msgid "Errors loading!" @@ -1096,7 +1071,6 @@ msgid "Uncompressing Assets" msgstr "Varlıklar Çıkartılıyor" #: editor/editor_asset_installer.cpp editor/project_manager.cpp -#, fuzzy msgid "Package installed successfully!" msgstr "Paket BaÅŸarı ile Kuruldu!" @@ -1426,8 +1400,22 @@ msgstr "Çıkınla" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1480,7 +1468,7 @@ msgstr "Dosya Yöneticisinde Göster" msgid "New Folder..." msgstr "Yeni Klasör..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Yenile" @@ -1555,10 +1543,35 @@ msgstr "BeÄŸenileni Yukarı Taşı" msgid "Move Favorite Down" msgstr "BeÄŸenileni AÅŸağı Taşı" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "Önceki Zemin" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Sonraki Zemin" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Ãœst klasöre git" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Klasör oluÅŸturulamadı." + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a grid of thumbnails." +msgstr "Öğeleri küçük resim ızgarası ÅŸeklinde göster" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "View items as a list." +msgstr "Öğeleri liste olarak göster" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" msgstr "Dizinler & Dosyalar:" @@ -1799,9 +1812,9 @@ msgstr "Çıktıyı Temizle" msgid "Project export failed with error code %d." msgstr "Proje dışa aktarımı %d hata koduyla baÅŸarısız." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "Kaynak kaydedilirken hata!" +#: 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 @@ -1809,6 +1822,16 @@ msgid "OK" msgstr "Tamam" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Kaynak kaydedilirken hata!" + +#: 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 "Kaynağı Farklı Kaydet..." @@ -3132,16 +3155,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "Gidilemiyor. '%s' bu dosya sisteminde bulunamadı!" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a grid of thumbnails." -msgstr "Öğeleri küçük resim ızgarası ÅŸeklinde göster" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "View items as a list." -msgstr "Öğeleri liste olarak göster" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "Durum: Dosya içe aktarma baÅŸarısız oldu. Lütfen dosyayı onarın ve tekrar içe " @@ -3287,10 +3300,6 @@ msgid "Search files" msgstr "Sınıfları Ara" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Seçilen sahneyi/sahneleri seçilen düğüme çocuk olarak örneklendir." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5340,6 +5349,10 @@ msgid "Generating Visibility Rect" msgstr "Görünebilirlik Dikdörtgeni Ãœret" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generate Visibility Rect" +msgstr "Görünebilirlik Dikdörtgeni Ãœret" + +#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" msgstr "Nokta sadece ParçacıkMateryal iÅŸlem materyalinin içinde ayarlanabilir" @@ -5352,10 +5365,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Saydamlığı olan nokta yok > 128 bedizde..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Görünebilirlik Dikdörtgeni Ãœret" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Yayma Maskesini Yükle" @@ -5444,13 +5453,13 @@ msgid "Generating AABB" msgstr "AABB Ãœretimi" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "AABB Ãœret" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "Görünebilirlik AABB'si Ãœret" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "AABB Ãœret" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "Noktayı EÄŸriden Kaldır" @@ -6067,6 +6076,14 @@ msgid "Open Godot online documentation" msgstr "Çevrimiçi Godot dökümanlarını aç" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "BaÅŸvuru belgelerinde arama yap." @@ -7169,6 +7186,24 @@ msgid "Merge from Scene" msgstr "Sahneden BirleÅŸtir" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "Sonraki Zemin" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Previous Coordinate" +msgstr "Önceki Zemin" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7332,6 +7367,16 @@ msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy +msgid "Make Polygon Concave" +msgstr "Çokgeni Taşı" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "Çokgeni Taşı" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Remove Tile" msgstr "Åžablonu Kaldır" @@ -7467,6 +7512,11 @@ msgid "Exporting All" msgstr "%s için Dışa Aktarım" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "Yol mevcut deÄŸil." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "Bu platform için dışa aktarma ÅŸablonu eksik/bozuk:" @@ -10186,6 +10236,12 @@ msgstr "" "CollisionShape'in çalışması için bir ÅŸekil verilmelidir. Lütfen bunun için " "bir ÅŸekil kaynağı oluÅŸturun!" +#: 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/cpu_particles.cpp #, fuzzy msgid "Nothing is visible because no mesh has been assigned." @@ -10202,6 +10258,12 @@ msgstr "" msgid "Plotting Meshes" msgstr "Örüntüler Haritalanıyor" +#: scene/3d/gi_probe.cpp +msgid "" +"GIProbes are not supported by the GLES2 video driver.\n" +"Use a BakedLightmap instead." +msgstr "" + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10376,6 +10438,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "Åžuanki rengi bir önayar olarak kaydet" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Uyarı!" @@ -10384,6 +10454,11 @@ msgstr "Uyarı!" msgid "Please Confirm..." msgstr "Lütfen DoÄŸrulayın..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Ãœst klasöre git" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10470,6 +10545,9 @@ msgstr "" msgid "Varyings can only be assigned in vertex function." msgstr "" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Seçilen sahneyi/sahneleri seçilen düğüme çocuk olarak örneklendir." + #~ msgid "FPS" #~ msgstr "FPS" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 944fa20e28..95f9d87aae 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-21 21:18+0000\n" +"PO-Revision-Date: 2019-03-12 15:26+0000\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -25,7 +25,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.5-dev\n" +"X-Generator: Weblate 3.5.1\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -94,14 +94,12 @@ msgid "Delete Selected Key(s)" msgstr "Вилучити позначені ключі" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Add Bezier Point" -msgstr "Додати точку" +msgstr "Додати точку Безьє" #: editor/animation_bezier_editor.cpp -#, fuzzy msgid "Move Bezier Points" -msgstr "ПереміÑтити точки" +msgstr "ПереміÑтити точки Безьє" #: editor/animation_bezier_editor.cpp editor/animation_track_editor.cpp msgid "Anim Duplicate Keys" @@ -132,9 +130,8 @@ msgid "Anim Change Call" 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 @@ -191,9 +188,8 @@ 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." @@ -220,9 +216,8 @@ msgid "Time (s): " msgstr "Ð§Ð°Ñ (Ñ): " #: editor/animation_track_editor.cpp -#, fuzzy msgid "Toggle Track Enabled" -msgstr "Ефект Доплера" +msgstr "Увімкнути/Вимкнути доріжку" #: editor/animation_track_editor.cpp msgid "Continuous" @@ -275,19 +270,16 @@ msgid "Delete Key(s)" msgstr "Вилучити ключі" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Update Mode" -msgstr "Змінити ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:" +msgstr "Змінити режим Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Interpolation Mode" -msgstr "Режим інтерполÑції" +msgstr "Змінити режим інтерполÑції анімації" #: editor/animation_track_editor.cpp -#, fuzzy msgid "Change Animation Loop Mode" -msgstr "Змінити цикл анімації" +msgstr "Змінити режим циклу анімації" #: editor/animation_track_editor.cpp msgid "Remove Anim Track" @@ -331,14 +323,12 @@ 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 "Змінити порÑдок автозавантажень" +msgstr "ПеревпорÑдкувати доріжки" #: editor/animation_track_editor.cpp msgid "Transform tracks only apply to Spatial-based nodes." @@ -371,9 +361,8 @@ msgid "Not possible to add a new track without a root" 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." @@ -384,23 +373,20 @@ msgid "Track is not of type Spatial, can't insert key" 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 "ШлÑÑ… доріжки Ñ” некоректним, отже не можна додавати ключ методу." #: editor/animation_track_editor.cpp -#, fuzzy msgid "Add Method Track Key" -msgstr "Доріжка виклику методів" +msgstr "Додати ключ доріжки методів" #: editor/animation_track_editor.cpp msgid "Method not found in object: " @@ -564,17 +550,16 @@ msgid "Copy" 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" @@ -1387,9 +1372,30 @@ msgstr "ПакуваннÑ" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"Target platform requires 'ETC' texture compression for GLES2. Enable 'Import " +"Etc' in Project Settings." +msgstr "" +"Платформа Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ‚ÐµÐºÑтур «ETC» Ð´Ð»Ñ GLES2. Увімкніть " +"пункт «Імпортувати ETC» у параметрах проекту." + +#: editor/editor_export.cpp +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 +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 @@ -1436,7 +1442,7 @@ msgstr "Показати у менеджері файлів" msgid "New Folder..." msgstr "Створити теку..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Оновити" @@ -1511,10 +1517,30 @@ msgstr "ПереміÑтити вибране вгору" msgid "Move Favorite Down" msgstr "ПереміÑтити вибране вниз" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñ‚ÐµÐºÐ°" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "ÐаÑтупна тека" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "Перейти до батьківÑької теки" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "Каталоги та файли:" @@ -1737,9 +1763,9 @@ msgstr "ОчиÑтити вивід" msgid "Project export failed with error code %d." msgstr "Ðе вдалоÑÑ ÐµÐºÑпортувати проект, код помилки — %d." -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1747,6 +1773,18 @@ msgid "OK" msgstr "Гаразд" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÑурÑу!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" +"Цей реÑÑƒÑ€Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ зберегти, оÑкільки він не належить до редагованої " +"Ñцени. Спочатку, зробіть його унікальним." + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "Зберегти реÑÑƒÑ€Ñ Ñк..." @@ -1967,13 +2005,12 @@ msgid "Save changes to '%s' before closing?" msgstr "Зберегти зміни, внеÑені до '%s' перед закриттÑм?" #: editor/editor_node.cpp -#, fuzzy msgid "Saved %s modified resource(s)." -msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ." +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..." @@ -3065,14 +3102,6 @@ msgstr "" "Ðеможливо перейти до '%s' , оÑкільки він не був знайдений в файловій ÑиÑтемі!" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "ПереглÑд елементів у виглÑді Ñітки еÑкізів." - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "ПереглÑд елементів Ñк ÑпиÑок." - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "СтатуÑ: не вдалоÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ файл. Будь лаÑка, виправте файл та повторно " @@ -3210,10 +3239,6 @@ msgid "Search files" msgstr "Шукати файли" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "Додати вибрану Ñцену(и), Ñк нащадка вибраного вузла." - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -3614,19 +3639,16 @@ 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 msgid "Change BlendSpace1D Limits" -msgstr "Змінити Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" +msgstr "Змінити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp -#, fuzzy msgid "Change BlendSpace1D Labels" -msgstr "Змінити Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" +msgstr "Змінити мітки BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3638,24 +3660,21 @@ 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 "Вилучити точку BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp msgid "Move BlendSpace1D Node Point" -msgstr "" +msgstr "ПереÑунути вузлову точку BlendSpace1D" #: editor/plugins/animation_blend_space_1d_editor.cpp #: editor/plugins/animation_blend_space_2d_editor.cpp @@ -3703,29 +3722,24 @@ msgid "Triangle already exists" msgstr "Трикутник вже Ñ–Ñнує" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Add Triangle" -msgstr "Додати змінну" +msgstr "Додати трикутник" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Limits" -msgstr "Змінити Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" +msgstr "Змінити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Change BlendSpace2D Labels" -msgstr "Змінити Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" +msgstr "Змінити мітки BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Point" -msgstr "Видалити точку шлÑху" +msgstr "Вилучити точку BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp -#, fuzzy msgid "Remove BlendSpace2D Triangle" -msgstr "Вилучити змінну" +msgstr "Вилучити трикутник BlendSpace2D" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "BlendSpace2D does not belong to an AnimationTree node." @@ -3736,9 +3750,8 @@ 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 "Увімкнути Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñкриптів" +msgstr "Увімкнути або вимкнути автоматичні трикутники" #: editor/plugins/animation_blend_space_2d_editor.cpp msgid "Create triangles by connecting points." @@ -3758,9 +3771,8 @@ 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 @@ -3772,15 +3784,13 @@ 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 "Додати вузли з дерева" +msgstr "Додати вузол до BlendTree" #: 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 #: editor/plugins/visual_shader_editor_plugin.cpp @@ -3791,36 +3801,30 @@ 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 -#, 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." @@ -3844,9 +3848,8 @@ 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 @@ -4075,14 +4078,12 @@ msgid "Cross-Animation Blend Times" msgstr "Ð§Ð°Ñ Ð¼Ñ–Ð¶ анімаціÑми" #: editor/plugins/animation_state_machine_editor.cpp -#, fuzzy msgid "Move Node" -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 @@ -4118,18 +4119,16 @@ msgid "No playback resource set at path: %s." 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 "Вузол переходу" +msgstr "Вилучено перехід" #: editor/plugins/animation_state_machine_editor.cpp msgid "Set Start Node (Autoplay)" -msgstr "" +msgstr "Ð’Ñтановити початковий вузол (автовідтвореннÑ)" #: editor/plugins/animation_state_machine_editor.cpp msgid "" @@ -4955,7 +4954,7 @@ msgstr "Запекти пробу GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Gradient Edited" -msgstr "" +msgstr "Змінено градієнт" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -5213,6 +5212,10 @@ 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 "" "ПоÑтавити точку можна тільки в процедурному матеріалі ParticlesMaterial" @@ -5226,10 +5229,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "Ð’ зображенні немає пікÑелів з прозоріÑÑ‚ÑŽ > 128..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "Створити облаÑÑ‚ÑŒ видимоÑÑ‚Ñ–" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "Завантажити маÑку випромінюваннÑ" @@ -5317,11 +5316,11 @@ msgid "Generating AABB" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "Генерувати AABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "Генерувати AABB" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5909,6 +5908,14 @@ msgid "Open Godot online documentation" msgstr "Відкрити онлайнову документацію Godot" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "Пошук довідкової документації." @@ -6104,14 +6111,12 @@ msgid "This skeleton has no bones, create some children Bone2D nodes." msgstr "У цього каркаÑа немає кіÑток, Ñтворіть хоч ÑкіÑÑŒ дочірні вузли Bone2D." #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Create Rest Pose from Bones" -msgstr "Створити вільну позу (з кіÑток)" +msgstr "Створити вільну позу з кіÑток" #: editor/plugins/skeleton_2d_editor_plugin.cpp -#, fuzzy msgid "Set Rest Pose to Bones" -msgstr "Створити вільну позу (з кіÑток)" +msgstr "Створити вільну позу Ð´Ð»Ñ ÐºÑ–Ñток" #: editor/plugins/skeleton_2d_editor_plugin.cpp msgid "Skeleton2D" @@ -6266,7 +6271,6 @@ msgid "Rear" msgstr "Ззаду" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Align with View" msgstr "ВирівнÑти з переглÑдом" @@ -6363,6 +6367,9 @@ 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 "" +"ЗауваженнÑ: показана чаÑтота кадрів Ñ” чаÑтотою кадрів у редакторі.\n" +"Її не можна викориÑтовувати Ñк надійне джерело даних щодо чаÑтоти кадрів у " +"грі." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Rotation Locked" @@ -6373,9 +6380,8 @@ msgid "XForm Dialog" msgstr "Вікно XForm" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Snap Nodes To Floor" -msgstr "Приліпити до підлоги" +msgstr "Приліпити вузли до підлоги" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)" @@ -6972,6 +6978,22 @@ msgid "Merge from Scene" msgstr "Об'єднати зі Ñцени" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Next Coordinate" +msgstr "ÐаÑтупна координата" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "Вибір наÑтупної форми, підплитки або плитки." + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ð°" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "Вибір попередньої форми, підплитки або плитки." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "Копіювати бітову маÑку." @@ -6984,9 +7006,8 @@ msgid "Erase bitmask." msgstr "Витерти бітову маÑку." #: editor/plugins/tile_set_editor_plugin.cpp -#, fuzzy msgid "Create a new rectangle." -msgstr "Створити вузли." +msgstr "Створити прÑмокутник." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create a new polygon." @@ -7130,6 +7151,14 @@ msgid "Clear Tile Bitmask" msgstr "Спорожнити бітову маÑку плитки" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Concave" +msgstr "Зробити полігон увігнутим" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Make Polygon Convex" +msgstr "Зробити полігон опуклим" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "Вилучити плитку" @@ -7171,26 +7200,23 @@ msgstr "Ðабір плиток" #: editor/plugins/visual_shader_editor_plugin.cpp msgid "Set Uniform Name" -msgstr "" +msgstr "Ð’Ñтановити однорідну назву" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Set Input Default Port" -msgstr "Ð’Ñтановити Ñк типове Ð´Ð»Ñ '%s'" +msgstr "Ð’Ñтановити типовий порт введеннÑ" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Add Node to Visual Shader" -msgstr "VisualShader" +msgstr "Додати вузол до візуального шейдера" #: editor/plugins/visual_shader_editor_plugin.cpp -#, fuzzy msgid "Duplicate Nodes" 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" @@ -7209,14 +7235,12 @@ msgid "VisualShader" msgstr "VisualShader" #: 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" @@ -7235,6 +7259,8 @@ 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 "" @@ -7242,6 +7268,9 @@ msgid "" "This might be due to a configuration issue in the export preset or your " "export settings." msgstr "" +"Ðе вдалоÑÑ ÐµÐºÑпортувати проект Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ «%s».\n" +"Причиною може бути помилка у налаштуваннÑÑ… у наборі налаштувань Ð´Ð»Ñ " +"екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ параметрах екÑпортуваннÑ." #: editor/project_export.cpp msgid "Release" @@ -7252,6 +7281,10 @@ 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 "" "Ðе виÑтачає шаблонів екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¸ або шаблони пошкоджено:" @@ -7703,7 +7736,7 @@ msgid "" "'\"'" msgstr "" "Ðекоректна назва дії. Ðазва не може бути порожньою Ñ– не може міÑтити " -"Ñимволів «/», «:», «=», «\\» та «\"»." +"Ñимволів «/», «:», «=», «\\» та «\"»" #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" @@ -8295,9 +8328,8 @@ msgid "Instantiated scenes can't become root" msgstr "Сцени зі Ñтвореними екземплÑрами не можуть Ñтавати кореневими" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Make node as Root" -msgstr "Зробити кореневим Ð´Ð»Ñ Ñцени" +msgstr "Зробити вузол кореневим" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -8336,9 +8368,8 @@ msgid "Make Local" msgstr "Зробити локальним" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "New Scene Root" -msgstr "Зробити кореневим Ð´Ð»Ñ Ñцени" +msgstr "Ðовий корінь Ñцени" #: editor/scene_tree_dock.cpp msgid "Create Root Node:" @@ -8769,19 +8800,16 @@ msgid "Set From Tree" msgstr "Ð’Ñтановити з дерева" #: 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 "Shortcuts" @@ -8990,9 +9018,8 @@ msgid "GridMap Duplicate Selection" msgstr "Ð”ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ð³Ð¾ GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Paint" -msgstr "Параметри GridMap" +msgstr "Малюнок GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" @@ -9379,9 +9406,8 @@ msgid "Change Input Value" msgstr "Зміна вхідного значеннÑ" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Resize Comment" -msgstr "Змінити розмір CanvasItem" +msgstr "Змінити розміри коментарÑ" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." @@ -9985,6 +10011,14 @@ 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 "" +"Форми площин не працюють Ñк Ñлід, Ñ—Ñ… буде вилучено у наÑтупних верÑÑ–ÑÑ…. Будь " +"лаÑка, не викориÑтовуйте Ñ—Ñ…." + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "Ðічого не видно, оÑкільки не призначено Ñітки." @@ -10001,6 +10035,14 @@ msgstr "" 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 "" +"У драйвері GLES2 не передбачено підтримки GIProbes.\n" +"СкориÑтайтеÑÑ Ð·Ð°Ð¼Ñ–ÑÑ‚ÑŒ них BakedLightmap." + #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10175,6 +10217,18 @@ msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¼Ñ–Ð¶ шіÑтнадцÑтковими значРmsgid "Add current color as a preset." msgstr "Додати поточний колір Ñк шаблон." +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" +"Сам контейнер не має призначеннÑ, Ñкщо Ñкрипт не налаштовує поведінку щодо " +"Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¹Ð¾Ð³Ð¾ дочірніх об'єктів.\n" +"Якщо ви не маєте наміру додавати Ñкрипт, будь лаÑка, ÑкориÑтайтеÑÑ Ð·Ð°Ð¼Ñ–ÑÑ‚ÑŒ " +"контейнера звичайним вузлом «Control»." + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Увага!" @@ -10183,6 +10237,10 @@ msgstr "Увага!" msgid "Please Confirm..." msgstr "Будь лаÑка, підтвердьте..." +#: scene/gui/file_dialog.cpp +msgid "Go to parent folder." +msgstr "Перейти до батьківÑької теки." + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10268,6 +10326,9 @@ msgstr "ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð´Ð½Ð¾Ñ€Ñ–Ð´Ð½Ð¾Ð³Ð¾." msgid "Varyings can only be assigned in vertex function." msgstr "Змінні величини можна пов'Ñзувати лише із функцією вузлів." +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "Додати вибрану Ñцену(и), Ñк нащадка вибраного вузла." + #~ msgid "FPS" #~ msgstr "Кадри за Ñекунду" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index f3367675ef..72cbf7eb88 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -1351,8 +1351,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1401,7 +1415,7 @@ msgstr "" msgid "New Folder..." msgstr "" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "" @@ -1478,10 +1492,30 @@ msgstr "Ù¾Ø³Ù†Ø¯ÛŒØ¯Û Ø§ÙˆÙ¾Ø± منتقل کریں" msgid "Move Favorite Down" msgstr "Ù¾Ø³Ù†Ø¯ÛŒØ¯Û Ù†ÛŒÚ†Û’ منتقل کریں" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +msgid "Previous Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Next Folder" +msgstr "" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "" +#: editor/editor_file_dialog.cpp +msgid "(Un)favorite current folder." +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 "" @@ -1705,8 +1739,8 @@ msgstr "سب سکریپشن بنائیں" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1715,6 +1749,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -2957,14 +3001,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3102,10 +3138,6 @@ msgid "Search files" msgstr "" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5065,19 +5097,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5168,11 +5200,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5767,6 +5799,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6836,6 +6876,23 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Next Coordinate" +msgstr "سب سکریپشن بنائیں" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the next shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Previous Coordinate" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -6986,6 +7043,15 @@ 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 "سب سکریپشن بنائیں" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr ".تمام کا انتخاب" @@ -7108,6 +7174,10 @@ 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 "" @@ -9693,6 +9763,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9707,6 +9783,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9850,6 +9932,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -9858,6 +9948,11 @@ msgstr "" msgid "Please Confirm..." msgstr "" +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "سب سکریپشن بنائیں" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/vi.po b/editor/translations/vi.po index f51007b85c..74bd1df7eb 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -1385,8 +1385,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1437,7 +1451,7 @@ msgstr "Hiển thị trong Trình quản là file" msgid "New Folder..." msgstr "Folder Má»›i..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "Là m má»›i" @@ -1514,11 +1528,34 @@ msgstr "Di chuyển Ưa thÃch lên" msgid "Move Favorite Down" msgstr "Di chuyển Ưa thÃch xuống" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "ThÆ° mục trÆ°á»›c" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "Tạo Folder" + +#: editor/editor_file_dialog.cpp #, fuzzy msgid "Go to parent folder" msgstr "Äến folder parent" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +msgstr "Không thể tạo folder." + +#: 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 "Những địa chỉ & File:" @@ -1748,8 +1785,8 @@ msgstr "" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" +#: editor/editor_node.cpp +msgid "Imported resources can't be saved." msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp @@ -1758,6 +1795,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "" @@ -3006,14 +3053,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3156,10 +3195,6 @@ msgid "Search files" msgstr "Tìm kiếm:" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5157,19 +5192,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5260,11 +5295,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5862,6 +5897,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -6934,6 +6977,23 @@ msgid "Merge from Scene" msgstr "Gá»™p từ Scene" #: 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "ThÆ° mục trÆ°á»›c" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7085,6 +7145,15 @@ 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 "Tạo" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "Xóa Template" @@ -7208,6 +7277,10 @@ 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 "" @@ -9791,6 +9864,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -9805,6 +9884,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -9949,6 +10034,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Cảnh báo!" @@ -9957,6 +10050,11 @@ msgstr "Cảnh báo!" msgid "Please Confirm..." msgstr "Xin hãy xác nháºn..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "Äến folder parent" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index f4fa330de9..c1d2f61af9 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -41,12 +41,13 @@ # Zhang Zhibo <zzhibo98@gmail.com>, 2019. # ws00010203 <ws00010203@hotmail.com>, 2019. # Song DongHui <14729626293@163.com>, 2019. +# simano clio <sim2cle@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2019-02-21 21:17+0000\n" -"Last-Translator: yzt <834950797@qq.com>\n" +"PO-Revision-Date: 2019-03-24 04:06+0000\n" +"Last-Translator: simano clio <sim2cle@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -54,7 +55,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 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -159,9 +160,8 @@ msgid "Anim Change Call" 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 @@ -1394,8 +1394,22 @@ msgstr "打包ä¸" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1443,7 +1457,7 @@ msgstr "在文件管ç†å™¨ä¸æ˜¾ç¤º" msgid "New Folder..." msgstr "新建文件夹 ..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "刷新" @@ -1518,10 +1532,33 @@ msgstr "å‘上移动收è—" msgid "Move Favorite Down" msgstr "å‘下移动收è—" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "上一个层" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "下一层" + +#: editor/editor_file_dialog.cpp msgid "Go to parent folder" msgstr "转到上层文件夹" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "目录|文件:" @@ -1743,9 +1780,10 @@ msgstr "清空输出" msgid "Project export failed with error code %d." msgstr "项目导出失败,错误代ç %d。" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -msgstr "ä¿å˜èµ„æºå‡ºé”™ï¼" +#: editor/editor_node.cpp +#, fuzzy +msgid "Imported resources can't be saved." +msgstr "已导入的资æº" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp #: scene/gui/dialogs.cpp @@ -1753,6 +1791,16 @@ msgid "OK" msgstr "好的" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "ä¿å˜èµ„æºå‡ºé”™ï¼" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "资æºå¦å˜ä¸º..." @@ -3025,14 +3073,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "å› ä¸ºæ–‡ä»¶ç³»ç»Ÿæ²¡æ‰¾åˆ°æ–‡ä»¶ï¼Œä¸èƒ½å®šä½åˆ°'%s'ï¼" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "ä»¥ç½‘æ ¼ç¼©ç•¥å›¾å½¢å¼æŸ¥çœ‹æ‰€æœ‰é¡¹ã€‚" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "以列表的形å¼æŸ¥çœ‹æ‰€æœ‰é¡¹ã€‚" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "状æ€: 导入文件失败。请手动修å¤æ–‡ä»¶åŽé‡æ–°å¯¼å…¥ã€‚" @@ -3168,10 +3208,6 @@ msgid "Search files" msgstr "æœç´¢æ–‡ä»¶" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "将选ä¸çš„场景实例为选ä¸èŠ‚点的å节点。" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5141,6 +5177,10 @@ 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 "å¯ä»¥è®¾ç½®ParticlesMaterial 点的æè´¨" @@ -5153,10 +5193,6 @@ msgid "No pixels with transparency > 128 in image..." msgstr "图片ä¸æ²¡æœ‰é€æ˜Žåº¦> 128çš„åƒç´ ..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" -msgstr "生æˆå¯è§†åŒ–区域" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" msgstr "åŠ è½½Emission Mask(å‘å°„å±è”½ï¼‰" @@ -5244,13 +5280,13 @@ msgid "Generating AABB" msgstr "æ£åœ¨ç”ŸæˆAABB" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" -msgstr "生æˆAABB" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" msgstr "生æˆå¯è§çš„AABB" +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "生æˆAABB" + #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" msgstr "从曲线ä¸ç§»é™¤é¡¶ç‚¹" @@ -5829,6 +5865,14 @@ msgid "Open Godot online documentation" msgstr "打开Godot在线文档" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "æœç´¢æ–‡æ¡£ã€‚" @@ -6890,6 +6934,24 @@ msgid "Merge from Scene" msgstr "从场景ä¸åˆå¹¶" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "上一个层" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "å¤åˆ¶ä½æŽ©ç 。" @@ -7044,6 +7106,16 @@ msgid "Clear Tile Bitmask" msgstr "清除ä½æŽ©ç " #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Concave" +msgstr "移动多边形" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Make Polygon Convex" +msgstr "移动多边形" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Tile" msgstr "移除ç£è´´" @@ -7166,6 +7238,11 @@ msgid "Exporting All" msgstr "全部导出" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "路径ä¸å˜åœ¨ã€‚" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "没有æ¤å¹³å°çš„导出模æ¿:" @@ -9797,6 +9874,12 @@ 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 "" + #: scene/3d/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "æ— ç‰©å¯è§ï¼Œå› ä¸ºæ²¡æœ‰æŒ‡å®šç½‘æ ¼ã€‚" @@ -9811,6 +9894,12 @@ msgstr "CPUParticles动画需è¦ä½¿ç”¨å¯åŠ¨äº†â€œBillboard Particlesâ€çš„Spati 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "æ¤èŠ‚点需è¦è®¾ç½®NavigationMesh资æºæ‰èƒ½æ£å¸¸å·¥ä½œã€‚" @@ -9969,6 +10058,14 @@ msgstr "在åå…进制值和代ç 值之间切æ¢ã€‚" msgid "Add current color as a preset." msgstr "将当å‰é¢œè‰²æ·»åŠ 为预设。" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "æ示ï¼" @@ -9977,6 +10074,11 @@ msgstr "æ示ï¼" msgid "Please Confirm..." msgstr "请确认..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "转到上层文件夹" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " @@ -10056,6 +10158,9 @@ msgstr "对uniform的赋值。" msgid "Varyings can only be assigned in vertex function." msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸æŒ‡å®šã€‚" +#~ msgid "Instance the selected scene(s) as child of the selected node." +#~ msgstr "将选ä¸çš„场景实例为选ä¸èŠ‚点的å节点。" + #~ msgid "FPS" #~ msgstr "帧数" @@ -11582,9 +11687,6 @@ msgstr "å˜é‡åªèƒ½åœ¨é¡¶ç‚¹å‡½æ•°ä¸æŒ‡å®šã€‚" #~ msgid "Cannot go into subdir:" #~ msgstr "æ— æ³•æ‰“å¼€ç›®å½•:" -#~ msgid "Imported Resources" -#~ msgstr "已导入的资æº" - #~ msgid "Insert Keys (Ins)" #~ msgstr "æ’入关键帧( 创建轨é“)" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 662dbaddf2..2abca01297 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -1446,8 +1446,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1502,7 +1516,7 @@ msgstr "é–‹å•Ÿ Project Manager?" msgid "New Folder..." msgstr "新增資料夾" -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "é‡æ–°æ•´ç†" @@ -1579,11 +1593,34 @@ msgstr "上移最愛" msgid "Move Favorite Down" msgstr "下移最愛" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "上一個tab" + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "新增資料夾" + +#: editor/editor_file_dialog.cpp #, fuzzy msgid "Go to parent folder" msgstr "無法新增資料夾" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "資料夾和檔案:" @@ -1824,10 +1861,9 @@ msgstr "下一個腳本" msgid "Project export failed with error code %d." msgstr "" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy -msgid "Error saving resource!" -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 @@ -1835,6 +1871,17 @@ msgid "OK" msgstr "OK" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +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 "把資æºå¦å˜ç‚º..." @@ -3151,14 +3198,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3311,10 +3350,6 @@ msgid "Search files" msgstr "在幫助檔æœå°‹" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5349,19 +5384,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5453,11 +5488,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -6074,6 +6109,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7178,6 +7221,24 @@ msgid "Merge from Scene" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "上一個tab" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7333,6 +7394,15 @@ 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 "縮放selection" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "移除é¸é …" @@ -7466,6 +7536,11 @@ msgid "Exporting All" msgstr "匯出" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "檔案ä¸å˜åœ¨." + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" @@ -10141,6 +10216,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10155,6 +10236,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10302,6 +10389,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -10310,6 +10405,11 @@ msgstr "è¦å‘Š!" msgid "Please Confirm..." msgstr "請確èª..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "無法新增資料夾" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index e267264d11..b04a702467 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -13,12 +13,13 @@ # Sam Pan <sampan66@gmail.com>, 2016. # ken l <macauhome@gmail.com>, 2018. # Eric K <eric900601@gmail.com>, 2019. +# cnieFIT <dtotncq@gmail.com>, 2019. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2019-02-01 12:09+0000\n" -"Last-Translator: Eric K <eric900601@gmail.com>\n" +"PO-Revision-Date: 2019-03-28 09:36+0000\n" +"Last-Translator: cnieFIT <dtotncq@gmail.com>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hant/>\n" "Language: zh_TW\n" @@ -26,7 +27,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 3.5-dev\n" +"X-Generator: Weblate 3.6-dev\n" #: core/math/expression.cpp modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -58,28 +59,28 @@ 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â€æ™‚:" #: editor/animation_bezier_editor.cpp #: editor/plugins/asset_library_editor_plugin.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 msgid "Insert Key Here" @@ -138,31 +139,31 @@ 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" -msgstr "" +msgstr "屬性軌é“" #: editor/animation_track_editor.cpp msgid "3D Transform Track" -msgstr "" +msgstr "3D 變æ›è»Œé“" #: editor/animation_track_editor.cpp msgid "Call Method Track" -msgstr "" +msgstr "調用方法軌é“" #: editor/animation_track_editor.cpp msgid "Bezier Curve Track" -msgstr "" +msgstr "è²å¡žçˆ¾æ›²ç·šè»Œè·¡" #: editor/animation_track_editor.cpp msgid "Audio Playback Track" -msgstr "" +msgstr "音訊回放軌é“" #: editor/animation_track_editor.cpp msgid "Animation Playback Track" -msgstr "" +msgstr "動畫回放軌é“" #: editor/animation_track_editor.cpp #, fuzzy @@ -181,15 +182,15 @@ 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 @@ -198,11 +199,11 @@ 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" @@ -254,7 +255,7 @@ msgstr "線性" #: editor/animation_track_editor.cpp msgid "Cubic" -msgstr "" +msgstr "立方體" #: editor/animation_track_editor.cpp msgid "Clamp Loop Interp" @@ -267,7 +268,7 @@ msgstr "" #: editor/animation_track_editor.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "æ’å…¥ç•«æ ¼" #: editor/animation_track_editor.cpp #, fuzzy @@ -356,11 +357,11 @@ msgid "" "-AudioStreamPlayer\n" "-AudioStreamPlayer2D\n" "-AudioStreamPlayer3D" -msgstr "" +msgstr "音訊曲目åªèƒ½æŒ‡å‘以下類型的節點:" #: 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." @@ -368,7 +369,7 @@ msgstr "" #: editor/animation_track_editor.cpp msgid "Not possible to add a new track without a root" -msgstr "" +msgstr "ç„¡æ³•æ·»åŠ æ²’æœ‰æ ¹ç›®éŒ„çš„æ–°æ›²ç›®" #: editor/animation_track_editor.cpp #, fuzzy @@ -1413,8 +1414,22 @@ msgstr "" #: editor/editor_export.cpp msgid "" -"Target platform requires 'ETC' texture compression for GLES2. Enable support " -"in Project Settings." +"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 @@ -1465,7 +1480,7 @@ msgstr "在檔案管ç†å“¡å…§é¡¯ç¤º" msgid "New Folder..." msgstr "新增資料夾..." -#: editor/editor_file_dialog.cpp +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Refresh" msgstr "é‡æ–°æ•´ç†" @@ -1541,11 +1556,34 @@ msgstr "" msgid "Move Favorite Down" msgstr "" -#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Previous Folder" +msgstr "上個分é " + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Next Folder" +msgstr "新增資料夾" + +#: editor/editor_file_dialog.cpp #, fuzzy msgid "Go to parent folder" msgstr "無法新增資料夾" +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "(Un)favorite current folder." +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 "資料夾 & 檔案:" @@ -1784,9 +1822,9 @@ msgstr "輸出:" msgid "Project export failed with error code %d." msgstr "專案輸出失敗,錯誤代碼是 %d。" -#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp -msgid "Error saving resource!" -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 @@ -1794,6 +1832,16 @@ msgid "OK" msgstr "" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "儲å˜è³‡æºéŒ¯èª¤!" + +#: editor/editor_node.cpp +msgid "" +"This resource can't be saved because it does not belong to the edited scene. " +"Make it unique first." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As..." msgstr "å¦å˜è³‡æºç‚º..." @@ -2660,7 +2708,7 @@ msgstr "" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "å¹³å‡æ™‚é–“ (秒)" #: editor/editor_profiler.cpp msgid "Frame %" @@ -2668,11 +2716,11 @@ msgstr "" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "物ç†å¹€%" #: editor/editor_profiler.cpp msgid "Time:" -msgstr "" +msgstr "時間:" #: editor/editor_profiler.cpp msgid "Inclusive" @@ -2680,27 +2728,27 @@ msgstr "" #: editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "自身" #: editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "å¹€ #:" #: editor/editor_profiler.cpp msgid "Time" -msgstr "" +msgstr "時間" #: editor/editor_profiler.cpp msgid "Calls" -msgstr "" +msgstr "調用" #: editor/editor_properties.cpp msgid "On" -msgstr "" +msgstr "啟用" #: editor/editor_properties.cpp msgid "Layer" -msgstr "" +msgstr "層" #: editor/editor_properties.cpp msgid "Bit %d, value %d" @@ -2708,11 +2756,11 @@ msgstr "" #: editor/editor_properties.cpp msgid "[Empty]" -msgstr "" +msgstr "[空]" #: editor/editor_properties.cpp editor/plugins/root_motion_editor_plugin.cpp msgid "Assign..." -msgstr "" +msgstr "指派..." #: editor/editor_properties.cpp #, fuzzy @@ -2741,19 +2789,19 @@ msgstr "" #: 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/property_editor.cpp msgid "New %s" -msgstr "" +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 @@ -2767,7 +2815,7 @@ 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 @@ -2788,15 +2836,15 @@ msgstr "" #: 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 msgid "New Key:" -msgstr "" +msgstr "新建帧:" #: editor/editor_properties_array_dict.cpp #, fuzzy @@ -2810,11 +2858,11 @@ msgstr "" #: editor/editor_properties_array_dict.cpp #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "ç§»é™¤é …ç›®" #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "從清單ä¸é¸æ“‡è¨å‚™" #: editor/editor_run_native.cpp msgid "" @@ -2828,80 +2876,80 @@ msgstr "" #: 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 "" +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 "" +msgstr "您是å¦éºæ¼äº† '_run' 方法?" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +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 msgid "Re-Download" -msgstr "" +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 msgid "Download" -msgstr "" +msgstr "下載" #: 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 "" +msgstr "是å¦åˆ 除版本為“%sâ€çš„範本?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "無法打開zip導出範本。" #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates: %s." -msgstr "" +msgstr "範本文件: %s ä¸çš„ version.txt 無效." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "範本ä¸æ²’有找到version.txt文件。" #: editor/export_template_manager.cpp #, fuzzy @@ -2910,22 +2958,22 @@ 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 "" "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 @@ -2936,32 +2984,32 @@ msgstr "連接..." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response." -msgstr "" +msgstr "沒有回應。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request Failed." -msgstr "" +msgstr "請求失敗." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "é‡æ–°å®šå‘循環." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "失敗:" #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "下載完æˆã€‚" #: editor/export_template_manager.cpp msgid "" "Templates installation failed. The problematic templates archives can be " "found at '%s'." -msgstr "" +msgstr "範本安è£å¤±æ•—。有å•é¡Œçš„範本å˜æª”å¯ä»¥åœ¨ \"% s\" ä¸æ‰¾åˆ°ã€‚" #: editor/export_template_manager.cpp #, fuzzy @@ -2980,11 +3028,11 @@ msgstr "æ–·ç·š" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "" +msgstr "解æžä¸" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "無法解æž" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -3005,7 +3053,7 @@ msgstr "連接..." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting..." -msgstr "" +msgstr "æ£åœ¨è«‹æ±‚…" #: editor/export_template_manager.cpp #, fuzzy @@ -3019,31 +3067,31 @@ msgstr "連接..." #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "SSLæ¡æ‰‹éŒ¯èª¤" #: 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 msgid "Select template file" -msgstr "" +msgstr "é¸æ“‡ç¯„本檔案" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "導出範本管ç†å™¨" #: editor/export_template_manager.cpp #, fuzzy @@ -3052,7 +3100,7 @@ msgstr "è¼‰å…¥å ´æ™¯æ™‚ç™¼ç”ŸéŒ¯èª¤" #: editor/export_template_manager.cpp msgid "Select mirror from list: (Shift+Click: Open in Browser)" -msgstr "" +msgstr "從清單ä¸é¸æ“‡é¡åƒ: (Shift + 單擊: 在ç€è¦½å™¨ä¸æ‰“é–‹)" #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" @@ -3068,14 +3116,6 @@ msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" #: editor/filesystem_dock.cpp -msgid "View items as a grid of thumbnails." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "View items as a list." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "Status: Import of file failed. Please fix file and reimport manually." msgstr "" @@ -3225,10 +3265,6 @@ msgid "Search files" msgstr "æœå°‹ Class" #: editor/filesystem_dock.cpp -msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" - -#: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait..." @@ -5236,19 +5272,19 @@ msgid "Generating Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Can only set point into a ParticlesMaterial process material" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Error loading image:" +msgid "Can only set point into a ParticlesMaterial process material" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "No pixels with transparency > 128 in image..." +msgid "Error loading image:" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "No pixels with transparency > 128 in image..." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -5340,11 +5376,11 @@ msgid "Generating AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate AABB" +msgid "Generate Visibility AABB" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Generate Visibility AABB" +msgid "Generate AABB" msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp @@ -5955,6 +5991,14 @@ msgid "Open Godot online documentation" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Request Docs" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Help improve the Godot documentation by giving feedback" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." msgstr "" @@ -7045,6 +7089,23 @@ msgid "Merge from Scene" 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 +#, fuzzy +msgid "Previous Coordinate" +msgstr "上個分é " + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Select the previous shape, subtile, or Tile." +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Copy bitmask." msgstr "" @@ -7200,6 +7261,15 @@ 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 "新增資料夾" + +#: editor/plugins/tile_set_editor_plugin.cpp #, fuzzy msgid "Remove Tile" msgstr "移除" @@ -7327,6 +7397,11 @@ msgid "Exporting All" msgstr "輸出" #: editor/project_export.cpp +#, fuzzy +msgid "The given export path doesn't exist:" +msgstr "檔案ä¸å˜åœ¨" + +#: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" msgstr "" @@ -9988,6 +10063,12 @@ msgid "" "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/cpu_particles.cpp msgid "Nothing is visible because no mesh has been assigned." msgstr "" @@ -10002,6 +10083,12 @@ msgstr "" 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/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -10150,6 +10237,14 @@ msgstr "" msgid "Add current color as a preset." msgstr "將目å‰é¡è‰²è¨ç‚ºé è¨" +#: scene/gui/container.cpp +msgid "" +"Container by itself serves no purpose unless a script configures it's " +"children placement behavior.\n" +"If you dont't intend to add a script, then please use a plain 'Control' node " +"instead." +msgstr "" + #: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -10158,6 +10253,11 @@ msgstr "è¦å‘Š!" msgid "Please Confirm..." msgstr "請確èª..." +#: scene/gui/file_dialog.cpp +#, fuzzy +msgid "Go to parent folder." +msgstr "無法新增資料夾" + #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " diff --git a/main/input_default.cpp b/main/input_default.cpp index 65910b34bc..e9f1eeff6a 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -355,7 +355,7 @@ void InputDefault::_parse_input_event_impl(const Ref<InputEvent> &p_event, bool Ref<InputEventMouseButton> button_event; button_event.instance(); - button_event->set_device(-1); + button_event->set_device(InputEvent::DEVICE_ID_TOUCH_MOUSE); button_event->set_position(st->get_position()); button_event->set_global_position(st->get_position()); button_event->set_pressed(st->is_pressed()); @@ -384,7 +384,7 @@ void InputDefault::_parse_input_event_impl(const Ref<InputEvent> &p_event, bool Ref<InputEventMouseMotion> motion_event; motion_event.instance(); - motion_event->set_device(-1); + motion_event->set_device(InputEvent::DEVICE_ID_TOUCH_MOUSE); motion_event->set_position(sd->get_position()); motion_event->set_global_position(sd->get_position()); motion_event->set_relative(sd->get_relative()); @@ -602,7 +602,7 @@ void InputDefault::ensure_touch_mouse_raised() { Ref<InputEventMouseButton> button_event; button_event.instance(); - button_event->set_device(-1); + button_event->set_device(InputEvent::DEVICE_ID_TOUCH_MOUSE); button_event->set_position(mouse_pos); button_event->set_global_position(mouse_pos); button_event->set_pressed(false); diff --git a/main/main.cpp b/main/main.cpp index 3d72e90f2c..fc9ec3b2d9 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1209,6 +1209,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) { GLOBAL_DEF("display/mouse_cursor/custom_image", String()); GLOBAL_DEF("display/mouse_cursor/custom_image_hotspot", Vector2()); + GLOBAL_DEF("display/mouse_cursor/tooltip_position_offset", Point2(10, 10)); ProjectSettings::get_singleton()->set_custom_property_info("display/mouse_cursor/custom_image", PropertyInfo(Variant::STRING, "display/mouse_cursor/custom_image", PROPERTY_HINT_FILE, "*.png,*.webp")); if (String(ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) != String()) { diff --git a/main/tests/test_gdscript.cpp b/main/tests/test_gdscript.cpp index 55e31a18c3..7a711e8cc9 100644 --- a/main/tests/test_gdscript.cpp +++ b/main/tests/test_gdscript.cpp @@ -127,6 +127,7 @@ static String _parser_expr(const GDScriptParser::Node *p_expr) { case GDScriptParser::OperatorNode::OP_PARENT_CALL: txt += "."; + FALLTHROUGH; case GDScriptParser::OperatorNode::OP_CALL: { ERR_FAIL_COND_V(c_node->arguments.size() < 1, ""); @@ -563,7 +564,7 @@ static void _disassemble_class(const Ref<GDScript> &p_class, const Vector<String case GDScriptFunction::OPCODE_OPERATOR: { int op = code[ip + 1]; - txt += "op "; + txt += " op "; String opname = Variant::get_operator_name(Variant::Operator(op)); diff --git a/methods.py b/methods.py index 7465962187..5bc30dc643 100644 --- a/methods.py +++ b/methods.py @@ -668,5 +668,8 @@ def get_compiler_version(env): else: return None -def use_gcc(env): +def using_gcc(env): return 'gcc' in os.path.basename(env["CC"]) + +def using_clang(env): + return 'clang' in os.path.basename(env["CC"]) diff --git a/misc/dist/linux/godot.6 b/misc/dist/linux/godot.6 index 078f8bcf91..4860c7b5a8 100644 --- a/misc/dist/linux/godot.6 +++ b/misc/dist/linux/godot.6 @@ -1,4 +1,4 @@ -.TH GODOT "6" "January 2019" "godot 3.1" "Games" +.TH GODOT "6" "March 2019" "godot 3.2" "Games" .SH NAME godot \- multi\-platform 2D and 3D game engine with a feature\-rich editor .SH SYNOPSIS diff --git a/misc/dist/linux/org.godotengine.Godot.xml b/misc/dist/linux/x-godot-project.xml index 0572e4e54e..0572e4e54e 100644 --- a/misc/dist/linux/org.godotengine.Godot.xml +++ b/misc/dist/linux/x-godot-project.xml diff --git a/misc/dist/osx_tools.app/Contents/Info.plist b/misc/dist/osx_tools.app/Contents/Info.plist index 2d6fa4d059..bb22f1807c 100755 --- a/misc/dist/osx_tools.app/Contents/Info.plist +++ b/misc/dist/osx_tools.app/Contents/Info.plist @@ -19,11 +19,13 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>3.1</string> + <string>3.2</string> <key>CFBundleSignature</key> <string>godot</string> <key>CFBundleVersion</key> - <string>3.1</string> + <string>3.2</string> + <key>NSRequiresAquaSystemAppearance</key> + <false /> <key>NSHumanReadableCopyright</key> <string>© 2007-2019 Juan Linietsky, Ariel Manzur & Godot Engine contributors</string> <key>LSMinimumSystemVersion</key> diff --git a/modules/bullet/doc_classes/BulletPhysicsDirectBodyState.xml b/modules/bullet/doc_classes/BulletPhysicsDirectBodyState.xml index a4dc61d0bc..1f91349f32 100644 --- a/modules/bullet/doc_classes/BulletPhysicsDirectBodyState.xml +++ b/modules/bullet/doc_classes/BulletPhysicsDirectBodyState.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BulletPhysicsDirectBodyState" inherits="PhysicsDirectBodyState" category="Core" version="3.1"> +<class name="BulletPhysicsDirectBodyState" inherits="PhysicsDirectBodyState" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/bullet/doc_classes/BulletPhysicsServer.xml b/modules/bullet/doc_classes/BulletPhysicsServer.xml index 1486936cf4..8adc659b2c 100644 --- a/modules/bullet/doc_classes/BulletPhysicsServer.xml +++ b/modules/bullet/doc_classes/BulletPhysicsServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BulletPhysicsServer" inherits="PhysicsServer" category="Core" version="3.1"> +<class name="BulletPhysicsServer" inherits="PhysicsServer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/bullet/shape_bullet.cpp b/modules/bullet/shape_bullet.cpp index 1aba31f03d..b590d63167 100644 --- a/modules/bullet/shape_bullet.cpp +++ b/modules/bullet/shape_bullet.cpp @@ -510,16 +510,17 @@ void HeightMapShapeBullet::set_data(const Variant &p_data) { // Compute min and max heights if not specified. if (!d.has("min_height") && !d.has("max_height")) { - PoolVector<real_t>::Read r = heights.read(); - int heights_size = heights.size(); + PoolVector<real_t>::Read r = l_heights.read(); + int heights_size = l_heights.size(); for (int i = 0; i < heights_size; ++i) { real_t h = r[i]; - if (h < l_min_height) + if (h < l_min_height) { l_min_height = h; - else if (h > l_max_height) + } else if (h > l_max_height) { l_max_height = h; + } } } diff --git a/modules/csg/csg_gizmos.cpp b/modules/csg/csg_gizmos.cpp index 3044887ef5..d4069b901f 100644 --- a/modules/csg/csg_gizmos.cpp +++ b/modules/csg/csg_gizmos.cpp @@ -283,6 +283,10 @@ String CSGShapeSpatialGizmoPlugin::get_name() const { return "CSGShapes"; } +int CSGShapeSpatialGizmoPlugin::get_priority() const { + return -1; +} + bool CSGShapeSpatialGizmoPlugin::is_selectable_when_hidden() const { return true; } diff --git a/modules/csg/csg_gizmos.h b/modules/csg/csg_gizmos.h index b208c39938..0915d05111 100644 --- a/modules/csg/csg_gizmos.h +++ b/modules/csg/csg_gizmos.h @@ -42,6 +42,7 @@ class CSGShapeSpatialGizmoPlugin : public EditorSpatialGizmoPlugin { public: bool has_gizmo(Spatial *p_spatial); String get_name() const; + int get_priority() const; bool is_selectable_when_hidden() const; void redraw(EditorSpatialGizmo *p_gizmo); diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp index f274fff3f3..775ec67ba6 100644 --- a/modules/csg/csg_shape.cpp +++ b/modules/csg/csg_shape.cpp @@ -806,8 +806,8 @@ CSGBrush *CSGMesh::_build_brush() { uvw[as + j + 1] = uv[1]; uvw[as + j + 2] = uv[2]; - sw[j / 3] = !flat; - mw[j / 3] = mat; + sw[(as + j) / 3] = !flat; + mw[(as + j) / 3] = mat; } } else { int as = vertices.size(); @@ -849,8 +849,8 @@ CSGBrush *CSGMesh::_build_brush() { uvw[as + j + 1] = uv[1]; uvw[as + j + 2] = uv[2]; - sw[j / 3] = !flat; - mw[j / 3] = mat; + sw[(as + j) / 3] = !flat; + mw[(as + j) / 3] = mat; } } } diff --git a/modules/csg/doc_classes/CSGBox.xml b/modules/csg/doc_classes/CSGBox.xml index 5ec7b5089d..1684850f0a 100644 --- a/modules/csg/doc_classes/CSGBox.xml +++ b/modules/csg/doc_classes/CSGBox.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGBox" inherits="CSGPrimitive" category="Core" version="3.1"> +<class name="CSGBox" inherits="CSGPrimitive" category="Core" version="3.2"> <brief_description> A CSG Box shape. </brief_description> diff --git a/modules/csg/doc_classes/CSGCombiner.xml b/modules/csg/doc_classes/CSGCombiner.xml index 69c5df5840..819a4a3a22 100644 --- a/modules/csg/doc_classes/CSGCombiner.xml +++ b/modules/csg/doc_classes/CSGCombiner.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGCombiner" inherits="CSGShape" category="Core" version="3.1"> +<class name="CSGCombiner" inherits="CSGShape" category="Core" version="3.2"> <brief_description> A CSG node that allows you to combine other CSG modifiers. </brief_description> diff --git a/modules/csg/doc_classes/CSGCylinder.xml b/modules/csg/doc_classes/CSGCylinder.xml index 92b170ed1f..50a88d6773 100644 --- a/modules/csg/doc_classes/CSGCylinder.xml +++ b/modules/csg/doc_classes/CSGCylinder.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGCylinder" inherits="CSGPrimitive" category="Core" version="3.1"> +<class name="CSGCylinder" inherits="CSGPrimitive" category="Core" version="3.2"> <brief_description> A CSG Cylinder shape. </brief_description> diff --git a/modules/csg/doc_classes/CSGMesh.xml b/modules/csg/doc_classes/CSGMesh.xml index 58e2bc1c4b..fc9815d7c0 100644 --- a/modules/csg/doc_classes/CSGMesh.xml +++ b/modules/csg/doc_classes/CSGMesh.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGMesh" inherits="CSGPrimitive" category="Core" version="3.1"> +<class name="CSGMesh" inherits="CSGPrimitive" category="Core" version="3.2"> <brief_description> A CSG Mesh shape that uses a mesh resource. </brief_description> diff --git a/modules/csg/doc_classes/CSGPolygon.xml b/modules/csg/doc_classes/CSGPolygon.xml index a33e5557cb..ae75f7e01b 100644 --- a/modules/csg/doc_classes/CSGPolygon.xml +++ b/modules/csg/doc_classes/CSGPolygon.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGPolygon" inherits="CSGPrimitive" category="Core" version="3.1"> +<class name="CSGPolygon" inherits="CSGPrimitive" category="Core" version="3.2"> <brief_description> Extrudes a 2D polygon shape to create a 3D mesh. </brief_description> diff --git a/modules/csg/doc_classes/CSGPrimitive.xml b/modules/csg/doc_classes/CSGPrimitive.xml index 2591bab7e3..502a8230e4 100644 --- a/modules/csg/doc_classes/CSGPrimitive.xml +++ b/modules/csg/doc_classes/CSGPrimitive.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGPrimitive" inherits="CSGShape" category="Core" version="3.1"> +<class name="CSGPrimitive" inherits="CSGShape" category="Core" version="3.2"> <brief_description> Base class for CSG primitives. </brief_description> diff --git a/modules/csg/doc_classes/CSGShape.xml b/modules/csg/doc_classes/CSGShape.xml index d304d0179f..ccfc5a04c0 100644 --- a/modules/csg/doc_classes/CSGShape.xml +++ b/modules/csg/doc_classes/CSGShape.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGShape" inherits="VisualInstance" category="Core" version="3.1"> +<class name="CSGShape" inherits="VisualInstance" category="Core" version="3.2"> <brief_description> The CSG base class. </brief_description> diff --git a/modules/csg/doc_classes/CSGSphere.xml b/modules/csg/doc_classes/CSGSphere.xml index a0069879cb..088c9f14eb 100644 --- a/modules/csg/doc_classes/CSGSphere.xml +++ b/modules/csg/doc_classes/CSGSphere.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGSphere" inherits="CSGPrimitive" category="Core" version="3.1"> +<class name="CSGSphere" inherits="CSGPrimitive" category="Core" version="3.2"> <brief_description> A CSG Sphere shape. </brief_description> diff --git a/modules/csg/doc_classes/CSGTorus.xml b/modules/csg/doc_classes/CSGTorus.xml index 187d71a2fa..946637bd2c 100644 --- a/modules/csg/doc_classes/CSGTorus.xml +++ b/modules/csg/doc_classes/CSGTorus.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSGTorus" inherits="CSGPrimitive" category="Core" version="3.1"> +<class name="CSGTorus" inherits="CSGPrimitive" category="Core" version="3.2"> <brief_description> A CSG Torus shape. </brief_description> diff --git a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml index c9a7d96ae7..c1bec533dd 100644 --- a/modules/enet/doc_classes/NetworkedMultiplayerENet.xml +++ b/modules/enet/doc_classes/NetworkedMultiplayerENet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NetworkedMultiplayerENet" inherits="NetworkedMultiplayerPeer" category="Core" version="3.1"> +<class name="NetworkedMultiplayerENet" inherits="NetworkedMultiplayerPeer" category="Core" version="3.2"> <brief_description> PacketPeer implementation using the ENet library. </brief_description> diff --git a/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml b/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml index be86ff0541..afb014d608 100644 --- a/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml +++ b/modules/gdnative/doc_classes/ARVRInterfaceGDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRInterfaceGDNative" inherits="ARVRInterface" category="Core" version="3.1"> +<class name="ARVRInterfaceGDNative" inherits="ARVRInterface" category="Core" version="3.2"> <brief_description> GDNative wrapper for an ARVR interface </brief_description> diff --git a/modules/gdnative/doc_classes/GDNative.xml b/modules/gdnative/doc_classes/GDNative.xml index ca0457623f..e5a59aad07 100644 --- a/modules/gdnative/doc_classes/GDNative.xml +++ b/modules/gdnative/doc_classes/GDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDNative" inherits="Reference" category="Core" version="3.1"> +<class name="GDNative" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/GDNativeLibrary.xml b/modules/gdnative/doc_classes/GDNativeLibrary.xml index 754a6d2514..ba5278d440 100644 --- a/modules/gdnative/doc_classes/GDNativeLibrary.xml +++ b/modules/gdnative/doc_classes/GDNativeLibrary.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDNativeLibrary" inherits="Resource" category="Core" version="3.1"> +<class name="GDNativeLibrary" inherits="Resource" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/MultiplayerPeerGDNative.xml b/modules/gdnative/doc_classes/MultiplayerPeerGDNative.xml index 4433179726..ba481a6d6e 100644 --- a/modules/gdnative/doc_classes/MultiplayerPeerGDNative.xml +++ b/modules/gdnative/doc_classes/MultiplayerPeerGDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MultiplayerPeerGDNative" inherits="NetworkedMultiplayerPeer" category="Core" version="3.1"> +<class name="MultiplayerPeerGDNative" inherits="NetworkedMultiplayerPeer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/NativeScript.xml b/modules/gdnative/doc_classes/NativeScript.xml index 37d5b79e7a..c50f9eee22 100644 --- a/modules/gdnative/doc_classes/NativeScript.xml +++ b/modules/gdnative/doc_classes/NativeScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NativeScript" inherits="Script" category="Core" version="3.1"> +<class name="NativeScript" inherits="Script" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/PacketPeerGDNative.xml b/modules/gdnative/doc_classes/PacketPeerGDNative.xml index 0ae54bc9c7..f4d7d22f5b 100644 --- a/modules/gdnative/doc_classes/PacketPeerGDNative.xml +++ b/modules/gdnative/doc_classes/PacketPeerGDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PacketPeerGDNative" inherits="PacketPeer" category="Core" version="3.1"> +<class name="PacketPeerGDNative" inherits="PacketPeer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/PluginScript.xml b/modules/gdnative/doc_classes/PluginScript.xml index 1876d06c20..8510708124 100644 --- a/modules/gdnative/doc_classes/PluginScript.xml +++ b/modules/gdnative/doc_classes/PluginScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PluginScript" inherits="Script" category="Core" version="3.1"> +<class name="PluginScript" inherits="Script" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/ResourceFormatLoaderVideoStreamGDNative.xml b/modules/gdnative/doc_classes/ResourceFormatLoaderVideoStreamGDNative.xml index 61a7f60499..8e7f4698ff 100644 --- a/modules/gdnative/doc_classes/ResourceFormatLoaderVideoStreamGDNative.xml +++ b/modules/gdnative/doc_classes/ResourceFormatLoaderVideoStreamGDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderVideoStreamGDNative" inherits="ResourceFormatLoader" category="Core" version="3.1"> +<class name="ResourceFormatLoaderVideoStreamGDNative" inherits="ResourceFormatLoader" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/StreamPeerGDNative.xml b/modules/gdnative/doc_classes/StreamPeerGDNative.xml index d86cd2c25a..eddebf4889 100644 --- a/modules/gdnative/doc_classes/StreamPeerGDNative.xml +++ b/modules/gdnative/doc_classes/StreamPeerGDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StreamPeerGDNative" inherits="StreamPeer" category="Core" version="3.1"> +<class name="StreamPeerGDNative" inherits="StreamPeer" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/doc_classes/VideoStreamGDNative.xml b/modules/gdnative/doc_classes/VideoStreamGDNative.xml index 20575c768b..d5c5ed7ccf 100644 --- a/modules/gdnative/doc_classes/VideoStreamGDNative.xml +++ b/modules/gdnative/doc_classes/VideoStreamGDNative.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VideoStreamGDNative" inherits="VideoStream" category="Core" version="3.1"> +<class name="VideoStreamGDNative" inherits="VideoStream" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdnative/gdnative.cpp b/modules/gdnative/gdnative.cpp index 34325db9fd..e8278825bc 100644 --- a/modules/gdnative/gdnative.cpp +++ b/modules/gdnative/gdnative.cpp @@ -414,6 +414,7 @@ bool GDNative::terminate() { if (error || !library_terminate) { OS::get_singleton()->close_dynamic_library(native_handle); native_handle = NULL; + initialized = false; return true; } diff --git a/modules/gdnative/nativescript/api_generator.cpp b/modules/gdnative/nativescript/api_generator.cpp index b99c5d31ab..7eb4294732 100644 --- a/modules/gdnative/nativescript/api_generator.cpp +++ b/modules/gdnative/nativescript/api_generator.cpp @@ -279,7 +279,7 @@ List<ClassAPI> generate_c_api_classes() { MethodInfo &method_info = m->get(); //method name - method_api.method_name = m->get().name; + method_api.method_name = method_info.name; //method return type if (method_api.method_name.find(":") != -1) { method_api.return_type = method_api.method_name.get_slice(":", 1); @@ -321,6 +321,8 @@ List<ClassAPI> generate_c_api_classes() { arg_type = arg_info.hint_string; } else if (arg_info.type == Variant::NIL) { arg_type = "Variant"; + } else if (arg_info.type == Variant::OBJECT) { + arg_type = arg_info.class_name; } else { arg_type = Variant::get_type_name(arg_info.type); } diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp index c2b772df85..5cf144d4fe 100644 --- a/modules/gdnative/nativescript/nativescript.cpp +++ b/modules/gdnative/nativescript/nativescript.cpp @@ -160,8 +160,10 @@ bool NativeScript::can_instance() const { NativeScriptDesc *script_data = get_script_desc(); #ifdef TOOLS_ENABLED - - return script_data || (!is_tool() && !ScriptServer::is_scripting_enabled()); + // Only valid if this is either a tool script or a "regular" script. + // (so an environment whre scripting is disabled (and not the editor) would not + // create objects). + return script_data && (is_tool() || ScriptServer::is_scripting_enabled()); #else return script_data; #endif @@ -199,25 +201,6 @@ ScriptInstance *NativeScript::instance_create(Object *p_this) { return NULL; } -#ifdef TOOLS_ENABLED - if (!ScriptServer::is_scripting_enabled() && !is_tool()) { - // placeholder for nodes. For tools we want the rool thing. - - PlaceHolderScriptInstance *sins = memnew(PlaceHolderScriptInstance(NSL, Ref<Script>(this), p_this)); - placeholders.insert(sins); - - if (script_data->create_func.create_func) { - script_data->create_func.create_func( - (godot_object *)p_this, - script_data->create_func.method_data); - } - - _update_placeholder(sins); - - return sins; - } -#endif - NativeScriptInstance *nsi = memnew(NativeScriptInstance); nsi->owner = p_this; @@ -246,6 +229,19 @@ ScriptInstance *NativeScript::instance_create(Object *p_this) { return nsi; } +PlaceHolderScriptInstance *NativeScript::placeholder_instance_create(Object *p_this) { +#ifdef TOOLS_ENABLED + PlaceHolderScriptInstance *sins = memnew(PlaceHolderScriptInstance(NSL, Ref<Script>(this), p_this)); + placeholders.insert(sins); + + _update_placeholder(sins); + + return sins; +#else + return NULL; +#endif +} + bool NativeScript::instance_has(const Object *p_this) const { return instance_owners.has((Object *)p_this); } @@ -1036,8 +1032,16 @@ NativeScriptLanguage::~NativeScriptLanguage() { for (Map<String, Ref<GDNative> >::Element *L = NSL->library_gdnatives.front(); L; L = L->next()) { - if (L->get().is_valid()) - L->get()->terminate(); + Ref<GDNative> lib = L->get(); + // only shut down valid libs, duh! + if (lib.is_valid()) { + + // If it's a singleton-library then the gdnative module + // manages the destruction at engine shutdown, not NativeScript. + if (!lib->get_library()->is_singleton()) { + lib->terminate(); + } + } } NSL->library_classes.clear(); @@ -1641,10 +1645,19 @@ void NativeReloadNode::_notification(int p_what) { continue; } + // Don't unload what should not be reloaded! if (!gdn->get_library()->is_reloadable()) { continue; } + // singleton libraries might have alive pointers living inside the + // editor. Also reloading a singleton library would mean that + // the singleton entry will not be called again, as this only + // happens at engine startup. + if (gdn->get_library()->is_singleton()) { + continue; + } + gdn->terminate(); } @@ -1672,6 +1685,12 @@ void NativeReloadNode::_notification(int p_what) { continue; } + // since singleton libraries are not unloaded there is no point + // in loading them again. + if (gdn->get_library()->is_singleton()) { + continue; + } + if (!gdn->initialize()) { libs_to_remove.insert(L->key()); continue; diff --git a/modules/gdnative/nativescript/nativescript.h b/modules/gdnative/nativescript/nativescript.h index 8dd5ba3b9c..a6865c6243 100644 --- a/modules/gdnative/nativescript/nativescript.h +++ b/modules/gdnative/nativescript/nativescript.h @@ -149,6 +149,7 @@ public: virtual StringName get_instance_base_type() const; // this may not work in all scripts, will return empty if so virtual ScriptInstance *instance_create(Object *p_this); + virtual PlaceHolderScriptInstance *placeholder_instance_create(Object *p_this); virtual bool instance_has(const Object *p_this) const; virtual bool has_source_code() const; diff --git a/modules/gdnative/videodecoder/video_stream_gdnative.cpp b/modules/gdnative/videodecoder/video_stream_gdnative.cpp index 8d6f167d04..8fcebe7855 100644 --- a/modules/gdnative/videodecoder/video_stream_gdnative.cpp +++ b/modules/gdnative/videodecoder/video_stream_gdnative.cpp @@ -117,18 +117,20 @@ bool VideoStreamPlaybackGDNative::open_file(const String &p_file) { file = FileAccess::open(p_file, FileAccess::READ); bool file_opened = interface->open_file(data_struct, file); - num_channels = interface->get_channels(data_struct); - mix_rate = interface->get_mix_rate(data_struct); + if (file_opened) { + num_channels = interface->get_channels(data_struct); + mix_rate = interface->get_mix_rate(data_struct); - godot_vector2 vec = interface->get_texture_size(data_struct); - texture_size = *(Vector2 *)&vec; + godot_vector2 vec = interface->get_texture_size(data_struct); + texture_size = *(Vector2 *)&vec; - pcm = (float *)memalloc(num_channels * AUX_BUFFER_SIZE * sizeof(float)); - memset(pcm, 0, num_channels * AUX_BUFFER_SIZE * sizeof(float)); - pcm_write_idx = -1; - samples_decoded = 0; + pcm = (float *)memalloc(num_channels * AUX_BUFFER_SIZE * sizeof(float)); + memset(pcm, 0, num_channels * AUX_BUFFER_SIZE * sizeof(float)); + pcm_write_idx = -1; + samples_decoded = 0; - texture->create((int)texture_size.width, (int)texture_size.height, Image::FORMAT_RGBA8, Texture::FLAG_FILTER | Texture::FLAG_VIDEO_SURFACE); + texture->create((int)texture_size.width, (int)texture_size.height, Image::FORMAT_RGBA8, Texture::FLAG_FILTER | Texture::FLAG_VIDEO_SURFACE); + } return file_opened; } diff --git a/modules/gdscript/doc_classes/GDScript.xml b/modules/gdscript/doc_classes/GDScript.xml index 4cefdbd7cb..46796c68eb 100644 --- a/modules/gdscript/doc_classes/GDScript.xml +++ b/modules/gdscript/doc_classes/GDScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDScript" inherits="Script" category="Core" version="3.1"> +<class name="GDScript" inherits="Script" category="Core" version="3.2"> <brief_description> A script implemented in the GDScript programming language. </brief_description> diff --git a/modules/gdscript/doc_classes/GDScriptFunctionState.xml b/modules/gdscript/doc_classes/GDScriptFunctionState.xml index c205cedef5..f38f39b612 100644 --- a/modules/gdscript/doc_classes/GDScriptFunctionState.xml +++ b/modules/gdscript/doc_classes/GDScriptFunctionState.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDScriptFunctionState" inherits="Reference" category="Core" version="3.1"> +<class name="GDScriptFunctionState" inherits="Reference" category="Core" version="3.2"> <brief_description> State of a function call after yielding. </brief_description> diff --git a/modules/gdscript/doc_classes/GDScriptNativeClass.xml b/modules/gdscript/doc_classes/GDScriptNativeClass.xml index 90935b5c22..e86b69c31c 100644 --- a/modules/gdscript/doc_classes/GDScriptNativeClass.xml +++ b/modules/gdscript/doc_classes/GDScriptNativeClass.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GDScriptNativeClass" inherits="Reference" category="Core" version="3.1"> +<class name="GDScriptNativeClass" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index b2b7b1c260..ae67521749 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -139,17 +139,32 @@ GDScriptDataType GDScriptCompiler::_gdtype_from_datatype(const GDScriptParser::D result.native_type = result.script_type->get_instance_base_type(); } break; case GDScriptParser::DataType::CLASS: { - result.kind = GDScriptDataType::GDSCRIPT; - if (!p_datatype.class_type->owner) { - result.script_type = Ref<GDScript>(main_script); - } else { - result.script_type = class_map[p_datatype.class_type->name]; + // Locate class by constructing the path to it and following that path + GDScriptParser::ClassNode *class_type = p_datatype.class_type; + List<StringName> names; + while (class_type->owner) { + names.push_back(class_type->name); + class_type = class_type->owner; } - result.native_type = result.script_type->get_instance_base_type(); + + Ref<GDScript> script = Ref<GDScript>(main_script); + while (names.back()) { + if (!script->subclasses.has(names.back()->get())) { + ERR_PRINT("Parser bug: Cannot locate datatype class."); + result.has_type = false; + return GDScriptDataType(); + } + script = script->subclasses[names.back()->get()]; + names.pop_back(); + } + + result.kind = GDScriptDataType::GDSCRIPT; + result.script_type = script; + result.native_type = script->get_instance_base_type(); } break; default: { ERR_PRINT("Parser bug: converting unresolved type."); - result.has_type = false; + return GDScriptDataType(); } } @@ -460,12 +475,14 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser:: codegen.alloc_stack(slevel); } - switch (cn->cast_type.kind) { - case GDScriptParser::DataType::BUILTIN: { + GDScriptDataType cast_type = _gdtype_from_datatype(cn->cast_type); + + switch (cast_type.kind) { + case GDScriptDataType::BUILTIN: { codegen.opcodes.push_back(GDScriptFunction::OPCODE_CAST_TO_BUILTIN); codegen.opcodes.push_back(cn->cast_type.builtin_type); } break; - case GDScriptParser::DataType::NATIVE: { + case GDScriptDataType::NATIVE: { int class_idx; if (GDScriptLanguage::get_singleton()->get_global_map().has(cn->cast_type.native_type)) { @@ -478,32 +495,8 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser:: codegen.opcodes.push_back(GDScriptFunction::OPCODE_CAST_TO_NATIVE); // perform operator codegen.opcodes.push_back(class_idx); // variable type } break; - case GDScriptParser::DataType::CLASS: { - - Variant script; - int idx = -1; - if (!cn->cast_type.class_type->owner) { - script = codegen.script; - } else { - StringName name = cn->cast_type.class_type->name; - if (codegen.script->subclasses.has(name) && class_map[name] == codegen.script->subclasses[name]) { - idx = codegen.get_name_map_pos(name); - idx |= GDScriptFunction::ADDR_TYPE_CLASS_CONSTANT << GDScriptFunction::ADDR_BITS; - } else { - script = class_map[name]; - } - } - - if (idx < 0) { - idx = codegen.get_constant_pos(script); - idx |= GDScriptFunction::ADDR_TYPE_LOCAL_CONSTANT << GDScriptFunction::ADDR_BITS; //make it a local constant (faster access) - } - - codegen.opcodes.push_back(GDScriptFunction::OPCODE_CAST_TO_SCRIPT); // perform operator - codegen.opcodes.push_back(idx); // variable type - } break; - case GDScriptParser::DataType::SCRIPT: - case GDScriptParser::DataType::GDSCRIPT: { + case GDScriptDataType::SCRIPT: + case GDScriptDataType::GDSCRIPT: { Variant script = cn->cast_type.script_type; int idx = codegen.get_constant_pos(script); @@ -1149,18 +1142,18 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser:: if (src_address_b < 0) return -1; - GDScriptParser::DataType assign_type = on->arguments[0]->get_datatype(); + GDScriptDataType assign_type = _gdtype_from_datatype(on->arguments[0]->get_datatype()); if (assign_type.has_type && !on->arguments[1]->get_datatype().has_type) { // Typed assignment switch (assign_type.kind) { - case GDScriptParser::DataType::BUILTIN: { + case GDScriptDataType::BUILTIN: { codegen.opcodes.push_back(GDScriptFunction::OPCODE_ASSIGN_TYPED_BUILTIN); // perform operator codegen.opcodes.push_back(assign_type.builtin_type); // variable type codegen.opcodes.push_back(dst_address_a); // argument 1 codegen.opcodes.push_back(src_address_b); // argument 2 } break; - case GDScriptParser::DataType::NATIVE: { + case GDScriptDataType::NATIVE: { int class_idx; if (GDScriptLanguage::get_singleton()->get_global_map().has(assign_type.native_type)) { @@ -1175,34 +1168,8 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser:: codegen.opcodes.push_back(dst_address_a); // argument 1 codegen.opcodes.push_back(src_address_b); // argument 2 } break; - case GDScriptParser::DataType::CLASS: { - - Variant script; - int idx = -1; - if (!assign_type.class_type->owner) { - script = codegen.script; - } else { - StringName name = assign_type.class_type->name; - if (codegen.script->subclasses.has(name) && class_map[name] == codegen.script->subclasses[name]) { - idx = codegen.get_name_map_pos(name); - idx |= GDScriptFunction::ADDR_TYPE_CLASS_CONSTANT << GDScriptFunction::ADDR_BITS; - } else { - script = class_map[name]; - } - } - - if (idx < 0) { - idx = codegen.get_constant_pos(script); - idx |= GDScriptFunction::ADDR_TYPE_LOCAL_CONSTANT << GDScriptFunction::ADDR_BITS; //make it a local constant (faster access) - } - - codegen.opcodes.push_back(GDScriptFunction::OPCODE_ASSIGN_TYPED_SCRIPT); // perform operator - codegen.opcodes.push_back(idx); // variable type - codegen.opcodes.push_back(dst_address_a); // argument 1 - codegen.opcodes.push_back(src_address_b); // argument 2 - } break; - case GDScriptParser::DataType::SCRIPT: - case GDScriptParser::DataType::GDSCRIPT: { + case GDScriptDataType::SCRIPT: + case GDScriptDataType::GDSCRIPT: { Variant script = assign_type.script_type; int idx = codegen.get_constant_pos(script); @@ -1396,11 +1363,6 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo case GDScriptParser::ControlFlowNode::CF_IF: { -#ifdef DEBUG_ENABLED - codegen.opcodes.push_back(GDScriptFunction::OPCODE_LINE); - codegen.opcodes.push_back(cf->line); - codegen.current_line = cf->line; -#endif int ret2 = _parse_expression(codegen, cf->arguments[0], p_stack_level, false); if (ret2 < 0) return ERR_PARSE_ERROR; @@ -1850,22 +1812,21 @@ Error GDScriptCompiler::_parse_function(GDScript *p_script, const GDScriptParser return OK; } -Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner, const GDScriptParser::ClassNode *p_class, bool p_keep_state) { +Error GDScriptCompiler::_parse_class_level(GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state) { + + parsing_classes.insert(p_script); if (p_class->owner && p_class->owner->owner) { // Owner is not root - StringName owner_name = p_class->owner->name; - if (!parsed_classes.has(owner_name)) { - if (parsing_classes.has(owner_name)) { - _set_error("Cyclic class reference for '" + String(owner_name) + "'.", p_class); + if (!parsed_classes.has(p_script->_owner)) { + if (parsing_classes.has(p_script->_owner)) { + _set_error("Cyclic class reference for '" + String(p_class->name) + "'.", p_class); return ERR_PARSE_ERROR; } - parsing_classes.insert(owner_name); - Error err = _parse_class_level(class_map[owner_name].ptr(), class_map[owner_name]->_owner, p_class->owner, p_keep_state); + Error err = _parse_class_level(p_script->_owner, p_class->owner, p_keep_state); if (err) { return err; } - parsing_classes.erase(owner_name); } } @@ -1883,47 +1844,26 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner p_script->_signals.clear(); p_script->initializer = NULL; - p_script->subclasses.clear(); - p_script->_owner = p_owner; p_script->tool = p_class->tool; p_script->name = p_class->name; Ref<GDScriptNativeClass> native; + GDScriptDataType base_type = _gdtype_from_datatype(p_class->base_type); // Inheritance - switch (p_class->base_type.kind) { - case GDScriptParser::DataType::CLASS: { - StringName base_name = p_class->base_type.class_type->name; - // Make sure dependency is parsed first - if (!parsed_classes.has(base_name)) { - if (parsing_classes.has(base_name)) { - _set_error("Cyclic class reference for '" + String(base_name) + "'.", p_class); - return ERR_PARSE_ERROR; - } - parsing_classes.insert(base_name); - Error err = _parse_class_level(class_map[base_name].ptr(), class_map[base_name]->_owner, p_class->base_type.class_type, p_keep_state); - if (err) { - return err; - } - parsing_classes.erase(base_name); - } - Ref<GDScript> base = class_map[base_name]; - p_script->base = base; - p_script->_base = p_script->base.ptr(); - p_script->member_indices = base->member_indices; - } break; - case GDScriptParser::DataType::GDSCRIPT: { - Ref<GDScript> base = p_class->base_type.script_type; - p_script->base = base; - p_script->_base = p_script->base.ptr(); - p_script->member_indices = base->member_indices; - } break; - case GDScriptParser::DataType::NATIVE: { - int native_idx = GDScriptLanguage::get_singleton()->get_global_map()[p_class->base_type.native_type]; + switch (base_type.kind) { + case GDScriptDataType::NATIVE: { + int native_idx = GDScriptLanguage::get_singleton()->get_global_map()[base_type.native_type]; native = GDScriptLanguage::get_singleton()->get_global_array()[native_idx]; ERR_FAIL_COND_V(native.is_null(), ERR_BUG); p_script->native = native; } break; + case GDScriptDataType::GDSCRIPT: { + Ref<GDScript> base = base_type.script_type; + p_script->base = base; + p_script->_base = base.ptr(); + p_script->member_indices = base->member_indices; + } break; default: { _set_error("Parser bug: invalid inheritance.", p_class); return ERR_BUG; @@ -2017,24 +1957,19 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner p_script->_signals[name] = p_class->_signals[i].arguments; } - if (p_class->owner) { - parsed_classes.insert(p_class->name); - if (parsing_classes.has(p_class->name)) { - parsing_classes.erase(p_class->name); - } - } + parsed_classes.insert(p_script); + parsing_classes.erase(p_script); //parse sub-classes for (int i = 0; i < p_class->subclasses.size(); i++) { StringName name = p_class->subclasses[i]->name; - Ref<GDScript> subclass = class_map[name]; + GDScript *subclass = p_script->subclasses[name].ptr(); // Subclass might still be parsing, just skip it - if (!parsed_classes.has(name) && !parsing_classes.has(name)) { - parsing_classes.insert(name); - Error err = _parse_class_level(subclass.ptr(), p_script, p_class->subclasses[i], p_keep_state); + if (!parsed_classes.has(subclass) && !parsing_classes.has(subclass)) { + Error err = _parse_class_level(subclass, p_class->subclasses[i], p_keep_state); if (err) return err; } @@ -2045,7 +1980,6 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, GDScript *p_owner #endif p_script->constants.insert(name, subclass); //once parsed, goes to the list of constants - p_script->subclasses.insert(name, subclass); } return OK; @@ -2144,9 +2078,9 @@ Error GDScriptCompiler::_parse_class_blocks(GDScript *p_script, const GDScriptPa for (int i = 0; i < p_class->subclasses.size(); i++) { StringName name = p_class->subclasses[i]->name; - Ref<GDScript> subclass = class_map[name]; + GDScript *subclass = p_script->subclasses[name].ptr(); - Error err = _parse_class_blocks(subclass.ptr(), p_class->subclasses[i], p_keep_state); + Error err = _parse_class_blocks(subclass, p_class->subclasses[i], p_keep_state); if (err) { return err; } @@ -2156,7 +2090,7 @@ Error GDScriptCompiler::_parse_class_blocks(GDScript *p_script, const GDScriptPa return OK; } -void GDScriptCompiler::_make_scripts(const GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state) { +void GDScriptCompiler::_make_scripts(GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state) { Map<StringName, Ref<GDScript> > old_subclasses; @@ -2164,6 +2098,8 @@ void GDScriptCompiler::_make_scripts(const GDScript *p_script, const GDScriptPar old_subclasses = p_script->subclasses; } + p_script->subclasses.clear(); + for (int i = 0; i < p_class->subclasses.size(); i++) { StringName name = p_class->subclasses[i]->name; @@ -2175,10 +2111,10 @@ void GDScriptCompiler::_make_scripts(const GDScript *p_script, const GDScriptPar subclass.instance(); } - subclass->_owner = const_cast<GDScript *>(p_script); - class_map.insert(name, subclass); + subclass->_owner = p_script; + p_script->subclasses.insert(name, subclass); - _make_scripts(subclass.ptr(), p_class->subclasses[i], p_keep_state); + _make_scripts(subclass.ptr(), p_class->subclasses[i], false); } } @@ -2197,7 +2133,8 @@ Error GDScriptCompiler::compile(const GDScriptParser *p_parser, GDScript *p_scri // Create scripts for subclasses beforehand so they can be referenced _make_scripts(p_script, static_cast<const GDScriptParser::ClassNode *>(root), p_keep_state); - Error err = _parse_class_level(p_script, NULL, static_cast<const GDScriptParser::ClassNode *>(root), p_keep_state); + p_script->_owner = NULL; + Error err = _parse_class_level(p_script, static_cast<const GDScriptParser::ClassNode *>(root), p_keep_state); if (err) return err; diff --git a/modules/gdscript/gdscript_compiler.h b/modules/gdscript/gdscript_compiler.h index 8440807a56..2cf630ba72 100644 --- a/modules/gdscript/gdscript_compiler.h +++ b/modules/gdscript/gdscript_compiler.h @@ -38,9 +38,8 @@ class GDScriptCompiler { const GDScriptParser *parser; - Map<StringName, Ref<GDScript> > class_map; - Set<StringName> parsed_classes; - Set<StringName> parsing_classes; + Set<GDScript *> parsed_classes; + Set<GDScript *> parsing_classes; GDScript *main_script; struct CodeGen { @@ -149,9 +148,9 @@ class GDScriptCompiler { int _parse_expression(CodeGen &codegen, const GDScriptParser::Node *p_expression, int p_stack_level, bool p_root = false, bool p_initializer = false); Error _parse_block(CodeGen &codegen, const GDScriptParser::BlockNode *p_block, int p_stack_level = 0, int p_break_addr = -1, int p_continue_addr = -1); Error _parse_function(GDScript *p_script, const GDScriptParser::ClassNode *p_class, const GDScriptParser::FunctionNode *p_func, bool p_for_ready = false); - Error _parse_class_level(GDScript *p_script, GDScript *p_owner, const GDScriptParser::ClassNode *p_class, bool p_keep_state); + Error _parse_class_level(GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state); Error _parse_class_blocks(GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state); - void _make_scripts(const GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state); + void _make_scripts(GDScript *p_script, const GDScriptParser::ClassNode *p_class, bool p_keep_state); int err_line; int err_column; StringName source; diff --git a/modules/gdscript/gdscript_functions.cpp b/modules/gdscript/gdscript_functions.cpp index 44d44462ca..46c9efd54f 100644 --- a/modules/gdscript/gdscript_functions.cpp +++ b/modules/gdscript/gdscript_functions.cpp @@ -768,11 +768,30 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_ (void)VariantParser::parse(&ss, r_ret, errs, line); } break; case VAR_TO_BYTES: { - VALIDATE_ARG_COUNT(1); + bool full_objects = false; + if (p_arg_count < 1) { + r_error.error = Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS; + r_error.argument = 1; + r_ret = Variant(); + return; + } else if (p_arg_count > 2) { + r_error.error = Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS; + r_error.argument = 2; + r_ret = Variant(); + } else if (p_arg_count == 2) { + if (p_args[1]->get_type() != Variant::BOOL) { + r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; + r_error.argument = 1; + r_error.expected = Variant::BOOL; + r_ret = Variant(); + return; + } + full_objects = *p_args[1]; + } PoolByteArray barr; int len; - Error err = encode_variant(*p_args[0], NULL, len); + Error err = encode_variant(*p_args[0], NULL, len, full_objects); if (err) { r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.argument = 0; @@ -784,15 +803,35 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_ barr.resize(len); { PoolByteArray::Write w = barr.write(); - encode_variant(*p_args[0], w.ptr(), len); + encode_variant(*p_args[0], w.ptr(), len, full_objects); } r_ret = barr; } break; case BYTES_TO_VAR: { - VALIDATE_ARG_COUNT(1); + bool allow_objects = false; + if (p_arg_count < 1) { + r_error.error = Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS; + r_error.argument = 1; + r_ret = Variant(); + return; + } else if (p_arg_count > 2) { + r_error.error = Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS; + r_error.argument = 2; + r_ret = Variant(); + } else if (p_arg_count == 2) { + if (p_args[1]->get_type() != Variant::BOOL) { + r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; + r_error.argument = 1; + r_error.expected = Variant::BOOL; + r_ret = Variant(); + return; + } + allow_objects = *p_args[1]; + } + if (p_args[0]->get_type() != Variant::POOL_BYTE_ARRAY) { r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; - r_error.argument = 0; + r_error.argument = 1; r_error.expected = Variant::POOL_BYTE_ARRAY; r_ret = Variant(); return; @@ -802,7 +841,7 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_ Variant ret; { PoolByteArray::Read r = varr.read(); - Error err = decode_variant(ret, r.ptr(), varr.size(), NULL); + Error err = decode_variant(ret, r.ptr(), varr.size(), NULL, allow_objects); if (err != OK) { r_ret = RTR("Not enough bytes for decoding bytes, or invalid format."); r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; @@ -1805,13 +1844,15 @@ MethodInfo GDScriptFunctions::get_info(Function p_func) { } break; case VAR_TO_BYTES: { - MethodInfo mi("var2bytes", PropertyInfo(Variant::NIL, "var", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_NIL_IS_VARIANT)); + MethodInfo mi("var2bytes", PropertyInfo(Variant::NIL, "var", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_NIL_IS_VARIANT), PropertyInfo(Variant::BOOL, "full_objects")); + mi.default_arguments.push_back(false); mi.return_val.type = Variant::POOL_BYTE_ARRAY; return mi; } break; case BYTES_TO_VAR: { - MethodInfo mi(Variant::NIL, "bytes2var", PropertyInfo(Variant::POOL_BYTE_ARRAY, "bytes")); + MethodInfo mi(Variant::NIL, "bytes2var", PropertyInfo(Variant::POOL_BYTE_ARRAY, "bytes"), PropertyInfo(Variant::BOOL, "allow_objects")); + mi.default_arguments.push_back(false); mi.return_val.type = Variant::NIL; mi.return_val.usage |= PROPERTY_USAGE_NIL_IS_VARIANT; return mi; diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index f005f88d2e..e75b8a14a3 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -777,7 +777,8 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s } _add_warning(GDScriptWarning::UNASSIGNED_VARIABLE_OP_ASSIGN, -1, identifier.operator String()); } - } // fallthrough + FALLTHROUGH; + } case GDScriptTokenizer::TK_OP_ASSIGN: { lv->assignments += 1; lv->usages--; // Assignment is not really usage @@ -2225,6 +2226,8 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) { void GDScriptParser::_parse_pattern_block(BlockNode *p_block, Vector<PatternBranchNode *> &p_branches, bool p_static) { int indent_level = tab_level.back()->get(); + p_block->has_return = true; + while (true) { while (tokenizer->get_token() == GDScriptTokenizer::TK_NEWLINE && _parse_newline()) @@ -2282,8 +2285,8 @@ void GDScriptParser::_parse_pattern_block(BlockNode *p_block, Vector<PatternBran current_block = p_block; - if (catch_all && branch->body->has_return) { - p_block->has_return = true; + if (!branch->body->has_return) { + p_block->has_return = false; } p_branches.push_back(branch); @@ -2741,6 +2744,8 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) { } break; case GDScriptTokenizer::TK_NEWLINE: { + int line = tokenizer->get_token_line(); + if (!_parse_newline()) { if (!error_set) { p_block->end_line = tokenizer->get_token_line(); @@ -2750,7 +2755,7 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) { } NewLineNode *nl2 = alloc_node<NewLineNode>(); - nl2->line = tokenizer->get_token_line(); + nl2->line = line; p_block->statements.push_back(nl2); } break; @@ -3632,7 +3637,8 @@ void GDScriptParser::_parse_class(ClassNode *p_class) { return; } - }; //fallthrough to function + FALLTHROUGH; + } case GDScriptTokenizer::TK_PR_FUNCTION: { bool _static = false; @@ -4082,7 +4088,8 @@ void GDScriptParser::_parse_class(ClassNode *p_class) { break; } - }; //fallthrough to use the same + FALLTHROUGH; + } case Variant::REAL: { if (tokenizer->get_token() == GDScriptTokenizer::TK_IDENTIFIER && tokenizer->get_token_identifier() == "EASE") { @@ -4507,6 +4514,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) { #ifdef DEBUG_ENABLED _add_warning(GDScriptWarning::DEPRECATED_KEYWORD, tokenizer->get_token_line(), "slave", "puppet"); #endif + FALLTHROUGH; case GDScriptTokenizer::TK_PR_PUPPET: { //may be fallthrough from export, ignore if so @@ -4574,7 +4582,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) { continue; } break; case GDScriptTokenizer::TK_PR_VAR: { - //variale declaration and (eventual) initialization + // variable declaration and (eventual) initialization ClassNode::Member member; @@ -5286,7 +5294,8 @@ String GDScriptParser::DataType::to_string() const { if (!gds_class.empty()) { return gds_class; } - } // fallthrough + FALLTHROUGH; + } case SCRIPT: { if (is_meta_type) { return script_type->get_class_name().operator String(); @@ -8042,7 +8051,8 @@ void GDScriptParser::_check_block_types(BlockNode *p_block) { if (cn->value.get_type() == Variant::STRING) { break; } - } // falthrough + FALLTHROUGH; + } default: { _mark_line_as_safe(statement->line); _reduce_node_type(statement); // Test for safety anyway diff --git a/modules/gdscript/gdscript_tokenizer.cpp b/modules/gdscript/gdscript_tokenizer.cpp index 8b22d6f085..abc739d645 100644 --- a/modules/gdscript/gdscript_tokenizer.cpp +++ b/modules/gdscript/gdscript_tokenizer.cpp @@ -744,7 +744,7 @@ void GDScriptTokenizerText::_advance() { } INCPOS(1); is_node_path = true; - + FALLTHROUGH; case '\'': case '"': { @@ -1199,7 +1199,8 @@ Error GDScriptTokenizerBuffer::set_code_buffer(const Vector<uint8_t> &p_buffer) Variant v; int len; - Error err = decode_variant(v, b, total_len, &len); + // An object cannot be constant, never decode objects + Error err = decode_variant(v, b, total_len, &len, false); if (err) return err; b += len; @@ -1367,11 +1368,12 @@ Vector<uint8_t> GDScriptTokenizerBuffer::parse_code_string(const String &p_code) for (Map<int, Variant>::Element *E = rev_constant_map.front(); E; E = E->next()) { int len; - Error err = encode_variant(E->get(), NULL, len); + // Objects cannot be constant, never encode objects + Error err = encode_variant(E->get(), NULL, len, false); ERR_FAIL_COND_V(err != OK, Vector<uint8_t>()); int pos = buf.size(); buf.resize(pos + len); - encode_variant(E->get(), &buf.write[pos], len); + encode_variant(E->get(), &buf.write[pos], len, false); } for (Map<int, uint32_t>::Element *E = rev_line_map.front(); E; E = E->next()) { diff --git a/modules/gridmap/doc_classes/GridMap.xml b/modules/gridmap/doc_classes/GridMap.xml index 2ea116d79b..655be4eb20 100644 --- a/modules/gridmap/doc_classes/GridMap.xml +++ b/modules/gridmap/doc_classes/GridMap.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GridMap" inherits="Spatial" category="Core" version="3.1"> +<class name="GridMap" inherits="Spatial" category="Core" version="3.2"> <brief_description> Node for 3D tile-based maps. </brief_description> diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index fe1eac6dc9..32a014e76d 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -517,7 +517,7 @@ bool GridMap::_octant_update(const OctantKey &p_key) { Ref<NavigationMesh> navmesh = mesh_library->get_item_navmesh(c.item); if (navmesh.is_valid()) { Octant::NavMesh nm; - nm.xform = xform; + nm.xform = xform * mesh_library->get_item_navmesh_transform(c.item); if (navigation) { nm.id = navigation->navmesh_add(navmesh, xform, this); diff --git a/modules/gridmap/grid_map_editor_plugin.cpp b/modules/gridmap/grid_map_editor_plugin.cpp index bc7a576785..17eb6f674c 100644 --- a/modules/gridmap/grid_map_editor_plugin.cpp +++ b/modules/gridmap/grid_map_editor_plugin.cpp @@ -717,6 +717,26 @@ void GridMapEditor::_set_display_mode(int p_mode) { update_palette(); } +void GridMapEditor::_text_changed(const String &p_text) { + update_palette(); +} + +void GridMapEditor::_sbox_input(const Ref<InputEvent> &p_ie) { + + Ref<InputEventKey> k = p_ie; + + if (k.is_valid() && (k->get_scancode() == KEY_UP || k->get_scancode() == KEY_DOWN || k->get_scancode() == KEY_PAGEUP || k->get_scancode() == KEY_PAGEDOWN)) { + + mesh_library_palette->call("_gui_input", k); + search_box->accept_event(); + } +} + +void GridMapEditor::_icon_size_changed(float p_value) { + mesh_library_palette->set_icon_scale(p_value); + update_palette(); +} + void GridMapEditor::update_palette() { int selected = mesh_library_palette->get_current(); @@ -730,8 +750,9 @@ void GridMapEditor::update_palette() { } float min_size = EDITOR_DEF("editors/grid_map/preview_size", 64); + min_size *= EDSCALE; mesh_library_palette->set_fixed_icon_size(Size2(min_size, min_size)); - mesh_library_palette->set_fixed_column_width(min_size * 3 / 2); + mesh_library_palette->set_fixed_column_width(min_size * MAX(size_slider->get_value(), 1.5)); mesh_library_palette->set_max_text_lines(2); Ref<MeshLibrary> mesh_library = node->get_mesh_library(); @@ -754,23 +775,28 @@ void GridMapEditor::update_palette() { } il.sort(); + String filter = search_box->get_text().strip_edges(); + int item = 0; for (List<_CGMEItemSort>::Element *E = il.front(); E; E = E->next()) { int id = E->get().id; - - mesh_library_palette->add_item(""); - String name = mesh_library->get_item_name(id); Ref<Texture> preview = mesh_library->get_item_preview(id); + if (name == "") { + name = "#" + itos(id); + } + + if (filter != "" && !filter.is_subsequence_ofi(name)) + continue; + + mesh_library_palette->add_item(""); if (!preview.is_null()) { mesh_library_palette->set_item_icon(item, preview); mesh_library_palette->set_item_tooltip(item, name); } - if (name != "") { - mesh_library_palette->set_item_text(item, name); - } + mesh_library_palette->set_item_text(item, name); mesh_library_palette->set_item_metadata(item, id); item++; @@ -985,6 +1011,7 @@ void GridMapEditor::_notification(int p_what) { case NOTIFICATION_THEME_CHANGED: { options->set_icon(get_icon("GridMap", "EditorIcons")); + search_box->set_right_icon(get_icon("Search", "EditorIcons")); } break; } } @@ -1031,6 +1058,9 @@ void GridMapEditor::_floor_changed(float p_value) { void GridMapEditor::_bind_methods() { + ClassDB::bind_method("_text_changed", &GridMapEditor::_text_changed); + ClassDB::bind_method("_sbox_input", &GridMapEditor::_sbox_input); + ClassDB::bind_method("_icon_size_changed", &GridMapEditor::_icon_size_changed); ClassDB::bind_method("_menu_option", &GridMapEditor::_menu_option); ClassDB::bind_method("_configure", &GridMapEditor::_configure); ClassDB::bind_method("_item_selected_cbk", &GridMapEditor::_item_selected_cbk); @@ -1132,6 +1162,12 @@ GridMapEditor::GridMapEditor(EditorNode *p_editor) { add_child(hb); hb->set_h_size_flags(SIZE_EXPAND_FILL); + search_box = memnew(LineEdit); + search_box->set_h_size_flags(SIZE_EXPAND_FILL); + hb->add_child(search_box); + search_box->connect("text_changed", this, "_text_changed"); + search_box->connect("gui_input", this, "_sbox_input"); + mode_thumbnail = memnew(ToolButton); mode_thumbnail->set_toggle_mode(true); mode_thumbnail->set_pressed(true); @@ -1146,6 +1182,15 @@ GridMapEditor::GridMapEditor(EditorNode *p_editor) { hb->add_child(mode_list); mode_list->connect("pressed", this, "_set_display_mode", varray(DISPLAY_LIST)); + size_slider = memnew(HSlider); + size_slider->set_h_size_flags(SIZE_EXPAND_FILL); + size_slider->set_min(0.1f); + size_slider->set_max(4.0f); + size_slider->set_step(0.1f); + size_slider->set_value(1.0f); + size_slider->connect("value_changed", this, "_icon_size_changed"); + add_child(size_slider); + EDITOR_DEF("editors/grid_map/preview_size", 64); display_mode = DISPLAY_THUMBNAIL; diff --git a/modules/gridmap/grid_map_editor_plugin.h b/modules/gridmap/grid_map_editor_plugin.h index 81a21a76ae..59b8ac13da 100644 --- a/modules/gridmap/grid_map_editor_plugin.h +++ b/modules/gridmap/grid_map_editor_plugin.h @@ -79,6 +79,8 @@ class GridMapEditor : public VBoxContainer { double accumulated_floor_delta; ToolButton *mode_thumbnail; ToolButton *mode_list; + LineEdit *search_box; + HSlider *size_slider; HBoxContainer *spatial_editor_hb; ConfirmationDialog *settings_dialog; VBoxContainer *settings_vbc; @@ -193,6 +195,11 @@ class GridMapEditor : public VBoxContainer { void _update_cursor_instance(); void _update_clip(); + void _text_changed(const String &p_text); + void _sbox_input(const Ref<InputEvent> &p_ie); + + void _icon_size_changed(float p_value); + void _update_duplicate_indicator(); void _duplicate_paste(); void _update_selection_transform(); diff --git a/modules/mobile_vr/doc_classes/MobileVRInterface.xml b/modules/mobile_vr/doc_classes/MobileVRInterface.xml index 359d654433..0a75ad4784 100644 --- a/modules/mobile_vr/doc_classes/MobileVRInterface.xml +++ b/modules/mobile_vr/doc_classes/MobileVRInterface.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MobileVRInterface" inherits="ARVRInterface" category="Core" version="3.1"> +<class name="MobileVRInterface" inherits="ARVRInterface" category="Core" version="3.2"> <brief_description> Generic mobile VR implementation </brief_description> diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp index 04405e0c1d..dfdb4a0b3a 100644 --- a/modules/mono/csharp_script.cpp +++ b/modules/mono/csharp_script.cpp @@ -1577,7 +1577,7 @@ MonoObject *CSharpInstance::_internal_new_managed() { // Search the constructor first, to fail with an error if it's not found before allocating anything else. GDMonoMethod *ctor = script->script_class->get_method(CACHED_STRING_NAME(dotctor), 0); if (ctor == NULL) { - ERR_PRINTS("Cannot create script instance because the class does not define a default constructor: " + script->get_path()); + ERR_PRINTS("Cannot create script instance because the class does not define a parameterless constructor: " + script->get_path()); ERR_EXPLAIN("Constructor not found"); ERR_FAIL_V(NULL); @@ -1933,6 +1933,9 @@ void CSharpScript::_update_exports_values(Map<StringName, Variant> &values, List bool CSharpScript::_update_exports() { #ifdef TOOLS_ENABLED + if (!Engine::get_singleton()->is_editor_hint()) + return false; + placeholder_fallback_enabled = true; // until proven otherwise if (!valid) @@ -1963,7 +1966,7 @@ bool CSharpScript::_update_exports() { GDMonoMethod *ctor = script_class->get_method(CACHED_STRING_NAME(dotctor), 0); if (ctor == NULL) { - ERR_PRINTS("Cannot construct temporary MonoObject because the class does not define a default constructor: " + get_path()); + ERR_PRINTS("Cannot construct temporary MonoObject because the class does not define a parameterless constructor: " + get_path()); ERR_EXPLAIN("Constructor not found"); ERR_FAIL_V(NULL); @@ -2457,7 +2460,7 @@ CSharpInstance *CSharpScript::_create_instance(const Variant **p_args, int p_arg GDMonoMethod *ctor = script_class->get_method(CACHED_STRING_NAME(dotctor), p_argcount); if (ctor == NULL) { if (p_argcount == 0) { - ERR_PRINTS("Cannot create script instance because the class does not define a default constructor: " + get_path()); + ERR_PRINTS("Cannot create script instance because the class does not define a parameterless constructor: " + get_path()); } ERR_EXPLAIN("Constructor not found"); diff --git a/modules/mono/doc_classes/@C#.xml b/modules/mono/doc_classes/@C#.xml index 082bc30fd8..a821713d0d 100644 --- a/modules/mono/doc_classes/@C#.xml +++ b/modules/mono/doc_classes/@C#.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="@C#" category="Core" version="3.1"> +<class name="@C#" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/mono/doc_classes/CSharpScript.xml b/modules/mono/doc_classes/CSharpScript.xml index a1f7399653..7f22388132 100644 --- a/modules/mono/doc_classes/CSharpScript.xml +++ b/modules/mono/doc_classes/CSharpScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CSharpScript" inherits="Script" category="Core" version="3.1"> +<class name="CSharpScript" inherits="Script" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/mono/doc_classes/GodotSharp.xml b/modules/mono/doc_classes/GodotSharp.xml index 921c1ca825..21835e639c 100644 --- a/modules/mono/doc_classes/GodotSharp.xml +++ b/modules/mono/doc_classes/GodotSharp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GodotSharp" inherits="Object" category="Core" version="3.1"> +<class name="GodotSharp" inherits="Object" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index 890bea0d1d..84e2303cf6 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -38,6 +38,7 @@ #include "core/os/dir_access.h" #include "core/os/file_access.h" #include "core/os/os.h" +#include "core/string_builder.h" #include "core/ucaps.h" #include "../glue/cs_compressed.gen.h" @@ -97,7 +98,7 @@ #define C_METHOD_MONOARRAY_TO(m_type) C_NS_MONOMARSHAL "::mono_array_to_" #m_type #define C_METHOD_MONOARRAY_FROM(m_type) C_NS_MONOMARSHAL "::" #m_type "_to_mono_array" -#define BINDINGS_GENERATOR_VERSION UINT32_C(7) +#define BINDINGS_GENERATOR_VERSION UINT32_C(8) const char *BindingsGenerator::TypeInterface::DEFAULT_VARARG_C_IN = "\t%0 %1_in = %1;\n"; @@ -105,6 +106,16 @@ bool BindingsGenerator::verbose_output = false; BindingsGenerator *BindingsGenerator::singleton = NULL; +static String fix_doc_description(const String &p_bbcode) { + + // This seems to be the correct way to do this. It's the same EditorHelp does. + + return p_bbcode.dedent() + .replace("\t", "") + .replace("\r", "") + .strip_edges(); +} + static String snake_to_pascal_case(const String &p_identifier, bool p_input_is_upper = false) { String ret; @@ -173,6 +184,457 @@ static String snake_to_camel_case(const String &p_identifier, bool p_input_is_up return ret; } +String BindingsGenerator::bbcode_to_xml(const String &p_bbcode, const TypeInterface *p_itype) { + + // Based on the version in EditorHelp + + if (p_bbcode.empty()) + return String(); + + DocData *doc = EditorHelp::get_doc_data(); + + String bbcode = p_bbcode; + + StringBuilder xml_output; + + xml_output.append("<para>"); + + List<String> tag_stack; + bool code_tag = false; + + int pos = 0; + while (pos < bbcode.length()) { + int brk_pos = bbcode.find("[", pos); + + if (brk_pos < 0) + brk_pos = bbcode.length(); + + if (brk_pos > pos) { + String text = bbcode.substr(pos, brk_pos - pos); + if (code_tag || tag_stack.size() > 0) { + xml_output.append(text.xml_escape()); + } else { + Vector<String> lines = text.split("\n"); + for (int i = 0; i < lines.size(); i++) { + if (i != 0) + xml_output.append("<para>"); + + xml_output.append(lines[i].xml_escape()); + + if (i != lines.size() - 1) + xml_output.append("</para>\n"); + } + } + } + + if (brk_pos == bbcode.length()) + break; // nothing else to add + + int brk_end = bbcode.find("]", brk_pos + 1); + + if (brk_end == -1) { + String text = bbcode.substr(brk_pos, bbcode.length() - brk_pos); + if (code_tag || tag_stack.size() > 0) { + xml_output.append(text.xml_escape()); + } else { + Vector<String> lines = text.split("\n"); + for (int i = 0; i < lines.size(); i++) { + if (i != 0) + xml_output.append("<para>"); + + xml_output.append(lines[i].xml_escape()); + + if (i != lines.size() - 1) + xml_output.append("</para>\n"); + } + } + + break; + } + + String tag = bbcode.substr(brk_pos + 1, brk_end - brk_pos - 1); + + if (tag.begins_with("/")) { + bool tag_ok = tag_stack.size() && tag_stack.front()->get() == tag.substr(1, tag.length()); + + if (!tag_ok) { + xml_output.append("["); + pos = brk_pos + 1; + continue; + } + + tag_stack.pop_front(); + pos = brk_end + 1; + code_tag = false; + + if (tag == "/url") { + xml_output.append("</a>"); + } else if (tag == "/code") { + xml_output.append("</c>"); + } else if (tag == "/codeblock") { + xml_output.append("</code>"); + } + } else if (code_tag) { + xml_output.append("["); + pos = brk_pos + 1; + } else if (tag.begins_with("method ") || tag.begins_with("member ") || tag.begins_with("signal ") || tag.begins_with("enum ") || tag.begins_with("constant ")) { + String link_target = tag.substr(tag.find(" ") + 1, tag.length()); + String link_tag = tag.substr(0, tag.find(" ")); + + Vector<String> link_target_parts = link_target.split("."); + + if (link_target_parts.size() <= 0 || link_target_parts.size() > 2) { + ERR_PRINTS("Invalid reference format: " + tag); + + xml_output.append("<c>"); + xml_output.append(tag); + xml_output.append("</c>"); + + pos = brk_end + 1; + continue; + } + + const TypeInterface *target_itype; + StringName target_cname; + + if (link_target_parts.size() == 2) { + target_itype = _get_type_or_null(TypeReference(link_target_parts[0])); + if (!target_itype) { + target_itype = _get_type_or_null(TypeReference("_" + link_target_parts[0])); + } + target_cname = link_target_parts[1]; + } else { + target_itype = p_itype; + target_cname = link_target_parts[0]; + } + + if (link_tag == "method") { + if (!target_itype || !target_itype->is_object_type) { + if (OS::get_singleton()->is_stdout_verbose()) { + if (target_itype) { + OS::get_singleton()->print("Cannot resolve method reference for non-Godot.Object type in documentation: %s\n", link_target.utf8().get_data()); + } else { + OS::get_singleton()->print("Cannot resolve type from method reference in documentation: %s\n", link_target.utf8().get_data()); + } + } + + // TODO Map what we can + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } else { + const MethodInterface *target_imethod = target_itype->find_method_by_name(target_cname); + + if (target_imethod) { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_itype->proxy_name); + xml_output.append("."); + xml_output.append(target_imethod->proxy_name); + xml_output.append("\"/>"); + } + } + } else if (link_tag == "member") { + if (!target_itype || !target_itype->is_object_type) { + if (OS::get_singleton()->is_stdout_verbose()) { + if (target_itype) { + OS::get_singleton()->print("Cannot resolve member reference for non-Godot.Object type in documentation: %s\n", link_target.utf8().get_data()); + } else { + OS::get_singleton()->print("Cannot resolve type from member reference in documentation: %s\n", link_target.utf8().get_data()); + } + } + + // TODO Map what we can + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } else { + const PropertyInterface *target_iprop = target_itype->find_property_by_name(target_cname); + + if (target_iprop) { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_itype->proxy_name); + xml_output.append("."); + xml_output.append(target_iprop->proxy_name); + xml_output.append("\"/>"); + } + } + } else if (link_tag == "signal") { + // We do not declare signals in any way in C#, so there is nothing to reference + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } else if (link_tag == "enum") { + StringName search_cname = !target_itype ? target_cname : + StringName(target_itype->name + "." + (String)target_cname); + + const Map<StringName, TypeInterface>::Element *enum_match = enum_types.find(search_cname); + + if (!enum_match && search_cname != target_cname) { + enum_match = enum_types.find(target_cname); + } + + if (enum_match) { + const TypeInterface &target_enum_itype = enum_match->value(); + + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_enum_itype.proxy_name); // Includes nesting class if any + xml_output.append("\"/>"); + } else { + ERR_PRINTS("Cannot resolve enum reference in documentation: " + link_target); + + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } + } else if (link_tag == "const") { + if (!target_itype || !target_itype->is_object_type) { + if (OS::get_singleton()->is_stdout_verbose()) { + if (target_itype) { + OS::get_singleton()->print("Cannot resolve constant reference for non-Godot.Object type in documentation: %s\n", link_target.utf8().get_data()); + } else { + OS::get_singleton()->print("Cannot resolve type from constant reference in documentation: %s\n", link_target.utf8().get_data()); + } + } + + // TODO Map what we can + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } else if (!target_itype && target_cname == name_cache.type_at_GlobalScope) { + String target_name = (String)target_cname; + + // Try to find as a global constant + const ConstantInterface *target_iconst = find_constant_by_name(target_name, global_constants); + + if (target_iconst) { + // Found global constant + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "." BINDINGS_GLOBAL_SCOPE_CLASS "."); + xml_output.append(target_iconst->proxy_name); + xml_output.append("\"/>"); + } else { + // Try to find as global enum constant + const EnumInterface *target_ienum = NULL; + + for (const List<EnumInterface>::Element *E = global_enums.front(); E; E = E->next()) { + target_ienum = &E->get(); + target_iconst = find_constant_by_name(target_name, target_ienum->constants); + if (target_iconst) + break; + } + + if (target_iconst) { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_ienum->cname); + xml_output.append("."); + xml_output.append(target_iconst->proxy_name); + xml_output.append("\"/>"); + } else { + ERR_PRINTS("Cannot resolve global constant reference in documentation: " + link_target); + + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } + } + } else { + String target_name = (String)target_cname; + + // Try to find the constant in the current class + const ConstantInterface *target_iconst = find_constant_by_name(target_name, target_itype->constants); + + if (target_iconst) { + // Found constant in current class + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_itype->proxy_name); + xml_output.append("."); + xml_output.append(target_iconst->proxy_name); + xml_output.append("\"/>"); + } else { + // Try to find as enum constant in the current class + const EnumInterface *target_ienum = NULL; + + for (const List<EnumInterface>::Element *E = target_itype->enums.front(); E; E = E->next()) { + target_ienum = &E->get(); + target_iconst = find_constant_by_name(target_name, target_ienum->constants); + if (target_iconst) + break; + } + + if (target_iconst) { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_itype->proxy_name); + xml_output.append("."); + xml_output.append(target_ienum->cname); + xml_output.append("."); + xml_output.append(target_iconst->proxy_name); + xml_output.append("\"/>"); + } else { + ERR_PRINTS("Cannot resolve constant reference in documentation: " + link_target); + + xml_output.append("<c>"); + xml_output.append(link_target); + xml_output.append("</c>"); + } + } + } + } + + pos = brk_end + 1; + } else if (doc->class_list.has(tag)) { + if (tag == "Array" || tag == "Dictionary") { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE_COLLECTIONS "."); + xml_output.append(tag); + xml_output.append("\"/>"); + } else if (tag == "bool" || tag == "int") { + xml_output.append("<see cref=\""); + xml_output.append(tag); + xml_output.append("\"/>"); + } else if (tag == "float") { + xml_output.append("<see cref=\"" +#ifdef REAL_T_IS_DOUBLE + "double" +#else + "float" +#endif + "\"/>"); + } else if (tag == "Variant") { + // We use System.Object for Variant, so there is no Variant type in C# + xml_output.append("<c>Variant</c>"); + } else if (tag == "String") { + xml_output.append("<see cref=\"string\"/>"); + } else if (tag == "Nil") { + xml_output.append("<see langword=\"null\"/>"); + } else if (tag.begins_with("@")) { + // @GlobalScope, @GDScript, etc + xml_output.append("<c>"); + xml_output.append(tag); + xml_output.append("</c>"); + } else if (tag == "PoolByteArray") { + xml_output.append("<see cref=\"byte\"/>"); + } else if (tag == "PoolIntArray") { + xml_output.append("<see cref=\"int\"/>"); + } else if (tag == "PoolRealArray") { +#ifdef REAL_T_IS_DOUBLE + xml_output.append("<see cref=\"double\"/>"); +#else + xml_output.append("<see cref=\"float\"/>"); +#endif + } else if (tag == "PoolStringArray") { + xml_output.append("<see cref=\"string\"/>"); + } else if (tag == "PoolVector2Array") { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE ".Vector2\"/>"); + } else if (tag == "PoolVector3Array") { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE ".Vector3\"/>"); + } else if (tag == "PoolColorArray") { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE ".Color\"/>"); + } else { + const TypeInterface *target_itype = _get_type_or_null(TypeReference(tag)); + + if (!target_itype) { + target_itype = _get_type_or_null(TypeReference("_" + tag)); + } + + if (target_itype) { + xml_output.append("<see cref=\"" BINDINGS_NAMESPACE "."); + xml_output.append(target_itype->proxy_name); + xml_output.append("\"/>"); + } else { + ERR_PRINTS("Cannot resolve type reference in documentation: " + tag); + + xml_output.append("<c>"); + xml_output.append(tag); + xml_output.append("</c>"); + } + } + + pos = brk_end + 1; + } else if (tag == "b") { + // bold is not supported in xml comments + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "i") { + // italics is not supported in xml comments + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "code") { + xml_output.append("<c>"); + + code_tag = true; + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "codeblock") { + xml_output.append("<code>"); + + code_tag = true; + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "center") { + // center is alignment not supported in xml comments + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "br") { + xml_output.append("\n"); // FIXME: Should use <para> instead. Luckily this tag isn't used for now. + pos = brk_end + 1; + } else if (tag == "u") { + // underline is not supported in xml comments + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "s") { + // strikethrough is not supported in xml comments + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag == "url") { + int end = bbcode.find("[", brk_end); + if (end == -1) + end = bbcode.length(); + String url = bbcode.substr(brk_end + 1, end - brk_end - 1); + xml_output.append("<a href=\""); + xml_output.append(url); + xml_output.append("\">"); + xml_output.append(url); + + pos = brk_end + 1; + tag_stack.push_front(tag); + } else if (tag.begins_with("url=")) { + String url = tag.substr(4, tag.length()); + xml_output.append("<a href=\""); + xml_output.append(url); + xml_output.append("\">"); + + pos = brk_end + 1; + tag_stack.push_front("url"); + } else if (tag == "img") { + int end = bbcode.find("[", brk_end); + if (end == -1) + end = bbcode.length(); + String image = bbcode.substr(brk_end + 1, end - brk_end - 1); + + // Not supported. Just append the bbcode. + xml_output.append("[img]"); + xml_output.append(image); + xml_output.append("[/img]"); + + pos = end; + tag_stack.push_front(tag); + } else if (tag.begins_with("color=")) { + // Not supported. + pos = brk_end + 1; + tag_stack.push_front("color"); + } else if (tag.begins_with("font=")) { + // Not supported. + pos = brk_end + 1; + tag_stack.push_front("font"); + } else { + xml_output.append("["); // ignore + pos = brk_pos + 1; + } + } + + xml_output.append("</para>"); + + return xml_output.as_string(); +} + int BindingsGenerator::_determine_enum_prefix(const EnumInterface &p_ienum) { CRASH_COND(p_ienum.constants.empty()); @@ -299,6 +761,9 @@ void BindingsGenerator::_generate_global_constants(List<String> &p_output) { // Constants (in partial GD class) + p_output.push_back("\n#pragma warning disable CS1591 // Disable warning: " + "'Missing XML comment for publicly visible type or member'\n"); + p_output.push_back("namespace " BINDINGS_NAMESPACE "\n" OPEN_BLOCK); p_output.push_back(INDENT1 "public static partial class " BINDINGS_GLOBAL_SCOPE_CLASS "\n" INDENT1 "{"); @@ -306,20 +771,20 @@ void BindingsGenerator::_generate_global_constants(List<String> &p_output) { const ConstantInterface &iconstant = E->get(); if (iconstant.const_doc && iconstant.const_doc->description.size()) { - p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(iconstant.const_doc->description), NULL); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + if (summary_lines.size()) { + p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_line.xml_escape()); + p_output.push_back(summary_lines[i]); p_output.push_back("\n"); } - } - p_output.push_back(INDENT2 "/// </summary>"); + p_output.push_back(INDENT2 "/// </summary>"); + } } p_output.push_back(MEMBER_BEGIN "public const int "); @@ -369,20 +834,20 @@ void BindingsGenerator::_generate_global_constants(List<String> &p_output) { const ConstantInterface &iconstant = F->get(); if (iconstant.const_doc && iconstant.const_doc->description.size()) { - p_output.push_back(INDENT2 "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(iconstant.const_doc->description), NULL); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + if (summary_lines.size()) { + p_output.push_back(INDENT2 "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_line.xml_escape()); + p_output.push_back(summary_lines[i]); p_output.push_back("\n"); } - } - p_output.push_back(INDENT2 "/// </summary>\n"); + p_output.push_back(INDENT2 "/// </summary>\n"); + } } p_output.push_back(INDENT2); @@ -399,6 +864,8 @@ void BindingsGenerator::_generate_global_constants(List<String> &p_output) { } p_output.push_back(CLOSE_BLOCK); // end of namespace + + p_output.push_back("\n#pragma warning restore CS1591\n"); } Error BindingsGenerator::generate_cs_core_project(const String &p_solution_dir, DotNetSolution &r_solution, bool p_verbose_output) { @@ -712,28 +1179,31 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str output.push_back("using System;\n"); // IntPtr output.push_back("using System.Diagnostics;\n"); // DebuggerBrowsable - output.push_back("\n#pragma warning disable CS1591 // Disable warning: " - "'Missing XML comment for publicly visible type or member'\n"); + output.push_back("\n" + "#pragma warning disable CS1591 // Disable warning: " + "'Missing XML comment for publicly visible type or member'\n" + "#pragma warning disable CS1573 // Disable warning: " + "'Parameter has no matching param tag in the XML comment'\n"); output.push_back("\nnamespace " BINDINGS_NAMESPACE "\n" OPEN_BLOCK); const DocData::ClassDoc *class_doc = itype.class_doc; if (class_doc && class_doc->description.size()) { - output.push_back(INDENT1 "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(class_doc->description), &itype); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = class_doc->description.split("\n"); + if (summary_lines.size()) { + output.push_back(INDENT1 "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { output.push_back(INDENT1 "/// "); - output.push_back(description_line.xml_escape()); + output.push_back(summary_lines[i]); output.push_back("\n"); } - } - output.push_back(INDENT1 "/// </summary>\n"); + output.push_back(INDENT1 "/// </summary>\n"); + } } output.push_back(INDENT1 "public "); @@ -767,20 +1237,20 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str const ConstantInterface &iconstant = E->get(); if (iconstant.const_doc && iconstant.const_doc->description.size()) { - output.push_back(MEMBER_BEGIN "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(iconstant.const_doc->description), &itype); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + if (summary_lines.size()) { + output.push_back(MEMBER_BEGIN "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { output.push_back(INDENT2 "/// "); - output.push_back(description_line.xml_escape()); + output.push_back(summary_lines[i]); output.push_back("\n"); } - } - output.push_back(INDENT2 "/// </summary>"); + output.push_back(INDENT2 "/// </summary>"); + } } output.push_back(MEMBER_BEGIN "public const int "); @@ -808,20 +1278,20 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str const ConstantInterface &iconstant = F->get(); if (iconstant.const_doc && iconstant.const_doc->description.size()) { - output.push_back(INDENT3 "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(iconstant.const_doc->description), &itype); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + if (summary_lines.size()) { + output.push_back(INDENT3 "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { output.push_back(INDENT3 "/// "); - output.push_back(description_line.xml_escape()); + output.push_back(summary_lines[i]); output.push_back("\n"); } - } - output.push_back(INDENT3 "/// </summary>\n"); + output.push_back(INDENT3 "/// </summary>\n"); + } } output.push_back(INDENT3); @@ -928,7 +1398,9 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str output.push_back(INDENT1 CLOSE_BLOCK /* class */ CLOSE_BLOCK /* namespace */); - output.push_back("\n#pragma warning restore CS1591\n"); + output.push_back("\n" + "#pragma warning restore CS1591\n" + "#pragma warning restore CS1573\n"); return _save_file(p_output_file, output); } @@ -978,33 +1450,21 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte const TypeInterface *prop_itype = _get_type_or_null(proptype_name); ERR_FAIL_NULL_V(prop_itype, ERR_BUG); // Property type not found - String prop_proxy_name = escape_csharp_keyword(snake_to_pascal_case(p_iprop.cname)); - - // Prevent property and enclosing type from sharing the same name - if (prop_proxy_name == p_itype.proxy_name) { - if (verbose_output) { - WARN_PRINTS("Name of property `" + prop_proxy_name + "` is ambiguous with the name of its class `" + - p_itype.proxy_name + "`. Renaming property to `" + prop_proxy_name + "_`"); - } - - prop_proxy_name += "_"; - } - if (p_iprop.prop_doc && p_iprop.prop_doc->description.size()) { - p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(p_iprop.prop_doc->description), &p_itype); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = p_iprop.prop_doc->description.split("\n"); + if (summary_lines.size()) { + p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_line.xml_escape()); + p_output.push_back(summary_lines[i]); p_output.push_back("\n"); } - } - p_output.push_back(INDENT2 "/// </summary>"); + p_output.push_back(INDENT2 "/// </summary>"); + } } p_output.push_back(MEMBER_BEGIN "public "); @@ -1014,7 +1474,7 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte p_output.push_back(prop_itype->cs_type); p_output.push_back(" "); - p_output.push_back(prop_proxy_name.replace("/", "__")); + p_output.push_back(p_iprop.proxy_name); p_output.push_back("\n" INDENT2 OPEN_BLOCK); if (getter) { @@ -1135,7 +1595,10 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf icall_params += arg_type->cs_in.empty() ? arg_in : sformat(arg_type->cs_in, arg_in); - default_args_doc.push_back(INDENT2 "/// <param name=\"" + iarg.name + "\">If the param is null, then the default value is " + def_arg + "</param>\n"); + // Apparently the name attribute must not include the @ + String param_tag_name = iarg.name.begins_with("@") ? iarg.name.substr(1, iarg.name.length()) : iarg.name; + + default_args_doc.push_back(INDENT2 "/// <param name=\"" + param_tag_name + "\">If the parameter is null, then the default value is " + def_arg + "</param>\n"); } else { icall_params += arg_type->cs_in.empty() ? iarg.name : sformat(arg_type->cs_in, iarg.name); } @@ -1151,24 +1614,24 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf } if (p_imethod.method_doc && p_imethod.method_doc->description.size()) { - p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); + String xml_summary = bbcode_to_xml(fix_doc_description(p_imethod.method_doc->description), &p_itype); + Vector<String> summary_lines = xml_summary.split("\n"); - Vector<String> description_lines = p_imethod.method_doc->description.split("\n"); + if (summary_lines.size() || default_args_doc.size()) { + p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); - for (int i = 0; i < description_lines.size(); i++) { - String description_line = description_lines[i].strip_edges(); - if (description_line.size()) { + for (int i = 0; i < summary_lines.size(); i++) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_line.xml_escape()); + p_output.push_back(summary_lines[i]); p_output.push_back("\n"); } - } - for (List<String>::Element *E = default_args_doc.front(); E; E = E->next()) { - p_output.push_back(E->get().xml_escape()); - } + for (List<String>::Element *E = default_args_doc.front(); E; E = E->next()) { + p_output.push_back(E->get()); + } - p_output.push_back(INDENT2 "/// </summary>"); + p_output.push_back(INDENT2 "/// </summary>"); + } } if (!p_imethod.is_internal) { @@ -1540,20 +2003,13 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte String vararg_arg = "arg" + argc_str; String real_argc_str = itos(p_imethod.arguments.size() - 1); // Arguments count without vararg - p_output.push_back("\tVector<Variant> varargs;\n" - "\tint vararg_length = mono_array_length("); + p_output.push_back("\tint vararg_length = mono_array_length("); p_output.push_back(vararg_arg); p_output.push_back(");\n\tint total_length = "); p_output.push_back(real_argc_str); - p_output.push_back(" + vararg_length;\n\t"); - p_output.push_back(err_fail_macro); - p_output.push_back("(varargs.resize(vararg_length) != OK"); - p_output.push_back(fail_ret); - p_output.push_back(");\n\tVector<Variant*> " C_LOCAL_PTRCALL_ARGS ";\n\t"); - p_output.push_back(err_fail_macro); - p_output.push_back("(call_args.resize(total_length) != OK"); - p_output.push_back(fail_ret); - p_output.push_back(");\n"); + p_output.push_back(" + vararg_length;\n" + "\tArgumentsVector<Variant> varargs(vararg_length);\n" + "\tArgumentsVector<const Variant *> " C_LOCAL_PTRCALL_ARGS "(total_length);\n"); p_output.push_back(c_in_statements); p_output.push_back("\tfor (int i = 0; i < vararg_length; i++) " OPEN_BLOCK "\t\tMonoObject* elem = mono_array_get("); @@ -1562,7 +2018,7 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte "\t\tvarargs.set(i, GDMonoMarshal::mono_object_to_variant(elem));\n" "\t\t" C_LOCAL_PTRCALL_ARGS ".set("); p_output.push_back(real_argc_str); - p_output.push_back(" + i, &varargs.write[i]);\n\t" CLOSE_BLOCK); + p_output.push_back(" + i, &varargs.get(i));\n\t" CLOSE_BLOCK); } else { p_output.push_back(c_in_statements); p_output.push_back("\tconst void* " C_LOCAL_PTRCALL_ARGS "["); @@ -1584,7 +2040,7 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte } p_output.push_back(CS_PARAM_METHODBIND "->call(" CS_PARAM_INSTANCE ", "); - p_output.push_back(p_imethod.arguments.size() ? "(const Variant**)" C_LOCAL_PTRCALL_ARGS ".ptr()" : "NULL"); + p_output.push_back(p_imethod.arguments.size() ? C_LOCAL_PTRCALL_ARGS ".ptr()" : "NULL"); p_output.push_back(", total_length, vcall_error);\n"); // See the comment on the C_LOCAL_VARARG_RET declaration @@ -1728,7 +2184,6 @@ void BindingsGenerator::_populate_object_type_interfaces() { PropertyInterface iprop; iprop.cname = property.name; - iprop.proxy_name = escape_csharp_keyword(snake_to_pascal_case(iprop.cname)); iprop.setter = ClassDB::get_property_setter(type_cname, iprop.cname); iprop.getter = ClassDB::get_property_getter(type_cname, iprop.cname); @@ -1736,6 +2191,8 @@ void BindingsGenerator::_populate_object_type_interfaces() { iprop.index = ClassDB::get_property_index(type_cname, iprop.cname, &valid); ERR_FAIL_COND(!valid); + iprop.proxy_name = escape_csharp_keyword(snake_to_pascal_case(iprop.cname)); + // Prevent property and enclosing type from sharing the same name if (iprop.proxy_name == itype.proxy_name) { if (verbose_output) { @@ -1746,6 +2203,8 @@ void BindingsGenerator::_populate_object_type_interfaces() { iprop.proxy_name += "_"; } + iprop.proxy_name = iprop.proxy_name.replace("/", "__"); // Some members have a slash... + iprop.prop_doc = NULL; for (int i = 0; i < itype.class_doc->properties.size(); i++) { @@ -2038,6 +2497,7 @@ void BindingsGenerator::_default_argument_from_variant(const Variant &p_val, Arg r_iarg.default_argument = "null"; break; } + FALLTHROUGH; case Variant::DICTIONARY: case Variant::_RID: r_iarg.default_argument = "new %s()"; diff --git a/modules/mono/editor/bindings_generator.h b/modules/mono/editor/bindings_generator.h index 8a1c942f6b..42071f9c0d 100644 --- a/modules/mono/editor/bindings_generator.h +++ b/modules/mono/editor/bindings_generator.h @@ -87,8 +87,13 @@ class BindingsGenerator { StringName cname; bool is_enum; - TypeReference() { - is_enum = false; + TypeReference() : + is_enum(false) { + } + + TypeReference(const StringName &p_cname) : + cname(p_cname), + is_enum(false) { } }; @@ -321,6 +326,15 @@ class BindingsGenerator { return NULL; } + const PropertyInterface *find_property_by_name(const StringName &p_cname) const { + for (const List<PropertyInterface>::Element *E = properties.front(); E; E = E->next()) { + if (E->get().cname == p_cname) + return &E->get(); + } + + return NULL; + } + const PropertyInterface *find_property_by_proxy_name(const String &p_proxy_name) const { for (const List<PropertyInterface>::Element *E = properties.front(); E; E = E->next()) { if (E->get().proxy_name == p_proxy_name) @@ -482,6 +496,8 @@ class BindingsGenerator { StringName type_VarArg; StringName type_Object; StringName type_Reference; + StringName type_String; + StringName type_at_GlobalScope; StringName enum_Error; NameCache() { @@ -493,6 +509,8 @@ class BindingsGenerator { type_VarArg = StaticCString::create("VarArg"); type_Object = StaticCString::create("Object"); type_Reference = StaticCString::create("Reference"); + type_String = StaticCString::create("String"); + type_at_GlobalScope = StaticCString::create("@GlobalScope"); enum_Error = StaticCString::create("Error"); } @@ -511,6 +529,15 @@ class BindingsGenerator { return NULL; } + const ConstantInterface *find_constant_by_name(const String &p_name, const List<ConstantInterface> &p_constants) const { + for (const List<ConstantInterface>::Element *E = p_constants.front(); E; E = E->next()) { + if (E->get().name == p_name) + return &E->get(); + } + + return NULL; + } + inline String get_unique_sig(const TypeInterface &p_type) { if (p_type.is_reference) return "Ref"; @@ -522,6 +549,8 @@ class BindingsGenerator { return p_type.name; } + String bbcode_to_xml(const String &p_bbcode, const TypeInterface *p_itype); + int _determine_enum_prefix(const EnumInterface &p_ienum); void _apply_prefix_to_enum_constants(EnumInterface &p_ienum, int p_prefix_length); diff --git a/modules/mono/editor/godotsharp_editor.cpp b/modules/mono/editor/godotsharp_editor.cpp index c7bb72c1fb..921b9f987b 100644 --- a/modules/mono/editor/godotsharp_editor.cpp +++ b/modules/mono/editor/godotsharp_editor.cpp @@ -457,12 +457,12 @@ GodotSharpEditor::GodotSharpEditor(EditorNode *p_editor) { about_label->set_v_size_flags(Control::SIZE_EXPAND_FILL); about_label->set_autowrap(true); String about_text = - String("C# support in Godot Engine is a brand new feature and a work in progress.\n") + - "It is currently in an alpha stage and is not suitable for use in production.\n\n" + - "As of Godot 3.1, C# support is not feature-complete and may crash in some situations. " + - "Bugs and usability issues will be addressed gradually over future 3.x releases, " + - "including compatibility breaking changes as new features are implemented for a better overall C# experience.\n\n" + - "If you experience issues with this Mono build, please report them on Godot's issue tracker with details about your system, Mono version, IDE, etc:\n\n" + + String("C# support in Godot Engine is in late alpha stage and, while already usable, ") + + "it is not meant for use in production.\n\n" + + "Projects can be exported to Linux, macOS and Windows, but not yet to mobile or web platforms. " + + "Bugs and usability issues will be addressed gradually over future releases, " + + "potentially including compatibility breaking changes as new features are implemented for a better overall C# experience.\n\n" + + "If you experience issues with this Mono build, please report them on Godot's issue tracker with details about your system, MSBuild version, IDE, etc.:\n\n" + " https://github.com/godotengine/godot/issues\n\n" + "Your critical feedback at this stage will play a great role in shaping the C# support in future releases, so thank you!"; about_label->set_text(about_text); diff --git a/modules/mono/editor/script_class_parser.cpp b/modules/mono/editor/script_class_parser.cpp index 6b2ec5cc20..dfb652a7aa 100644 --- a/modules/mono/editor/script_class_parser.cpp +++ b/modules/mono/editor/script_class_parser.cpp @@ -266,6 +266,20 @@ Error ScriptClassParser::_skip_generic_type_params() { if (tk == TK_IDENTIFIER) { tk = get_token(); + // Type specifications can end with "?" to denote nullable types, such as IList<int?> + if (tk == TK_SYMBOL) { + tk = get_token(); + if (value.operator String() != "?") { + error_str = "Expected " + get_token_name(TK_IDENTIFIER) + ", found unexpected symbol '" + value + "'"; + error = true; + return ERR_PARSE_ERROR; + } + if (tk != TK_OP_GREATER && tk != TK_COMMA) { + error_str = "Nullable type symbol '?' is only allowed after an identifier, but found " + get_token_name(tk) + " next."; + error = true; + return ERR_PARSE_ERROR; + } + } if (tk == TK_PERIOD) { while (true) { diff --git a/modules/mono/glue/Managed/Files/DynamicObject.cs b/modules/mono/glue/Managed/Files/DynamicObject.cs new file mode 100644 index 0000000000..9504415664 --- /dev/null +++ b/modules/mono/glue/Managed/Files/DynamicObject.cs @@ -0,0 +1,213 @@ + +using System; +using System.Collections.Generic; +using System.Dynamic; +using System.Linq.Expressions; +using System.Runtime.CompilerServices; + +namespace Godot +{ + /// <summary> + /// Represents an <see cref="Godot.Object"/> whose members can be dynamically accessed at runtime through the Variant API. + /// </summary> + /// <remarks> + /// <para> + /// The <see cref="Godot.DynamicGodotObject"/> class enables access to the Variant + /// members of a <see cref="Godot.Object"/> instance at runtime. + /// </para> + /// <para> + /// This allows accessing the class members using their original names in the engine as well as the members from the + /// script attached to the <see cref="Godot.Object"/>, regardless of the scripting language it was written in. + /// </para> + /// </remarks> + /// <example> + /// This sample shows how to use <see cref="Godot.DynamicGodotObject"/> to dynamically access the engine members of a <see cref="Godot.Object"/>. + /// <code> + /// dynamic sprite = GetNode("Sprite").DynamicGodotObject; + /// sprite.add_child(this); + /// + /// if ((sprite.hframes * sprite.vframes) > 0) + /// sprite.frame = 0; + /// </code> + /// </example> + /// <example> + /// This sample shows how to use <see cref="Godot.DynamicGodotObject"/> to dynamically access the members of the script attached to a <see cref="Godot.Object"/>. + /// <code> + /// dynamic childNode = GetNode("ChildNode").DynamicGodotObject; + /// + /// if (childNode.print_allowed) + /// { + /// childNode.message = "Hello from C#"; + /// childNode.print_message(3); + /// } + /// </code> + /// The <c>ChildNode</c> node has the following GDScript script attached: + /// <code> + /// // # ChildNode.gd + /// // var print_allowed = true + /// // var message = "" + /// // + /// // func print_message(times): + /// // for i in times: + /// // print(message) + /// </code> + /// </example> + public class DynamicGodotObject : DynamicObject + { + /// <summary> + /// Gets the <see cref="Godot.Object"/> associated with this <see cref="Godot.DynamicGodotObject"/>. + /// </summary> + public Object Value { get; } + + /// <summary> + /// Initializes a new instance of the <see cref="Godot.DynamicGodotObject"/> class. + /// </summary> + /// <param name="godotObject"> + /// The <see cref="Godot.Object"/> that will be associated with this <see cref="Godot.DynamicGodotObject"/>. + /// </param> + /// <exception cref="System.ArgumentNullException"> + /// Thrown when the <paramref name="godotObject"/> parameter is null. + /// </exception> + public DynamicGodotObject(Object godotObject) + { + if (godotObject == null) + throw new ArgumentNullException(nameof(godotObject)); + + this.Value = godotObject; + } + + public override IEnumerable<string> GetDynamicMemberNames() + { + return godot_icall_DynamicGodotObject_SetMemberList(Object.GetPtr(Value)); + } + + public override bool TryBinaryOperation(BinaryOperationBinder binder, object arg, out object result) + { + switch (binder.Operation) + { + case ExpressionType.Equal: + case ExpressionType.NotEqual: + if (binder.ReturnType == typeof(bool) || binder.ReturnType.IsAssignableFrom(typeof(bool))) + { + if (arg == null) + { + bool boolResult = Object.IsInstanceValid(Value); + + if (binder.Operation == ExpressionType.Equal) + boolResult = !boolResult; + + result = boolResult; + return true; + } + + if (arg is Object other) + { + bool boolResult = (Value == other); + + if (binder.Operation == ExpressionType.NotEqual) + boolResult = !boolResult; + + result = boolResult; + return true; + } + } + + break; + default: + // We're not implementing operators <, <=, >, and >= (LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual). + // These are used on the actual pointers in variant_op.cpp. It's better to let the user do that explicitly. + break; + } + + return base.TryBinaryOperation(binder, arg, out result); + } + + public override bool TryConvert(ConvertBinder binder, out object result) + { + if (binder.Type == typeof(Object)) + { + result = Value; + return true; + } + + if (typeof(Object).IsAssignableFrom(binder.Type)) + { + // Throws InvalidCastException when the cast fails + result = Convert.ChangeType(Value, binder.Type); + return true; + } + + return base.TryConvert(binder, out result); + } + + public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result) + { + if (indexes.Length == 1) + { + if (indexes[0] is string name) + { + return godot_icall_DynamicGodotObject_GetMember(Object.GetPtr(Value), name, out result); + } + } + + return base.TryGetIndex(binder, indexes, out result); + } + + public override bool TryGetMember(GetMemberBinder binder, out object result) + { + return godot_icall_DynamicGodotObject_GetMember(Object.GetPtr(Value), binder.Name, out result); + } + + public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result) + { + return godot_icall_DynamicGodotObject_InvokeMember(Object.GetPtr(Value), binder.Name, args, out result); + } + + public override bool TrySetIndex(SetIndexBinder binder, object[] indexes, object value) + { + if (indexes.Length == 1) + { + if (indexes[0] is string name) + { + return godot_icall_DynamicGodotObject_SetMember(Object.GetPtr(Value), name, value); + } + } + + return base.TrySetIndex(binder, indexes, value); + } + + public override bool TrySetMember(SetMemberBinder binder, object value) + { + return godot_icall_DynamicGodotObject_SetMember(Object.GetPtr(Value), binder.Name, value); + } + + [MethodImpl(MethodImplOptions.InternalCall)] + internal extern static string[] godot_icall_DynamicGodotObject_SetMemberList(IntPtr godotObject); + + [MethodImpl(MethodImplOptions.InternalCall)] + internal extern static bool godot_icall_DynamicGodotObject_InvokeMember(IntPtr godotObject, string name, object[] args, out object result); + + [MethodImpl(MethodImplOptions.InternalCall)] + internal extern static bool godot_icall_DynamicGodotObject_GetMember(IntPtr godotObject, string name, out object result); + + [MethodImpl(MethodImplOptions.InternalCall)] + internal extern static bool godot_icall_DynamicGodotObject_SetMember(IntPtr godotObject, string name, object value); + + #region We don't override these methods + + // Looks like this is not usable from C# + //public override bool TryCreateInstance(CreateInstanceBinder binder, object[] args, out object result); + + // Object members cannot be deleted + //public override bool TryDeleteIndex(DeleteIndexBinder binder, object[] indexes); + //public override bool TryDeleteMember(DeleteMemberBinder binder); + + // Invokation on the object itself, e.g.: obj(param) + //public override bool TryInvoke(InvokeBinder binder, object[] args, out object result); + + // No unnary operations to handle + //public override bool TryUnaryOperation(UnaryOperationBinder binder, out object result); + + #endregion + } +} diff --git a/modules/mono/glue/Managed/Files/GD.cs b/modules/mono/glue/Managed/Files/GD.cs index 3afaf5d08b..d968f8a78f 100644 --- a/modules/mono/glue/Managed/Files/GD.cs +++ b/modules/mono/glue/Managed/Files/GD.cs @@ -13,12 +13,12 @@ namespace Godot { public static partial class GD { - public static object Bytes2Var(byte[] bytes) + public static object Bytes2Var(byte[] bytes, bool allow_objects = false) { - return godot_icall_GD_bytes2var(bytes); + return godot_icall_GD_bytes2var(bytes, allow_objects); } - public static object Convert(object what, int type) + public static object Convert(object what, Variant.Type type) { return godot_icall_GD_convert(what, type); } @@ -186,9 +186,9 @@ namespace Godot return godot_icall_GD_type_exists(type); } - public static byte[] Var2Bytes(object var) + public static byte[] Var2Bytes(object var, bool full_objects = false) { - return godot_icall_GD_var2bytes(var); + return godot_icall_GD_var2bytes(var, full_objects); } public static string Var2Str(object var) @@ -197,10 +197,10 @@ namespace Godot } [MethodImpl(MethodImplOptions.InternalCall)] - internal extern static object godot_icall_GD_bytes2var(byte[] bytes); + internal extern static object godot_icall_GD_bytes2var(byte[] bytes, bool allow_objects); [MethodImpl(MethodImplOptions.InternalCall)] - internal extern static object godot_icall_GD_convert(object what, int type); + internal extern static object godot_icall_GD_convert(object what, Variant.Type type); [MethodImpl(MethodImplOptions.InternalCall)] internal extern static int godot_icall_GD_hash(object var); @@ -251,7 +251,7 @@ namespace Godot internal extern static bool godot_icall_GD_type_exists(string type); [MethodImpl(MethodImplOptions.InternalCall)] - internal extern static byte[] godot_icall_GD_var2bytes(object what); + internal extern static byte[] godot_icall_GD_var2bytes(object what, bool full_objects); [MethodImpl(MethodImplOptions.InternalCall)] internal extern static string godot_icall_GD_var2str(object var); diff --git a/modules/mono/glue/Managed/Files/Object.base.cs b/modules/mono/glue/Managed/Files/Object.base.cs index 41fc43996f..e152d56871 100644 --- a/modules/mono/glue/Managed/Files/Object.base.cs +++ b/modules/mono/glue/Managed/Files/Object.base.cs @@ -73,11 +73,39 @@ namespace Godot disposed = true; } + /// <summary> + /// Returns a new <see cref="Godot.SignalAwaiter"/> awaiter configured to complete when the instance + /// <paramref name="source"/> emits the signal specified by the <paramref name="signal"/> parameter. + /// </summary> + /// <param name="source"> + /// The instance the awaiter will be listening to. + /// </param> + /// <param name="signal"> + /// The signal the awaiter will be waiting for. + /// </param> + /// <example> + /// This sample prints a message once every frame up to 100 times. + /// <code> + /// public override void _Ready() + /// { + /// for (int i = 0; i < 100; i++) + /// { + /// await ToSignal(GetTree(), "idle_frame"); + /// GD.Print($"Frame {i}"); + /// } + /// } + /// </code> + /// </example> public SignalAwaiter ToSignal(Object source, string signal) { return new SignalAwaiter(source, signal, this); } + /// <summary> + /// Gets a new <see cref="Godot.DynamicGodotObject"/> associated with this instance. + /// </summary> + public dynamic DynamicObject => new DynamicGodotObject(this); + [MethodImpl(MethodImplOptions.InternalCall)] internal extern static IntPtr godot_icall_Object_Ctor(Object obj); diff --git a/modules/mono/glue/arguments_vector.h b/modules/mono/glue/arguments_vector.h new file mode 100644 index 0000000000..8c0f308c15 --- /dev/null +++ b/modules/mono/glue/arguments_vector.h @@ -0,0 +1,68 @@ +/*************************************************************************/ +/* arguments_vector.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2019 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 ARGUMENTS_VECTOR_H +#define ARGUMENTS_VECTOR_H + +#include "core/os/memory.h" + +template <typename T, int POOL_SIZE = 5> +struct ArgumentsVector { + +private: + T pool[POOL_SIZE]; + T *_ptr; + int size; + + ArgumentsVector(); + ArgumentsVector(const ArgumentsVector &); + +public: + T *ptr() { return _ptr; } + T &get(int p_idx) { return _ptr[p_idx]; } + void set(int p_idx, const T &p_value) { _ptr[p_idx] = p_value; } + + explicit ArgumentsVector(int p_size) : + size(p_size) { + if (p_size <= POOL_SIZE) { + _ptr = pool; + } else { + _ptr = memnew_arr(T, p_size); + } + } + + ~ArgumentsVector() { + if (size > POOL_SIZE) { + memdelete_arr(_ptr); + } + } +}; + +#endif // ARGUMENTS_VECTOR_H diff --git a/modules/mono/glue/base_object_glue.cpp b/modules/mono/glue/base_object_glue.cpp index fad02b01d3..b690de0d20 100644 --- a/modules/mono/glue/base_object_glue.cpp +++ b/modules/mono/glue/base_object_glue.cpp @@ -36,9 +36,11 @@ #include "core/string_name.h" #include "../csharp_script.h" +#include "../mono_gd/gd_mono_class.h" #include "../mono_gd/gd_mono_internals.h" #include "../mono_gd/gd_mono_utils.h" #include "../signal_awaiter_utils.h" +#include "arguments_vector.h" Object *godot_icall_Object_Ctor(MonoObject *p_obj) { Object *instance = memnew(Object); @@ -75,7 +77,7 @@ void godot_icall_Object_Disposed(MonoObject *p_obj, Object *p_ptr) { } } -void godot_icall_Reference_Disposed(MonoObject *p_obj, Object *p_ptr, bool p_is_finalizer) { +void godot_icall_Reference_Disposed(MonoObject *p_obj, Object *p_ptr, MonoBoolean p_is_finalizer) { #ifdef DEBUG_ENABLED CRASH_COND(p_ptr == NULL); // This is only called with Reference derived classes @@ -155,6 +157,67 @@ Error godot_icall_SignalAwaiter_connect(Object *p_source, MonoString *p_signal, return SignalAwaiterUtils::connect_signal_awaiter(p_source, signal, p_target, p_awaiter); } +MonoArray *godot_icall_DynamicGodotObject_SetMemberList(Object *p_ptr) { + List<PropertyInfo> property_list; + p_ptr->get_property_list(&property_list); + + MonoArray *result = mono_array_new(mono_domain_get(), CACHED_CLASS_RAW(String), property_list.size()); + + int i = 0; + for (List<PropertyInfo>::Element *E = property_list.front(); E; E = E->next()) { + MonoString *boxed = GDMonoMarshal::mono_string_from_godot(E->get().name); + mono_array_set(result, MonoString *, i, boxed); + i++; + } + + return result; +} + +MonoBoolean godot_icall_DynamicGodotObject_InvokeMember(Object *p_ptr, MonoString *p_name, MonoArray *p_args, MonoObject **r_result) { + String name = GDMonoMarshal::mono_string_to_godot(p_name); + + int argc = mono_array_length(p_args); + + ArgumentsVector<Variant> arg_store(argc); + ArgumentsVector<const Variant *> args(argc); + + for (int i = 0; i < argc; i++) { + MonoObject *elem = mono_array_get(p_args, MonoObject *, i); + arg_store.set(i, GDMonoMarshal::mono_object_to_variant(elem)); + args.set(i, &arg_store.get(i)); + } + + Variant::CallError error; + Variant result = p_ptr->call(StringName(name), args.ptr(), argc, error); + + *r_result = GDMonoMarshal::variant_to_mono_object(result); + + return error.error == OK; +} + +MonoBoolean godot_icall_DynamicGodotObject_GetMember(Object *p_ptr, MonoString *p_name, MonoObject **r_result) { + String name = GDMonoMarshal::mono_string_to_godot(p_name); + + bool valid; + Variant value = p_ptr->get(StringName(name), &valid); + + if (valid) { + *r_result = GDMonoMarshal::variant_to_mono_object(value); + } + + return valid; +} + +MonoBoolean godot_icall_DynamicGodotObject_SetMember(Object *p_ptr, MonoString *p_name, MonoObject *p_value) { + String name = GDMonoMarshal::mono_string_to_godot(p_name); + Variant value = GDMonoMarshal::mono_object_to_variant(p_value); + + bool valid; + p_ptr->set(StringName(name), value, &valid); + + return valid; +} + void godot_register_object_icalls() { mono_add_internal_call("Godot.Object::godot_icall_Object_Ctor", (void *)godot_icall_Object_Ctor); mono_add_internal_call("Godot.Object::godot_icall_Object_Disposed", (void *)godot_icall_Object_Disposed); @@ -162,6 +225,10 @@ void godot_register_object_icalls() { mono_add_internal_call("Godot.Object::godot_icall_Object_ClassDB_get_method", (void *)godot_icall_Object_ClassDB_get_method); mono_add_internal_call("Godot.Object::godot_icall_Object_weakref", (void *)godot_icall_Object_weakref); mono_add_internal_call("Godot.SignalAwaiter::godot_icall_SignalAwaiter_connect", (void *)godot_icall_SignalAwaiter_connect); + mono_add_internal_call("Godot.DynamicGodotObject::godot_icall_DynamicGodotObject_SetMemberList", (void *)godot_icall_DynamicGodotObject_SetMemberList); + mono_add_internal_call("Godot.DynamicGodotObject::godot_icall_DynamicGodotObject_InvokeMember", (void *)godot_icall_DynamicGodotObject_InvokeMember); + mono_add_internal_call("Godot.DynamicGodotObject::godot_icall_DynamicGodotObject_GetMember", (void *)godot_icall_DynamicGodotObject_GetMember); + mono_add_internal_call("Godot.DynamicGodotObject::godot_icall_DynamicGodotObject_SetMember", (void *)godot_icall_DynamicGodotObject_SetMember); } #endif // MONO_GLUE_ENABLED diff --git a/modules/mono/glue/base_object_glue.h b/modules/mono/glue/base_object_glue.h index e126fac6ca..9b5224a347 100644 --- a/modules/mono/glue/base_object_glue.h +++ b/modules/mono/glue/base_object_glue.h @@ -42,7 +42,7 @@ Object *godot_icall_Object_Ctor(MonoObject *p_obj); void godot_icall_Object_Disposed(MonoObject *p_obj, Object *p_ptr); -void godot_icall_Reference_Disposed(MonoObject *p_obj, Object *p_ptr, bool p_is_finalizer); +void godot_icall_Reference_Disposed(MonoObject *p_obj, Object *p_ptr, MonoBoolean p_is_finalizer); MethodBind *godot_icall_Object_ClassDB_get_method(MonoString *p_type, MonoString *p_method); @@ -50,6 +50,16 @@ MonoObject *godot_icall_Object_weakref(Object *p_obj); Error godot_icall_SignalAwaiter_connect(Object *p_source, MonoString *p_signal, Object *p_target, MonoObject *p_awaiter); +// DynamicGodotObject + +MonoArray *godot_icall_DynamicGodotObject_SetMemberList(Object *p_ptr); + +MonoBoolean godot_icall_DynamicGodotObject_InvokeMember(Object *p_ptr, MonoString *p_name, MonoArray *p_args, MonoObject **r_result); + +MonoBoolean godot_icall_DynamicGodotObject_GetMember(Object *p_ptr, MonoString *p_name, MonoObject **r_result); + +MonoBoolean godot_icall_DynamicGodotObject_SetMember(Object *p_ptr, MonoString *p_name, MonoObject *p_value); + // Register internal calls void godot_register_object_icalls(); diff --git a/modules/mono/glue/collections_glue.cpp b/modules/mono/glue/collections_glue.cpp index 1065ff0868..1aad1c53bc 100644 --- a/modules/mono/glue/collections_glue.cpp +++ b/modules/mono/glue/collections_glue.cpp @@ -81,7 +81,7 @@ void godot_icall_Array_Clear(Array *ptr) { ptr->clear(); } -bool godot_icall_Array_Contains(Array *ptr, MonoObject *item) { +MonoBoolean godot_icall_Array_Contains(Array *ptr, MonoObject *item) { return ptr->find(GDMonoMarshal::mono_object_to_variant(item)) != -1; } @@ -113,7 +113,7 @@ void godot_icall_Array_Insert(Array *ptr, int index, MonoObject *item) { ptr->insert(index, GDMonoMarshal::mono_object_to_variant(item)); } -bool godot_icall_Array_Remove(Array *ptr, MonoObject *item) { +MonoBoolean godot_icall_Array_Remove(Array *ptr, MonoObject *item) { int idx = ptr->find(GDMonoMarshal::mono_object_to_variant(item)); if (idx >= 0) { ptr->remove(idx); @@ -208,21 +208,21 @@ void godot_icall_Dictionary_Clear(Dictionary *ptr) { ptr->clear(); } -bool godot_icall_Dictionary_Contains(Dictionary *ptr, MonoObject *key, MonoObject *value) { +MonoBoolean godot_icall_Dictionary_Contains(Dictionary *ptr, MonoObject *key, MonoObject *value) { // no dupes Variant *ret = ptr->getptr(GDMonoMarshal::mono_object_to_variant(key)); return ret != NULL && *ret == GDMonoMarshal::mono_object_to_variant(value); } -bool godot_icall_Dictionary_ContainsKey(Dictionary *ptr, MonoObject *key) { +MonoBoolean godot_icall_Dictionary_ContainsKey(Dictionary *ptr, MonoObject *key) { return ptr->has(GDMonoMarshal::mono_object_to_variant(key)); } -bool godot_icall_Dictionary_RemoveKey(Dictionary *ptr, MonoObject *key) { +MonoBoolean godot_icall_Dictionary_RemoveKey(Dictionary *ptr, MonoObject *key) { return ptr->erase(GDMonoMarshal::mono_object_to_variant(key)); } -bool godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject *value) { +MonoBoolean godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject *value) { Variant varKey = GDMonoMarshal::mono_object_to_variant(key); // no dupes @@ -235,7 +235,7 @@ bool godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject return false; } -bool godot_icall_Dictionary_TryGetValue(Dictionary *ptr, MonoObject *key, MonoObject **value) { +MonoBoolean godot_icall_Dictionary_TryGetValue(Dictionary *ptr, MonoObject *key, MonoObject **value) { Variant *ret = ptr->getptr(GDMonoMarshal::mono_object_to_variant(key)); if (ret == NULL) { *value = NULL; @@ -245,7 +245,7 @@ bool godot_icall_Dictionary_TryGetValue(Dictionary *ptr, MonoObject *key, MonoOb return true; } -bool godot_icall_Dictionary_TryGetValue_Generic(Dictionary *ptr, MonoObject *key, MonoObject **value, uint32_t type_encoding, GDMonoClass *type_class) { +MonoBoolean godot_icall_Dictionary_TryGetValue_Generic(Dictionary *ptr, MonoObject *key, MonoObject **value, uint32_t type_encoding, GDMonoClass *type_class) { Variant *ret = ptr->getptr(GDMonoMarshal::mono_object_to_variant(key)); if (ret == NULL) { *value = NULL; diff --git a/modules/mono/glue/collections_glue.h b/modules/mono/glue/collections_glue.h index c0056d3bce..85a2e243a2 100644 --- a/modules/mono/glue/collections_glue.h +++ b/modules/mono/glue/collections_glue.h @@ -55,7 +55,7 @@ void godot_icall_Array_Add(Array *ptr, MonoObject *item); void godot_icall_Array_Clear(Array *ptr); -bool godot_icall_Array_Contains(Array *ptr, MonoObject *item); +MonoBoolean godot_icall_Array_Contains(Array *ptr, MonoObject *item); void godot_icall_Array_CopyTo(Array *ptr, MonoArray *array, int array_index); @@ -63,7 +63,7 @@ int godot_icall_Array_IndexOf(Array *ptr, MonoObject *item); void godot_icall_Array_Insert(Array *ptr, int index, MonoObject *item); -bool godot_icall_Array_Remove(Array *ptr, MonoObject *item); +MonoBoolean godot_icall_Array_Remove(Array *ptr, MonoObject *item); void godot_icall_Array_RemoveAt(Array *ptr, int index); @@ -93,17 +93,17 @@ void godot_icall_Dictionary_Add(Dictionary *ptr, MonoObject *key, MonoObject *va void godot_icall_Dictionary_Clear(Dictionary *ptr); -bool godot_icall_Dictionary_Contains(Dictionary *ptr, MonoObject *key, MonoObject *value); +MonoBoolean godot_icall_Dictionary_Contains(Dictionary *ptr, MonoObject *key, MonoObject *value); -bool godot_icall_Dictionary_ContainsKey(Dictionary *ptr, MonoObject *key); +MonoBoolean godot_icall_Dictionary_ContainsKey(Dictionary *ptr, MonoObject *key); -bool godot_icall_Dictionary_RemoveKey(Dictionary *ptr, MonoObject *key); +MonoBoolean godot_icall_Dictionary_RemoveKey(Dictionary *ptr, MonoObject *key); -bool godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject *value); +MonoBoolean godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject *value); -bool godot_icall_Dictionary_TryGetValue(Dictionary *ptr, MonoObject *key, MonoObject **value); +MonoBoolean godot_icall_Dictionary_TryGetValue(Dictionary *ptr, MonoObject *key, MonoObject **value); -bool godot_icall_Dictionary_TryGetValue_Generic(Dictionary *ptr, MonoObject *key, MonoObject **value, uint32_t type_encoding, GDMonoClass *type_class); +MonoBoolean godot_icall_Dictionary_TryGetValue_Generic(Dictionary *ptr, MonoObject *key, MonoObject **value, uint32_t type_encoding, GDMonoClass *type_class); void godot_icall_Dictionary_Generic_GetValueTypeInfo(MonoReflectionType *refltype, uint32_t *type_encoding, GDMonoClass **type_class); diff --git a/modules/mono/glue/gd_glue.cpp b/modules/mono/glue/gd_glue.cpp index 5edf49d2bf..d756131ac9 100644 --- a/modules/mono/glue/gd_glue.cpp +++ b/modules/mono/glue/gd_glue.cpp @@ -41,11 +41,11 @@ #include "../mono_gd/gd_mono_utils.h" -MonoObject *godot_icall_GD_bytes2var(MonoArray *p_bytes) { +MonoObject *godot_icall_GD_bytes2var(MonoArray *p_bytes, MonoBoolean p_allow_objects) { Variant ret; PoolByteArray varr = GDMonoMarshal::mono_array_to_PoolByteArray(p_bytes); PoolByteArray::Read r = varr.read(); - Error err = decode_variant(ret, r.ptr(), varr.size(), NULL); + Error err = decode_variant(ret, r.ptr(), varr.size(), NULL, p_allow_objects); if (err != OK) { ret = RTR("Not enough bytes for decoding bytes, or invalid format."); } @@ -175,7 +175,7 @@ MonoObject *godot_icall_GD_str2var(MonoString *p_str) { return GDMonoMarshal::variant_to_mono_object(ret); } -bool godot_icall_GD_type_exists(MonoString *p_type) { +MonoBoolean godot_icall_GD_type_exists(MonoString *p_type) { return ClassDB::class_exists(GDMonoMarshal::mono_string_to_godot(p_type)); } @@ -187,19 +187,19 @@ void godot_icall_GD_pushwarning(MonoString *p_str) { WARN_PRINTS(GDMonoMarshal::mono_string_to_godot(p_str)); } -MonoArray *godot_icall_GD_var2bytes(MonoObject *p_var) { +MonoArray *godot_icall_GD_var2bytes(MonoObject *p_var, MonoBoolean p_full_objects) { Variant var = GDMonoMarshal::mono_object_to_variant(p_var); PoolByteArray barr; int len; - Error err = encode_variant(var, NULL, len); + Error err = encode_variant(var, NULL, len, p_full_objects); ERR_EXPLAIN("Unexpected error encoding variable to bytes, likely unserializable type found (Object or RID)."); ERR_FAIL_COND_V(err != OK, NULL); barr.resize(len); { PoolByteArray::Write w = barr.write(); - encode_variant(var, w.ptr(), len); + encode_variant(var, w.ptr(), len, p_full_objects); } return GDMonoMarshal::PoolByteArray_to_mono_array(barr); diff --git a/modules/mono/glue/gd_glue.h b/modules/mono/glue/gd_glue.h index ba75d85343..910979aae3 100644 --- a/modules/mono/glue/gd_glue.h +++ b/modules/mono/glue/gd_glue.h @@ -35,7 +35,7 @@ #include "../mono_gd/gd_mono_marshal.h" -MonoObject *godot_icall_GD_bytes2var(MonoArray *p_bytes); +MonoObject *godot_icall_GD_bytes2var(MonoArray *p_bytes, MonoBoolean p_allow_objects); MonoObject *godot_icall_GD_convert(MonoObject *p_what, int32_t p_type); @@ -69,9 +69,9 @@ MonoString *godot_icall_GD_str(MonoArray *p_what); MonoObject *godot_icall_GD_str2var(MonoString *p_str); -bool godot_icall_GD_type_exists(MonoString *p_type); +MonoBoolean godot_icall_GD_type_exists(MonoString *p_type); -MonoArray *godot_icall_GD_var2bytes(MonoObject *p_var); +MonoArray *godot_icall_GD_var2bytes(MonoObject *p_var, MonoBoolean p_full_objects); MonoString *godot_icall_GD_var2str(MonoObject *p_var); diff --git a/modules/mono/glue/glue_header.h b/modules/mono/glue/glue_header.h index b6e8ac6909..1836130b76 100644 --- a/modules/mono/glue/glue_header.h +++ b/modules/mono/glue/glue_header.h @@ -74,4 +74,6 @@ void godot_register_glue_header_icalls() { } \ Object *m_instance = ci->creation_func(); +#include "arguments_vector.h" + #endif // MONO_GLUE_ENABLED diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp index 94aaff30c2..bba7df2c6a 100644 --- a/modules/mono/mono_gd/gd_mono.cpp +++ b/modules/mono/mono_gd/gd_mono.cpp @@ -288,7 +288,7 @@ void GDMono::initialize() { mono_install_unhandled_exception_hook(&unhandled_exception_hook, NULL); -#ifdef TOOLS_ENABLED +#ifndef TOOLS_ENABLED if (!DirAccess::exists("res://.mono")) { // 'res://.mono/' is missing so there is nothing to load. We don't need to initialize mono, but // we still do so unless mscorlib is missing (which is the case for projects that don't use C#). @@ -798,8 +798,6 @@ Error GDMono::_unload_scripts_domain() { if (mono_domain_get() != root_domain) mono_domain_set(root_domain, true); - mono_gc_collect(mono_gc_max_generation()); - finalizing_scripts_domain = true; if (!mono_domain_finalize(scripts_domain, 2000)) { @@ -937,14 +935,20 @@ Error GDMono::finalize_and_unload_domain(MonoDomain *p_domain) { if (mono_domain_get() == p_domain) mono_domain_set(root_domain, true); - mono_gc_collect(mono_gc_max_generation()); if (!mono_domain_finalize(p_domain, 2000)) { ERR_PRINT("Mono: Domain finalization timeout"); } + mono_gc_collect(mono_gc_max_generation()); _domain_assemblies_cleanup(mono_domain_get_id(p_domain)); +#ifdef TOOLS_ENABLED + if (p_domain == tools_domain) { + editor_tools_assembly = NULL; + } +#endif + MonoException *exc = NULL; mono_domain_try_unload(p_domain, (MonoObject **)&exc); @@ -1046,11 +1050,19 @@ GDMono::~GDMono() { if (is_runtime_initialized()) { - if (scripts_domain) { +#ifdef TOOLS_ENABLED + if (tools_domain) { + Error err = finalize_and_unload_domain(tools_domain); + if (err != OK) { + ERR_PRINT("Mono: Failed to unload tools domain"); + } + } +#endif + if (scripts_domain) { Error err = _unload_scripts_domain(); if (err != OK) { - WARN_PRINT("Mono: Failed to unload scripts domain"); + ERR_PRINT("Mono: Failed to unload scripts domain"); } } @@ -1071,6 +1083,8 @@ GDMono::~GDMono() { mono_jit_cleanup(root_domain); + print_verbose("Mono: Finalized"); + runtime_initialized = false; } diff --git a/modules/mono/mono_gd/gd_mono_assembly.cpp b/modules/mono/mono_gd/gd_mono_assembly.cpp index 85273bfdb4..8fec28b186 100644 --- a/modules/mono/mono_gd/gd_mono_assembly.cpp +++ b/modules/mono/mono_gd/gd_mono_assembly.cpp @@ -50,7 +50,7 @@ void GDMonoAssembly::fill_search_dirs(Vector<String> &r_search_dirs, const Strin const char *rootdir = mono_assembly_getrootdir(); if (rootdir) { - String framework_dir = String(rootdir).plus_file("mono").plus_file("4.5"); + String framework_dir = String::utf8(rootdir).plus_file("mono").plus_file("4.5"); r_search_dirs.push_back(framework_dir); r_search_dirs.push_back(framework_dir.plus_file("Facades")); } @@ -277,6 +277,7 @@ Error GDMonoAssembly::load(bool p_refonly) { ERR_FAIL_NULL_V(image, ERR_FILE_CANT_OPEN); #ifdef DEBUG_ENABLED + Vector<uint8_t> pdb_data; String pdb_path(path + ".pdb"); if (!FileAccess::exists(pdb_path)) { @@ -286,8 +287,9 @@ Error GDMonoAssembly::load(bool p_refonly) { goto no_pdb; } - pdb_data.clear(); pdb_data = FileAccess::get_file_as_array(pdb_path); + + // mono_debug_close_image doesn't seem to be needed mono_debug_open_image_from_memory(image, &pdb_data[0], pdb_data.size()); no_pdb: @@ -306,6 +308,9 @@ no_pdb: ERR_FAIL_COND_V(status != MONO_IMAGE_OK || assembly == NULL, ERR_FILE_CANT_OPEN); + // Decrement refcount which was previously incremented by mono_image_open_from_data_with_name + mono_image_close(image); + loaded = true; modified_time = last_modified_time; @@ -321,8 +326,6 @@ Error GDMonoAssembly::wrapper_for_image(MonoImage *p_image) { image = p_image; - mono_image_addref(image); - loaded = true; return OK; @@ -332,13 +335,6 @@ void GDMonoAssembly::unload() { ERR_FAIL_COND(!loaded); -#ifdef DEBUG_ENABLED - if (pdb_data.size()) { - mono_debug_close_image(image); - pdb_data.clear(); - } -#endif - for (Map<MonoClass *, GDMonoClass *>::Element *E = cached_raw.front(); E; E = E->next()) { memdelete(E->value()); } @@ -346,8 +342,6 @@ void GDMonoAssembly::unload() { cached_classes.clear(); cached_raw.clear(); - mono_image_close(image); - assembly = NULL; image = NULL; loaded = false; diff --git a/modules/mono/mono_gd/gd_mono_assembly.h b/modules/mono/mono_gd/gd_mono_assembly.h index 8f47ee26f8..32432af37d 100644 --- a/modules/mono/mono_gd/gd_mono_assembly.h +++ b/modules/mono/mono_gd/gd_mono_assembly.h @@ -84,10 +84,6 @@ class GDMonoAssembly { bool gdobject_class_cache_updated; Map<StringName, GDMonoClass *> gdobject_class_cache; -#ifdef DEBUG_ENABLED - Vector<uint8_t> pdb_data; -#endif - static bool no_search; static bool in_preload; static Vector<String> search_dirs; diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index 0eb4b3b8b3..d7f9b22c31 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "mono_reg_utils.h" +#include "core/os/dir_access.h" #ifdef WINDOWS_ENABLED @@ -200,6 +201,13 @@ String find_msbuild_tools_path() { val += "\\"; } + // Since VS2019, the directory is simply named "Current" + String msBuildDirectory = val + "MSBuild\\Current\\Bin"; + if (DirAccess::exists(msBuildDirectory)) { + return msBuildDirectory; + } + + // Directory name "15.0" is used in VS 2017 return val + "MSBuild\\15.0\\Bin"; } } diff --git a/modules/opensimplex/doc_classes/NoiseTexture.xml b/modules/opensimplex/doc_classes/NoiseTexture.xml index a91114b2f7..25f104b221 100644 --- a/modules/opensimplex/doc_classes/NoiseTexture.xml +++ b/modules/opensimplex/doc_classes/NoiseTexture.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NoiseTexture" inherits="Texture" category="Core" version="3.1"> +<class name="NoiseTexture" inherits="Texture" category="Core" version="3.2"> <brief_description> [OpenSimplexNoise] filled texture. </brief_description> diff --git a/modules/opensimplex/doc_classes/OpenSimplexNoise.xml b/modules/opensimplex/doc_classes/OpenSimplexNoise.xml index 31f13f341c..b5bc35df69 100644 --- a/modules/opensimplex/doc_classes/OpenSimplexNoise.xml +++ b/modules/opensimplex/doc_classes/OpenSimplexNoise.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="OpenSimplexNoise" inherits="Resource" category="Core" version="3.1"> +<class name="OpenSimplexNoise" inherits="Resource" category="Core" version="3.2"> <brief_description> Noise generator based on Open Simplex. </brief_description> diff --git a/modules/opus/SCsub b/modules/opus/SCsub index aa656c575a..b72144c679 100644 --- a/modules/opus/SCsub +++ b/modules/opus/SCsub @@ -220,10 +220,15 @@ if env['builtin_opus']: ] env_opus.Append(CPPPATH=[thirdparty_dir + "/" + dir for dir in thirdparty_include_paths]) - if env["platform"] == "android" or env["platform"] == "iphone": - if ("arch" in env and env["arch"] == "arm") or ("android_arch" in env and env["android_arch"] in ["armv6", "armv7"]): + if env["platform"] == "android": + if ("android_arch" in env and env["android_arch"] in ["armv6", "armv7"]): env_opus.Append(CFLAGS=["-DOPUS_ARM_OPT"]) - elif ("arch" in env and env["arch"] == "arm64") or ("android_arch" in env and env["android_arch"] == "arm64v8"): + elif ("android_arch" in env and env["android_arch"] == "arm64v8"): + env_opus.Append(CFLAGS=["-DOPUS_ARM64_OPT"]) + elif env["platform"] == "iphone": + if ("arch" in env and env["arch"] == "arm"): + env_opus.Append(CFLAGS=["-DOPUS_ARM_OPT"]) + elif ("arch" in env and env["arch"] == "arm64"): env_opus.Append(CFLAGS=["-DOPUS_ARM64_OPT"]) env_thirdparty = env_opus.Clone() diff --git a/modules/regex/doc_classes/RegEx.xml b/modules/regex/doc_classes/RegEx.xml index 75e8903ff8..20857572f3 100644 --- a/modules/regex/doc_classes/RegEx.xml +++ b/modules/regex/doc_classes/RegEx.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RegEx" inherits="Reference" category="Core" version="3.1"> +<class name="RegEx" inherits="Reference" category="Core" version="3.2"> <brief_description> Class for searching text for patterns using regular expressions. </brief_description> diff --git a/modules/regex/doc_classes/RegExMatch.xml b/modules/regex/doc_classes/RegExMatch.xml index 3d070d2786..9efec91bdc 100644 --- a/modules/regex/doc_classes/RegExMatch.xml +++ b/modules/regex/doc_classes/RegExMatch.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RegExMatch" inherits="Reference" category="Core" version="3.1"> +<class name="RegExMatch" inherits="Reference" category="Core" version="3.2"> <brief_description> Contains the results of a regex search. </brief_description> diff --git a/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml b/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml index e2281babf7..574ff1ff2a 100644 --- a/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml +++ b/modules/stb_vorbis/doc_classes/AudioStreamOGGVorbis.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamOGGVorbis" inherits="AudioStream" category="Core" version="3.1"> +<class name="AudioStreamOGGVorbis" inherits="AudioStream" category="Core" version="3.2"> <brief_description> OGG Vorbis audio stream driver. </brief_description> diff --git a/modules/stb_vorbis/doc_classes/ResourceImporterOGGVorbis.xml b/modules/stb_vorbis/doc_classes/ResourceImporterOGGVorbis.xml index 018f4734ec..ade485e717 100644 --- a/modules/stb_vorbis/doc_classes/ResourceImporterOGGVorbis.xml +++ b/modules/stb_vorbis/doc_classes/ResourceImporterOGGVorbis.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceImporterOGGVorbis" inherits="ResourceImporter" category="Core" version="3.1"> +<class name="ResourceImporterOGGVorbis" inherits="ResourceImporter" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/theora/doc_classes/VideoStreamTheora.xml b/modules/theora/doc_classes/VideoStreamTheora.xml index e7c4727332..2bd8ad862f 100644 --- a/modules/theora/doc_classes/VideoStreamTheora.xml +++ b/modules/theora/doc_classes/VideoStreamTheora.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VideoStreamTheora" inherits="VideoStream" category="Core" version="3.1"> +<class name="VideoStreamTheora" inherits="VideoStream" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/tinyexr/image_loader_tinyexr.cpp b/modules/tinyexr/image_loader_tinyexr.cpp index e69d9a0ae3..bd84a28c84 100644 --- a/modules/tinyexr/image_loader_tinyexr.cpp +++ b/modules/tinyexr/image_loader_tinyexr.cpp @@ -107,22 +107,31 @@ Error ImageLoaderTinyEXR::load_image(Ref<Image> p_image, FileAccess *f, bool p_f } } - if (idxR == -1) { - ERR_PRINT("TinyEXR: R channel not found."); - // @todo { free exr_image } - return ERR_FILE_CORRUPT; - } + if (exr_header.num_channels == 1) { + // Grayscale channel only. + idxR = 0; + idxG = 0; + idxB = 0; + idxA = 0; + } else { + // Assume RGB(A) + if (idxR == -1) { + ERR_PRINT("TinyEXR: R channel not found."); + // @todo { free exr_image } + return ERR_FILE_CORRUPT; + } - if (idxG == -1) { - ERR_PRINT("TinyEXR: G channel not found.") - // @todo { free exr_image } - return ERR_FILE_CORRUPT; - } + if (idxG == -1) { + ERR_PRINT("TinyEXR: G channel not found.") + // @todo { free exr_image } + return ERR_FILE_CORRUPT; + } - if (idxB == -1) { - ERR_PRINT("TinyEXR: B channel not found.") - // @todo { free exr_image } - return ERR_FILE_CORRUPT; + if (idxB == -1) { + ERR_PRINT("TinyEXR: B channel not found.") + // @todo { free exr_image } + return ERR_FILE_CORRUPT; + } } // EXR image data loaded, now parse it into Godot-friendly image data diff --git a/modules/upnp/doc_classes/UPNP.xml b/modules/upnp/doc_classes/UPNP.xml index b98327c60d..0f967c993b 100644 --- a/modules/upnp/doc_classes/UPNP.xml +++ b/modules/upnp/doc_classes/UPNP.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="UPNP" inherits="Reference" category="Core" version="3.1"> +<class name="UPNP" inherits="Reference" category="Core" version="3.2"> <brief_description> UPNP network functions. </brief_description> diff --git a/modules/upnp/doc_classes/UPNPDevice.xml b/modules/upnp/doc_classes/UPNPDevice.xml index 9de8042daf..c9b695a651 100644 --- a/modules/upnp/doc_classes/UPNPDevice.xml +++ b/modules/upnp/doc_classes/UPNPDevice.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="UPNPDevice" inherits="Reference" category="Core" version="3.1"> +<class name="UPNPDevice" inherits="Reference" category="Core" version="3.2"> <brief_description> UPNP device. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScript.xml b/modules/visual_script/doc_classes/VisualScript.xml index 70849c5a80..f4a9bc68e6 100644 --- a/modules/visual_script/doc_classes/VisualScript.xml +++ b/modules/visual_script/doc_classes/VisualScript.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScript" inherits="Script" category="Core" version="3.1"> +<class name="VisualScript" inherits="Script" category="Core" version="3.2"> <brief_description> A script implemented in the Visual Script programming environment. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml b/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml index 5ec155fbc6..ce49cdf3a0 100644 --- a/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptBasicTypeConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptBasicTypeConstant" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptBasicTypeConstant" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node representing a constant from the base types. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml index 3a1d773058..dd14d60327 100644 --- a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml +++ b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptBuiltinFunc" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptBuiltinFunc" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node used to call built-in functions. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptClassConstant.xml b/modules/visual_script/doc_classes/VisualScriptClassConstant.xml index dc9044e9ed..32b5924cdc 100644 --- a/modules/visual_script/doc_classes/VisualScriptClassConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptClassConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptClassConstant" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptClassConstant" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Gets a constant from a given class. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptComment.xml b/modules/visual_script/doc_classes/VisualScriptComment.xml index a4a890ea8a..990e0ecb85 100644 --- a/modules/visual_script/doc_classes/VisualScriptComment.xml +++ b/modules/visual_script/doc_classes/VisualScriptComment.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptComment" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptComment" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node used to annotate the script. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptCondition.xml b/modules/visual_script/doc_classes/VisualScriptCondition.xml index a7b1028c0c..94c075205d 100644 --- a/modules/visual_script/doc_classes/VisualScriptCondition.xml +++ b/modules/visual_script/doc_classes/VisualScriptCondition.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptCondition" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptCondition" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node which branches the flow. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptConstant.xml b/modules/visual_script/doc_classes/VisualScriptConstant.xml index ed633c4135..0fc4e87db4 100644 --- a/modules/visual_script/doc_classes/VisualScriptConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptConstant" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptConstant" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Gets a contant's value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptConstructor.xml b/modules/visual_script/doc_classes/VisualScriptConstructor.xml index 14c44c6970..05fc3f318d 100644 --- a/modules/visual_script/doc_classes/VisualScriptConstructor.xml +++ b/modules/visual_script/doc_classes/VisualScriptConstructor.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptConstructor" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptConstructor" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node which calls a base type constructor. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptCustomNode.xml b/modules/visual_script/doc_classes/VisualScriptCustomNode.xml index ff3ed66e81..0ad4e7c1f5 100644 --- a/modules/visual_script/doc_classes/VisualScriptCustomNode.xml +++ b/modules/visual_script/doc_classes/VisualScriptCustomNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptCustomNode" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptCustomNode" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A scripted Visual Script node. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml b/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml index d3158df357..b933a25f1d 100644 --- a/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml +++ b/modules/visual_script/doc_classes/VisualScriptDeconstruct.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptDeconstruct" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptDeconstruct" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node which deconstructs a base type instance into its parts. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptEditor.xml b/modules/visual_script/doc_classes/VisualScriptEditor.xml index fc49cfc07b..be4606b57c 100644 --- a/modules/visual_script/doc_classes/VisualScriptEditor.xml +++ b/modules/visual_script/doc_classes/VisualScriptEditor.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptEditor" inherits="Object" category="Core" version="3.1"> +<class name="VisualScriptEditor" inherits="Object" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml b/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml index 4bb05525bd..3282269811 100644 --- a/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml +++ b/modules/visual_script/doc_classes/VisualScriptEmitSignal.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptEmitSignal" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptEmitSignal" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Emits a specified signal. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml b/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml index 93d7ce3516..3e52fb818c 100644 --- a/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml +++ b/modules/visual_script/doc_classes/VisualScriptEngineSingleton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptEngineSingleton" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptEngineSingleton" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> A Visual Script node returning a singleton from [@GlobalScope] </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptExpression.xml b/modules/visual_script/doc_classes/VisualScriptExpression.xml index 343e83cb55..4760685bfb 100644 --- a/modules/visual_script/doc_classes/VisualScriptExpression.xml +++ b/modules/visual_script/doc_classes/VisualScriptExpression.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptExpression" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptExpression" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptFunction.xml b/modules/visual_script/doc_classes/VisualScriptFunction.xml index ec8e955cf7..dc021196cd 100644 --- a/modules/visual_script/doc_classes/VisualScriptFunction.xml +++ b/modules/visual_script/doc_classes/VisualScriptFunction.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptFunction" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptFunction" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml b/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml index f6116cf539..e978437542 100644 --- a/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml +++ b/modules/visual_script/doc_classes/VisualScriptFunctionCall.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptFunctionCall" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptFunctionCall" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptFunctionState.xml b/modules/visual_script/doc_classes/VisualScriptFunctionState.xml index c75dd0cdbc..a5e15b8da2 100644 --- a/modules/visual_script/doc_classes/VisualScriptFunctionState.xml +++ b/modules/visual_script/doc_classes/VisualScriptFunctionState.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptFunctionState" inherits="Reference" category="Core" version="3.1"> +<class name="VisualScriptFunctionState" inherits="Reference" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml b/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml index 9d43204f02..2d609ed262 100644 --- a/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptGlobalConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptGlobalConstant" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptGlobalConstant" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptIndexGet.xml b/modules/visual_script/doc_classes/VisualScriptIndexGet.xml index 73c1f47e1a..16499e9ec9 100644 --- a/modules/visual_script/doc_classes/VisualScriptIndexGet.xml +++ b/modules/visual_script/doc_classes/VisualScriptIndexGet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptIndexGet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptIndexGet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptIndexSet.xml b/modules/visual_script/doc_classes/VisualScriptIndexSet.xml index 652c29a9ac..06844ac4ae 100644 --- a/modules/visual_script/doc_classes/VisualScriptIndexSet.xml +++ b/modules/visual_script/doc_classes/VisualScriptIndexSet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptIndexSet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptIndexSet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptInputAction.xml b/modules/visual_script/doc_classes/VisualScriptInputAction.xml index ab4c23012b..01887e0764 100644 --- a/modules/visual_script/doc_classes/VisualScriptInputAction.xml +++ b/modules/visual_script/doc_classes/VisualScriptInputAction.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptInputAction" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptInputAction" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptIterator.xml b/modules/visual_script/doc_classes/VisualScriptIterator.xml index 7090621bd7..496c24dee4 100644 --- a/modules/visual_script/doc_classes/VisualScriptIterator.xml +++ b/modules/visual_script/doc_classes/VisualScriptIterator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptIterator" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptIterator" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Steps through items in a given input. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptLocalVar.xml b/modules/visual_script/doc_classes/VisualScriptLocalVar.xml index 5c8ee6453c..cd7286b59b 100644 --- a/modules/visual_script/doc_classes/VisualScriptLocalVar.xml +++ b/modules/visual_script/doc_classes/VisualScriptLocalVar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptLocalVar" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptLocalVar" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Gets a local variable's value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml b/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml index f2e6c48907..f8fe2f4b6b 100644 --- a/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml +++ b/modules/visual_script/doc_classes/VisualScriptLocalVarSet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptLocalVarSet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptLocalVarSet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Changes a local variable's value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptMathConstant.xml b/modules/visual_script/doc_classes/VisualScriptMathConstant.xml index d456e880b7..733b48203d 100644 --- a/modules/visual_script/doc_classes/VisualScriptMathConstant.xml +++ b/modules/visual_script/doc_classes/VisualScriptMathConstant.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptMathConstant" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptMathConstant" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Commonly used mathematical constants. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptNode.xml b/modules/visual_script/doc_classes/VisualScriptNode.xml index 941a0cd91a..86bd469d5c 100644 --- a/modules/visual_script/doc_classes/VisualScriptNode.xml +++ b/modules/visual_script/doc_classes/VisualScriptNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptNode" inherits="Resource" category="Core" version="3.1"> +<class name="VisualScriptNode" inherits="Resource" category="Core" version="3.2"> <brief_description> A node which is part of a [VisualScript]. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptOperator.xml b/modules/visual_script/doc_classes/VisualScriptOperator.xml index e60d50c977..d722477653 100644 --- a/modules/visual_script/doc_classes/VisualScriptOperator.xml +++ b/modules/visual_script/doc_classes/VisualScriptOperator.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptOperator" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptOperator" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptPreload.xml b/modules/visual_script/doc_classes/VisualScriptPreload.xml index 5a2886ccac..b811252c42 100644 --- a/modules/visual_script/doc_classes/VisualScriptPreload.xml +++ b/modules/visual_script/doc_classes/VisualScriptPreload.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptPreload" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptPreload" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Creates a new [Resource] or loads one from the filesystem. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml index 60cc8fdd4f..7f652b7012 100644 --- a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml +++ b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptPropertyGet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptPropertyGet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptPropertySet.xml b/modules/visual_script/doc_classes/VisualScriptPropertySet.xml index 8f29e9d152..ef9938c6a7 100644 --- a/modules/visual_script/doc_classes/VisualScriptPropertySet.xml +++ b/modules/visual_script/doc_classes/VisualScriptPropertySet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptPropertySet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptPropertySet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptResourcePath.xml b/modules/visual_script/doc_classes/VisualScriptResourcePath.xml index f6300e03f0..2a5c56cf69 100644 --- a/modules/visual_script/doc_classes/VisualScriptResourcePath.xml +++ b/modules/visual_script/doc_classes/VisualScriptResourcePath.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptResourcePath" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptResourcePath" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptReturn.xml b/modules/visual_script/doc_classes/VisualScriptReturn.xml index 0ca3e3b612..7daddc7639 100644 --- a/modules/visual_script/doc_classes/VisualScriptReturn.xml +++ b/modules/visual_script/doc_classes/VisualScriptReturn.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptReturn" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptReturn" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Exits a function and returns an optional value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptSceneNode.xml b/modules/visual_script/doc_classes/VisualScriptSceneNode.xml index 7704eaba04..8604a0f5eb 100644 --- a/modules/visual_script/doc_classes/VisualScriptSceneNode.xml +++ b/modules/visual_script/doc_classes/VisualScriptSceneNode.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSceneNode" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSceneNode" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Node reference. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptSceneTree.xml b/modules/visual_script/doc_classes/VisualScriptSceneTree.xml index 2c2af9262d..72a2faaa78 100644 --- a/modules/visual_script/doc_classes/VisualScriptSceneTree.xml +++ b/modules/visual_script/doc_classes/VisualScriptSceneTree.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSceneTree" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSceneTree" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptSelect.xml b/modules/visual_script/doc_classes/VisualScriptSelect.xml index 0731fc77e1..c87f77ea65 100644 --- a/modules/visual_script/doc_classes/VisualScriptSelect.xml +++ b/modules/visual_script/doc_classes/VisualScriptSelect.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSelect" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSelect" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Chooses between two input values. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptSelf.xml b/modules/visual_script/doc_classes/VisualScriptSelf.xml index 61a73e104c..42c75e56a6 100644 --- a/modules/visual_script/doc_classes/VisualScriptSelf.xml +++ b/modules/visual_script/doc_classes/VisualScriptSelf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSelf" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSelf" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Outputs a reference to the current instance. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptSequence.xml b/modules/visual_script/doc_classes/VisualScriptSequence.xml index c71e068045..c26c72dd50 100644 --- a/modules/visual_script/doc_classes/VisualScriptSequence.xml +++ b/modules/visual_script/doc_classes/VisualScriptSequence.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSequence" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSequence" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Executes a series of Sequence ports. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptSubCall.xml b/modules/visual_script/doc_classes/VisualScriptSubCall.xml index 46aeebab9c..712b4ed09b 100644 --- a/modules/visual_script/doc_classes/VisualScriptSubCall.xml +++ b/modules/visual_script/doc_classes/VisualScriptSubCall.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSubCall" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSubCall" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptSwitch.xml b/modules/visual_script/doc_classes/VisualScriptSwitch.xml index a00811a29b..0053733b34 100644 --- a/modules/visual_script/doc_classes/VisualScriptSwitch.xml +++ b/modules/visual_script/doc_classes/VisualScriptSwitch.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptSwitch" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptSwitch" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Branches program flow based on a given input's value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptTypeCast.xml b/modules/visual_script/doc_classes/VisualScriptTypeCast.xml index 0bdc4ce89d..85b3980e21 100644 --- a/modules/visual_script/doc_classes/VisualScriptTypeCast.xml +++ b/modules/visual_script/doc_classes/VisualScriptTypeCast.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptTypeCast" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptTypeCast" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptVariableGet.xml b/modules/visual_script/doc_classes/VisualScriptVariableGet.xml index 06178a399d..27bf223aac 100644 --- a/modules/visual_script/doc_classes/VisualScriptVariableGet.xml +++ b/modules/visual_script/doc_classes/VisualScriptVariableGet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptVariableGet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptVariableGet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Gets a variable's value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptVariableSet.xml b/modules/visual_script/doc_classes/VisualScriptVariableSet.xml index 5969f25060..c55c72d55e 100644 --- a/modules/visual_script/doc_classes/VisualScriptVariableSet.xml +++ b/modules/visual_script/doc_classes/VisualScriptVariableSet.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptVariableSet" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptVariableSet" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Changes a variable's value. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptWhile.xml b/modules/visual_script/doc_classes/VisualScriptWhile.xml index b9e7f6a553..b7ed56e7d2 100644 --- a/modules/visual_script/doc_classes/VisualScriptWhile.xml +++ b/modules/visual_script/doc_classes/VisualScriptWhile.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptWhile" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptWhile" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> Conditional loop. </brief_description> diff --git a/modules/visual_script/doc_classes/VisualScriptYield.xml b/modules/visual_script/doc_classes/VisualScriptYield.xml index c4698f746a..5aa0f76a55 100644 --- a/modules/visual_script/doc_classes/VisualScriptYield.xml +++ b/modules/visual_script/doc_classes/VisualScriptYield.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptYield" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptYield" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml b/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml index b67e4ab1b8..8e3b2aec1d 100644 --- a/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml +++ b/modules/visual_script/doc_classes/VisualScriptYieldSignal.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualScriptYieldSignal" inherits="VisualScriptNode" category="Core" version="3.1"> +<class name="VisualScriptYieldSignal" inherits="VisualScriptNode" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp index 9f2d1a49c0..0d379205e4 100644 --- a/modules/visual_script/visual_script_builtin_funcs.cpp +++ b/modules/visual_script/visual_script_builtin_funcs.cpp @@ -183,10 +183,10 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) { case TEXT_PRINTRAW: case VAR_TO_STR: case STR_TO_VAR: - case VAR_TO_BYTES: - case BYTES_TO_VAR: case TYPE_EXISTS: return 1; + case VAR_TO_BYTES: + case BYTES_TO_VAR: case MATH_ATAN2: case MATH_FMOD: case MATH_FPOSMOD: @@ -491,12 +491,18 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const return PropertyInfo(Variant::STRING, "string"); } break; case VAR_TO_BYTES: { - return PropertyInfo(Variant::NIL, "var"); + if (p_idx == 0) + return PropertyInfo(Variant::NIL, "var"); + else + return PropertyInfo(Variant::BOOL, "full_objects"); } break; case BYTES_TO_VAR: { - return PropertyInfo(Variant::POOL_BYTE_ARRAY, "bytes"); + if (p_idx == 0) + return PropertyInfo(Variant::POOL_BYTE_ARRAY, "bytes"); + else + return PropertyInfo(Variant::BOOL, "allow_objects"); } break; case COLORN: { @@ -655,11 +661,15 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons } break; case VAR_TO_BYTES: { - t = Variant::POOL_BYTE_ARRAY; + if (p_idx == 0) + t = Variant::POOL_BYTE_ARRAY; + else + t = Variant::BOOL; } break; case BYTES_TO_VAR: { - + if (p_idx == 1) + t = Variant::BOOL; } break; case COLORN: { t = Variant::COLOR; @@ -1192,9 +1202,16 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in } break; case VisualScriptBuiltinFunc::VAR_TO_BYTES: { + if (p_inputs[1]->get_type() != Variant::BOOL) { + r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; + r_error.argument = 1; + r_error.expected = Variant::BOOL; + return; + } PoolByteArray barr; int len; - Error err = encode_variant(*p_inputs[0], NULL, len); + bool full_objects = *p_inputs[1]; + Error err = encode_variant(*p_inputs[0], NULL, len, full_objects); if (err) { r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.argument = 0; @@ -1206,7 +1223,7 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in barr.resize(len); { PoolByteArray::Write w = barr.write(); - encode_variant(*p_inputs[0], w.ptr(), len); + encode_variant(*p_inputs[0], w.ptr(), len, full_objects); } *r_return = barr; } break; @@ -1216,15 +1233,21 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.argument = 0; r_error.expected = Variant::POOL_BYTE_ARRAY; - + return; + } + if (p_inputs[1]->get_type() != Variant::BOOL) { + r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; + r_error.argument = 1; + r_error.expected = Variant::BOOL; return; } PoolByteArray varr = *p_inputs[0]; + bool allow_objects = *p_inputs[1]; Variant ret; { PoolByteArray::Read r = varr.read(); - Error err = decode_variant(ret, r.ptr(), varr.size(), NULL); + Error err = decode_variant(ret, r.ptr(), varr.size(), NULL, allow_objects); if (err != OK) { r_error_str = RTR("Not enough bytes for decoding bytes, or invalid format."); r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; diff --git a/modules/webm/doc_classes/VideoStreamWebm.xml b/modules/webm/doc_classes/VideoStreamWebm.xml index c02a7a8016..33dff0e93b 100644 --- a/modules/webm/doc_classes/VideoStreamWebm.xml +++ b/modules/webm/doc_classes/VideoStreamWebm.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VideoStreamWebm" inherits="VideoStream" category="Core" version="3.1"> +<class name="VideoStreamWebm" inherits="VideoStream" category="Core" version="3.2"> <brief_description> </brief_description> <description> diff --git a/modules/websocket/doc_classes/WebSocketClient.xml b/modules/websocket/doc_classes/WebSocketClient.xml index ffb6d40e30..cb85fe864d 100644 --- a/modules/websocket/doc_classes/WebSocketClient.xml +++ b/modules/websocket/doc_classes/WebSocketClient.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketClient" inherits="WebSocketMultiplayerPeer" category="Core" version="3.1"> +<class name="WebSocketClient" inherits="WebSocketMultiplayerPeer" category="Core" version="3.2"> <brief_description> A WebSocket client implementation </brief_description> diff --git a/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml b/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml index 1a841f85ed..139480c31f 100644 --- a/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml +++ b/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketMultiplayerPeer" inherits="NetworkedMultiplayerPeer" category="Core" version="3.1"> +<class name="WebSocketMultiplayerPeer" inherits="NetworkedMultiplayerPeer" category="Core" version="3.2"> <brief_description> Base class for WebSocket server and client. </brief_description> diff --git a/modules/websocket/doc_classes/WebSocketPeer.xml b/modules/websocket/doc_classes/WebSocketPeer.xml index 5dda012899..3b3692dd87 100644 --- a/modules/websocket/doc_classes/WebSocketPeer.xml +++ b/modules/websocket/doc_classes/WebSocketPeer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketPeer" inherits="PacketPeer" category="Core" version="3.1"> +<class name="WebSocketPeer" inherits="PacketPeer" category="Core" version="3.2"> <brief_description> A class representing a specific WebSocket connection. </brief_description> diff --git a/modules/websocket/doc_classes/WebSocketServer.xml b/modules/websocket/doc_classes/WebSocketServer.xml index 2932bf782a..4740bd6dcf 100644 --- a/modules/websocket/doc_classes/WebSocketServer.xml +++ b/modules/websocket/doc_classes/WebSocketServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="WebSocketServer" inherits="WebSocketMultiplayerPeer" category="Core" version="3.1"> +<class name="WebSocketServer" inherits="WebSocketMultiplayerPeer" category="Core" version="3.2"> <brief_description> A WebSocket server implementation </brief_description> diff --git a/modules/websocket/packet_buffer.h b/modules/websocket/packet_buffer.h index 47786a87a6..057fecfb56 100644 --- a/modules/websocket/packet_buffer.h +++ b/modules/websocket/packet_buffer.h @@ -59,7 +59,7 @@ public: ERR_FAIL_V(ERR_OUT_OF_MEMORY); } #else - ERR_FAIL_COND_V(p_payload && _payload.space_left() < p_size, ERR_OUT_OF_MEMORY); + ERR_FAIL_COND_V(p_payload && (uint32_t)_payload.space_left() < p_size, ERR_OUT_OF_MEMORY); ERR_FAIL_COND_V(p_info && _packets.space_left() < 1, ERR_OUT_OF_MEMORY); #endif diff --git a/platform/android/audio_driver_opensl.cpp b/platform/android/audio_driver_opensl.cpp index 8913950fac..cb25575b74 100644 --- a/platform/android/audio_driver_opensl.cpp +++ b/platform/android/audio_driver_opensl.cpp @@ -53,7 +53,7 @@ void AudioDriverOpenSL::_buffer_callback( } else { int32_t *src_buff = mixdown_buffer; - for (int i = 0; i < buffer_size * 2; i++) { + for (unsigned int i = 0; i < buffer_size * 2; i++) { src_buff[i] = 0; } } @@ -66,7 +66,7 @@ void AudioDriverOpenSL::_buffer_callback( int16_t *ptr = (int16_t *)buffers[last_free]; last_free = (last_free + 1) % BUFFER_COUNT; - for (int i = 0; i < buffer_size * 2; i++) { + for (unsigned int i = 0; i < buffer_size * 2; i++) { ptr[i] = src_buff[i] >> 16; } diff --git a/platform/iphone/app_delegate.mm b/platform/iphone/app_delegate.mm index d160553050..64405bfa5b 100644 --- a/platform/iphone/app_delegate.mm +++ b/platform/iphone/app_delegate.mm @@ -615,18 +615,6 @@ static int frame_count = 0; // Create a full-screen window window = [[UIWindow alloc] initWithFrame:rect]; - // window.autoresizesSubviews = YES; - //[window setAutoresizingMask:UIViewAutoresizingFlexibleWidth | - // UIViewAutoresizingFlexibleWidth]; - - // Create the OpenGL ES view and add it to the window - GLView *glView = [[GLView alloc] initWithFrame:rect]; - printf("glview is %p\n", glView); - //[window addSubview:glView]; - glView.delegate = self; - // glView.autoresizesSubviews = YES; - //[glView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | - // UIViewAutoresizingFlexibleWidth]; OS::VideoMode vm = _get_video_mode(); @@ -641,6 +629,12 @@ static int frame_count = 0; return FALSE; }; + // WARNING: We must *always* create the GLView after we have constructed the + // OS with iphone_main. This allows the GLView to access project settings so + // it can properly initialize the OpenGL context + GLView *glView = [[GLView alloc] initWithFrame:rect]; + glView.delegate = self; + view_controller = [[ViewController alloc] init]; view_controller.view = glView; window.rootViewController = view_controller; diff --git a/platform/iphone/gl_view.mm b/platform/iphone/gl_view.mm index 6f4d0ddb57..1cb8d0e44e 100644 --- a/platform/iphone/gl_view.mm +++ b/platform/iphone/gl_view.mm @@ -284,19 +284,37 @@ static void clear_touches() { kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil]; + bool fallback_gl2 = false; + // Create a GL ES 3 context based on the gl driver from project settings + if (GLOBAL_GET("rendering/quality/driver/driver_name") == "GLES3") { + context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; + NSLog(@"Setting up an OpenGL ES 3.0 context. Based on Project Settings \"rendering/quality/driver/driver_name\""); + if (!context && GLOBAL_GET("rendering/quality/driver/fallback_to_gles2")) { + gles3_available = false; + fallback_gl2 = true; + NSLog(@"Failed to create OpenGL ES 3.0 context. Falling back to OpenGL ES 2.0"); + } + } - // Create our EAGLContext, and if successful make it current and create our framebuffer. - context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3]; - - if (!context || ![EAGLContext setCurrentContext:context] || ![self createFramebuffer]) { + // Create GL ES 2 context + if (GLOBAL_GET("rendering/quality/driver/driver_name") == "GLES2" || fallback_gl2) { context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; - gles3_available = false; - if (!context || ![EAGLContext setCurrentContext:context] || ![self createFramebuffer]) { - [self release]; + NSLog(@"Setting up an OpenGL ES 2.0 context."); + if (!context) { + NSLog(@"Failed to create OpenGL ES 2.0 context!"); return nil; } } + if (![EAGLContext setCurrentContext:context]) { + NSLog(@"Failed to set EAGLContext!"); + return nil; + } + if (![self createFramebuffer]) { + NSLog(@"Failed to create frame buffer!"); + return nil; + } + // Default the animation interval to 1/60th of a second. animationInterval = 1.0 / 60.0; return self; diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp index 871a8769d9..487da77b10 100644 --- a/platform/javascript/export/export.cpp +++ b/platform/javascript/export/export.cpp @@ -114,6 +114,9 @@ void EditorExportPlatformJavaScript::get_preset_features(const Ref<EditorExportP r_features->push_back("etc"); } else if (driver == "GLES3") { r_features->push_back("etc2"); + if (ProjectSettings::get_singleton()->get("rendering/quality/driver/fallback_to_gles2")) { + r_features->push_back("etc"); + } } } } diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index b45d0d80e6..7d2116ba7e 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -2270,12 +2270,12 @@ Size2 OS_OSX::get_window_size() const { Size2 OS_OSX::get_real_window_size() const { NSRect frame = [window_object frame]; - return Size2(frame.size.width, frame.size.height); + return Size2(frame.size.width, frame.size.height) * _display_scale(); } void OS_OSX::set_window_size(const Size2 p_size) { - Size2 size = p_size; + Size2 size = p_size / _display_scale(); if (get_borderless_window() == false) { // NSRect used by setFrame includes the title bar, so add it to our size.y diff --git a/platform/server/detect.py b/platform/server/detect.py index 90a4092412..f13ee72fd2 100644 --- a/platform/server/detect.py +++ b/platform/server/detect.py @@ -1,7 +1,6 @@ import os import platform import sys -from methods import get_compiler_version, use_gcc # This file is mostly based on platform/x11/detect.py. # If editing this file, make sure to apply relevant changes here too. @@ -147,7 +146,7 @@ def configure(env): # We need at least version 2.88 import subprocess bullet_version = subprocess.check_output(['pkg-config', 'bullet', '--modversion']).strip() - if bullet_version < "2.88": + if str(bullet_version) < "2.88": # Abort as system bullet was requested but too old print("Bullet: System version {0} does not match minimal requirements ({1}). Aborting.".format(bullet_version, "2.88")) sys.exit(255) diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 8ccf122d9f..a0ab398f89 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -505,7 +505,7 @@ void AppxPackager::add_file(String p_file_name, const uint8_t *p_buffer, size_t while (p_len - step > 0) { - size_t block_size = (p_len - step) > BLOCK_SIZE ? BLOCK_SIZE : (p_len - step); + size_t block_size = (p_len - step) > BLOCK_SIZE ? (size_t)BLOCK_SIZE : (p_len - step); for (uint32_t i = 0; i < block_size; i++) { strm_in.write[i] = p_buffer[step + i]; diff --git a/platform/windows/godot.natvis b/platform/windows/godot.natvis index 01963035a1..55c83c3f3c 100644 --- a/platform/windows/godot.natvis +++ b/platform/windows/godot.natvis @@ -2,92 +2,109 @@ <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="Vector<*>"> <Expand> - <Item Name="size">(_cowdata && _cowdata->_ptr) ? (((const unsigned int *)(_cowdata->_ptr))[-1]) : 0</Item> + <Item Name="[size]">_cowdata._ptr ? (((const unsigned int *)(_cowdata._ptr))[-1]) : 0</Item> <ArrayItems> - <Size>(_cowdata && _cowdata->_ptr) ? (((const unsigned int *)(_cowdata->_ptr))[-1]) : 0</Size> - <ValuePointer>(_cowdata) ? (_cowdata->_ptr) : 0</ValuePointer> + <Size>_cowdata._ptr ? (((const unsigned int *)(_cowdata._ptr))[-1]) : 0</Size> + <ValuePointer>_cowdata._ptr</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="PoolVector<*>"> <Expand> - <Item Name="size">alloc ? (alloc->size / sizeof($T1)) : 0</Item> + <Item Name="[size]">alloc ? (alloc->size / sizeof($T1)) : 0</Item> <ArrayItems> <Size>alloc ? (alloc->size / sizeof($T1)) : 0</Size> <ValuePointer>alloc ? (($T1 *)alloc->mem) : 0</ValuePointer> </ArrayItems> </Expand> </Type> + + <Type Name="List<*>"> + <Expand> + <Item Name="[size]">_data ? (_data->size_cache) : 0</Item> + <LinkedListItems> + <Size>_data ? (_data->size_cache) : 0</Size> + <HeadPointer>_data->first</HeadPointer> + <NextPointer>next_ptr</NextPointer> + <ValueNode>value</ValueNode> + </LinkedListItems> + </Expand> + </Type> <Type Name="Variant"> - <DisplayString Condition="this->type == Variant::NIL">nil</DisplayString> - <DisplayString Condition="this->type == Variant::BOOL">{_data._bool}</DisplayString> - <DisplayString Condition="this->type == Variant::INT">{_data._int}</DisplayString> - <DisplayString Condition="this->type == Variant::REAL">{_data._real}</DisplayString> - <DisplayString Condition="this->type == Variant::TRANSFORM2D">{_data._transform2d}</DisplayString> - <DisplayString Condition="this->type == Variant::AABB">{_data._aabb}</DisplayString> - <DisplayString Condition="this->type == Variant::BASIS">{_data._basis}</DisplayString> - <DisplayString Condition="this->type == Variant::TRANSFORM">{_data._transform}</DisplayString> - <DisplayString Condition="this->type == Variant::ARRAY">{*(Array *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::STRING && ((String *)(&_data._mem[0]))->_cowdata._ptr == 0">""</DisplayString> - <DisplayString Condition="this->type == Variant::STRING && ((String *)(&_data._mem[0]))->_cowdata._ptr != 0">{((String *)(&_data._mem[0]))->_cowdata._ptr,su}</DisplayString> - <DisplayString Condition="this->type == Variant::VECTOR2">{*(Vector2 *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::RECT2">{*(Rect2 *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::VECTOR3">{*(Vector3 *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::PLANE">{*(Plane *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::QUAT">{*(Quat *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::COLOR">{*(Color *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::NODE_PATH">{*(NodePath *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::_RID">{*(RID *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::OBJECT">{*(Object *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::DICTIONARY">{*(Dictionary *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::ARRAY">{*(Array *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_BYTE_ARRAY">{*(PoolByteArray *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_INT_ARRAY">{*(PoolIntArray *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_REAL_ARRAY">{*(PoolRealArray *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_STRING_ARRAY">{*(PoolStringArray *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_VECTOR2_ARRAY">{*(PoolVector2Array *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_VECTOR3_ARRAY">{*(PoolVector3Array *)_data._mem}</DisplayString> - <DisplayString Condition="this->type == Variant::POOL_COLOR_ARRAY">{*(PoolColorArray *)_data._mem}</DisplayString> - - <StringView Condition="this->type == Variant::STRING && ((String *)(&_data._mem[0]))->_cowdata._ptr != 0">((String *)(&_data._mem[0]))->_cowdata._ptr,su</StringView> + <DisplayString Condition="type == Variant::NIL">nil</DisplayString> + <DisplayString Condition="type == Variant::BOOL">{_data._bool}</DisplayString> + <DisplayString Condition="type == Variant::INT">{_data._int}</DisplayString> + <DisplayString Condition="type == Variant::REAL">{_data._real}</DisplayString> + <DisplayString Condition="type == Variant::TRANSFORM2D">{_data._transform2d}</DisplayString> + <DisplayString Condition="type == Variant::AABB">{_data._aabb}</DisplayString> + <DisplayString Condition="type == Variant::BASIS">{_data._basis}</DisplayString> + <DisplayString Condition="type == Variant::TRANSFORM">{_data._transform}</DisplayString> + <DisplayString Condition="type == Variant::STRING">{*(String *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::VECTOR2">{*(Vector2 *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::RECT2">{*(Rect2 *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::VECTOR3">{*(Vector3 *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::PLANE">{*(Plane *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::QUAT">{*(Quat *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::COLOR">{*(Color *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::NODE_PATH">{*(NodePath *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::_RID">{*(RID *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::OBJECT">{*(Object *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::DICTIONARY">{*(Dictionary *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::ARRAY">{*(Array *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_BYTE_ARRAY">{*(PoolByteArray *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_INT_ARRAY">{*(PoolIntArray *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_REAL_ARRAY">{*(PoolRealArray *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_STRING_ARRAY">{*(PoolStringArray *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_VECTOR2_ARRAY">{*(PoolVector2Array *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_VECTOR3_ARRAY">{*(PoolVector3Array *)_data._mem}</DisplayString> + <DisplayString Condition="type == Variant::POOL_COLOR_ARRAY">{*(PoolColorArray *)_data._mem}</DisplayString> + <StringView Condition="type == Variant::STRING && ((String *)(_data._mem))->_cowdata._ptr">((String *)(_data._mem))->_cowdata._ptr,su</StringView> + <Expand> - <Item Name="value" Condition="this->type == Variant::BOOL">_data._bool</Item> - <Item Name="value" Condition="this->type == Variant::INT">_data._int</Item> - <Item Name="value" Condition="this->type == Variant::REAL">_data._real</Item> - <Item Name="value" Condition="this->type == Variant::TRANSFORM2D">_data._transform2d</Item> - <Item Name="value" Condition="this->type == Variant::AABB">_data._aabb</Item> - <Item Name="value" Condition="this->type == Variant::BASIS">_data._basis</Item> - <Item Name="value" Condition="this->type == Variant::TRANSFORM">_data._transform</Item> - <Item Name="value" Condition="this->type == Variant::ARRAY">*(Array *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::STRING">*(String *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::VECTOR2">*(Vector2 *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::RECT2">*(Rect2 *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::VECTOR3">*(Vector3 *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::PLANE">*(Plane *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::QUAT">*(Quat *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::COLOR">*(Color *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::NODE_PATH">*(NodePath *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::_RID">*(RID *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::OBJECT">*(Object *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::DICTIONARY">*(Dictionary *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::ARRAY">*(Array *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_BYTE_ARRAY">*(PoolByteArray *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_INT_ARRAY">*(PoolIntArray *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_REAL_ARRAY">*(PoolRealArray *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_STRING_ARRAY">*(PoolStringArray *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_VECTOR2_ARRAY">*(PoolVector2Array *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_VECTOR3_ARRAY">*(PoolVector3Array *)_data._mem</Item> - <Item Name="value" Condition="this->type == Variant::POOL_COLOR_ARRAY">*(PoolColorArray *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::BOOL">_data._bool</Item> + <Item Name="[value]" Condition="type == Variant::INT">_data._int</Item> + <Item Name="[value]" Condition="type == Variant::REAL">_data._real</Item> + <Item Name="[value]" Condition="type == Variant::TRANSFORM2D">_data._transform2d</Item> + <Item Name="[value]" Condition="type == Variant::AABB">_data._aabb</Item> + <Item Name="[value]" Condition="type == Variant::BASIS">_data._basis</Item> + <Item Name="[value]" Condition="type == Variant::TRANSFORM">_data._transform</Item> + <Item Name="[value]" Condition="type == Variant::STRING">*(String *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::VECTOR2">*(Vector2 *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::RECT2">*(Rect2 *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::VECTOR3">*(Vector3 *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::PLANE">*(Plane *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::QUAT">*(Quat *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::COLOR">*(Color *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::NODE_PATH">*(NodePath *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::_RID">*(RID *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::OBJECT">*(Object *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::DICTIONARY">*(Dictionary *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::ARRAY">*(Array *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_BYTE_ARRAY">*(PoolByteArray *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_INT_ARRAY">*(PoolIntArray *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_REAL_ARRAY">*(PoolRealArray *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_STRING_ARRAY">*(PoolStringArray *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_VECTOR2_ARRAY">*(PoolVector2Array *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_VECTOR3_ARRAY">*(PoolVector3Array *)_data._mem</Item> + <Item Name="[value]" Condition="type == Variant::POOL_COLOR_ARRAY">*(PoolColorArray *)_data._mem</Item> </Expand> </Type> <Type Name="String"> - <DisplayString Condition="this->_cowdata._ptr == 0">empty</DisplayString> - <DisplayString Condition="this->_cowdata._ptr != 0">{this->_cowdata._ptr,su}</DisplayString> - <StringView Condition="this->_cowdata._ptr != 0">this->_cowdata._ptr,su</StringView> + <DisplayString Condition="_cowdata._ptr == 0">[empty]</DisplayString> + <DisplayString Condition="_cowdata._ptr != 0">{_cowdata._ptr,su}</DisplayString> + <StringView Condition="_cowdata._ptr != 0">_cowdata._ptr,su</StringView> + </Type> + + <Type Name="StringName"> + <DisplayString Condition="_data && _data->cname">{_data->cname}</DisplayString> + <DisplayString Condition="_data && !_data->cname">{_data->name,su}</DisplayString> + <DisplayString Condition="!_data">[empty]</DisplayString> + <StringView Condition="_data && _data->cname">_data->cname</StringView> + <StringView Condition="_data && !_data->cname">_data->name,su</StringView> </Type> <Type Name="Vector2"> diff --git a/platform/x11/detect.py b/platform/x11/detect.py index b5ad59e60a..5cc5ef4ac0 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -2,7 +2,7 @@ import os import platform import sys from compat import decode_utf8 -from methods import get_compiler_version, use_gcc +from methods import get_compiler_version, using_gcc def is_active(): return True @@ -160,7 +160,7 @@ def configure(env): env.Append(LINKFLAGS=['-pipe']) # Check for gcc version >= 6 before adding -no-pie - if use_gcc(env): + if using_gcc(env): version = get_compiler_version(env) if version != None and version[0] >= '6': env.Append(CCFLAGS=['-fpie']) @@ -197,7 +197,7 @@ def configure(env): # We need at least version 2.88 import subprocess bullet_version = subprocess.check_output(['pkg-config', 'bullet', '--modversion']).strip() - if bullet_version < "2.88": + if str(bullet_version) < "2.88": # Abort as system bullet was requested but too old print("Bullet: System version {0} does not match minimal requirements ({1}). Aborting.".format(bullet_version, "2.88")) sys.exit(255) diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 87b63c0982..0fe91f3d00 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -3048,11 +3048,12 @@ void OS_X11::set_context(int p_context) { if (p_context == CONTEXT_ENGINE) { classHint->res_name = (char *)"Godot_Engine"; - char *config_name_tmp = (char *)((String)GLOBAL_GET("application/config/name")).utf8().ptrw(); - if (config_name_tmp) - config_name = strdup(config_name_tmp); - else + String config_name_tmp = GLOBAL_GET("application/config/name"); + if (config_name_tmp.length() > 0) { + config_name = strdup(config_name_tmp.utf8().get_data()); + } else { config_name = strdup("Godot Engine"); + } wm_class = config_name; } diff --git a/scene/2d/animated_sprite.cpp b/scene/2d/animated_sprite.cpp index f8384bd1e4..7a50574be2 100644 --- a/scene/2d/animated_sprite.cpp +++ b/scene/2d/animated_sprite.cpp @@ -393,19 +393,30 @@ void AnimatedSprite::_notification(int p_what) { timeout = _get_frame_duration(); int fc = frames->get_frame_count(animation); - if (frame >= fc - 1) { + if ((!backwards && frame >= fc - 1) || (backwards && frame <= 0)) { if (frames->get_animation_loop(animation)) { - frame = 0; + if (backwards) + frame = fc - 1; + else + frame = 0; + emit_signal(SceneStringNames::get_singleton()->animation_finished); } else { - frame = fc - 1; + if (backwards) + frame = 0; + else + frame = fc - 1; + if (!is_over) { is_over = true; emit_signal(SceneStringNames::get_singleton()->animation_finished); } } } else { - frame++; + if (backwards) + frame--; + else + frame++; } update(); @@ -594,10 +605,12 @@ bool AnimatedSprite::_is_playing() const { return playing; } -void AnimatedSprite::play(const StringName &p_animation) { +void AnimatedSprite::play(const StringName &p_animation, const bool p_backwards) { if (p_animation) set_animation(p_animation); + + backwards = p_backwards; _set_playing(true); } @@ -666,7 +679,7 @@ void AnimatedSprite::_bind_methods() { ClassDB::bind_method(D_METHOD("_set_playing", "playing"), &AnimatedSprite::_set_playing); ClassDB::bind_method(D_METHOD("_is_playing"), &AnimatedSprite::_is_playing); - ClassDB::bind_method(D_METHOD("play", "anim"), &AnimatedSprite::play, DEFVAL(StringName())); + ClassDB::bind_method(D_METHOD("play", "anim", "backwards"), &AnimatedSprite::play, DEFVAL(StringName())); ClassDB::bind_method(D_METHOD("stop"), &AnimatedSprite::stop); ClassDB::bind_method(D_METHOD("is_playing"), &AnimatedSprite::is_playing); @@ -713,6 +726,7 @@ AnimatedSprite::AnimatedSprite() { frame = 0; speed_scale = 1.0f; playing = false; + backwards = false; animation = "default"; timeout = 0; is_over = false; diff --git a/scene/2d/animated_sprite.h b/scene/2d/animated_sprite.h index 8753f88799..2cc372bd93 100644 --- a/scene/2d/animated_sprite.h +++ b/scene/2d/animated_sprite.h @@ -128,6 +128,7 @@ class AnimatedSprite : public Node2D { Ref<SpriteFrames> frames; bool playing; + bool backwards; StringName animation; int frame; float speed_scale; @@ -169,7 +170,7 @@ public: void set_sprite_frames(const Ref<SpriteFrames> &p_frames); Ref<SpriteFrames> get_sprite_frames() const; - void play(const StringName &p_animation = StringName()); + void play(const StringName &p_animation = StringName(), const bool p_backwards = false); void stop(); bool is_playing() const; diff --git a/scene/2d/collision_object_2d.cpp b/scene/2d/collision_object_2d.cpp index d54070df8d..f43d97eb2a 100644 --- a/scene/2d/collision_object_2d.cpp +++ b/scene/2d/collision_object_2d.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "collision_object_2d.h" + #include "scene/scene_string_names.h" #include "servers/physics_2d_server.h" @@ -56,7 +57,7 @@ void CollisionObject2D::_notification(int p_what) { _update_pickable(); //get space - } + } break; case NOTIFICATION_ENTER_CANVAS: { @@ -64,7 +65,7 @@ void CollisionObject2D::_notification(int p_what) { Physics2DServer::get_singleton()->area_attach_canvas_instance_id(rid, get_canvas_layer_instance_id()); else Physics2DServer::get_singleton()->body_attach_canvas_instance_id(rid, get_canvas_layer_instance_id()); - } + } break; case NOTIFICATION_VISIBILITY_CHANGED: { @@ -101,7 +102,7 @@ void CollisionObject2D::_notification(int p_what) { Physics2DServer::get_singleton()->area_attach_canvas_instance_id(rid, 0); else Physics2DServer::get_singleton()->body_attach_canvas_instance_id(rid, 0); - } + } break; } } diff --git a/scene/2d/cpu_particles_2d.cpp b/scene/2d/cpu_particles_2d.cpp index c50a8d4a1a..721b52edaa 100644 --- a/scene/2d/cpu_particles_2d.cpp +++ b/scene/2d/cpu_particles_2d.cpp @@ -37,20 +37,8 @@ void CPUParticles2D::set_emitting(bool p_emitting) { emitting = p_emitting; - if (!is_processing_internal()) { + if (emitting) set_process_internal(true); - if (is_inside_tree()) { -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->canvas_item_set_update_when_visible(get_canvas_item(), true); - -#ifndef NO_THREADS - update_mutex->unlock(); -#endif - } - } } void CPUParticles2D::set_amount(int p_amount) { @@ -365,7 +353,8 @@ void CPUParticles2D::set_param_curve(Parameter p_param, const Ref<Curve> &p_curv } break; case PARAM_ANIM_OFFSET: { } break; - default: {} + default: { + } } } Ref<Curve> CPUParticles2D::get_param_curve(Parameter p_param) const { @@ -586,7 +575,7 @@ void CPUParticles2D::_particles_process(float p_delta) { if (restart_time >= prev_time && restart_time < time) { restart = true; if (fractional_delta) { - local_delta = (time - restart_time) * lifetime; + local_delta = time - restart_time; } } @@ -594,13 +583,13 @@ void CPUParticles2D::_particles_process(float p_delta) { if (restart_time >= prev_time) { restart = true; if (fractional_delta) { - local_delta = (lifetime - restart_time + time) * lifetime; + local_delta = lifetime - restart_time + time; } } else if (restart_time < time) { restart = true; if (fractional_delta) { - local_delta = (time - restart_time) * lifetime; + local_delta = time - restart_time; } } } @@ -941,6 +930,26 @@ void CPUParticles2D::_update_particle_data_buffer() { #endif } +void CPUParticles2D::_set_redraw(bool p_redraw) { + if (redraw == p_redraw) + return; + redraw = p_redraw; +#ifndef NO_THREADS + update_mutex->lock(); +#endif + if (redraw) { + VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread"); + VS::get_singleton()->canvas_item_set_update_when_visible(get_canvas_item(), true); + } else { + VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); + VS::get_singleton()->canvas_item_set_update_when_visible(get_canvas_item(), false); + } +#ifndef NO_THREADS + update_mutex->unlock(); +#endif + update(); // redraw to update render list +} + void CPUParticles2D::_update_render_thread() { #ifndef NO_THREADS @@ -957,38 +966,19 @@ void CPUParticles2D::_update_render_thread() { void CPUParticles2D::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE) { - if (is_processing_internal()) { - -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->canvas_item_set_update_when_visible(get_canvas_item(), true); - -#ifndef NO_THREADS - update_mutex->unlock(); -#endif - } + set_process_internal(emitting); } if (p_what == NOTIFICATION_EXIT_TREE) { - if (is_processing_internal()) { - -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->canvas_item_set_update_when_visible(get_canvas_item(), false); -#ifndef NO_THREADS - update_mutex->unlock(); -#endif - } + _set_redraw(false); } if (p_what == NOTIFICATION_PAUSED || p_what == NOTIFICATION_UNPAUSED) { } if (p_what == NOTIFICATION_DRAW) { + if (!redraw) + return; // dont add to render list RID texrid; if (texture.is_valid()) { @@ -1005,26 +995,20 @@ void CPUParticles2D::_notification(int p_what) { if (p_what == NOTIFICATION_INTERNAL_PROCESS) { - if (particles.size() == 0 || !is_visible_in_tree()) + if (particles.size() == 0 || !is_visible_in_tree()) { + _set_redraw(false); return; + } float delta = get_process_delta_time(); if (emitting) { - inactive_time = 0; } else { inactive_time += delta; if (inactive_time > lifetime * 1.2) { set_process_internal(false); -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->canvas_item_set_update_when_visible(get_canvas_item(), false); + _set_redraw(false); -#ifndef NO_THREADS - update_mutex->unlock(); -#endif //reset variables time = 0; inactive_time = 0; @@ -1033,6 +1017,7 @@ void CPUParticles2D::_notification(int p_what) { return; } } + _set_redraw(true); if (time == 0 && pre_process_time > 0.0) { @@ -1354,6 +1339,7 @@ CPUParticles2D::CPUParticles2D() { inactive_time = 0; frame_remainder = 0; cycle = 0; + redraw = false; mesh = VisualServer::get_singleton()->mesh_create(); multimesh = VisualServer::get_singleton()->multimesh_create(); diff --git a/scene/2d/cpu_particles_2d.h b/scene/2d/cpu_particles_2d.h index b1adf62980..23d2586331 100644 --- a/scene/2d/cpu_particles_2d.h +++ b/scene/2d/cpu_particles_2d.h @@ -103,6 +103,7 @@ private: float inactive_time; float frame_remainder; int cycle; + bool redraw; RID mesh; RID multimesh; @@ -179,6 +180,8 @@ private: void _update_mesh_texture(); + void _set_redraw(bool p_redraw); + protected: static void _bind_methods(); void _notification(int p_what); diff --git a/scene/2d/line_2d.cpp b/scene/2d/line_2d.cpp index 105eb82afb..73692e0535 100644 --- a/scene/2d/line_2d.cpp +++ b/scene/2d/line_2d.cpp @@ -112,6 +112,14 @@ int Line2D::get_point_count() const { return _points.size(); } +void Line2D::clear_points() { + int count = _points.size(); + if (count > 0) { + _points.resize(0); + update(); + } +} + void Line2D::add_point(Vector2 pos) { _points.append(pos); update(); @@ -313,6 +321,8 @@ void Line2D::_bind_methods() { ClassDB::bind_method(D_METHOD("add_point", "position"), &Line2D::add_point); ClassDB::bind_method(D_METHOD("remove_point", "i"), &Line2D::remove_point); + ClassDB::bind_method(D_METHOD("clear_points"), &Line2D::clear_points); + ClassDB::bind_method(D_METHOD("set_width", "width"), &Line2D::set_width); ClassDB::bind_method(D_METHOD("get_width"), &Line2D::get_width); diff --git a/scene/2d/line_2d.h b/scene/2d/line_2d.h index 5bbd38e460..32befab2d3 100644 --- a/scene/2d/line_2d.h +++ b/scene/2d/line_2d.h @@ -70,6 +70,8 @@ public: int get_point_count() const; + void clear_points(); + void add_point(Vector2 pos); void remove_point(int i); diff --git a/scene/2d/parallax_background.cpp b/scene/2d/parallax_background.cpp index 96e13396c5..4ead1bbd1e 100644 --- a/scene/2d/parallax_background.cpp +++ b/scene/2d/parallax_background.cpp @@ -207,7 +207,7 @@ void ParallaxBackground::_bind_methods() { ParallaxBackground::ParallaxBackground() { scale = 1.0; - set_layer(-1); //behind all by default + set_layer(-100); //behind all by default base_scale = Vector2(1, 1); ignore_camera_zoom = false; diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index 1b7e1a6b8b..690f1d4b4a 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -199,7 +199,7 @@ real_t StaticBody2D::get_constant_angular_velocity() const { #ifndef DISABLE_DEPRECATED void StaticBody2D::set_friction(real_t p_friction) { - if (p_friction == 1.0) { // default value, don't create an override for that + if (p_friction == 1.0 && physics_material_override.is_null()) { // default value, don't create an override for that return; } @@ -229,7 +229,7 @@ real_t StaticBody2D::get_friction() const { void StaticBody2D::set_bounce(real_t p_bounce) { - if (p_bounce == 0.0) { // default value, don't create an override for that + if (p_bounce == 0.0 && physics_material_override.is_null()) { // default value, don't create an override for that return; } @@ -626,7 +626,7 @@ real_t RigidBody2D::get_weight() const { #ifndef DISABLE_DEPRECATED void RigidBody2D::set_friction(real_t p_friction) { - if (p_friction == 1.0) { // default value, don't create an override for that + if (p_friction == 1.0 && physics_material_override.is_null()) { // default value, don't create an override for that return; } @@ -655,7 +655,7 @@ real_t RigidBody2D::get_friction() const { void RigidBody2D::set_bounce(real_t p_bounce) { - if (p_bounce == 0.0) { // default value, don't create an override for that + if (p_bounce == 0.0 && physics_material_override.is_null()) { // default value, don't create an override for that return; } diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index ed0a9c4915..3562011bc2 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -773,6 +773,7 @@ void TileMap::set_cell(int p_x, int p_y, int p_tile, bool p_flip_x, bool p_flip_ else _make_quadrant_dirty(Q); + used_size_cache_dirty = true; return; } @@ -1391,15 +1392,17 @@ Vector2 TileMap::_map_to_world(int p_x, int p_y, bool p_ignore_ofs) const { if (!p_ignore_ofs) { switch (half_offset) { - case HALF_OFFSET_X: { + case HALF_OFFSET_X: + case HALF_OFFSET_NEGATIVE_X: { if (ABS(p_y) & 1) { - ret += get_cell_transform()[0] * 0.5; + ret += get_cell_transform()[0] * (half_offset == HALF_OFFSET_X ? 0.5 : -0.5); } } break; - case HALF_OFFSET_Y: { + case HALF_OFFSET_Y: + case HALF_OFFSET_NEGATIVE_Y: { if (ABS(p_x) & 1) { - ret += get_cell_transform()[1] * 0.5; + ret += get_cell_transform()[1] * (half_offset == HALF_OFFSET_Y ? 0.5 : -0.5); } } break; default: {} @@ -1462,11 +1465,21 @@ Vector2 TileMap::world_to_map(const Vector2 &p_pos) const { ret.x -= 0.5; } } break; + case HALF_OFFSET_NEGATIVE_X: { + if (ret.y > 0 ? int(ret.y) & 1 : (int(ret.y) - 1) & 1) { + ret.x += 0.5; + } + } break; case HALF_OFFSET_Y: { if (ret.x > 0 ? int(ret.x) & 1 : (int(ret.x) - 1) & 1) { ret.y -= 0.5; } } break; + case HALF_OFFSET_NEGATIVE_Y: { + if (ret.x > 0 ? int(ret.x) & 1 : (int(ret.x) - 1) & 1) { + ret.y += 0.5; + } + } break; default: {} } @@ -1677,7 +1690,7 @@ void TileMap::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "cell_size", PROPERTY_HINT_RANGE, "1,8192,1"), "set_cell_size", "get_cell_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_quadrant_size", PROPERTY_HINT_RANGE, "1,128,1"), "set_quadrant_size", "get_quadrant_size"); ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "cell_custom_transform"), "set_custom_transform", "get_custom_transform"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_half_offset", PROPERTY_HINT_ENUM, "Offset X,Offset Y,Disabled"), "set_half_offset", "get_half_offset"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_half_offset", PROPERTY_HINT_ENUM, "Offset X,Offset Y,Disabled,Offset Negative X,Offset Negative Y"), "set_half_offset", "get_half_offset"); ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_tile_origin", PROPERTY_HINT_ENUM, "Top Left,Center,Bottom Left"), "set_tile_origin", "get_tile_origin"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_y_sort"), "set_y_sort_mode", "is_y_sort_mode_enabled"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_clip_uv"), "set_clip_uv", "get_clip_uv"); @@ -1703,6 +1716,8 @@ void TileMap::_bind_methods() { BIND_ENUM_CONSTANT(HALF_OFFSET_X); BIND_ENUM_CONSTANT(HALF_OFFSET_Y); BIND_ENUM_CONSTANT(HALF_OFFSET_DISABLED); + BIND_ENUM_CONSTANT(HALF_OFFSET_NEGATIVE_X); + BIND_ENUM_CONSTANT(HALF_OFFSET_NEGATIVE_Y); BIND_ENUM_CONSTANT(TILE_ORIGIN_TOP_LEFT); BIND_ENUM_CONSTANT(TILE_ORIGIN_CENTER); diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h index e450e1e256..6a1467aa48 100644 --- a/scene/2d/tile_map.h +++ b/scene/2d/tile_map.h @@ -52,6 +52,8 @@ public: HALF_OFFSET_X, HALF_OFFSET_Y, HALF_OFFSET_DISABLED, + HALF_OFFSET_NEGATIVE_X, + HALF_OFFSET_NEGATIVE_Y, }; enum TileOrigin { diff --git a/scene/3d/area.cpp b/scene/3d/area.cpp index e58e26d2d1..13d9181082 100644 --- a/scene/3d/area.cpp +++ b/scene/3d/area.cpp @@ -756,7 +756,6 @@ Area::Area() : monitorable = false; collision_mask = 1; collision_layer = 1; - set_ray_pickable(false); set_monitoring(true); set_monitorable(true); diff --git a/scene/3d/collision_object.cpp b/scene/3d/collision_object.cpp index d8c2042c88..f542b021be 100644 --- a/scene/3d/collision_object.cpp +++ b/scene/3d/collision_object.cpp @@ -52,7 +52,7 @@ void CollisionObject::_notification(int p_what) { _update_pickable(); //get space - }; + } break; case NOTIFICATION_TRANSFORM_CHANGED: { diff --git a/scene/3d/cpu_particles.cpp b/scene/3d/cpu_particles.cpp index 11dfbdb1f9..469a1e87db 100644 --- a/scene/3d/cpu_particles.cpp +++ b/scene/3d/cpu_particles.cpp @@ -47,20 +47,8 @@ PoolVector<Face3> CPUParticles::get_faces(uint32_t p_usage_flags) const { void CPUParticles::set_emitting(bool p_emitting) { emitting = p_emitting; - if (!is_processing_internal()) { + if (emitting) set_process_internal(true); - if (is_inside_tree()) { -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, true); - -#ifndef NO_THREADS - update_mutex->unlock(); -#endif - } - } } void CPUParticles::set_amount(int p_amount) { @@ -343,7 +331,8 @@ void CPUParticles::set_param_curve(Parameter p_param, const Ref<Curve> &p_curve) } break; case PARAM_ANIM_OFFSET: { } break; - default: {} + default: { + } } } Ref<Curve> CPUParticles::get_param_curve(Parameter p_param) const { @@ -556,7 +545,7 @@ void CPUParticles::_particles_process(float p_delta) { if (restart_time >= prev_time && restart_time < time) { restart = true; if (fractional_delta) { - local_delta = (time - restart_time) * lifetime; + local_delta = time - restart_time; } } @@ -564,13 +553,13 @@ void CPUParticles::_particles_process(float p_delta) { if (restart_time >= prev_time) { restart = true; if (fractional_delta) { - local_delta = (1.0 - restart_time + time) * lifetime; + local_delta = lifetime - restart_time + time; } } else if (restart_time < time) { restart = true; if (fractional_delta) { - local_delta = (time - restart_time) * lifetime; + local_delta = time - restart_time; } } } @@ -1004,6 +993,27 @@ void CPUParticles::_update_particle_data_buffer() { #endif } +void CPUParticles::_set_redraw(bool p_redraw) { + if (redraw == p_redraw) + return; + redraw = p_redraw; +#ifndef NO_THREADS + update_mutex->lock(); +#endif + if (redraw) { + VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread"); + VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, true); + VS::get_singleton()->multimesh_set_visible_instances(multimesh, -1); + } else { + VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); + VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, false); + VS::get_singleton()->multimesh_set_visible_instances(multimesh, 0); + } +#ifndef NO_THREADS + update_mutex->unlock(); +#endif +} + void CPUParticles::_update_render_thread() { #ifndef NO_THREADS @@ -1022,31 +1032,11 @@ void CPUParticles::_update_render_thread() { void CPUParticles::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE) { - if (is_processing_internal()) { - -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->connect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, true); -#ifndef NO_THREADS - update_mutex->unlock(); -#endif - } + set_process_internal(emitting); } if (p_what == NOTIFICATION_EXIT_TREE) { - if (is_processing_internal()) { - -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, false); -#ifndef NO_THREADS - update_mutex->unlock(); -#endif - } + _set_redraw(false); } if (p_what == NOTIFICATION_PAUSED || p_what == NOTIFICATION_UNPAUSED) { @@ -1054,26 +1044,20 @@ void CPUParticles::_notification(int p_what) { if (p_what == NOTIFICATION_INTERNAL_PROCESS) { - if (particles.size() == 0 || !is_visible_in_tree()) + if (particles.size() == 0 || !is_visible_in_tree()) { + _set_redraw(false); return; + } float delta = get_process_delta_time(); if (emitting) { - inactive_time = 0; } else { inactive_time += delta; if (inactive_time > lifetime * 1.2) { set_process_internal(false); -#ifndef NO_THREADS - update_mutex->lock(); -#endif - VS::get_singleton()->disconnect("frame_pre_draw", this, "_update_render_thread"); - VS::get_singleton()->instance_geometry_set_flag(get_instance(), VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE, false); + _set_redraw(false); -#ifndef NO_THREADS - update_mutex->unlock(); -#endif //reset variables time = 0; inactive_time = 0; @@ -1082,6 +1066,7 @@ void CPUParticles::_notification(int p_what) { return; } } + _set_redraw(true); bool processed = false; @@ -1406,6 +1391,7 @@ CPUParticles::CPUParticles() { inactive_time = 0; frame_remainder = 0; cycle = 0; + redraw = false; multimesh = VisualServer::get_singleton()->multimesh_create(); set_base(multimesh); diff --git a/scene/3d/cpu_particles.h b/scene/3d/cpu_particles.h index b50befe7be..b863a3cb3f 100644 --- a/scene/3d/cpu_particles.h +++ b/scene/3d/cpu_particles.h @@ -104,6 +104,7 @@ private: float inactive_time; float frame_remainder; int cycle; + bool redraw; RID multimesh; @@ -178,6 +179,8 @@ private: void _update_render_thread(); + void _set_redraw(bool p_redraw); + protected: static void _bind_methods(); void _notification(int p_what); diff --git a/scene/animation/animation_node_state_machine.cpp b/scene/animation/animation_node_state_machine.cpp index 5df3da93e1..68ad71d01c 100644 --- a/scene/animation/animation_node_state_machine.cpp +++ b/scene/animation/animation_node_state_machine.cpp @@ -440,13 +440,13 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm, bool goto_next = false; - if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_IMMEDIATE) { - goto_next = fading_from == StringName(); - } else { + if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_AT_END) { goto_next = next_xfade >= (len_current - pos_current) || loops_current > 0; if (loops_current > 0) { next_xfade = 0; } + } else { + goto_next = fading_from == StringName(); } if (goto_next) { //loops should be used because fade time may be too small or zero and animation may have looped diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp index 0b6fa26bfc..fe1b8247ff 100644 --- a/scene/animation/animation_tree.cpp +++ b/scene/animation/animation_tree.cpp @@ -883,16 +883,16 @@ void AnimationTree::_process_graph(float p_delta) { TrackCacheTransform *t = static_cast<TrackCacheTransform *>(track); - if (t->process_pass != process_pass) { + if (track->root_motion) { - t->process_pass = process_pass; - t->loc = Vector3(); - t->rot = Quat(); - t->rot_blend_accum = 0; - t->scale = Vector3(); - } + if (t->process_pass != process_pass) { - if (track->root_motion) { + t->process_pass = process_pass; + t->loc = Vector3(); + t->rot = Quat(); + t->rot_blend_accum = 0; + t->scale = Vector3(); + } float prev_time = time - delta; if (prev_time < 0) { @@ -946,6 +946,15 @@ void AnimationTree::_process_graph(float p_delta) { Error err = a->transform_track_interpolate(i, time, &loc, &rot, &scale); //ERR_CONTINUE(err!=OK); //used for testing, should be removed + if (t->process_pass != process_pass) { + + t->process_pass = process_pass; + t->loc = loc; + t->rot = rot; + t->rot_blend_accum = 0; + t->scale = Vector3(); + } + scale -= Vector3(1.0, 1.0, 1.0); //helps make it work properly with Add nodes if (err != OK) @@ -978,8 +987,7 @@ void AnimationTree::_process_graph(float p_delta) { continue; if (t->process_pass != process_pass) { - Variant::CallError ce; - t->value = Variant::construct(value.get_type(), NULL, 0, ce); //reset + t->value = value; t->process_pass = process_pass; } @@ -1036,7 +1044,7 @@ void AnimationTree::_process_graph(float p_delta) { float bezier = a->bezier_track_interpolate(i, time); if (t->process_pass != process_pass) { - t->value = 0; + t->value = bezier; t->process_pass = process_pass; } diff --git a/scene/animation/tween.cpp b/scene/animation/tween.cpp index 6a5d7839f4..23998183b8 100644 --- a/scene/animation/tween.cpp +++ b/scene/animation/tween.cpp @@ -223,6 +223,7 @@ void Tween::_bind_methods() { ADD_SIGNAL(MethodInfo("tween_started", PropertyInfo(Variant::OBJECT, "object"), PropertyInfo(Variant::NODE_PATH, "key"))); ADD_SIGNAL(MethodInfo("tween_step", PropertyInfo(Variant::OBJECT, "object"), PropertyInfo(Variant::NODE_PATH, "key"), PropertyInfo(Variant::REAL, "elapsed"), PropertyInfo(Variant::OBJECT, "value"))); ADD_SIGNAL(MethodInfo("tween_completed", PropertyInfo(Variant::OBJECT, "object"), PropertyInfo(Variant::NODE_PATH, "key"))); + ADD_SIGNAL(MethodInfo("tween_all_completed")); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "repeat"), "set_repeat", "is_repeat"); ADD_PROPERTY(PropertyInfo(Variant::INT, "playback_process_mode", PROPERTY_HINT_ENUM, "Physics,Idle"), "set_tween_process_mode", "get_tween_process_mode"); @@ -628,8 +629,10 @@ void Tween::_tween_process(float p_delta) { } pending_update--; - if (all_finished) + if (all_finished) { set_active(false); + emit_signal("tween_all_completed"); + } } void Tween::set_tween_process_mode(TweenProcessMode p_mode) { diff --git a/scene/gui/button.cpp b/scene/gui/button.cpp index c734136895..65e9cccd05 100644 --- a/scene/gui/button.cpp +++ b/scene/gui/button.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "button.h" + #include "core/translation.h" #include "servers/visual_server.h" @@ -102,6 +103,7 @@ void Button::_notification(int p_what) { break; } + FALLTHROUGH; } case DRAW_PRESSED: { diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 86894ce070..c7cd2bb6d8 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -1388,7 +1388,10 @@ void Control::set_anchor(Margin p_margin, float p_anchor, bool p_keep_margin, bo } update(); - _change_notify("anchor"); + _change_notify("anchor_left"); + _change_notify("anchor_right"); + _change_notify("anchor_top"); + _change_notify("anchor_bottom"); } void Control::_set_anchor(Margin p_margin, float p_anchor) { diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index 68e734502b..30ad81bb2e 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -770,7 +770,9 @@ void GraphEdit::_top_layer_draw() { } if (box_selecting) - top_layer->draw_rect(box_selecting_rect, Color(0.7, 0.7, 1.0, 0.3)); + top_layer->draw_rect( + box_selecting_rect, + get_color("accent_color", "Editor") * Color(1, 1, 1, 0.375)); } void GraphEdit::set_selected(Node *p_child) { diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp index 8c588109d6..e8692d56d2 100644 --- a/scene/gui/graph_node.cpp +++ b/scene/gui/graph_node.cpp @@ -164,7 +164,6 @@ void GraphNode::_resort() { vofs += size.y; } - _change_notify(); update(); connpos_dirty = true; } @@ -409,9 +408,12 @@ Size2 GraphNode::get_minimum_size() const { void GraphNode::set_title(const String &p_title) { + if (title == p_title) + return; title = p_title; - minimum_size_changed(); update(); + _change_notify("title"); + minimum_size_changed(); } String GraphNode::get_title() const { diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index bf6833e512..0c5dc39273 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -29,6 +29,7 @@ /*************************************************************************/ #include "line_edit.h" + #include "core/message_queue.h" #include "core/os/keyboard.h" #include "core/os/os.h" @@ -320,7 +321,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { handled = false; break; } - // numlock disabled. fallthrough to key_left + FALLTHROUGH; } case KEY_LEFT: { @@ -367,7 +368,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { handled = false; break; } - // numlock disabled. fallthrough to key_right + FALLTHROUGH; } case KEY_RIGHT: { @@ -474,7 +475,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { handled = false; break; } - // numlock disabled. fallthrough to key_home + FALLTHROUGH; } case KEY_HOME: { @@ -487,7 +488,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { handled = false; break; } - // numlock disabled. fallthrough to key_end + FALLTHROUGH; } case KEY_END: { @@ -1223,6 +1224,7 @@ void LineEdit::append_at_cursor(String p_text) { void LineEdit::clear_internal() { + deselect(); _clear_undo_stack(); cached_width = 0; cursor_pos = 0; diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index 28b124d143..94c73b2e42 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -594,7 +594,7 @@ void PopupMenu::add_item(const String &p_label, int p_ID, uint32_t p_accel) { item.text = p_label; item.xl_text = tr(p_label); item.accel = p_accel; - item.ID = p_ID; + item.ID = p_ID == -1 ? items.size() : p_ID; items.push_back(item); update(); minimum_size_changed(); @@ -632,7 +632,7 @@ void PopupMenu::add_check_item(const String &p_label, int p_ID, uint32_t p_accel item.text = p_label; item.xl_text = tr(p_label); item.accel = p_accel; - item.ID = p_ID; + item.ID = p_ID == -1 ? items.size() : p_ID; item.checkable_type = Item::CHECKABLE_TYPE_CHECK_BOX; items.push_back(item); update(); diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 9bcf10d5e7..00d6ac3b94 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -900,21 +900,13 @@ void RichTextLabel::_find_click(ItemFrame *p_frame, const Point2i &p_click, Item Control::CursorShape RichTextLabel::get_cursor_shape(const Point2 &p_pos) const { - if (!underline_meta || selection.click) + if (selection.click) return CURSOR_ARROW; if (main->first_invalid_line < main->lines.size()) return CURSOR_ARROW; //invalid - int line = 0; - Item *item = NULL; - - ((RichTextLabel *)(this))->_find_click(main, p_pos, &item, &line); - - if (item && ((RichTextLabel *)(this))->_find_meta(item, NULL)) - return CURSOR_POINTING_HAND; - - return CURSOR_ARROW; + return get_default_cursor_shape(); } void RichTextLabel::_gui_input(Ref<InputEvent> p_event) { @@ -1144,8 +1136,8 @@ void RichTextLabel::_gui_input(Ref<InputEvent> p_event) { emit_signal("meta_hover_started", meta); } } else if (meta_hovering) { - emit_signal("meta_hover_ended", current_meta); meta_hovering = NULL; + emit_signal("meta_hover_ended", current_meta); current_meta = false; } } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 2bf2364873..9acf8d40c9 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -2517,7 +2517,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_left + FALLTHROUGH; } case KEY_LEFT: { @@ -2580,7 +2580,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_right + FALLTHROUGH; } case KEY_RIGHT: { @@ -2641,7 +2641,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_up + FALLTHROUGH; } case KEY_UP: { @@ -2694,7 +2694,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_down + FALLTHROUGH; } case KEY_DOWN: { @@ -2817,11 +2817,10 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_home + FALLTHROUGH; } -#ifdef APPLE_STYLE_KEYS case KEY_HOME: { - +#ifdef APPLE_STYLE_KEYS if (k->get_shift()) _pre_shift_selection(); @@ -2831,11 +2830,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { _post_shift_selection(); else if (k->get_command() || k->get_control()) deselect(); - - } break; #else - case KEY_HOME: { - if (k->get_shift()) _pre_shift_selection(); @@ -2876,19 +2871,17 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { deselect(); _cancel_completion(); completion_hint = ""; - - } break; #endif + } break; case KEY_KP_1: { if (k->get_unicode() != 0) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_end + FALLTHROUGH; } -#ifdef APPLE_STYLE_KEYS case KEY_END: { - +#ifdef APPLE_STYLE_KEYS if (k->get_shift()) _pre_shift_selection(); @@ -2898,11 +2891,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { _post_shift_selection(); else if (k->get_command() || k->get_control()) deselect(); - - } break; #else - case KEY_END: { - if (k->get_shift()) _pre_shift_selection(); @@ -2929,15 +2918,14 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { _cancel_completion(); completion_hint = ""; - - } break; #endif + } break; case KEY_KP_9: { if (k->get_unicode() != 0) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_pageup + FALLTHROUGH; } case KEY_PAGEUP: { @@ -2960,7 +2948,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { scancode_handled = false; break; } - // numlock disabled. fallthrough to key_pagedown + FALLTHROUGH; } case KEY_PAGEDOWN: { @@ -3139,21 +3127,7 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (scancode_handled) accept_event(); - /* - if (!scancode_handled && !k->get_command() && !k->get_alt()) { - - if (k->get_unicode()>=32) { - if (readonly) - break; - - accept_event(); - } else { - - break; - } - } -*/ if (k->get_scancode() == KEY_INSERT) { set_insert_mode(!insert_mode); accept_event(); @@ -3196,7 +3170,6 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { end_complex_operation(); } accept_event(); - } else { } } diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index 95f1fbbee5..33f0a3f45d 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -683,6 +683,7 @@ protected: TextEdit *text_editor; public: + virtual ~SyntaxHighlighter() {} virtual void _update_cache() = 0; virtual Map<int, TextEdit::HighlighterInfo> _get_line_syntax_highlighting(int p_line) = 0; diff --git a/scene/gui/texture_button.cpp b/scene/gui/texture_button.cpp index 19bef9fdf5..795b25cce0 100644 --- a/scene/gui/texture_button.cpp +++ b/scene/gui/texture_button.cpp @@ -223,8 +223,7 @@ void TextureButton::_notification(int p_what) { } if (has_focus() && focused.is_valid()) { - Rect2 drect(Point2(), get_size()); - draw_texture_rect(focused, drect, false); + draw_texture_rect(focused, _position_rect, false); }; } break; } diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 49cad6fccf..679b752fa3 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -29,7 +29,6 @@ /*************************************************************************/ #include "tree.h" -#include <limits.h> #include "core/math/math_funcs.h" #include "core/os/input.h" @@ -43,6 +42,8 @@ #include "editor/editor_node.h" #endif +#include <limits.h> + void TreeItem::move_to_top() { if (!parent || parent->children == this) @@ -940,6 +941,7 @@ int Tree::compute_item_height(TreeItem *p_item) const { int check_icon_h = cache.checked->get_height(); if (height < check_icon_h) height = check_icon_h; + FALLTHROUGH; } case TreeItem::CELL_MODE_STRING: case TreeItem::CELL_MODE_CUSTOM: diff --git a/scene/main/canvas_layer.cpp b/scene/main/canvas_layer.cpp index 2b1991ebb0..8cab1b1280 100644 --- a/scene/main/canvas_layer.cpp +++ b/scene/main/canvas_layer.cpp @@ -153,6 +153,7 @@ void CanvasLayer::_notification(int p_what) { VisualServer::get_singleton()->viewport_attach_canvas(viewport, canvas); VisualServer::get_singleton()->viewport_set_canvas_stacking(viewport, canvas, layer, get_position_in_parent()); VisualServer::get_singleton()->viewport_set_canvas_transform(viewport, canvas, transform); + _update_follow_viewport(); } break; case NOTIFICATION_EXIT_TREE: { @@ -160,6 +161,7 @@ void CanvasLayer::_notification(int p_what) { vp->_canvas_layer_remove(this); VisualServer::get_singleton()->viewport_remove_canvas(viewport, canvas); viewport = RID(); + _update_follow_viewport(false); } break; case NOTIFICATION_MOVED_IN_PARENT: { @@ -235,6 +237,41 @@ RID CanvasLayer::get_canvas() const { return canvas; } + +void CanvasLayer::set_follow_viewport(bool p_enable) { + if (follow_viewport == p_enable) { + return; + } + + follow_viewport = p_enable; + _update_follow_viewport(); +} + +bool CanvasLayer::is_following_viewport() const { + return follow_viewport; +} + +void CanvasLayer::set_follow_viewport_scale(float p_ratio) { + follow_viewport_scale = p_ratio; + _update_follow_viewport(); +} + +float CanvasLayer::get_follow_viewport_scale() const { + return follow_viewport_scale; +} + +void CanvasLayer::_update_follow_viewport(bool p_force_exit) { + + if (!is_inside_tree()) { + return; + } + if (p_force_exit || !follow_viewport) { + VS::get_singleton()->canvas_set_parent(canvas, RID(), 1.0); + } else { + VS::get_singleton()->canvas_set_parent(canvas, vp->get_world_2d()->get_canvas(), follow_viewport_scale); + } +} + void CanvasLayer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_layer", "layer"), &CanvasLayer::set_layer); @@ -255,18 +292,30 @@ void CanvasLayer::_bind_methods() { ClassDB::bind_method(D_METHOD("set_scale", "scale"), &CanvasLayer::set_scale); ClassDB::bind_method(D_METHOD("get_scale"), &CanvasLayer::get_scale); + ClassDB::bind_method(D_METHOD("set_follow_viewport", "enable"), &CanvasLayer::set_follow_viewport); + ClassDB::bind_method(D_METHOD("is_following_viewport"), &CanvasLayer::is_following_viewport); + + ClassDB::bind_method(D_METHOD("set_follow_viewport_scale", "scale"), &CanvasLayer::set_follow_viewport_scale); + ClassDB::bind_method(D_METHOD("get_follow_viewport_scale"), &CanvasLayer::get_follow_viewport_scale); + ClassDB::bind_method(D_METHOD("set_custom_viewport", "viewport"), &CanvasLayer::set_custom_viewport); ClassDB::bind_method(D_METHOD("get_custom_viewport"), &CanvasLayer::get_custom_viewport); ClassDB::bind_method(D_METHOD("get_canvas"), &CanvasLayer::get_canvas); + ADD_GROUP("Layer", ""); ADD_PROPERTY(PropertyInfo(Variant::INT, "layer", PROPERTY_HINT_RANGE, "-128,128,1"), "set_layer", "get_layer"); + ADD_GROUP("Transform", ""); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "offset"), "set_offset", "get_offset"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "rotation_degrees", PROPERTY_HINT_RANGE, "-1080,1080,0.1,or_lesser,or_greater", PROPERTY_USAGE_EDITOR), "set_rotation_degrees", "get_rotation_degrees"); ADD_PROPERTY(PropertyInfo(Variant::REAL, "rotation", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_rotation", "get_rotation"); ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "scale"), "set_scale", "get_scale"); ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform"), "set_transform", "get_transform"); + ADD_GROUP("", ""); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "custom_viewport", PROPERTY_HINT_RESOURCE_TYPE, "Viewport", 0), "set_custom_viewport", "get_custom_viewport"); + ADD_GROUP("Follow Viewport", "follow_viewport"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "follow_viewport_enable"), "set_follow_viewport", "is_following_viewport"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "follow_viewport_scale", PROPERTY_HINT_RANGE, "0.001,1000,0.001,or_greater,or_lesser"), "set_follow_viewport_scale", "get_follow_viewport_scale"); } CanvasLayer::CanvasLayer() { @@ -280,6 +329,8 @@ CanvasLayer::CanvasLayer() { custom_viewport = NULL; custom_viewport_id = 0; sort_index = 0; + follow_viewport = false; + follow_viewport_scale = 1.0; } CanvasLayer::~CanvasLayer() { diff --git a/scene/main/canvas_layer.h b/scene/main/canvas_layer.h index 5d67245102..fa2558556c 100644 --- a/scene/main/canvas_layer.h +++ b/scene/main/canvas_layer.h @@ -55,8 +55,12 @@ class CanvasLayer : public Node { int sort_index; + bool follow_viewport; + float follow_viewport_scale; + void _update_xform(); void _update_locrotscale(); + void _update_follow_viewport(bool p_force_exit = false); protected: void _notification(int p_what); @@ -91,6 +95,12 @@ public: void reset_sort_index(); int get_sort_index(); + void set_follow_viewport(bool p_enable); + bool is_following_viewport() const; + + void set_follow_viewport_scale(float p_ratio); + float get_follow_viewport_scale() const; + RID get_canvas() const; CanvasLayer(); diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 04d7107fa4..128168ca72 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -1313,6 +1313,10 @@ Node *Node::_get_child_by_name(const StringName &p_name) const { Node *Node::get_node_or_null(const NodePath &p_path) const { + if (p_path.is_empty()) { + return NULL; + } + if (!data.inside_tree && p_path.is_absolute()) { ERR_EXPLAIN("Can't use get_node() with absolute paths from outside the active scene tree."); ERR_FAIL_V(NULL); @@ -2830,10 +2834,22 @@ void Node::_bind_methods() { BIND_CONSTANT(NOTIFICATION_DRAG_BEGIN); BIND_CONSTANT(NOTIFICATION_DRAG_END); BIND_CONSTANT(NOTIFICATION_PATH_CHANGED); - BIND_CONSTANT(NOTIFICATION_TRANSLATION_CHANGED); BIND_CONSTANT(NOTIFICATION_INTERNAL_PROCESS); BIND_CONSTANT(NOTIFICATION_INTERNAL_PHYSICS_PROCESS); + BIND_CONSTANT(NOTIFICATION_WM_MOUSE_ENTER); + BIND_CONSTANT(NOTIFICATION_WM_MOUSE_EXIT); + BIND_CONSTANT(NOTIFICATION_WM_FOCUS_IN); + BIND_CONSTANT(NOTIFICATION_WM_FOCUS_OUT); + BIND_CONSTANT(NOTIFICATION_WM_QUIT_REQUEST); + BIND_CONSTANT(NOTIFICATION_WM_GO_BACK_REQUEST); + BIND_CONSTANT(NOTIFICATION_WM_UNFOCUS_REQUEST); + BIND_CONSTANT(NOTIFICATION_OS_MEMORY_WARNING); + BIND_CONSTANT(NOTIFICATION_TRANSLATION_CHANGED); + BIND_CONSTANT(NOTIFICATION_WM_ABOUT); + BIND_CONSTANT(NOTIFICATION_CRASH); + BIND_CONSTANT(NOTIFICATION_OS_IME_UPDATE); + BIND_ENUM_CONSTANT(PAUSE_MODE_INHERIT); BIND_ENUM_CONSTANT(PAUSE_MODE_STOP); BIND_ENUM_CONSTANT(PAUSE_MODE_PROCESS); diff --git a/scene/main/node.h b/scene/main/node.h index e6189389cb..b490db37c5 100644 --- a/scene/main/node.h +++ b/scene/main/node.h @@ -216,6 +216,7 @@ protected: public: enum { + // you can make your own, but don't use the same numbers as other notifications in other nodes NOTIFICATION_ENTER_TREE = 10, NOTIFICATION_EXIT_TREE = 11, @@ -231,10 +232,23 @@ public: NOTIFICATION_DRAG_BEGIN = 21, NOTIFICATION_DRAG_END = 22, NOTIFICATION_PATH_CHANGED = 23, - NOTIFICATION_TRANSLATION_CHANGED = 24, + //NOTIFICATION_TRANSLATION_CHANGED = 24, moved below NOTIFICATION_INTERNAL_PROCESS = 25, NOTIFICATION_INTERNAL_PHYSICS_PROCESS = 26, NOTIFICATION_POST_ENTER_TREE = 27, + //keep these linked to node + NOTIFICATION_WM_MOUSE_ENTER = MainLoop::NOTIFICATION_WM_MOUSE_ENTER, + NOTIFICATION_WM_MOUSE_EXIT = MainLoop::NOTIFICATION_WM_MOUSE_EXIT, + NOTIFICATION_WM_FOCUS_IN = MainLoop::NOTIFICATION_WM_FOCUS_IN, + NOTIFICATION_WM_FOCUS_OUT = MainLoop::NOTIFICATION_WM_FOCUS_OUT, + NOTIFICATION_WM_QUIT_REQUEST = MainLoop::NOTIFICATION_WM_QUIT_REQUEST, + NOTIFICATION_WM_GO_BACK_REQUEST = MainLoop::NOTIFICATION_WM_GO_BACK_REQUEST, + NOTIFICATION_WM_UNFOCUS_REQUEST = MainLoop::NOTIFICATION_WM_UNFOCUS_REQUEST, + NOTIFICATION_OS_MEMORY_WARNING = MainLoop::NOTIFICATION_OS_MEMORY_WARNING, + NOTIFICATION_TRANSLATION_CHANGED = MainLoop::NOTIFICATION_TRANSLATION_CHANGED, + NOTIFICATION_WM_ABOUT = MainLoop::NOTIFICATION_WM_ABOUT, + NOTIFICATION_CRASH = MainLoop::NOTIFICATION_CRASH, + NOTIFICATION_OS_IME_UPDATE = MainLoop::NOTIFICATION_OS_IME_UPDATE }; diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index 689f18a09d..81c38cec89 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -658,13 +658,15 @@ void SceneTree::_notification(int p_notification) { } break; case NOTIFICATION_TRANSLATION_CHANGED: { if (!Engine::get_singleton()->is_editor_hint()) { - get_root()->propagate_notification(Node::NOTIFICATION_TRANSLATION_CHANGED); + get_root()->propagate_notification(p_notification); } } break; case NOTIFICATION_WM_UNFOCUS_REQUEST: { notify_group_flags(GROUP_CALL_REALTIME | GROUP_CALL_MULTILEVEL, "input", NOTIFICATION_WM_UNFOCUS_REQUEST); + get_root()->propagate_notification(p_notification); + } break; case NOTIFICATION_WM_ABOUT: { diff --git a/scene/main/scene_tree.h b/scene/main/scene_tree.h index e15a64604d..e098b3d53c 100644 --- a/scene/main/scene_tree.h +++ b/scene/main/scene_tree.h @@ -287,7 +287,7 @@ protected: public: enum { - NOTIFICATION_TRANSFORM_CHANGED = 29 + NOTIFICATION_TRANSFORM_CHANGED = 2000 }; enum GroupCallFlags { diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 4f1330ee36..2524af9cfb 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -232,16 +232,16 @@ void Viewport::update_worlds() { find_world()->_update(get_tree()->get_frame()); } -void Viewport::_collision_object_input_event(CollisionObject *p_object, Camera *p_camera, const Ref<InputEvent> &p_input_event, const Vector3 &p_pos, const Vector3 &p_normal, int p_shape, bool p_discard_empty_motion) { +void Viewport::_collision_object_input_event(CollisionObject *p_object, Camera *p_camera, const Ref<InputEvent> &p_input_event, const Vector3 &p_pos, const Vector3 &p_normal, int p_shape) { Transform object_transform = p_object->get_global_transform(); Transform camera_transform = p_camera->get_global_transform(); ObjectID id = p_object->get_instance_id(); - if (p_discard_empty_motion) { - //avoid sending the event unnecessarily if nothing really changed in the context + //avoid sending the fake event unnecessarily if nothing really changed in the context + if (object_transform == physics_last_object_transform && camera_transform == physics_last_camera_transform && physics_last_id == id) { Ref<InputEventMouseMotion> mm = p_input_event; - if (mm.is_valid() && object_transform == physics_last_object_transform && camera_transform == physics_last_camera_transform && physics_last_id == id) { + if (mm.is_valid() && mm->get_device() == InputEvent::DEVICE_ID_INTERNAL) { return; //discarded } } @@ -397,8 +397,6 @@ void Viewport::_notification(int p_what) { PhysicsDirectSpaceState::RayResult result; Physics2DDirectSpaceState *ss2d = Physics2DServer::get_singleton()->space_get_direct_state(find_world_2d()->get_space()); - bool discard_empty_motion = false; - if (physics_has_last_mousepos) { // if no mouse event exists, create a motion one. This is necessary because objects or camera may have moved. // while this extra event is sent, it is checked if both camera and last object and last ID did not move. If nothing changed, the event is discarded to avoid flooding with unnecessary motion events every frame @@ -414,6 +412,7 @@ void Viewport::_notification(int p_what) { if (!has_mouse_event) { Ref<InputEventMouseMotion> mm; mm.instance(); + mm->set_device(InputEvent::DEVICE_ID_INTERNAL); mm->set_global_position(physics_last_mousepos); mm->set_position(physics_last_mousepos); mm->set_alt(physics_last_mouse_state.alt); @@ -422,7 +421,6 @@ void Viewport::_notification(int p_what) { mm->set_metakey(physics_last_mouse_state.meta); mm->set_button_mask(physics_last_mouse_state.mouse_mask); physics_picking_events.push_back(mm); - discard_empty_motion = true; } } @@ -470,7 +468,7 @@ void Viewport::_notification(int p_what) { physics_last_mouse_state.mouse_mask &= ~(1 << (mb->get_button_index() - 1)); // If touch mouse raised, assume we don't know last mouse pos until new events come - if (mb->get_device() == -1) { + if (mb->get_device() == InputEvent::DEVICE_ID_TOUCH_MOUSE) { physics_has_last_mousepos = false; } } @@ -525,18 +523,25 @@ void Viewport::_notification(int p_what) { if (res[i].collider_id && res[i].collider) { CollisionObject2D *co = Object::cast_to<CollisionObject2D>(res[i].collider); if (co) { - + bool send_event = true; if (is_mouse) { Map<ObjectID, uint64_t>::Element *F = physics_2d_mouseover.find(res[i].collider_id); + if (!F) { F = physics_2d_mouseover.insert(res[i].collider_id, frame); co->_mouse_enter(); } else { F->get() = frame; + // It was already hovered, so don't send the event if it's faked + if (mm.is_valid() && mm->get_device() == InputEvent::DEVICE_ID_INTERNAL) { + send_event = false; + } } } - co->_input_event(this, ev, res[i].shape); + if (send_event) { + co->_input_event(this, ev, res[i].shape); + } } } } @@ -573,7 +578,7 @@ void Viewport::_notification(int p_what) { CollisionObject *co = Object::cast_to<CollisionObject>(ObjectDB::get_instance(physics_object_capture)); if (co) { - _collision_object_input_event(co, camera, ev, Vector3(), Vector3(), 0, discard_empty_motion); + _collision_object_input_event(co, camera, ev, Vector3(), Vector3(), 0); captured = true; if (mb.is_valid() && mb->get_button_index() == 1 && !mb->is_pressed()) { physics_object_capture = 0; @@ -591,7 +596,7 @@ void Viewport::_notification(int p_what) { if (last_id) { if (ObjectDB::get_instance(last_id) && last_object) { //good, exists - _collision_object_input_event(last_object, camera, ev, result.position, result.normal, result.shape, discard_empty_motion); + _collision_object_input_event(last_object, camera, ev, result.position, result.normal, result.shape); if (last_object->get_capture_input_on_drag() && mb.is_valid() && mb->get_button_index() == 1 && mb->is_pressed()) { physics_object_capture = last_id; } @@ -614,7 +619,7 @@ void Viewport::_notification(int p_what) { CollisionObject *co = Object::cast_to<CollisionObject>(result.collider); if (co) { - _collision_object_input_event(co, camera, ev, result.position, result.normal, result.shape, discard_empty_motion); + _collision_object_input_event(co, camera, ev, result.position, result.normal, result.shape); last_object = co; last_id = result.collider_id; new_collider = last_id; @@ -654,7 +659,11 @@ void Viewport::_notification(int p_what) { } } break; + case SceneTree::NOTIFICATION_WM_MOUSE_EXIT: case SceneTree::NOTIFICATION_WM_FOCUS_OUT: { + + _drop_physics_mouseover(); + if (gui.mouse_focus) { //if mouse is being pressed, send a release event _drop_mouse_focus(); @@ -1471,7 +1480,8 @@ void Viewport::_gui_show_tooltip() { gui.tooltip_popup->set_as_toplevel(true); //gui.tooltip_popup->hide(); - Rect2 r(gui.tooltip_pos + Point2(10, 10), gui.tooltip_popup->get_minimum_size()); + Point2 tooltip_offset = ProjectSettings::get_singleton()->get("display/mouse_cursor/tooltip_position_offset"); + Rect2 r(gui.tooltip_pos + tooltip_offset, gui.tooltip_popup->get_minimum_size()); Rect2 vr = gui.tooltip_popup->get_viewport_rect(); if (r.size.x + r.position.x > vr.size.x) r.position.x = vr.size.x - r.size.x; @@ -2290,32 +2300,32 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { if (from && p_event->is_pressed()) { Control *next = NULL; - if (p_event->is_action("ui_focus_next")) { + if (p_event->is_action_pressed("ui_focus_next")) { next = from->find_next_valid_focus(); } - if (p_event->is_action("ui_focus_prev")) { + if (p_event->is_action_pressed("ui_focus_prev")) { next = from->find_prev_valid_focus(); } - if (!mods && p_event->is_action("ui_up")) { + if (!mods && p_event->is_action_pressed("ui_up")) { next = from->_get_focus_neighbour(MARGIN_TOP); } - if (!mods && p_event->is_action("ui_left")) { + if (!mods && p_event->is_action_pressed("ui_left")) { next = from->_get_focus_neighbour(MARGIN_LEFT); } - if (!mods && p_event->is_action("ui_right")) { + if (!mods && p_event->is_action_pressed("ui_right")) { next = from->_get_focus_neighbour(MARGIN_RIGHT); } - if (!mods && p_event->is_action("ui_down")) { + if (!mods && p_event->is_action_pressed("ui_down")) { next = from->_get_focus_neighbour(MARGIN_BOTTOM); } @@ -2555,6 +2565,31 @@ void Viewport::_drop_mouse_focus() { } } +void Viewport::_drop_physics_mouseover() { + + physics_has_last_mousepos = false; + + while (physics_2d_mouseover.size()) { + Object *o = ObjectDB::get_instance(physics_2d_mouseover.front()->key()); + if (o) { + CollisionObject2D *co = Object::cast_to<CollisionObject2D>(o); + co->_mouse_exit(); + } + physics_2d_mouseover.erase(physics_2d_mouseover.front()); + } + +#ifndef _3D_DISABLED + if (physics_object_over) { + CollisionObject *co = Object::cast_to<CollisionObject>(ObjectDB::get_instance(physics_object_over)); + if (co) { + co->_mouse_exit(); + } + } + + physics_object_over = physics_object_capture = 0; +#endif +} + List<Control *>::Element *Viewport::_gui_show_modal(Control *p_control) { gui.modal_stack.push_back(p_control); diff --git a/scene/main/viewport.h b/scene/main/viewport.h index 28a52ac4b6..d67b4ac348 100644 --- a/scene/main/viewport.h +++ b/scene/main/viewport.h @@ -221,7 +221,7 @@ private: } physics_last_mouse_state; - void _collision_object_input_event(CollisionObject *p_object, Camera *p_camera, const Ref<InputEvent> &p_input_event, const Vector3 &p_pos, const Vector3 &p_normal, int p_shape, bool p_discard_empty_motion); + void _collision_object_input_event(CollisionObject *p_object, Camera *p_camera, const Ref<InputEvent> &p_input_event, const Vector3 &p_pos, const Vector3 &p_normal, int p_shape); bool handle_input_locally; bool local_input_handled; @@ -383,6 +383,7 @@ private: void _canvas_layer_remove(CanvasLayer *p_canvas_layer); void _drop_mouse_focus(); + void _drop_physics_mouseover(); void _update_canvas_items(Node *p_node); diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index 3eb16c544c..f73914b186 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -2638,6 +2638,7 @@ void Animation::copy_track(int p_track, Ref<Animation> p_to_animation) { p_to_animation->track_set_enabled(dst_track, track_is_enabled(p_track)); p_to_animation->track_set_interpolation_type(dst_track, track_get_interpolation_type(p_track)); p_to_animation->track_set_interpolation_loop_wrap(dst_track, track_get_interpolation_loop_wrap(p_track)); + p_to_animation->value_track_set_update_mode(dst_track, value_track_get_update_mode(p_track)); for (int i = 0; i < track_get_key_count(p_track); i++) { p_to_animation->track_insert_key(dst_track, track_get_key_time(p_track, i), track_get_key_value(p_track, i), track_get_key_transition(p_track, i)); } diff --git a/scene/resources/audio_stream_sample.cpp b/scene/resources/audio_stream_sample.cpp index a89cf108bc..4b3e392013 100644 --- a/scene/resources/audio_stream_sample.cpp +++ b/scene/resources/audio_stream_sample.cpp @@ -515,10 +515,10 @@ PoolVector<uint8_t> AudioStreamSample::get_data() const { return pv; } -void AudioStreamSample::save_to_wav(String p_path) { +Error AudioStreamSample::save_to_wav(const String &p_path) { if (format == AudioStreamSample::FORMAT_IMA_ADPCM) { WARN_PRINTS("Saving IMA_ADPC samples are not supported yet"); - return; + return ERR_UNAVAILABLE; } int sub_chunk_2_size = data_bytes; //Subchunk2Size = Size of data in bytes @@ -544,8 +544,9 @@ void AudioStreamSample::save_to_wav(String p_path) { file_path += ".wav"; } - Error err; - FileAccess *file = FileAccess::open(file_path, FileAccess::WRITE, &err); //Overrides existing file if present + FileAccessRef file = FileAccess::open(file_path, FileAccess::WRITE); //Overrides existing file if present + + ERR_FAIL_COND_V(!file, ERR_FILE_CANT_WRITE); // Create WAV Header file->store_string("RIFF"); //ChunkID @@ -583,6 +584,8 @@ void AudioStreamSample::save_to_wav(String p_path) { } file->close(); + + return OK; } Ref<AudioStreamPlayback> AudioStreamSample::instance_playback() { diff --git a/scene/resources/audio_stream_sample.h b/scene/resources/audio_stream_sample.h index bd701ddd12..d4c5511f34 100644 --- a/scene/resources/audio_stream_sample.h +++ b/scene/resources/audio_stream_sample.h @@ -141,7 +141,7 @@ public: void set_data(const PoolVector<uint8_t> &p_data); PoolVector<uint8_t> get_data() const; - void save_to_wav(String p_path); + Error save_to_wav(const String &p_path); virtual Ref<AudioStreamPlayback> instance_playback(); virtual String get_stream_name() const; diff --git a/scene/resources/bit_map.cpp b/scene/resources/bit_map.cpp index d2e4d28b44..55264bcdf9 100644 --- a/scene/resources/bit_map.cpp +++ b/scene/resources/bit_map.cpp @@ -96,7 +96,7 @@ int BitMap::get_true_bit_count() const { const uint8_t *d = bitmask.ptr(); int c = 0; - //fast, almot branchless version + //fast, almost branchless version for (int i = 0; i < ds; i++) { @@ -106,6 +106,7 @@ int BitMap::get_true_bit_count() const { c += (d[i] & (1 << 4)) >> 4; c += (d[i] & (1 << 3)) >> 3; c += (d[i] & (1 << 2)) >> 2; + c += (d[i] & (1 << 1)) >> 1; c += d[i] & 1; } diff --git a/scene/resources/mesh_library.cpp b/scene/resources/mesh_library.cpp index c5125d576d..d40a5dee2e 100644 --- a/scene/resources/mesh_library.cpp +++ b/scene/resources/mesh_library.cpp @@ -56,6 +56,8 @@ bool MeshLibrary::_set(const StringName &p_name, const Variant &p_value) { set_item_preview(idx, p_value); else if (what == "navmesh") set_item_navmesh(idx, p_value); + else if (what == "navmesh_transform") + set_item_navmesh_transform(idx, p_value); else return false; @@ -80,6 +82,8 @@ bool MeshLibrary::_get(const StringName &p_name, Variant &r_ret) const { r_ret = _get_item_shapes(idx); else if (what == "navmesh") r_ret = get_item_navmesh(idx); + else if (what == "navmesh_transform") + r_ret = get_item_navmesh_transform(idx); else if (what == "preview") r_ret = get_item_preview(idx); else @@ -95,8 +99,10 @@ void MeshLibrary::_get_property_list(List<PropertyInfo> *p_list) const { String name = "item/" + itos(E->key()) + "/"; p_list->push_back(PropertyInfo(Variant::STRING, name + "name")); p_list->push_back(PropertyInfo(Variant::OBJECT, name + "mesh", PROPERTY_HINT_RESOURCE_TYPE, "Mesh")); + p_list->push_back(PropertyInfo(Variant::TRANSFORM, name + "mesh_transform")); p_list->push_back(PropertyInfo(Variant::ARRAY, name + "shapes")); p_list->push_back(PropertyInfo(Variant::OBJECT, name + "navmesh", PROPERTY_HINT_RESOURCE_TYPE, "NavigationMesh")); + p_list->push_back(PropertyInfo(Variant::TRANSFORM, name + "navmesh_transform")); p_list->push_back(PropertyInfo(Variant::OBJECT, name + "preview", PROPERTY_HINT_RESOURCE_TYPE, "Texture", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_HELPER)); } } @@ -116,6 +122,7 @@ void MeshLibrary::set_item_name(int p_item, const String &p_name) { emit_changed(); _change_notify(); } + void MeshLibrary::set_item_mesh(int p_item, const Ref<Mesh> &p_mesh) { ERR_FAIL_COND(!item_map.has(p_item)); @@ -145,6 +152,15 @@ void MeshLibrary::set_item_navmesh(int p_item, const Ref<NavigationMesh> &p_navm _change_notify(); } +void MeshLibrary::set_item_navmesh_transform(int p_item, const Transform &p_transform) { + + ERR_FAIL_COND(!item_map.has(p_item)); + item_map[p_item].navmesh_transform = p_transform; + notify_change_to_owners(); + emit_changed(); + _change_notify(); +} + void MeshLibrary::set_item_preview(int p_item, const Ref<Texture> &p_preview) { ERR_FAIL_COND(!item_map.has(p_item)); @@ -152,11 +168,13 @@ void MeshLibrary::set_item_preview(int p_item, const Ref<Texture> &p_preview) { emit_changed(); _change_notify(); } + String MeshLibrary::get_item_name(int p_item) const { ERR_FAIL_COND_V(!item_map.has(p_item), ""); return item_map[p_item].name; } + Ref<Mesh> MeshLibrary::get_item_mesh(int p_item) const { ERR_FAIL_COND_V(!item_map.has(p_item), Ref<Mesh>()); @@ -175,6 +193,12 @@ Ref<NavigationMesh> MeshLibrary::get_item_navmesh(int p_item) const { return item_map[p_item].navmesh; } +Transform MeshLibrary::get_item_navmesh_transform(int p_item) const { + + ERR_FAIL_COND_V(!item_map.has(p_item), Transform()); + return item_map[p_item].navmesh_transform; +} + Ref<Texture> MeshLibrary::get_item_preview(int p_item) const { ERR_FAIL_COND_V(!item_map.has(p_item), Ref<Texture>()); @@ -268,11 +292,13 @@ void MeshLibrary::_bind_methods() { ClassDB::bind_method(D_METHOD("set_item_name", "id", "name"), &MeshLibrary::set_item_name); ClassDB::bind_method(D_METHOD("set_item_mesh", "id", "mesh"), &MeshLibrary::set_item_mesh); ClassDB::bind_method(D_METHOD("set_item_navmesh", "id", "navmesh"), &MeshLibrary::set_item_navmesh); + ClassDB::bind_method(D_METHOD("set_item_navmesh_transform", "id", "navmesh"), &MeshLibrary::set_item_navmesh_transform); ClassDB::bind_method(D_METHOD("set_item_shapes", "id", "shapes"), &MeshLibrary::_set_item_shapes); ClassDB::bind_method(D_METHOD("set_item_preview", "id", "texture"), &MeshLibrary::set_item_preview); ClassDB::bind_method(D_METHOD("get_item_name", "id"), &MeshLibrary::get_item_name); ClassDB::bind_method(D_METHOD("get_item_mesh", "id"), &MeshLibrary::get_item_mesh); ClassDB::bind_method(D_METHOD("get_item_navmesh", "id"), &MeshLibrary::get_item_navmesh); + ClassDB::bind_method(D_METHOD("get_item_navmesh_transform", "id"), &MeshLibrary::get_item_navmesh_transform); ClassDB::bind_method(D_METHOD("get_item_shapes", "id"), &MeshLibrary::_get_item_shapes); ClassDB::bind_method(D_METHOD("get_item_preview", "id"), &MeshLibrary::get_item_preview); ClassDB::bind_method(D_METHOD("remove_item", "id"), &MeshLibrary::remove_item); diff --git a/scene/resources/mesh_library.h b/scene/resources/mesh_library.h index 849a0577eb..4ae4fc6483 100644 --- a/scene/resources/mesh_library.h +++ b/scene/resources/mesh_library.h @@ -52,6 +52,7 @@ public: Ref<Mesh> mesh; Vector<ShapeData> shapes; Ref<Texture> preview; + Transform navmesh_transform; Ref<NavigationMesh> navmesh; }; @@ -72,11 +73,13 @@ public: void set_item_name(int p_item, const String &p_name); void set_item_mesh(int p_item, const Ref<Mesh> &p_mesh); void set_item_navmesh(int p_item, const Ref<NavigationMesh> &p_navmesh); + void set_item_navmesh_transform(int p_item, const Transform &p_transform); void set_item_shapes(int p_item, const Vector<ShapeData> &p_shapes); void set_item_preview(int p_item, const Ref<Texture> &p_preview); String get_item_name(int p_item) const; Ref<Mesh> get_item_mesh(int p_item) const; Ref<NavigationMesh> get_item_navmesh(int p_item) const; + Transform get_item_navmesh_transform(int p_item) const; Vector<ShapeData> get_item_shapes(int p_item) const; Ref<Texture> get_item_preview(int p_item) const; diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp index 210fbe9f20..b6efca9acc 100644 --- a/scene/resources/resource_format_text.cpp +++ b/scene/resources/resource_format_text.cpp @@ -1645,7 +1645,8 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path, const RES &p_r } } - f->store_string("\n"); + if (E->next()) + f->store_line(String()); } if (packed_scene.is_valid()) { @@ -1714,7 +1715,8 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path, const RES &p_r f->store_string(_valprop(String(state->get_node_property_name(i, j))) + " = " + vars + "\n"); } - f->store_line(String()); + if (i < state->get_node_count() - 1) + f->store_line(String()); } for (int i = 0; i < state->get_connection_count(); i++) { diff --git a/servers/physics_2d/joints_2d_sw.cpp b/servers/physics_2d/joints_2d_sw.cpp index 5c2242c4c5..954b0fa3ea 100644 --- a/servers/physics_2d/joints_2d_sw.cpp +++ b/servers/physics_2d/joints_2d_sw.cpp @@ -299,9 +299,7 @@ bool GrooveJoint2DSW::setup(real_t p_step) { Vector2 delta = (B->get_transform().get_origin() + rB) - (A->get_transform().get_origin() + rA); - // FIXME: We used to do this assignment and then override it with 0.001 right after. Investigate why. - //real_t _b = get_bias(); - real_t _b = 0.001; + real_t _b = get_bias(); gbias = (delta * -(_b == 0 ? space->get_constraint_bias() : _b) * (1.0 / p_step)).clamped(get_max_bias()); // apply accumulated impulse diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index 85dcaa6b03..af6e3db149 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -319,6 +319,19 @@ void VisualServerCanvas::canvas_set_modulate(RID p_canvas, const Color &p_color) canvas->modulate = p_color; } +void VisualServerCanvas::canvas_set_disable_scale(bool p_disable) { + disable_scale = p_disable; +} + +void VisualServerCanvas::canvas_set_parent(RID p_canvas, RID p_parent, float p_scale) { + + Canvas *canvas = canvas_owner.get(p_canvas); + ERR_FAIL_COND(!canvas); + + canvas->parent = p_parent; + canvas->parent_scale = p_scale; +} + RID VisualServerCanvas::canvas_item_create() { Item *canvas_item = memnew(Item); @@ -1434,4 +1447,5 @@ bool VisualServerCanvas::free(RID p_rid) { } VisualServerCanvas::VisualServerCanvas() { + disable_scale = false; } diff --git a/servers/visual/visual_server_canvas.h b/servers/visual/visual_server_canvas.h index 7d788cbe14..8162085ced 100644 --- a/servers/visual/visual_server_canvas.h +++ b/servers/visual/visual_server_canvas.h @@ -126,6 +126,8 @@ public: bool children_order_dirty; Vector<ChildItem> child_items; Color modulate; + RID parent; + float parent_scale; int find_item(Item *p_item) { for (int i = 0; i < child_items.size(); i++) { @@ -143,13 +145,16 @@ public: Canvas() { modulate = Color(1, 1, 1, 1); children_order_dirty = true; + parent_scale = 1.0; } }; - RID_Owner<Canvas> canvas_owner; + mutable RID_Owner<Canvas> canvas_owner; RID_Owner<Item> canvas_item_owner; RID_Owner<RasterizerCanvas::Light> canvas_light_owner; + bool disable_scale; + private: void _render_canvas_item_tree(Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, RasterizerCanvas::Light *p_lights); void _render_canvas_item(Item *p_canvas_item, const Transform2D &p_transform, const Rect2 &p_clip_rect, const Color &p_modulate, int p_z, RasterizerCanvas::Item **z_list, RasterizerCanvas::Item **z_last_list, Item *p_canvas_clip, Item *p_material_owner); @@ -161,6 +166,8 @@ public: RID canvas_create(); void canvas_set_item_mirroring(RID p_canvas, RID p_item, const Point2 &p_mirroring); void canvas_set_modulate(RID p_canvas, const Color &p_color); + void canvas_set_parent(RID p_canvas, RID p_parent, float p_scale); + void canvas_set_disable_scale(bool p_disable); RID canvas_item_create(); void canvas_item_set_parent(RID p_item, RID p_parent); diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index a1204c7573..8ce25ba906 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -569,6 +569,8 @@ public: BIND0R(RID, canvas_create) BIND3(canvas_set_item_mirroring, RID, RID, const Point2 &) BIND2(canvas_set_modulate, RID, const Color &) + BIND3(canvas_set_parent, RID, RID, float) + BIND1(canvas_set_disable_scale, bool) BIND0R(RID, canvas_item_create) BIND2(canvas_item_set_parent, RID, RID) diff --git a/servers/visual/visual_server_viewport.cpp b/servers/visual/visual_server_viewport.cpp index 2c6709662f..79fdefe5c1 100644 --- a/servers/visual/visual_server_viewport.cpp +++ b/servers/visual/visual_server_viewport.cpp @@ -35,6 +35,33 @@ #include "visual_server_globals.h" #include "visual_server_scene.h" +static Transform2D _canvas_get_transform(VisualServerViewport::Viewport *p_viewport, VisualServerCanvas::Canvas *p_canvas, VisualServerViewport::Viewport::CanvasData *p_canvas_data, const Vector2 &p_vp_size) { + + Transform2D xf = p_viewport->global_transform; + + float scale = 1.0; + if (p_viewport->canvas_map.has(p_canvas->parent)) { + xf = xf * p_viewport->canvas_map[p_canvas->parent].transform; + scale = p_canvas->parent_scale; + } + + xf = xf * p_canvas_data->transform; + + if (scale != 1.0 && !VSG::canvas->disable_scale) { + Vector2 pivot = p_vp_size * 0.5; + Transform2D xfpivot; + xfpivot.set_origin(pivot); + Transform2D xfscale; + xfscale.scale(Vector2(scale, scale)); + + xf = xfpivot.affine_inverse() * xf; + xf = xfscale * xf; + xf = xfpivot * xf; + } + + return xf; +} + void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::Eyes p_eye) { /* Camera should always be BEFORE any other 3D */ @@ -86,10 +113,10 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E for (Map<RID, Viewport::CanvasData>::Element *E = p_viewport->canvas_map.front(); E; E = E->next()) { - Transform2D xf = p_viewport->global_transform * E->get().transform; - VisualServerCanvas::Canvas *canvas = static_cast<VisualServerCanvas::Canvas *>(E->get().canvas); + Transform2D xf = _canvas_get_transform(p_viewport, canvas, &E->get(), clip_rect.size); + //find lights in canvas for (Set<RasterizerCanvas::Light *>::Element *F = canvas->lights.front(); F; F = F->next()) { @@ -193,7 +220,7 @@ void VisualServerViewport::_draw_viewport(Viewport *p_viewport, ARVRInterface::E VisualServerCanvas::Canvas *canvas = static_cast<VisualServerCanvas::Canvas *>(E->get()->canvas); - Transform2D xform = p_viewport->global_transform * E->get()->transform; + Transform2D xform = _canvas_get_transform(p_viewport, canvas, E->get(), clip_rect.size); RasterizerCanvas::Light *canvas_lights = NULL; diff --git a/servers/visual/visual_server_wrap_mt.h b/servers/visual/visual_server_wrap_mt.h index c6da6799a5..efe251e9de 100644 --- a/servers/visual/visual_server_wrap_mt.h +++ b/servers/visual/visual_server_wrap_mt.h @@ -487,6 +487,8 @@ public: FUNCRID(canvas) FUNC3(canvas_set_item_mirroring, RID, RID, const Point2 &) FUNC2(canvas_set_modulate, RID, const Color &) + FUNC3(canvas_set_parent, RID, RID, float) + FUNC1(canvas_set_disable_scale, bool) FUNCRID(canvas_item) FUNC2(canvas_item_set_parent, RID, RID) diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 3dbe516f74..19c6106502 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -776,7 +776,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ continue; //break; ERR_FAIL_INDEX_V(idx, total_bones, ERR_INVALID_DATA); - if (bptr->size.x < 0) { + if (bptr[idx].size.x < 0) { //first bptr[idx] = AABB(v, SMALL_VEC3); any_valid = true; diff --git a/servers/visual_server.h b/servers/visual_server.h index 63ddc3328a..596b893b69 100644 --- a/servers/visual_server.h +++ b/servers/visual_server.h @@ -860,6 +860,9 @@ public: virtual RID canvas_create() = 0; virtual void canvas_set_item_mirroring(RID p_canvas, RID p_item, const Point2 &p_mirroring) = 0; virtual void canvas_set_modulate(RID p_canvas, const Color &p_color) = 0; + virtual void canvas_set_parent(RID p_canvas, RID p_parent, float p_scale) = 0; + + virtual void canvas_set_disable_scale(bool p_disable) = 0; virtual RID canvas_item_create() = 0; virtual void canvas_item_set_parent(RID p_item, RID p_parent) = 0; diff --git a/thirdparty/misc/pcg.cpp b/thirdparty/misc/pcg.cpp index eac3b36d36..c421e16f89 100644 --- a/thirdparty/misc/pcg.cpp +++ b/thirdparty/misc/pcg.cpp @@ -13,3 +13,13 @@ uint32_t pcg32_random_r(pcg32_random_t* rng) uint32_t rot = oldstate >> 59u; return (xorshifted >> rot) | (xorshifted << ((-rot) & 31)); } + +// Source from http://www.pcg-random.org/downloads/pcg-c-basic-0.9.zip +void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initstate, uint64_t initseq) +{ + rng->state = 0U; + rng->inc = (initseq << 1u) | 1u; + pcg32_random_r(rng); + rng->state += initstate; + pcg32_random_r(rng); +} diff --git a/thirdparty/misc/pcg.h b/thirdparty/misc/pcg.h index e2d66d51d5..6f42b3b094 100644 --- a/thirdparty/misc/pcg.h +++ b/thirdparty/misc/pcg.h @@ -10,5 +10,6 @@ typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t; uint32_t pcg32_random_r(pcg32_random_t* rng); +void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initstate, uint64_t initseq); #endif // RANDOM_H diff --git a/version.py b/version.py index dffefa4400..3d7def727d 100644 --- a/version.py +++ b/version.py @@ -1,7 +1,7 @@ short_name = "godot" name = "Godot Engine" major = 3 -minor = 1 -status = "rc" +minor = 2 +status = "dev" module_config = "" year = 2019 |