diff options
402 files changed, 39820 insertions, 13344 deletions
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 2a3c298633..ddddc3a1a9 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,4 +1,9 @@ -**Operating system or device, Godot version, GPU Model and driver (if graphics related):** +**Godot version:** +<!-- If thirdparty or self-compiled, specify the build date or commit hash. --> + + +**OS/device including version:** +<!-- If graphics related, specify also GPU model and drivers. --> **Issue description:** @@ -8,5 +13,8 @@ **Steps to reproduce:** -**Link to minimal example project:** -<!-- Optional but very welcome. You can drag and drop a zip archive to upload it. --> +**Minimal reproduction project:** +<!-- Optional but greatly speeds up debugging. You can drag and drop a zip archive to upload it. --> + + +- [ ] I searched the existing [GitHub issues](https://github.com/godotengine/godot/issues?utf8=%E2%9C%93&q=is%3Aissue+) for potential duplicates. diff --git a/SConstruct b/SConstruct index af1ffb544e..88b29695cb 100644 --- a/SConstruct +++ b/SConstruct @@ -168,7 +168,6 @@ opts.Add(BoolVariable('vsproj', "Generate Visual Studio Project.", False)) opts.Add(EnumVariable('warnings', "Set the level of warnings emitted during compilation", 'no', ('extra', 'all', 'moderate', 'no'))) opts.Add(BoolVariable('progress', "Show a progress indicator during build", True)) opts.Add(BoolVariable('dev', "If yes, alias for verbose=yes warnings=all", False)) -opts.Add(BoolVariable('openmp', "If yes, enable OpenMP", True)) opts.Add(EnumVariable('macports_clang', "Build using clang from MacPorts", 'no', ('no', '5.0', 'devel'))) # Thirdparty libraries @@ -188,6 +187,7 @@ opts.Add(BoolVariable('builtin_squish', "Use the builtin squish library", True)) opts.Add(BoolVariable('builtin_thekla_atlas', "Use the builtin thekla_altas library", True)) opts.Add(BoolVariable('builtin_zlib', "Use the builtin zlib library", True)) opts.Add(BoolVariable('builtin_zstd', "Use the builtin zstd library", True)) +opts.Add(BoolVariable('no_editor_splash', "Don't use the custom splash screen for the editor", False)) # Environment setup opts.Add("CXX", "C++ compiler") @@ -239,6 +239,9 @@ if (env_base['target'] == 'debug'): env_base.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC']) env_base.Append(CPPFLAGS=['-DSCI_NAMESPACE']) +if (env_base['no_editor_splash']): + env_base.Append(CPPFLAGS=['-DNO_EDITOR_SPLASH']) + if not env_base['deprecated']: env_base.Append(CPPFLAGS=['-DDISABLE_DEPRECATED']) @@ -407,9 +410,7 @@ if selected_platform in platform_list: methods.update_version(env.module_version_string) - suffix += env.module_version_string - - env["PROGSUFFIX"] = suffix + env["PROGSUFFIX"] + env["PROGSUFFIX"] = suffix + env.module_version_string + env["PROGSUFFIX"] env["OBJSUFFIX"] = suffix + env["OBJSUFFIX"] env["LIBSUFFIX"] = suffix + env["LIBSUFFIX"] env["SHLIBSUFFIX"] = suffix + env["SHLIBSUFFIX"] @@ -553,9 +554,9 @@ class cache_progress: # decay since the ctime, and return a list with the entries # (filename, size, weight). current_time = time.time() - file_stat = [(x[0], x[1][0], x[1][0] * math.exp(self.exponent_scale * (x[1][1] - current_time))) for x in file_stat] - # Sort by highest weight (most sensible to keep) first - file_stat.sort(key=lambda x: x[2], reverse=True) + file_stat = [(x[0], x[1][0], (current_time - x[1][1])) for x in file_stat] + # Sort by the most resently accessed files (most sensible to keep) first + file_stat.sort(key=lambda x: x[2]) # Search for the first entry where the storage limit is # reached sum, mark = 0, None diff --git a/core/class_db.cpp b/core/class_db.cpp index edd49fe95f..b18e3d2b65 100644 --- a/core/class_db.cpp +++ b/core/class_db.cpp @@ -348,10 +348,11 @@ uint64_t ClassDB::get_api_hash(APIType p_api) { hash = hash_djb2_one_64(mb->get_argument_type(-1), hash); //return for (int i = 0; i < mb->get_argument_count(); i++) { - hash = hash_djb2_one_64(mb->get_argument_info(i).type, hash); - hash = hash_djb2_one_64(mb->get_argument_info(i).name.hash(), hash); - hash = hash_djb2_one_64(mb->get_argument_info(i).hint, hash); - hash = hash_djb2_one_64(mb->get_argument_info(i).hint_string.hash(), hash); + const PropertyInfo info = mb->get_argument_info(i); + hash = hash_djb2_one_64(info.type, hash); + hash = hash_djb2_one_64(info.name.hash(), hash); + hash = hash_djb2_one_64(info.hint, hash); + hash = hash_djb2_one_64(info.hint_string.hash(), hash); } hash = hash_djb2_one_64(mb->get_default_argument_count(), hash); diff --git a/core/dictionary.cpp b/core/dictionary.cpp index 44fce2474f..66af6a1a9a 100644 --- a/core/dictionary.cpp +++ b/core/dictionary.cpp @@ -215,7 +215,7 @@ const Variant *Dictionary::next(const Variant *p_key) const { return NULL; } -Dictionary Dictionary::copy() const { +Dictionary Dictionary::duplicate() const { Dictionary n; diff --git a/core/dictionary.h b/core/dictionary.h index c8177d5648..1d8ca0023e 100644 --- a/core/dictionary.h +++ b/core/dictionary.h @@ -74,7 +74,7 @@ public: Array keys() const; Array values() const; - Dictionary copy() const; + Dictionary duplicate() const; Dictionary(const Dictionary &p_from); Dictionary(); diff --git a/core/global_constants.cpp b/core/global_constants.cpp index a8f6e4da6c..b390590cf2 100644 --- a/core/global_constants.cpp +++ b/core/global_constants.cpp @@ -98,6 +98,11 @@ void register_global_constants() { BIND_GLOBAL_ENUM_CONSTANT(MARGIN_RIGHT); BIND_GLOBAL_ENUM_CONSTANT(MARGIN_BOTTOM); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_TOP_LEFT); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_TOP_RIGHT); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_BOTTOM_RIGHT); + BIND_GLOBAL_ENUM_CONSTANT(CORNER_BOTTOM_LEFT); + BIND_GLOBAL_ENUM_CONSTANT(VERTICAL); BIND_GLOBAL_ENUM_CONSTANT(HORIZONTAL); @@ -573,6 +578,38 @@ void register_global_constants() { BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("TYPE_VECTOR3_ARRAY", Variant::POOL_VECTOR3_ARRAY); BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("TYPE_COLOR_ARRAY", Variant::POOL_COLOR_ARRAY); BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("TYPE_MAX", Variant::VARIANT_MAX); + + //comparation + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_EQUAL", Variant::OP_EQUAL); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_NOT_EQUAL", Variant::OP_NOT_EQUAL); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_LESS", Variant::OP_LESS); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_LESS_EQUAL", Variant::OP_LESS_EQUAL); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_GREATER", Variant::OP_GREATER); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_GREATER_EQUAL", Variant::OP_GREATER_EQUAL); + //mathematic + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_ADD", Variant::OP_ADD); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_SUBTRACT", Variant::OP_SUBTRACT); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_MULTIPLY", Variant::OP_MULTIPLY); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_DIVIDE", Variant::OP_DIVIDE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_NEGATE", Variant::OP_NEGATE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_POSITIVE", Variant::OP_POSITIVE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_MODULE", Variant::OP_MODULE); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_STRING_CONCAT", Variant::OP_STRING_CONCAT); + //bitwise + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_SHIFT_LEFT", Variant::OP_SHIFT_LEFT); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_SHIFT_RIGHT", Variant::OP_SHIFT_RIGHT); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_AND", Variant::OP_BIT_AND); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_OR", Variant::OP_BIT_OR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_XOR", Variant::OP_BIT_XOR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_BIT_NEGATE", Variant::OP_BIT_NEGATE); + //logic + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_AND", Variant::OP_AND); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_OR", Variant::OP_OR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_XOR", Variant::OP_XOR); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_NOT", Variant::OP_NOT); + //containment + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_IN", Variant::OP_IN); + BIND_GLOBAL_ENUM_CONSTANT_CUSTOM("OP_MAX", Variant::OP_MAX); } void unregister_global_constants() { diff --git a/core/hash_map.h b/core/hash_map.h index a53cb53c84..3ec3961d73 100644 --- a/core/hash_map.h +++ b/core/hash_map.h @@ -313,7 +313,7 @@ public: _FORCE_INLINE_ TData *getptr(const TKey &p_key) { - if (!hash_table) + if (unlikely(!hash_table)) return NULL; Element *e = const_cast<Element *>(get_element(p_key)); @@ -326,7 +326,7 @@ public: _FORCE_INLINE_ const TData *getptr(const TKey &p_key) const { - if (!hash_table) + if (unlikely(!hash_table)) return NULL; const Element *e = const_cast<Element *>(get_element(p_key)); @@ -345,7 +345,7 @@ public: template <class C> _FORCE_INLINE_ TData *custom_getptr(C p_custom_key, uint32_t p_custom_hash) { - if (!hash_table) + if (unlikely(!hash_table)) return NULL; uint32_t hash = p_custom_hash; @@ -371,7 +371,7 @@ public: template <class C> _FORCE_INLINE_ const TData *custom_getptr(C p_custom_key, uint32_t p_custom_hash) const { - if (!hash_table) + if (unlikely(!hash_table)) return NULL; uint32_t hash = p_custom_hash; @@ -400,7 +400,7 @@ public: bool erase(const TKey &p_key) { - if (!hash_table) + if (unlikely(!hash_table)) return false; uint32_t hash = Hasher::hash(p_key); @@ -478,7 +478,8 @@ public: */ const TKey *next(const TKey *p_key) const { - if (!hash_table) return NULL; + if (unlikely(!hash_table)) + return NULL; if (!p_key) { /* get the first key */ @@ -559,7 +560,7 @@ public: } void get_key_value_ptr_array(const Pair **p_pairs) const { - if (!hash_table) + if (unlikely(!hash_table)) return; for (int i = 0; i < (1 << hash_table_power); i++) { @@ -573,7 +574,7 @@ public: } void get_key_list(List<TKey> *p_keys) const { - if (!hash_table) + if (unlikely(!hash_table)) return; for (int i = 0; i < (1 << hash_table_power); i++) { diff --git a/core/image.cpp b/core/image.cpp index 422c0e407b..ba6848eecf 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -2287,6 +2287,9 @@ void Image::_bind_methods() { ClassDB::bind_method(D_METHOD("set_pixel", "x", "y", "color"), &Image::set_pixel); ClassDB::bind_method(D_METHOD("get_pixel", "x", "y"), &Image::get_pixel); + ClassDB::bind_method(D_METHOD("load_png_from_buffer", "buffer"), &Image::load_png_from_buffer); + ClassDB::bind_method(D_METHOD("load_jpg_from_buffer", "buffer"), &Image::load_jpg_from_buffer); + ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "_set_data", "_get_data"); BIND_ENUM_CONSTANT(FORMAT_L8); //luminance @@ -2505,6 +2508,40 @@ String Image::get_format_name(Format p_format) { return format_names[p_format]; } +Error Image::load_png_from_buffer(const PoolVector<uint8_t> &p_array) { + + int buffer_size = p_array.size(); + + ERR_FAIL_COND_V(buffer_size == 0, ERR_INVALID_PARAMETER); + ERR_FAIL_COND_V(!_png_mem_loader_func, ERR_INVALID_PARAMETER); + + PoolVector<uint8_t>::Read r = p_array.read(); + + Ref<Image> image = _png_mem_loader_func(r.ptr(), buffer_size); + ERR_FAIL_COND_V(!image.is_valid(), ERR_PARSE_ERROR); + + copy_internals_from(image); + + return OK; +} + +Error Image::load_jpg_from_buffer(const PoolVector<uint8_t> &p_array) { + + int buffer_size = p_array.size(); + + ERR_FAIL_COND_V(buffer_size == 0, ERR_INVALID_PARAMETER); + ERR_FAIL_COND_V(!_jpg_mem_loader_func, ERR_INVALID_PARAMETER); + + PoolVector<uint8_t>::Read r = p_array.read(); + + Ref<Image> image = _jpg_mem_loader_func(r.ptr(), buffer_size); + ERR_FAIL_COND_V(!image.is_valid(), ERR_PARSE_ERROR); + + copy_internals_from(image); + + return OK; +} + Image::Image(const uint8_t *p_mem_png_jpg, int p_len) { width = 0; diff --git a/core/image.h b/core/image.h index 24693aa706..cf7632a1f1 100644 --- a/core/image.h +++ b/core/image.h @@ -296,6 +296,9 @@ public: static void set_compress_bc_func(void (*p_compress_func)(Image *, CompressSource)); static String get_format_name(Format p_format); + Error load_png_from_buffer(const PoolVector<uint8_t> &p_array); + Error load_jpg_from_buffer(const PoolVector<uint8_t> &p_array); + Image(const uint8_t *p_mem_png_jpg, int p_len = -1); Image(const char **p_xpm); diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index 16c73c26e7..c6b12f73ae 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -49,7 +49,7 @@ bool PacketPeer::is_object_decoding_allowed() const { return allow_object_decoding; } -Error PacketPeer::get_packet_buffer(PoolVector<uint8_t> &r_buffer) const { +Error PacketPeer::get_packet_buffer(PoolVector<uint8_t> &r_buffer) { const uint8_t *buffer; int buffer_size; @@ -78,7 +78,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) const { +Error PacketPeer::get_var(Variant &r_variant) { const uint8_t *buffer; int buffer_size; @@ -107,7 +107,7 @@ Error PacketPeer::put_var(const Variant &p_packet) { return put_packet(buf, len); } -Variant PacketPeer::_bnd_get_var() const { +Variant PacketPeer::_bnd_get_var() { Variant var; get_var(var); @@ -117,7 +117,7 @@ Variant PacketPeer::_bnd_get_var() const { Error PacketPeer::_put_packet(const PoolVector<uint8_t> &p_buffer) { return put_packet_buffer(p_buffer); } -PoolVector<uint8_t> PacketPeer::_get_packet() const { +PoolVector<uint8_t> PacketPeer::_get_packet() { PoolVector<uint8_t> raw; last_get_error = get_packet_buffer(raw); @@ -202,7 +202,7 @@ int PacketPeerStream::get_available_packet_count() const { return count; } -Error PacketPeerStream::get_packet(const uint8_t **r_buffer, int &r_buffer_size) const { +Error PacketPeerStream::get_packet(const uint8_t **r_buffer, int &r_buffer_size) { ERR_FAIL_COND_V(peer.is_null(), ERR_UNCONFIGURED); _poll_buffer(); diff --git a/core/io/packet_peer.h b/core/io/packet_peer.h index b08d44ad8a..a6d363ec12 100644 --- a/core/io/packet_peer.h +++ b/core/io/packet_peer.h @@ -37,13 +37,13 @@ class PacketPeer : public Reference { GDCLASS(PacketPeer, Reference); - Variant _bnd_get_var() const; + Variant _bnd_get_var(); void _bnd_put_var(const Variant &p_var); static void _bind_methods(); Error _put_packet(const PoolVector<uint8_t> &p_buffer); - PoolVector<uint8_t> _get_packet() const; + PoolVector<uint8_t> _get_packet(); Error _get_packet_error() const; mutable Error last_get_error; @@ -52,17 +52,17 @@ class PacketPeer : public Reference { public: virtual int get_available_packet_count() const = 0; - virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) const = 0; ///< buffer is GONE after next get_packet + virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) = 0; ///< buffer is GONE after next get_packet virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size) = 0; virtual int get_max_packet_size() const = 0; /* helpers / binders */ - virtual Error get_packet_buffer(PoolVector<uint8_t> &r_buffer) const; + 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) const; + virtual Error get_var(Variant &r_variant); virtual Error put_var(const Variant &p_packet); void set_allow_object_decoding(bool p_enable); @@ -91,7 +91,7 @@ protected: public: virtual int get_available_packet_count() const; - virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) const; + virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size); virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size); virtual int get_max_packet_size() const; diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp index d2aad1d63a..dea9f38634 100644 --- a/core/io/resource_loader.cpp +++ b/core/io/resource_loader.cpp @@ -35,6 +35,7 @@ #include "print_string.h" #include "project_settings.h" #include "translation.h" +#include "variant_parser.h" ResourceFormatLoader *ResourceLoader::loader[MAX_LOADERS]; int ResourceLoader::loader_count = 0; @@ -454,6 +455,49 @@ String ResourceLoader::_path_remap(const String &p_path, bool *r_translation_rem if (path_remaps.has(new_path)) { new_path = path_remaps[new_path]; } + + if (new_path == p_path) { //did not remap + //try file remap + Error err; + FileAccess *f = FileAccess::open(p_path + ".remap", FileAccess::READ, &err); + + if (f) { + + VariantParser::StreamFile stream; + stream.f = f; + + String assign; + Variant value; + VariantParser::Tag next_tag; + + int lines = 0; + String error_text; + while (true) { + + assign = Variant(); + next_tag.fields.clear(); + next_tag.name = String(); + + err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, NULL, true); + if (err == ERR_FILE_EOF) { + break; + } else if (err != OK) { + ERR_PRINTS("Parse error: " + p_path + ".remap:" + itos(lines) + " error: " + error_text); + break; + } + + if (assign == "path") { + new_path = value; + break; + } else if (next_tag.name != "remap") { + break; + } + } + + memdelete(f); + } + } + return new_path; } diff --git a/core/math/a_star.cpp b/core/math/a_star.cpp index 4498efeb41..7c5dbc895a 100644 --- a/core/math/a_star.cpp +++ b/core/math/a_star.cpp @@ -459,7 +459,7 @@ void AStar::_bind_methods() { ClassDB::bind_method(D_METHOD("has_point", "id"), &AStar::has_point); ClassDB::bind_method(D_METHOD("get_points"), &AStar::get_points); - ClassDB::bind_method(D_METHOD("get_point_connections"), &AStar::get_point_connections); + ClassDB::bind_method(D_METHOD("get_point_connections", "id"), &AStar::get_point_connections); ClassDB::bind_method(D_METHOD("connect_points", "id", "to_id", "bidirectional"), &AStar::connect_points, DEFVAL(true)); ClassDB::bind_method(D_METHOD("disconnect_points", "id", "to_id"), &AStar::disconnect_points); diff --git a/core/math/math_2d.cpp b/core/math/math_2d.cpp index 11003c1cd5..8ad164d4dc 100644 --- a/core/math/math_2d.cpp +++ b/core/math/math_2d.cpp @@ -102,69 +102,6 @@ Vector2 Vector2::cross(real_t p_other) const { return Vector2(p_other * y, -p_other * x); } -Vector2 Vector2::operator+(const Vector2 &p_v) const { - - return Vector2(x + p_v.x, y + p_v.y); -} -void Vector2::operator+=(const Vector2 &p_v) { - - x += p_v.x; - y += p_v.y; -} -Vector2 Vector2::operator-(const Vector2 &p_v) const { - - return Vector2(x - p_v.x, y - p_v.y); -} -void Vector2::operator-=(const Vector2 &p_v) { - - x -= p_v.x; - y -= p_v.y; -} - -Vector2 Vector2::operator*(const Vector2 &p_v1) const { - - return Vector2(x * p_v1.x, y * p_v1.y); -}; - -Vector2 Vector2::operator*(const real_t &rvalue) const { - - return Vector2(x * rvalue, y * rvalue); -}; -void Vector2::operator*=(const real_t &rvalue) { - - x *= rvalue; - y *= rvalue; -}; - -Vector2 Vector2::operator/(const Vector2 &p_v1) const { - - return Vector2(x / p_v1.x, y / p_v1.y); -}; - -Vector2 Vector2::operator/(const real_t &rvalue) const { - - return Vector2(x / rvalue, y / rvalue); -}; - -void Vector2::operator/=(const real_t &rvalue) { - - x /= rvalue; - y /= rvalue; -}; - -Vector2 Vector2::operator-() const { - - return Vector2(-x, -y); -} - -bool Vector2::operator==(const Vector2 &p_vec2) const { - - return x == p_vec2.x && y == p_vec2.y; -} -bool Vector2::operator!=(const Vector2 &p_vec2) const { - - return x != p_vec2.x || y != p_vec2.y; -} Vector2 Vector2::floor() const { return Vector2(Math::floor(x), Math::floor(y)); diff --git a/core/math/math_2d.h b/core/math/math_2d.h index 60351445c0..4635a4da55 100644 --- a/core/math/math_2d.h +++ b/core/math/math_2d.h @@ -187,6 +187,70 @@ _FORCE_INLINE_ Vector2 operator*(real_t p_scalar, const Vector2 &p_vec) { return p_vec * p_scalar; } +_FORCE_INLINE_ Vector2 Vector2::operator+(const Vector2 &p_v) const { + + return Vector2(x + p_v.x, y + p_v.y); +} +_FORCE_INLINE_ void Vector2::operator+=(const Vector2 &p_v) { + + x += p_v.x; + y += p_v.y; +} +_FORCE_INLINE_ Vector2 Vector2::operator-(const Vector2 &p_v) const { + + return Vector2(x - p_v.x, y - p_v.y); +} +_FORCE_INLINE_ void Vector2::operator-=(const Vector2 &p_v) { + + x -= p_v.x; + y -= p_v.y; +} + +_FORCE_INLINE_ Vector2 Vector2::operator*(const Vector2 &p_v1) const { + + return Vector2(x * p_v1.x, y * p_v1.y); +}; + +_FORCE_INLINE_ Vector2 Vector2::operator*(const real_t &rvalue) const { + + return Vector2(x * rvalue, y * rvalue); +}; +_FORCE_INLINE_ void Vector2::operator*=(const real_t &rvalue) { + + x *= rvalue; + y *= rvalue; +}; + +_FORCE_INLINE_ Vector2 Vector2::operator/(const Vector2 &p_v1) const { + + return Vector2(x / p_v1.x, y / p_v1.y); +}; + +_FORCE_INLINE_ Vector2 Vector2::operator/(const real_t &rvalue) const { + + return Vector2(x / rvalue, y / rvalue); +}; + +_FORCE_INLINE_ void Vector2::operator/=(const real_t &rvalue) { + + x /= rvalue; + y /= rvalue; +}; + +_FORCE_INLINE_ Vector2 Vector2::operator-() const { + + return Vector2(-x, -y); +} + +_FORCE_INLINE_ bool Vector2::operator==(const Vector2 &p_vec2) const { + + return x == p_vec2.x && y == p_vec2.y; +} +_FORCE_INLINE_ bool Vector2::operator!=(const Vector2 &p_vec2) const { + + return x != p_vec2.x || y != p_vec2.y; +} + Vector2 Vector2::linear_interpolate(const Vector2 &p_b, real_t p_t) const { Vector2 res = *this; @@ -336,9 +400,10 @@ struct Rect2 { g.size.height += p_by * 2; return g; } + inline Rect2 grow_margin(Margin p_margin, real_t p_amount) const { Rect2 g = *this; - g.grow_individual((MARGIN_LEFT == p_margin) ? p_amount : 0, + g = g.grow_individual((MARGIN_LEFT == p_margin) ? p_amount : 0, (MARGIN_TOP == p_margin) ? p_amount : 0, (MARGIN_RIGHT == p_margin) ? p_amount : 0, (MARGIN_BOTTOM == p_margin) ? p_amount : 0); diff --git a/core/math/matrix3.cpp b/core/math/matrix3.cpp index ab3bca79ae..5346141470 100644 --- a/core/math/matrix3.cpp +++ b/core/math/matrix3.cpp @@ -311,6 +311,15 @@ void Basis::rotate(const Vector3 &p_axis, real_t p_phi) { *this = rotated(p_axis, p_phi); } +void Basis::rotate_local(const Vector3 &p_axis, real_t p_phi) { + + *this = rotated_local(p_axis, p_phi); +} +Basis Basis::rotated_local(const Vector3 &p_axis, real_t p_phi) const { + + return (*this) * Basis(p_axis, p_phi); +} + Basis Basis::rotated(const Vector3 &p_euler) const { return Basis(p_euler) * (*this); } diff --git a/core/math/matrix3.h b/core/math/matrix3.h index 9a33b8203d..9a75308f08 100644 --- a/core/math/matrix3.h +++ b/core/math/matrix3.h @@ -75,6 +75,9 @@ public: void rotate(const Vector3 &p_axis, real_t p_phi); Basis rotated(const Vector3 &p_axis, real_t p_phi) const; + void rotate_local(const Vector3 &p_axis, real_t p_phi); + Basis rotated_local(const Vector3 &p_axis, real_t p_phi) const; + void rotate(const Vector3 &p_euler); Basis rotated(const Vector3 &p_euler) const; diff --git a/core/os/file_access.cpp b/core/os/file_access.cpp index 7b2062936b..133c70b671 100644 --- a/core/os/file_access.cpp +++ b/core/os/file_access.cpp @@ -273,9 +273,62 @@ String FileAccess::get_token() const { return String::utf8(token.get_data()); } +class CharBuffer { + Vector<char> vector; + char stack_buffer[256]; + + char *buffer; + int capacity; + int written; + + bool grow() { + + if (vector.resize(next_power_of_2(1 + written)) != OK) { + + return false; + } + + if (buffer == stack_buffer) { // first chunk? + + for (int i = 0; i < written; i++) { + + vector[i] = stack_buffer[i]; + } + } + + buffer = vector.ptrw(); + capacity = vector.size(); + ERR_FAIL_COND_V(written >= capacity, false); + + return true; + } + +public: + _FORCE_INLINE_ CharBuffer() : + buffer(stack_buffer), + capacity(sizeof(stack_buffer) / sizeof(char)), + written(0) { + } + + _FORCE_INLINE_ void push_back(char c) { + + if (written >= capacity) { + + ERR_FAIL_COND(!grow()); + } + + buffer[written++] = c; + } + + _FORCE_INLINE_ const char *get_data() const { + + return buffer; + } +}; + String FileAccess::get_line() const { - CharString line; + CharBuffer line; CharType c = get_8(); @@ -516,6 +569,37 @@ String FileAccess::get_md5(const String &p_file) { return ret; } +String FileAccess::get_multiple_md5(const Vector<String> &p_file) { + + MD5_CTX md5; + MD5Init(&md5); + + for (int i = 0; i < p_file.size(); i++) { + FileAccess *f = FileAccess::open(p_file[i], READ); + ERR_CONTINUE(!f); + + unsigned char step[32768]; + + while (true) { + + int br = f->get_buffer(step, 32768); + if (br > 0) { + + MD5Update(&md5, step, br); + } + if (br < 4096) + break; + } + memdelete(f); + } + + MD5Final(&md5); + + String ret = String::md5(md5.digest); + + return ret; +} + String FileAccess::get_sha256(const String &p_file) { FileAccess *f = FileAccess::open(p_file, READ); diff --git a/core/os/file_access.h b/core/os/file_access.h index 6fda3d9668..548d7b71f1 100644 --- a/core/os/file_access.h +++ b/core/os/file_access.h @@ -155,6 +155,7 @@ public: static String get_md5(const String &p_file); static String get_sha256(const String &p_file); + static String get_multiple_md5(const Vector<String> &p_file); static Vector<uint8_t> get_file_as_array(const String &p_path); diff --git a/core/os/input_event.cpp b/core/os/input_event.cpp index 9b2bd30868..0cab8c10ef 100644 --- a/core/os/input_event.cpp +++ b/core/os/input_event.cpp @@ -32,14 +32,6 @@ #include "input_map.h" #include "os/keyboard.h" -void InputEvent::set_id(uint32_t p_id) { - id = p_id; -} - -uint32_t InputEvent::get_id() const { - return id; -} - void InputEvent::set_device(int p_device) { device = p_device; } @@ -99,9 +91,6 @@ bool InputEvent::is_action_type() const { void InputEvent::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_id", "id"), &InputEvent::set_id); - ClassDB::bind_method(D_METHOD("get_id"), &InputEvent::get_id); - ClassDB::bind_method(D_METHOD("set_device", "device"), &InputEvent::set_device); ClassDB::bind_method(D_METHOD("get_device"), &InputEvent::get_device); @@ -125,7 +114,6 @@ void InputEvent::_bind_methods() { InputEvent::InputEvent() { - id = 0; device = 0; } @@ -441,7 +429,6 @@ Ref<InputEvent> InputEventMouseButton::xformed_by(const Transform2D &p_xform, co Ref<InputEventMouseButton> mb; mb.instance(); - mb->set_id(get_id()); mb->set_device(get_device()); mb->set_modifiers_from_event(this); @@ -557,7 +544,6 @@ Ref<InputEvent> InputEventMouseMotion::xformed_by(const Transform2D &p_xform, co Ref<InputEventMouseMotion> mm; mm.instance(); - mm->set_id(get_id()); mm->set_device(get_device()); mm->set_modifiers_from_event(this); @@ -764,7 +750,6 @@ Ref<InputEvent> InputEventScreenTouch::xformed_by(const Transform2D &p_xform, co Ref<InputEventScreenTouch> st; st.instance(); - st->set_id(get_id()); st->set_device(get_device()); st->set_index(index); st->set_position(p_xform.xform(pos + p_local_ofs)); @@ -845,7 +830,6 @@ Ref<InputEvent> InputEventScreenDrag::xformed_by(const Transform2D &p_xform, con sd.instance(); - sd->set_id(get_id()); sd->set_device(get_device()); sd->set_index(index); @@ -968,7 +952,6 @@ Ref<InputEvent> InputEventMagnifyGesture::xformed_by(const Transform2D &p_xform, Ref<InputEventMagnifyGesture> ev; ev.instance(); - ev->set_id(get_id()); ev->set_device(get_device()); ev->set_modifiers_from_event(this); @@ -1006,7 +989,6 @@ Ref<InputEvent> InputEventPanGesture::xformed_by(const Transform2D &p_xform, con Ref<InputEventPanGesture> ev; ev.instance(); - ev->set_id(get_id()); ev->set_device(get_device()); ev->set_modifiers_from_event(this); diff --git a/core/os/input_event.h b/core/os/input_event.h index 614a3289ba..9b1a2736b1 100644 --- a/core/os/input_event.h +++ b/core/os/input_event.h @@ -144,16 +144,12 @@ enum JoystickList { class InputEvent : public Resource { GDCLASS(InputEvent, Resource) - uint32_t id; int device; protected: static void _bind_methods(); public: - void set_id(uint32_t p_id); - uint32_t get_id() const; - void set_device(int p_device); int get_device() const; diff --git a/core/os/os.cpp b/core/os/os.cpp index 8088a6fa74..7010d44930 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -536,12 +536,21 @@ String OS::get_joy_guid(int p_device) const { void OS::set_context(int p_context) { } + +OS::SwitchVSyncCallbackInThread OS::switch_vsync_function = NULL; + void OS::set_use_vsync(bool p_enable) { + _use_vsync = p_enable; + if (switch_vsync_function) { //if a function was set, use function + switch_vsync_function(p_enable); + } else { //otherwise just call here + _set_use_vsync(p_enable); + } } bool OS::is_vsync_enabled() const { - return true; + return _use_vsync; } OS::PowerState OS::get_power_state() { @@ -606,10 +615,6 @@ bool OS::has_feature(const String &p_feature) { return false; } -void *OS::get_stack_bottom() const { - return _stack_bottom; -} - OS::OS() { void *volatile stack_bottom; diff --git a/core/os/os.h b/core/os/os.h index 41500acd93..2faaa6ab8f 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -58,6 +58,7 @@ class OS { int _exit_code; int _orientation; bool _allow_hidpi; + bool _use_vsync; char *last_error; @@ -435,8 +436,16 @@ public: virtual void set_context(int p_context); - virtual void set_use_vsync(bool p_enable); - virtual bool is_vsync_enabled() const; + //amazing hack because OpenGL needs this to be set on a separate thread.. + //also core can't access servers, so a callback must be used + typedef void (*SwitchVSyncCallbackInThread)(bool); + + static SwitchVSyncCallbackInThread switch_vsync_function; + void set_use_vsync(bool p_enable); + bool is_vsync_enabled() const; + + //real, actual overridable function to switch vsync, which needs to be called from graphics thread if needed + virtual void _set_use_vsync(bool p_enable) {} virtual OS::PowerState get_power_state(); virtual int get_power_seconds_left(); @@ -445,13 +454,6 @@ public: virtual void force_process_input(){}; bool has_feature(const String &p_feature); - /** - * Returns the stack bottom of the main thread of the application. - * This may be of use when integrating languages with garbage collectors that - * need to check whether a pointer is on the stack. - */ - virtual void *get_stack_bottom() const; - bool is_hidpi_allowed() const { return _allow_hidpi; } OS(); virtual ~OS(); diff --git a/core/os/threaded_array_processor.cpp b/core/os/threaded_array_processor.cpp new file mode 100644 index 0000000000..8e92508ea5 --- /dev/null +++ b/core/os/threaded_array_processor.cpp @@ -0,0 +1,2 @@ +#include "threaded_array_processor.h" + diff --git a/core/os/threaded_array_processor.h b/core/os/threaded_array_processor.h new file mode 100644 index 0000000000..e584fbb193 --- /dev/null +++ b/core/os/threaded_array_processor.h @@ -0,0 +1,80 @@ +#ifndef THREADED_ARRAY_PROCESSOR_H +#define THREADED_ARRAY_PROCESSOR_H + +#include "os/mutex.h" +#include "os/os.h" +#include "os/thread.h" +#include "safe_refcount.h" +#include "thread_safe.h" + +template <class C, class U> +struct ThreadArrayProcessData { + uint32_t elements; + uint32_t index; + C *instance; + U userdata; + void (C::*method)(uint32_t, U); + + void process(uint32_t p_index) { + (instance->*method)(p_index, userdata); + } +}; + +#ifndef NO_THREADS + +template <class T> +void process_array_thread(void *ud) { + + T &data = *(T *)ud; + while (true) { + uint32_t index = atomic_increment(&data.index); + if (index >= data.elements) + break; + data.process(index); + } +} + +template <class C, class M, class U> +void thread_process_array(uint32_t p_elements, C *p_instance, M p_method, U p_userdata) { + + ThreadArrayProcessData<C, U> data; + data.method = p_method; + data.instance = p_instance; + data.userdata = p_userdata; + data.index = 0; + data.elements = p_elements; + data.process(data.index); //process first, let threads increment for next + + Vector<Thread *> threads; + + threads.resize(OS::get_singleton()->get_processor_count()); + + for (int i = 0; i < threads.size(); i++) { + threads[i] = Thread::create(process_array_thread<ThreadArrayProcessData<C, U> >, &data); + } + + for (int i = 0; i < threads.size(); i++) { + Thread::wait_to_finish(threads[i]); + memdelete(threads[i]); + } +} + +#else + +template <class C, class M, class U> +void thread_process_array(uint32_t p_elements, C *p_instance, M p_method, U p_userdata) { + + ThreadArrayProcessData<C, U> data; + data.method = p_method; + data.instance = p_instance; + data.userdata = p_userdata; + data.index = 0; + data.elements = p_elements; + for (uint32_t i = 0; i < p_elements; i++) { + data.process(i); + } +} + +#endif + +#endif // THREADED_ARRAY_PROCESSOR_H diff --git a/core/script_language.cpp b/core/script_language.cpp index c1e9d55872..2c32054e77 100644 --- a/core/script_language.cpp +++ b/core/script_language.cpp @@ -54,6 +54,8 @@ void Script::_bind_methods() { ClassDB::bind_method(D_METHOD("get_source_code"), &Script::get_source_code); ClassDB::bind_method(D_METHOD("set_source_code", "source"), &Script::set_source_code); ClassDB::bind_method(D_METHOD("reload", "keep_state"), &Script::reload, DEFVAL(false)); + ClassDB::bind_method(D_METHOD("get_base_script"), &Script::get_base_script); + ClassDB::bind_method(D_METHOD("get_instance_base_type"), &Script::get_instance_base_type); ClassDB::bind_method(D_METHOD("has_script_signal", "signal_name"), &Script::has_script_signal); diff --git a/core/ustring.cpp b/core/ustring.cpp index 9cd94ac919..261cc0778c 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -356,7 +356,7 @@ bool String::operator<(const CharType *p_str) const { return is_str_less(c_str(), p_str); } -bool String::operator<=(String p_str) const { +bool String::operator<=(const String &p_str) const { return (*this < p_str) || (*this == p_str); } @@ -371,7 +371,7 @@ bool String::operator<(const char *p_str) const { return is_str_less(c_str(), p_str); } -bool String::operator<(String p_str) const { +bool String::operator<(const String &p_str) const { return operator<(p_str.c_str()); } @@ -679,7 +679,7 @@ Vector<String> String::split_spaces() const { return ret; } -Vector<String> String::split(const String &p_splitter, bool p_allow_empty) const { +Vector<String> String::split(const String &p_splitter, bool p_allow_empty, int p_maxsplit) const { Vector<String> ret; int from = 0; @@ -690,8 +690,21 @@ Vector<String> String::split(const String &p_splitter, bool p_allow_empty) const int end = find(p_splitter, from); if (end < 0) end = len; - if (p_allow_empty || (end > from)) - ret.push_back(substr(from, end - from)); + if (p_allow_empty || (end > from)) { + if (p_maxsplit <= 0) + ret.push_back(substr(from, end - from)); + else if (p_maxsplit > 0) { + + // Put rest of the string and leave cycle. + if (p_maxsplit == ret.size()) { + ret.push_back(substr(from, len)); + break; + } + + // Otherwise, push items until positive limit is reached. + ret.push_back(substr(from, end - from)); + } + } if (end == len) break; @@ -834,7 +847,10 @@ String String::to_upper() const { for (int i = 0; i < upper.size(); i++) { - upper[i] = _find_upper(upper[i]); + const char s = upper[i]; + const char t = _find_upper(s); + if (s != t) // avoid copy on write + upper[i] = t; } return upper; @@ -842,20 +858,17 @@ String String::to_upper() const { String String::to_lower() const { - String upper = *this; + String lower = *this; - for (int i = 0; i < upper.size(); i++) { + for (int i = 0; i < lower.size(); i++) { - upper[i] = _find_lower(upper[i]); + const char s = lower[i]; + const char t = _find_lower(s); + if (s != t) // avoid copy on write + lower[i] = t; } - return upper; -} - -int String::length() const { - - int s = size(); - return s ? (s - 1) : 0; // length does not include zero + return lower; } const CharType *String::c_str() const { @@ -2107,7 +2120,7 @@ Vector<uint8_t> String::sha256_buffer() const { return ret; } -String String::insert(int p_at_pos, String p_string) const { +String String::insert(int p_at_pos, const String &p_string) const { if (p_at_pos < 0) return *this; @@ -2135,10 +2148,15 @@ String String::substr(int p_from, int p_chars) const { p_chars = length() - p_from; } + if (p_from == 0 && p_chars >= length()) { + + return String(*this); + } + return String(&c_str()[p_from], p_chars); } -int String::find_last(String p_str) const { +int String::find_last(const String &p_str) const { int pos = -1; int findfrom = 0; @@ -2151,19 +2169,21 @@ int String::find_last(String p_str) const { return pos; } -int String::find(String p_str, int p_from) const { + +int String::find(const String &p_str, int p_from) const { if (p_from < 0) return -1; - int src_len = p_str.length(); + const int src_len = p_str.length(); - int len = length(); + const int len = length(); if (src_len == 0 || len == 0) return -1; //wont find anything! const CharType *src = c_str(); + const CharType *str = p_str.c_str(); for (int i = p_from; i <= (len - src_len); i++) { @@ -2178,7 +2198,7 @@ int String::find(String p_str, int p_from) const { return -1; }; - if (src[read_pos] != p_str[j]) { + if (src[read_pos] != str[j]) { found = false; break; } @@ -2191,6 +2211,62 @@ int String::find(String p_str, int p_from) const { return -1; } +int String::find(const char *p_str, int p_from) const { + + if (p_from < 0) + return -1; + + const int len = length(); + + if (len == 0) + return -1; //wont find anything! + + const CharType *src = c_str(); + + int src_len = 0; + while (p_str[src_len] != '\0') + src_len++; + + if (src_len == 1) { + + const char needle = p_str[0]; + + for (int i = p_from; i < len; i++) { + + if (src[i] == needle) { + return i; + } + } + + } else { + + for (int i = p_from; i <= (len - src_len); i++) { + + bool found = true; + for (int j = 0; j < src_len; j++) { + + int read_pos = i + j; + + if (read_pos >= len) { + + ERR_PRINT("read_pos>=len"); + return -1; + }; + + if (src[read_pos] != p_str[j]) { + found = false; + break; + } + } + + if (found) + return i; + } + } + + return -1; +} + int String::findmk(const Vector<String> &p_keys, int p_from, int *r_key) const { if (p_from < 0) @@ -2245,7 +2321,7 @@ int String::findmk(const Vector<String> &p_keys, int p_from, int *r_key) const { return -1; } -int String::findn(String p_str, int p_from) const { +int String::findn(const String &p_str, int p_from) const { if (p_from < 0) return -1; @@ -2286,7 +2362,7 @@ int String::findn(String p_str, int p_from) const { return -1; } -int String::rfind(String p_str, int p_from) const { +int String::rfind(const String &p_str, int p_from) const { // establish a limit int limit = length() - p_str.length(); @@ -2332,7 +2408,7 @@ int String::rfind(String p_str, int p_from) const { return -1; } -int String::rfindn(String p_str, int p_from) const { +int String::rfindn(const String &p_str, int p_from) const { // establish a limit int limit = length() - p_str.length(); @@ -2632,7 +2708,7 @@ String String::format(const Variant &values, String placeholder) const { return new_string; } -String String::replace(String p_key, String p_with) const { +String String::replace(const String &p_key, const String &p_with) const { String new_string; int search_from = 0; @@ -2645,12 +2721,43 @@ String String::replace(String p_key, String p_with) const { search_from = result + p_key.length(); } + if (search_from == 0) { + + return *this; + } + new_string += substr(search_from, length() - search_from); return new_string; } -String String::replace_first(String p_key, String p_with) const { +String String::replace(const char *p_key, const char *p_with) const { + + String new_string; + int search_from = 0; + int result = 0; + + while ((result = find(p_key, search_from)) >= 0) { + + new_string += substr(search_from, result - search_from); + new_string += p_with; + int k = 0; + while (p_key[k] != '\0') + k++; + search_from = result + k; + } + + if (search_from == 0) { + + return *this; + } + + new_string += substr(search_from, length() - search_from); + + return new_string; +} + +String String::replace_first(const String &p_key, const String &p_with) const { String new_string; int search_from = 0; @@ -2664,11 +2771,16 @@ String String::replace_first(String p_key, String p_with) const { break; } + if (search_from == 0) { + + return *this; + } + new_string += substr(search_from, length() - search_from); return new_string; } -String String::replacen(String p_key, String p_with) const { +String String::replacen(const String &p_key, const String &p_with) const { String new_string; int search_from = 0; @@ -2681,6 +2793,11 @@ String String::replacen(String p_key, String p_with) const { search_from = result + p_key.length(); } + if (search_from == 0) { + + return *this; + } + new_string += substr(search_from, length() - search_from); return new_string; } diff --git a/core/ustring.h b/core/ustring.h index a56c90544a..1bb4719b85 100644 --- a/core/ustring.h +++ b/core/ustring.h @@ -93,8 +93,8 @@ public: bool operator!=(const CharType *p_str) const; bool operator<(const CharType *p_str) const; bool operator<(const char *p_str) const; - bool operator<(String p_str) const; - bool operator<=(String p_str) const; + bool operator<(const String &p_str) const; + bool operator<=(const String &p_str) const; signed char casecmp_to(const String &p_str) const; signed char nocasecmp_to(const String &p_str) const; @@ -103,15 +103,19 @@ public: const CharType *c_str() const; /* standard size stuff */ - int length() const; + _FORCE_INLINE_ int length() const { + int s = size(); + return s ? (s - 1) : 0; // length does not include zero + } /* complex helpers */ String substr(int p_from, int p_chars) const; - int find(String p_str, int p_from = 0) const; ///< return <0 if failed - int find_last(String p_str) const; ///< return <0 if failed - int findn(String p_str, int p_from = 0) const; ///< return <0 if failed, case insensitive - int rfind(String p_str, int p_from = -1) const; ///< return <0 if failed - int rfindn(String p_str, int p_from = -1) const; ///< return <0 if failed, case insensitive + int find(const String &p_str, int p_from = 0) const; ///< return <0 if failed + int find(const char *p_str, int p_from) const; ///< return <0 if failed + int find_last(const String &p_str) const; ///< return <0 if failed + int findn(const String &p_str, int p_from = 0) const; ///< return <0 if failed, case insensitive + int rfind(const String &p_str, int p_from = -1) const; ///< return <0 if failed + int rfindn(const String &p_str, int p_from = -1) const; ///< return <0 if failed, case insensitive int findmk(const Vector<String> &p_keys, int p_from = 0, int *r_key = NULL) const; ///< return <0 if failed bool match(const String &p_wildcard) const; bool matchn(const String &p_wildcard) const; @@ -125,10 +129,11 @@ public: Vector<String> bigrams() const; float similarity(const String &p_string) const; String format(const Variant &values, String placeholder = "{_}") const; - String replace_first(String p_key, String p_with) const; - String replace(String p_key, String p_with) const; - String replacen(String p_key, String p_with) const; - String insert(int p_at_pos, String p_string) const; + String replace_first(const String &p_key, const String &p_with) const; + String replace(const String &p_key, const String &p_with) const; + String replace(const char *p_key, const char *p_with) const; + String replacen(const String &p_key, const String &p_with) const; + String insert(int p_at_pos, const String &p_string) const; String pad_decimals(int p_digits) const; String pad_zeros(int p_digits) const; String lpad(int min_length, const String &character = " ") const; @@ -162,7 +167,7 @@ public: String get_slice(String p_splitter, int p_slice) const; String get_slicec(CharType p_splitter, int p_slice) const; - Vector<String> split(const String &p_splitter, bool p_allow_empty = true) const; + Vector<String> split(const String &p_splitter, bool p_allow_empty = true, int p_maxsplit = 0) const; Vector<String> split_spaces() const; Vector<float> split_floats(const String &p_splitter, bool p_allow_empty = true) const; Vector<float> split_floats_mk(const Vector<String> &p_splitters, bool p_allow_empty = true) const; @@ -204,7 +209,7 @@ public: Vector<uint8_t> md5_buffer() const; Vector<uint8_t> sha256_buffer() const; - inline bool empty() const { return length() == 0; } + _FORCE_INLINE_ bool empty() const { return length() == 0; } // path functions bool is_abs_path() const; @@ -242,6 +247,8 @@ public: */ /* String(CharType p_char);*/ inline String() {} + inline String(const String &p_str) : + Vector(p_str) {} String(const char *p_str); String(const CharType *p_str, int p_clip_to_len = -1); String(const StrRange &p_range); diff --git a/core/variant_call.cpp b/core/variant_call.cpp index f66cce85c9..0284c4d866 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -254,7 +254,7 @@ struct _VariantCall { VCALL_LOCALMEM2R(String, replacen); VCALL_LOCALMEM2R(String, insert); VCALL_LOCALMEM0R(String, capitalize); - VCALL_LOCALMEM2R(String, split); + VCALL_LOCALMEM3R(String, split); VCALL_LOCALMEM2R(String, split_floats); VCALL_LOCALMEM0R(String, to_upper); VCALL_LOCALMEM0R(String, to_lower); @@ -462,6 +462,7 @@ struct _VariantCall { VCALL_LOCALMEM0R(Dictionary, hash); VCALL_LOCALMEM0R(Dictionary, keys); VCALL_LOCALMEM0R(Dictionary, values); + VCALL_LOCALMEM0R(Dictionary, duplicate); VCALL_LOCALMEM2(Array, set); VCALL_LOCALMEM1R(Array, get); @@ -1446,7 +1447,7 @@ void register_variant_methods() { ADDFUNC2R(STRING, STRING, String, replacen, STRING, "what", STRING, "forwhat", varray()); ADDFUNC2R(STRING, STRING, String, insert, INT, "position", STRING, "what", varray()); ADDFUNC0R(STRING, STRING, String, capitalize, varray()); - ADDFUNC2R(STRING, POOL_STRING_ARRAY, String, split, STRING, "divisor", BOOL, "allow_empty", varray(true)); + ADDFUNC3R(STRING, POOL_STRING_ARRAY, String, split, STRING, "divisor", BOOL, "allow_empty", INT, "maxsplit", varray(true, 0)); ADDFUNC2R(STRING, POOL_REAL_ARRAY, String, split_floats, STRING, "divisor", BOOL, "allow_empty", varray(true)); ADDFUNC0R(STRING, STRING, String, to_upper, varray()); @@ -1607,6 +1608,7 @@ void register_variant_methods() { ADDFUNC0R(DICTIONARY, INT, Dictionary, hash, varray()); ADDFUNC0R(DICTIONARY, ARRAY, Dictionary, keys, varray()); ADDFUNC0R(DICTIONARY, ARRAY, Dictionary, values, varray()); + ADDFUNC0R(DICTIONARY, DICTIONARY, Dictionary, duplicate, varray()); ADDFUNC0R(ARRAY, INT, Array, size, varray()); ADDFUNC0R(ARRAY, BOOL, Array, empty, varray()); diff --git a/doc/classes/ARVRController.xml b/doc/classes/ARVRController.xml index 47a9341643..2adc073ebe 100644 --- a/doc/classes/ARVRController.xml +++ b/doc/classes/ARVRController.xml @@ -62,7 +62,10 @@ </methods> <members> <member name="controller_id" type="int" setter="set_controller_id" getter="get_controller_id"> - The controller's id. The first controller that the [ARVRServer] detects will have id 1, the second id 2, the third id 3, etc. When a controller is turned off, it's slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off. + The controller's id. + A controller id of 0 is unbound and will always result in an inactive node. Controller id 1 is reserved for the first controller that identifies itself as the left hand controller and id 2 is reserved for the first controller that identifies itself as the right hand controller. + For any other controller that the [ARVRServer] detects we continue with controller id 3. + When a controller is turned off, its slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off. </member> <member name="rumble" type="float" setter="set_rumble" getter="get_rumble"> The degree to which the tracker rumbles. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. If changed, updates [member ARVRPositionalTracker.rumble] accordingly. diff --git a/doc/classes/ARVRServer.xml b/doc/classes/ARVRServer.xml index 17202c8c2c..ffe6c35240 100644 --- a/doc/classes/ARVRServer.xml +++ b/doc/classes/ARVRServer.xml @@ -14,7 +14,7 @@ <method name="center_on_hmd"> <return type="void"> </return> - <argument index="0" name="ignore_tilt" type="bool"> + <argument index="0" name="rotation_mode" type="bool"> </argument> <argument index="1" name="keep_height" type="bool"> </argument> @@ -154,5 +154,14 @@ <constant name="TRACKER_ANY" value="255" enum="TrackerType"> Used internally to select all trackers. </constant> + <constant name="RESET_FULL_ROTATION" value="0" enum="RotationMode"> + Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world. + </constant> + <constant name="RESET_BUT_KEEP_TILT" value="1" enum="RotationMode"> + Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset. + </constant> + <constant name="DONT_RESET_ROTATION" value="2" enum="RotationMode"> + Does not reset the orientation of the HMD, only the position of the player gets centered. + </constant> </constants> </class> diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml index dd248d18f7..f78b39eadb 100644 --- a/doc/classes/Animation.xml +++ b/doc/classes/Animation.xml @@ -321,7 +321,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> - Enables/disables the given track. Tracks are enabled by default. + Enables/disables the given track. Tracks are enabled by default. </description> </method> <method name="track_set_imported"> diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index 570f5e9741..a244788020 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -133,6 +133,7 @@ <return type="float"> </return> <description> + Returns the speed scaling ratio of the current animation channel. For instance, if this value is 1 then the animation plays at normal speed. If it's 0.5 then it plays at half speed. If it's 2 then it plays at double speed. </description> </method> <method name="has_animation" qualifiers="const"> diff --git a/doc/classes/BakedLightmap.xml b/doc/classes/BakedLightmap.xml new file mode 100644 index 0000000000..b351aeac05 --- /dev/null +++ b/doc/classes/BakedLightmap.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="BakedLightmap" inherits="VisualInstance" category="Core" version="3.0-beta"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="bake"> + <return type="int" enum="BakedLightmap.BakeError"> + </return> + <argument index="0" name="from_node" type="Node" default="null"> + </argument> + <argument index="1" name="create_visual_debug" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="debug_bake"> + <return type="void"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="BakedLightmap.BakeMode"> + </member> + <member name="bake_quality" type="int" setter="set_bake_quality" getter="get_bake_quality" enum="BakedLightmap.BakeQuality"> + </member> + <member name="bake_subdiv" type="int" setter="set_bake_subdiv" getter="get_bake_subdiv" enum="BakedLightmap.Subdiv"> + </member> + <member name="capture_subdiv" type="int" setter="set_capture_subdiv" getter="get_capture_subdiv" enum="BakedLightmap.Subdiv"> + </member> + <member name="energy" type="float" setter="set_energy" getter="get_energy"> + </member> + <member name="extents" type="Vector3" setter="set_extents" getter="get_extents"> + </member> + <member name="hdr" type="bool" setter="set_hdr" getter="is_hdr"> + </member> + <member name="image_path" type="String" setter="set_image_path" getter="get_image_path"> + </member> + <member name="light_data" type="BakedLightmapData" setter="set_light_data" getter="get_light_data"> + </member> + <member name="propagation" type="float" setter="set_propagation" getter="get_propagation"> + </member> + </members> + <constants> + <constant name="SUBDIV_128" value="0" enum="Subdiv"> + </constant> + <constant name="SUBDIV_256" value="1" enum="Subdiv"> + </constant> + <constant name="SUBDIV_512" value="2" enum="Subdiv"> + </constant> + <constant name="SUBDIV_1024" value="3" enum="Subdiv"> + </constant> + <constant name="SUBDIV_MAX" value="4" enum="Subdiv"> + </constant> + <constant name="BAKE_QUALITY_LOW" value="0" enum="BakeQuality"> + </constant> + <constant name="BAKE_QUALITY_MEDIUM" value="1" enum="BakeQuality"> + </constant> + <constant name="BAKE_QUALITY_HIGH" value="2" enum="BakeQuality"> + </constant> + <constant name="BAKE_MODE_CONE_TRACE" value="0" enum="BakeMode"> + </constant> + <constant name="BAKE_MODE_RAY_TRACE" value="1" enum="BakeMode"> + </constant> + <constant name="BAKE_ERROR_OK" value="0" enum="BakeError"> + </constant> + <constant name="BAKE_ERROR_NO_SAVE_PATH" value="1" enum="BakeError"> + </constant> + <constant name="BAKE_ERROR_NO_MESHES" value="2" enum="BakeError"> + </constant> + <constant name="BAKE_ERROR_CANT_CREATE_IMAGE" value="3" enum="BakeError"> + </constant> + <constant name="BAKE_ERROR_USER_ABORTED" value="4" enum="BakeError"> + </constant> + </constants> +</class> diff --git a/doc/classes/BakedLightmapData.xml b/doc/classes/BakedLightmapData.xml new file mode 100644 index 0000000000..2b95cff136 --- /dev/null +++ b/doc/classes/BakedLightmapData.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="BakedLightmapData" inherits="Resource" category="Core" version="3.0-beta"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <demos> + </demos> + <methods> + <method name="add_user"> + <return type="void"> + </return> + <argument index="0" name="path" type="NodePath"> + </argument> + <argument index="1" name="lightmap" type="Texture"> + </argument> + <argument index="2" name="instance" type="int"> + </argument> + <description> + </description> + </method> + <method name="clear_users"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_bounds" qualifiers="const"> + <return type="AABB"> + </return> + <description> + </description> + </method> + <method name="get_cell_space_transform" qualifiers="const"> + <return type="Transform"> + </return> + <description> + </description> + </method> + <method name="get_cell_subdiv" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_octree" qualifiers="const"> + <return type="PoolByteArray"> + </return> + <description> + </description> + </method> + <method name="get_user_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_user_lightmap" qualifiers="const"> + <return type="Texture"> + </return> + <argument index="0" name="user_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_user_path" qualifiers="const"> + <return type="NodePath"> + </return> + <argument index="0" name="user_idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_bounds"> + <return type="void"> + </return> + <argument index="0" name="bounds" type="AABB"> + </argument> + <description> + </description> + </method> + <method name="set_cell_space_transform"> + <return type="void"> + </return> + <argument index="0" name="xform" type="Transform"> + </argument> + <description> + </description> + </method> + <method name="set_cell_subdiv"> + <return type="void"> + </return> + <argument index="0" name="cell_subdiv" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_octree"> + <return type="void"> + </return> + <argument index="0" name="octree" type="PoolByteArray"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="energy" type="float" setter="set_energy" getter="get_energy"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/Camera.xml b/doc/classes/Camera.xml index 5d6c13498c..91c9ecc774 100644 --- a/doc/classes/Camera.xml +++ b/doc/classes/Camera.xml @@ -25,88 +25,6 @@ Get the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the [Node] transform. </description> </method> - <method name="get_cull_mask" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the culling mask, describing which 3D render layers are rendered by this Camera. - </description> - </method> - <method name="get_doppler_tracking" qualifiers="const"> - <return type="int" enum="Camera.DopplerTracking"> - </return> - <description> - </description> - </method> - <method name="get_environment" qualifiers="const"> - <return type="Environment"> - </return> - <description> - Returns the [Environment] used by this Camera. - </description> - </method> - <method name="get_fov" qualifiers="const"> - <return type="float"> - </return> - <description> - Returns the [i]FOV[/i] Y angle in degrees (FOV means Field of View). - </description> - </method> - <method name="get_h_offset" qualifiers="const"> - <return type="float"> - </return> - <description> - Returns the horizontal (X) offset of the Camera viewport. - </description> - </method> - <method name="get_keep_aspect_mode" qualifiers="const"> - <return type="int" enum="Camera.KeepAspect"> - </return> - <description> - Returns the current mode for keeping the aspect ratio. See [code]KEEP_*[/code] constants. - </description> - </method> - <method name="get_projection" qualifiers="const"> - <return type="int" enum="Camera.Projection"> - </return> - <description> - Returns the Camera's projection. See PROJECTION_* constants. - </description> - </method> - <method name="get_size" qualifiers="const"> - <return type="float"> - </return> - <description> - </description> - </method> - <method name="get_v_offset" qualifiers="const"> - <return type="float"> - </return> - <description> - Returns the vertical (Y) offset of the Camera viewport. - </description> - </method> - <method name="get_zfar" qualifiers="const"> - <return type="float"> - </return> - <description> - Returns the far clip plane in world space units. - </description> - </method> - <method name="get_znear" qualifiers="const"> - <return type="float"> - </return> - <description> - Returns the near clip plane in world space units. - </description> - </method> - <method name="is_current" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the Camera is the current one in the [Viewport], or plans to become current (if outside the scene tree). - </description> - </method> <method name="is_position_behind" qualifiers="const"> <return type="bool"> </return> @@ -129,6 +47,7 @@ <argument index="0" name="screen_point" type="Vector2"> </argument> <description> + Returns a normal vector from the screen point location directed along the camera. Orthogonal cameras are normalized. Perspective cameras account for perspective, screen width/height, etc. </description> </method> <method name="project_position" qualifiers="const"> @@ -158,51 +77,6 @@ Returns a 3D position in worldspace, that is the result of projecting a point on the [Viewport] rectangle by the camera projection. This is useful for casting rays in the form of (origin, normal) for object intersection or picking. </description> </method> - <method name="set_cull_mask"> - <return type="void"> - </return> - <argument index="0" name="mask" type="int"> - </argument> - <description> - Sets the cull mask, describing which 3D render layers are rendered by this Camera. - </description> - </method> - <method name="set_doppler_tracking"> - <return type="void"> - </return> - <argument index="0" name="mode" type="int" enum="Camera.DopplerTracking"> - </argument> - <description> - Changes Doppler effect tracking. See [code]DOPPLER_*[/code] constants. - </description> - </method> - <method name="set_environment"> - <return type="void"> - </return> - <argument index="0" name="env" type="Environment"> - </argument> - <description> - Sets the [Environment] to use for this Camera. - </description> - </method> - <method name="set_h_offset"> - <return type="void"> - </return> - <argument index="0" name="ofs" type="float"> - </argument> - <description> - Sets the horizontal (X) offset of the Camera viewport. - </description> - </method> - <method name="set_keep_aspect_mode"> - <return type="void"> - </return> - <argument index="0" name="mode" type="int" enum="Camera.KeepAspect"> - </argument> - <description> - Sets the mode for keeping the aspect ratio. See [code]KEEP_*[/code] constants. - </description> - </method> <method name="set_orthogonal"> <return type="void"> </return> @@ -229,15 +103,6 @@ Set the camera projection to perspective mode, by specifying a [i]FOV[/i] Y angle in degrees (FOV means Field of View), and the [i]near[/i] and [i]far[/i] clip planes in worldspace units. </description> </method> - <method name="set_v_offset"> - <return type="void"> - </return> - <argument index="0" name="ofs" type="float"> - </argument> - <description> - Sets the vertical (Y) offset of the Camera viewport. - </description> - </method> <method name="unproject_position" qualifiers="const"> <return type="Vector2"> </return> @@ -248,6 +113,47 @@ </description> </method> </methods> + <members> + <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask"> + The culling mask that describes which 3D render layers are rendered by this camera. + </member> + <member name="current" type="bool" setter="set_current" getter="is_current"> + If [code]true[/code] the ancestor [Viewport] is currently using this Camera. Default value: [code]false[/code]. + </member> + <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="Camera.DopplerTracking"> + If not [code]DOPPLER_TRACKING_DISABLED[/code] this Camera will simulate the Doppler effect for objects changed in particular [code]_process[/code] methods. Default value: [code]DOPPLER_TRACKING_DISABLED[/code]. + </member> + <member name="environment" type="Environment" setter="set_environment" getter="get_environment"> + Set the [Environment] to use for this Camera. + </member> + <member name="far" type="float" setter="set_zfar" getter="get_zfar"> + The distance to the far culling boundary for this Camera relative to its local z-axis. + </member> + <member name="fov" type="float" setter="set_fov" getter="get_fov"> + The camera's field of view angle (in degrees). Only applicable in perspective mode. Since [member keep_aspect] locks one axis, [code]fov[/code] sets the other axis' field of view angle. + </member> + <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset"> + The horizontal (X) offset of the Camear viewport. + </member> + <member name="keep_aspect" type="int" setter="set_keep_aspect_mode" getter="get_keep_aspect_mode" enum="Camera.KeepAspect"> + The axis to lock during [member fov]/[member size] adjustments. + </member> + <member name="near" type="float" setter="set_znear" getter="get_znear"> + The distance to the near culling boundary for this Camera relative to its local z-axis. + </member> + <member name="projection" type="int" setter="set_projection" getter="get_projection" enum="Camera.Projection"> + The camera's projection mode. In [code]PROJECTION_PERSPECTIVE[/code] mode, objects' z-distance from the camera's local space scales their perceived size. + </member> + <member name="size" type="float" setter="set_size" getter="get_size"> + The camera's size measured as 1/2 the width or height. Only applicable in orthogonal mode. Since [member keep_aspect] locks on axis, [code]size[/code] sets the other axis' size length. + </member> + <member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset"> + The horizontal (Y) offset of the Camear viewport. + </member> + <member name="vaspect" type="bool" setter="set_vaspect" getter="get_vaspect"> + A boolean representation of [member keep_aspect] in which [code]true[/code] is equivalent to [code]KEEP_WIDTH[/code]. + </member> + </members> <constants> <constant name="PROJECTION_PERSPECTIVE" value="0" enum="Projection"> Perspective Projection (object's size on the screen becomes smaller when far away). @@ -256,10 +162,10 @@ Orthogonal Projection (objects remain the same size on the screen no matter how far away they are). </constant> <constant name="KEEP_WIDTH" value="0" enum="KeepAspect"> - Try to keep the aspect ratio when scaling the Camera's viewport to the screen. If not possible, preserve the viewport's width by changing the height. Height is [code]sizey[/code] for orthographic projection, [code]fovy[/code] for perspective projection. + Preserves the horizontal aspect ratio. </constant> <constant name="KEEP_HEIGHT" value="1" enum="KeepAspect"> - Try to keep the aspect ratio when scaling the Camera's viewport to the screen. If not possible, preserve the viewport's height by changing the width. Width is [code]sizex[/code] for orthographic projection, [code]fovx[/code] for perspective projection. + Preserves the vertical aspect ratio. </constant> <constant name="DOPPLER_TRACKING_DISABLED" value="0" enum="DopplerTracking"> Disable Doppler effect simulation (default). diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index 185460eef2..87d00b7600 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -11,14 +11,14 @@ <demos> </demos> <methods> - <method name="get_picker"> + <method name="get_picker" qualifiers="const"> <return type="ColorPicker"> </return> <description> Returns the [code]ColorPicker[/code] that this [code]ColorPickerButton[/code] toggles. </description> </method> - <method name="get_popup"> + <method name="get_popup" qualifiers="const"> <return type="PopupPanel"> </return> <description> diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml index f7ef9a182c..8a007cc5cc 100644 --- a/doc/classes/Curve.xml +++ b/doc/classes/Curve.xml @@ -107,9 +107,9 @@ <return type="float"> </return> <argument index="0" name="offset" type="float"> - Returns the y value for the point that would exist at x-position [code]offset[/code] along the curve using the baked cache. Bakes the curve's points if not already baked. </argument> <description> + Returns the y value for the point that would exist at x-position [code]offset[/code] along the curve using the baked cache. Bakes the curve's points if not already baked. </description> </method> <method name="remove_point"> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index 40b60f00cf..08c01c1d85 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -16,6 +16,12 @@ Clear the dictionary, removing all key/value pairs. </description> </method> + <method name="duplicate"> + <return type="Dictionary"> + </return> + <description> + </description> + </method> <method name="empty"> <return type="bool"> </return> diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 9d4b45a8d7..80f6966e12 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -26,7 +26,7 @@ </return> <argument index="0" name="host" type="String"> </argument> - <argument index="1" name="port" type="int"> + <argument index="1" name="port" type="int" default="-1"> </argument> <argument index="2" name="use_ssl" type="bool" default="false"> </argument> @@ -35,6 +35,7 @@ <description> Connect to a host. This needs to be done before any requests are sent. The host should not have http:// prepended but will strip the protocol identifier if provided. + If no [code]port[/code] is specified (or [code]-1[/code] is used), it is automatically set to 80 for HTTP and 443 for HTTPS (if [code]use_ssl[/code] is enabled). [code]verify_host[/code] will check the SSL identity of the host if set to [code]true[/code]. </description> </method> diff --git a/doc/classes/Light.xml b/doc/classes/Light.xml index e4f92cc9b3..4aa39ffff6 100644 --- a/doc/classes/Light.xml +++ b/doc/classes/Light.xml @@ -15,6 +15,8 @@ <members> <member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only"> </member> + <member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light.BakeMode"> + </member> <member name="light_color" type="Color" setter="set_color" getter="get_color"> </member> <member name="light_cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask"> @@ -71,5 +73,11 @@ </constant> <constant name="PARAM_MAX" value="15" enum="Param"> </constant> + <constant name="BAKE_DISABLED" value="0" enum="BakeMode"> + </constant> + <constant name="BAKE_INDIRECT" value="1" enum="BakeMode"> + </constant> + <constant name="BAKE_ALL" value="2" enum="BakeMode"> + </constant> </constants> </class> diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 9a03d4e0c1..4434a7b7e2 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -27,6 +27,13 @@ Erases the [LineEdit] text. </description> </method> + <method name="deselect"> + <return type="void"> + </return> + <description> + Clears the current selection. + </description> + </method> <method name="get_cursor_position" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index c41c86d693..22231cfdf3 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -11,7 +11,7 @@ <demos> </demos> <methods> - <method name="get_popup"> + <method name="get_popup" qualifiers="const"> <return type="PopupMenu"> </return> <description> diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml index 4b845c05ad..74d59b2dd3 100644 --- a/doc/classes/Mutex.xml +++ b/doc/classes/Mutex.xml @@ -4,7 +4,7 @@ A synchronization Mutex. </brief_description> <description> - A synchronization Mutex. Element used in multi-threadding. Basically a binary [Semaphore]. Guarantees that only one thread has this lock, can be used to protect a critical section. + A synchronization Mutex. Element used to synchronize multiple [Thread]s. Basically a binary [Semaphore]. Guarantees that only one thread can ever acquire this lock at a time. Can be used to protect a critical section. Be careful to avoid deadlocks. </description> <tutorials> </tutorials> @@ -22,14 +22,14 @@ <return type="int" enum="Error"> </return> <description> - Try locking this [code]Mutex[/code], does not block. Returns [OK] on success else [ERR_BUSY]. + Try locking this [code]Mutex[/code], does not block. Returns [OK] on success, [ERR_BUSY] otherwise. </description> </method> <method name="unlock"> <return type="void"> </return> <description> - Unlock this [code]Mutex[/code], leaving it to others threads. + Unlock this [code]Mutex[/code], leaving it to other threads. </description> </method> </methods> diff --git a/doc/classes/Navigation.xml b/doc/classes/Navigation.xml index 995cb5b179..8fe520f853 100644 --- a/doc/classes/Navigation.xml +++ b/doc/classes/Navigation.xml @@ -64,7 +64,7 @@ Returns a path of points as a [code]PoolVector3Array[/code]. If [code]optimize[/code] is false the [code]NavigationMesh[/code] agent properties will be taken into account, otherwise it will return the nearest path and ignore agent radius, height, etc. </description> </method> - <method name="navmesh_create"> + <method name="navmesh_add"> <return type="int"> </return> <argument index="0" name="mesh" type="NavigationMesh"> diff --git a/doc/classes/Navigation2D.xml b/doc/classes/Navigation2D.xml index 8868348cf9..18c15a616a 100644 --- a/doc/classes/Navigation2D.xml +++ b/doc/classes/Navigation2D.xml @@ -37,7 +37,7 @@ <description> </description> </method> - <method name="navpoly_create"> + <method name="navpoly_add"> <return type="int"> </return> <argument index="0" name="mesh" type="NavigationPolygon"> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index 76265e700a..ff3e513c79 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -91,6 +91,13 @@ Return the text of the item at index "idx". </description> </method> + <method name="get_popup" qualifiers="const"> + <return type="PopupMenu"> + </return> + <description> + Return the [PopupMenu] contained in this button. + </description> + </method> <method name="get_selected_id" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/PacketPeer.xml b/doc/classes/PacketPeer.xml index 891f0c9ffc..57d88d7ff8 100644 --- a/doc/classes/PacketPeer.xml +++ b/doc/classes/PacketPeer.xml @@ -18,7 +18,7 @@ Return the number of packets currently available in the ring-buffer. </description> </method> - <method name="get_packet" qualifiers="const"> + <method name="get_packet"> <return type="PoolByteArray"> </return> <description> @@ -32,7 +32,7 @@ Return the error state of the last packet received (via [method get_packet] and [method get_var]). </description> </method> - <method name="get_var" qualifiers="const"> + <method name="get_var"> <return type="Variant"> </return> <description> diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/Physics2DDirectSpaceState.xml index f63b8f17bc..2e2d8e95f9 100644 --- a/doc/classes/Physics2DDirectSpaceState.xml +++ b/doc/classes/Physics2DDirectSpaceState.xml @@ -17,8 +17,8 @@ <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> </argument> <description> - Check whether the shape can travel to a point. If it can, the method will return an array with two floats: The first is the distance the shape can move in that direction without colliding, and the second is the distance at which it will collide. - If the shape can not move, the array will be empty. + Checks how far the shape can travel toward a point. Note that both the shape and the motion are supplied through a [Physics2DShapeQueryParameters] object. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1]. + If the shape can not move, the array will be empty ([code]dir.empty()==true[/code]). </description> </method> <method name="collide_shape"> @@ -29,7 +29,7 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. + Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. </description> </method> <method name="get_rest_info"> @@ -38,16 +38,15 @@ <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> </argument> <description> - Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields: - pointo: Place where the shapes intersect. - normal: Normal of the object at the point where the shapes intersect. - shape: Shape index within the object against which the shape intersected. - metadata: Metadata of the shape against which the shape intersected. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object against which the shape intersected. - collider: Object against which the shape intersected. - rid: [RID] of the object against which the shape intersected. - linear_velocity: The movement vector of the object the shape intersected, if it was a body. If it was an area, it is (0,0). - If the shape did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead. + Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. Note that this method does not take into account the [code]motion[/code] property of the object. The returned object is a dictionary containing the following fields: + [code]collider_id[/code]: The colliding object's ID. + [code]linear_velocity[/code]: The colliding object's velocity [Vector2]. If the object is an [Area2D], the result is [code](0, 0)[/code]. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]point[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the shape did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. </description> </method> <method name="intersect_point"> @@ -62,12 +61,12 @@ <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> <description> - Check whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: - shape: Shape index within the object the point is in. - metadata: Metadata of the shape the point is in. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object the point is in. - collider: Object the point is inside of. - rid: [RID] of the object the point is in. + Checks whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. </description> </method> @@ -83,15 +82,15 @@ <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> <description> - Intersect a ray in a given space. The returned object is a dictionary with the following fields: - position: Place where ray is stopped. - normal: Normal of the object at the point where the ray was stopped. - shape: Shape index within the object against which the ray was stopped. - metadata: Metadata of the shape against which the ray was stopped. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object against which the ray was stopped. - collider: Object against which the ray was stopped. - rid: [RID] of the object against which the ray was stopped. - If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead. + Intersects a ray in a given space. The returned object is a dictionary with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]position[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the ray did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. </description> </method> @@ -103,12 +102,12 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Check the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: - shape: Shape index within the object the shape intersected. - metadata: Metadata of the shape intersected by the shape given through the [Physics2DShapeQueryParameters]. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. - collider_id: Id of the object the shape intersected. - collider: Object the shape intersected. - rid: [RID] of the object the shape intersected. + Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. Note that this method does not take into account the [code]motion[/code] property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the second parameter, to reduce the processing time. </description> </method> diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState.xml index 21576646f9..d93550eb47 100644 --- a/doc/classes/PhysicsDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PhysicsDirectSpaceState" inherits="Object" category="Core" version="3.0-beta"> <brief_description> + Direct access object to a space in the [PhysicsServer]. </brief_description> <description> + Direct access object to a space in the [PhysicsServer]. It's used mainly to do queries against objects and areas residing in a given space. </description> <tutorials> </tutorials> @@ -17,6 +19,8 @@ <argument index="1" name="motion" type="Vector3"> </argument> <description> + Checks whether the shape can travel to a point. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [1, 1]. + If the shape can not move, the array will be empty ([code]dir.empty()==true[/code]). </description> </method> <method name="collide_shape"> @@ -27,6 +31,7 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. </description> </method> <method name="get_rest_info"> @@ -35,6 +40,14 @@ <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> </argument> <description> + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields: + [code]collider_id[/code]: The colliding object's ID. + [code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If the object is an [Area], the result is [code](0, 0, 0)[/code]. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]point[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the shape did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. </description> </method> <method name="intersect_ray"> @@ -49,6 +62,15 @@ <argument index="3" name="collision_layer" type="int" default="2147483647"> </argument> <description> + Intersects a ray in a given space. The returned object is a dictionary with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]normal[/code]: The object's surface normal at the intersection point. + [code]position[/code]: The intersection point. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + If the ray did not intersect anything, then an empty dictionary ([code]dir.empty()==true[/code]) is returned instead. + Additionally, the method can take an array of objects or [RID]s that are to be excluded from collisions, or a bitmask representing the physics layers to check in. </description> </method> <method name="intersect_shape"> @@ -59,6 +81,12 @@ <argument index="1" name="max_results" type="int" default="32"> </argument> <description> + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: + [code]collider[/code]: The colliding object. + [code]collider_id[/code]: The colliding object's ID. + [code]rid[/code]: The intersecting object's [RID]. + [code]shape[/code]: The shape index of the colliding shape. + The number of intersections can be limited with the second parameter, to reduce the processing time. </description> </method> </methods> diff --git a/doc/classes/SceneState.xml b/doc/classes/SceneState.xml index 4fcaaa23dc..f5cf2dbee4 100644 --- a/doc/classes/SceneState.xml +++ b/doc/classes/SceneState.xml @@ -88,6 +88,14 @@ Returns the list of group names associated with the node at [code]idx[/code]. </description> </method> + <method name="get_node_index" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + </description> + </method> <method name="get_node_instance" qualifiers="const"> <return type="PackedScene"> </return> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index f3dd953c6f..a78fe03cab 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -165,6 +165,12 @@ <description> </description> </method> + <method name="is_using_font_oversampling" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> <method name="notify_group"> <return type="void"> </return> @@ -318,6 +324,14 @@ <description> </description> </method> + <method name="set_use_font_oversampling"> + <return type="void"> + </return> + <argument index="0" name="enable" type="bool"> + </argument> + <description> + </description> + </method> </methods> <signals> <signal name="connected_to_server"> diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index d45283c10c..c7df24879e 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -19,6 +19,18 @@ Returns true if the script can be instanced. </description> </method> + <method name="get_base_script" qualifiers="const"> + <return type="Script"> + </return> + <description> + </description> + </method> + <method name="get_instance_base_type" qualifiers="const"> + <return type="String"> + </return> + <description> + </description> + </method> <method name="get_source_code" qualifiers="const"> <return type="String"> </return> diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index 0b035f90d2..81b0b3d0c3 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -57,6 +57,16 @@ Returns an array with all [Script] objects which are currently open in editor. </description> </method> + <method name="open_script_create_dialog"> + <return type="void"> + </return> + <argument index="0" name="base_name" type="String"> + </argument> + <argument index="1" name="base_path" type="String"> + </argument> + <description> + </description> + </method> </methods> <signals> <signal name="editor_script_changed"> diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml index d8deb9651a..c8206ff2c2 100644 --- a/doc/classes/Semaphore.xml +++ b/doc/classes/Semaphore.xml @@ -4,7 +4,7 @@ A synchronization Semaphore. </brief_description> <description> - A synchronization Semaphore. Element used in multi-threadding. Initialized to zero on creation. + A synchronization Semaphore. Element used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex]. </description> <tutorials> </tutorials> @@ -15,14 +15,14 @@ <return type="int" enum="Error"> </return> <description> - Lowers the [code]Semaphore[/code], allowing one more thread in. + Lowers the [code]Semaphore[/code], allowing one more thread in. Returns [OK] on success, [ERR_BUSY] 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. + Tries to wait for the [code]Semaphore[/code], if its value is zero, blocks until non-zero. Returns [OK] on success, [ERR_BUSY] otherwise. </description> </method> </methods> diff --git a/doc/classes/SpatialMaterial.xml b/doc/classes/SpatialMaterial.xml index cf08b0daae..403a6dc930 100644 --- a/doc/classes/SpatialMaterial.xml +++ b/doc/classes/SpatialMaterial.xml @@ -75,6 +75,8 @@ </member> <member name="emission_energy" type="float" setter="set_emission_energy" getter="get_emission_energy"> </member> + <member name="emission_on_uv2" type="bool" setter="set_flag" getter="get_flag"> + </member> <member name="emission_operator" type="int" setter="set_emission_operator" getter="get_emission_operator" enum="SpatialMaterial.EmissionOperator"> </member> <member name="emission_texture" type="Texture" setter="set_texture" getter="get_texture"> @@ -305,13 +307,15 @@ </constant> <constant name="FLAG_AO_ON_UV2" value="10" enum="Flags"> </constant> - <constant name="FLAG_USE_ALPHA_SCISSOR" value="11" enum="Flags"> + <constant name="FLAG_EMISSION_ON_UV2" value="11" enum="Flags"> + </constant> + <constant name="FLAG_USE_ALPHA_SCISSOR" value="12" enum="Flags"> </constant> <constant name="FLAG_TRIPLANAR_USE_WORLD" value="9" enum="Flags"> </constant> - <constant name="FLAG_ALBEDO_TEXTURE_FORCE_SRGB" value="12" enum="Flags"> + <constant name="FLAG_ALBEDO_TEXTURE_FORCE_SRGB" value="13" enum="Flags"> </constant> - <constant name="FLAG_MAX" value="13" enum="Flags"> + <constant name="FLAG_MAX" value="14" enum="Flags"> </constant> <constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode"> </constant> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 78e9f3cd3f..8bbd52b417 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -662,8 +662,11 @@ </argument> <argument index="1" name="allow_empty" type="bool" default="True"> </argument> + <argument index="2" name="maxsplit" type="int" default="0"> + </argument> <description> Splits the string by a divisor string and returns an array of the substrings. Example "One,Two,Three" will return ["One","Two","Three"] if split by ",". + If [code]maxsplit[/code] is given, at most maxsplit number of splits occur, and the remainder of the string is returned as the final element of the list (thus, the list will have at most maxsplit+1 elements) </description> </method> <method name="split_floats"> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index da30c4c7bd..ab722a24c3 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -109,6 +109,13 @@ Cut the current selection. </description> </method> + <method name="deselect"> + <return type="void"> + </return> + <description> + Clears the current selection. + </description> + </method> <method name="fold_all_lines"> <return type="void"> </return> @@ -338,18 +345,28 @@ </methods> <members> <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled"> + If [code]true[/code] the caret (visual cursor) blinks. </member> <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed"> + Duration (in seconds) of a caret's blinking cycle. </member> <member name="caret_block_mode" type="bool" setter="cursor_set_block_mode" getter="cursor_is_block_mode"> + If [code]true[/code] the caret displays as a rectangle. + If [code]false[/code] the caret displays as a bar. + </member> + <member name="caret_moving_by_right_click" type="bool" setter="set_right_click_moves_caret" getter="is_right_click_moving_caret"> + If [code]true[/code] a right click moves the cursor at the mouse position before displaying the context menu. + If [code]false[/code] the context menu disregards mouse location. </member> <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled"> + If [code]true[/code] a right click displays the context menu. </member> <member name="hiding_enabled" type="int" setter="set_hiding_enabled" getter="is_hiding_enabled"> </member> <member name="highlight_all_occurrences" type="bool" setter="set_highlight_all_occurrences" getter="is_highlight_all_occurrences_enabled"> </member> <member name="highlight_current_line" type="bool" setter="set_highlight_current_line" getter="is_highlight_current_line_enabled"> + If [code]true[/code] the line containing the cursor is highlighted. </member> <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color"> </member> @@ -357,6 +374,7 @@ If [code]true[/code] read-only mode is enabled. Existing text cannot be modified and new text cannot be added. </member> <member name="show_line_numbers" type="bool" setter="set_show_line_numbers" getter="is_show_line_numbers_enabled"> + If [code]true[/code] line numbers are displayed to the left of the text. </member> <member name="smooth_scrolling" type="bool" setter="set_smooth_scroll_enable" getter="is_smooth_scroll_enabled"> </member> @@ -412,16 +430,22 @@ Search from end to beginning. </constant> <constant name="MENU_CUT" value="0" enum="MenuItems"> + Cuts (Copies and clears) the selected text. </constant> <constant name="MENU_COPY" value="1" enum="MenuItems"> + Copies the selected text. </constant> <constant name="MENU_PASTE" value="2" enum="MenuItems"> + 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 [TextEdit] text. </constant> <constant name="MENU_SELECT_ALL" value="4" enum="MenuItems"> + Selects the whole [TextEdit] text. </constant> <constant name="MENU_UNDO" value="5" enum="MenuItems"> + Undoes the previous action. </constant> <constant name="MENU_MAX" value="6" enum="MenuItems"> </constant> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 72cd56dc55..510a215fbc 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -182,6 +182,24 @@ <description> </description> </method> + <method name="update_bitmask_area"> + <return type="void"> + </return> + <argument index="0" name="arg0" type="Vector2"> + </argument> + <description> + </description> + </method> + <method name="update_bitmask_region"> + <return type="void"> + </return> + <argument index="0" name="start" type="Vector2" default="Vector2( 0, 0 )"> + </argument> + <argument index="1" name="end" type="Vector2" default="Vector2( 0, 0 )"> + </argument> + <description> + </description> + </method> <method name="world_to_map" qualifiers="const"> <return type="Vector2"> </return> diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index 17576f33ed..f4717aa995 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -4,7 +4,7 @@ 2D Transformation. 3x2 matrix. </brief_description> <description> - Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a two [Vector2] x, y and [Vector2] "origin". It is similar to a 3x2 matrix. + Represents one or many transformations in 2D space such as translation, rotation, or scaling. It consists of a two [Vector2] x, y and [Vector2] "origin". It is similar to a 3x2 matrix. </description> <tutorials> </tutorials> @@ -17,7 +17,7 @@ <argument index="0" name="from" type="Transform"> </argument> <description> - Constructs the [code]Transform2D[/code] from a 3D [Transform]. + Constructs the transform from a 3D [Transform]. </description> </method> <method name="Transform2D"> @@ -30,7 +30,7 @@ <argument index="2" name="origin" type="Vector2"> </argument> <description> - Constructs the [code]Transform2D[/code] from 3 [Vector2] consisting of rows x, y and origin. + Constructs the transform from 3 [Vector2]s representing x, y, and origin. </description> </method> <method name="Transform2D"> @@ -41,7 +41,7 @@ <argument index="1" name="position" type="Vector2"> </argument> <description> - Constructs the [code]Transform2D[/code] from rotation angle in radians and position [Vector2]. + Constructs the transform from a given angle (in radians) and position. </description> </method> <method name="affine_inverse"> @@ -57,7 +57,7 @@ <argument index="0" name="v" type="var"> </argument> <description> - Transforms the given vector "v" by this transform basis (no translation). + Transforms the given vector by this transform's basis (no translation). </description> </method> <method name="basis_xform_inv"> @@ -66,21 +66,21 @@ <argument index="0" name="v" type="var"> </argument> <description> - Inverse-transforms the given vector "v" by this transform basis (no translation). + Inverse-transforms the given vector by this transform's basis (no translation). </description> </method> <method name="get_origin"> <return type="Vector2"> </return> <description> - Returns the origin [Vector2] (translation). + Returns the transform's origin (translation). </description> </method> <method name="get_rotation"> <return type="float"> </return> <description> - Returns the rotation (in radians). + Returns the transform's rotation (in radians). </description> </method> <method name="get_scale"> @@ -98,7 +98,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Interpolates the transform to other Transform2D by weight amount (0-1). + Returns a transform interpolated between this transform and another by a given weight (0-1). </description> </method> <method name="inverse"> @@ -121,7 +121,7 @@ <argument index="0" name="phi" type="float"> </argument> <description> - Rotates the transform by phi. + Rotates the transform by the given angle (in radians). </description> </method> <method name="scaled"> @@ -130,7 +130,7 @@ <argument index="0" name="scale" type="Vector2"> </argument> <description> - Scales the transform by the specified 2D scaling factors. + Scales the transform by the given factor. </description> </method> <method name="translated"> @@ -139,7 +139,7 @@ <argument index="0" name="offset" type="Vector2"> </argument> <description> - Translates the transform by the specified offset. + Translates the transform by the given offset. </description> </method> <method name="xform"> @@ -163,13 +163,13 @@ </methods> <members> <member name="origin" type="Vector2" setter="" getter=""> - The translation offset of the transform. + The transform's translation offset. </member> <member name="x" type="Vector2" setter="" getter=""> - The X axis of 2x2 basis matrix containing 2 [Vector2] as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. + The X axis of 2x2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. </member> <member name="y" type="Vector2" setter="" getter=""> - The Y axis of 2x2 basis matrix containing 2 [Vector2] as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. + The Y axis of 2x2 basis matrix containing 2 [Vector2]s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object. </member> </members> <constants> diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml index 1a9dc3a669..0cba132de8 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/VisualServer.xml @@ -2315,7 +2315,9 @@ </constant> <constant name="INSTANCE_GI_PROBE" value="7" enum="InstanceType"> </constant> - <constant name="INSTANCE_MAX" value="8" enum="InstanceType"> + <constant name="INSTANCE_LIGHTMAP_CAPTURE" value="8" enum="InstanceType"> + </constant> + <constant name="INSTANCE_MAX" value="9" enum="InstanceType"> The max value for INSTANCE_* constants, used internally. </constant> <constant name="INSTANCE_GEOMETRY_MASK" value="30" enum="InstanceType"> diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index 309497c938..86415ea740 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -1086,19 +1086,22 @@ void RasterizerCanvasGLES3::canvas_render_items(Item *p_item_list, int p_z, cons } } - if (shader_ptr && shader_ptr != shader_cache) { + if (shader_ptr) { if (shader_ptr->canvas_item.uses_screen_texture && !state.canvas_texscreen_used) { //copy if not copied before _copy_texscreen(Rect2()); } - if (shader_ptr->canvas_item.uses_time) { - VisualServerRaster::redraw_request(); - } + if (shader_ptr != shader_cache) { - state.canvas_shader.set_custom_shader(shader_ptr->custom_code_id); - state.canvas_shader.bind(); + if (shader_ptr->canvas_item.uses_time) { + VisualServerRaster::redraw_request(); + } + + state.canvas_shader.set_custom_shader(shader_ptr->custom_code_id); + state.canvas_shader.bind(); + } if (material_ptr->ubo_id) { glBindBufferBase(GL_UNIFORM_BUFFER, 2, material_ptr->ubo_id); @@ -1147,7 +1150,7 @@ void RasterizerCanvasGLES3::canvas_render_items(Item *p_item_list, int p_z, cons glBindTexture(t->target, t->tex_id); } - } else if (!shader_ptr) { + } else { state.canvas_shader.set_custom_shader(0); state.canvas_shader.bind(); } @@ -1545,7 +1548,7 @@ void RasterizerCanvasGLES3::reset_canvas() { glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); //use for reading from screen - if (storage->frame.current_rt) { + if (storage->frame.current_rt && !storage->frame.current_rt->flags[RasterizerStorage::RENDER_TARGET_NO_SAMPLING]) { glActiveTexture(GL_TEXTURE0 + storage->config.max_texture_image_units - 3); glBindTexture(GL_TEXTURE_2D, storage->frame.current_rt->effects.mip_maps[0].color); } @@ -1784,6 +1787,8 @@ void RasterizerCanvasGLES3::initialize() { state.canvas_shader.set_conditional(CanvasShaderGLES3::USE_RGBA_SHADOWS, storage->config.use_rgba_2d_shadows); state.canvas_shadow_shader.set_conditional(CanvasShadowShaderGLES3::USE_RGBA_SHADOWS, storage->config.use_rgba_2d_shadows); + + state.canvas_shader.set_conditional(CanvasShaderGLES3::USE_PIXEL_SNAP, GLOBAL_DEF("rendering/quality/2d/use_pixel_snap", false)); } void RasterizerCanvasGLES3::finalize() { diff --git a/drivers/gles3/rasterizer_gles3.cpp b/drivers/gles3/rasterizer_gles3.cpp index cd0adbd0d1..6b827002f8 100644 --- a/drivers/gles3/rasterizer_gles3.cpp +++ b/drivers/gles3/rasterizer_gles3.cpp @@ -354,47 +354,10 @@ void RasterizerGLES3::blit_render_target_to_screen(RID p_render_target, const Re void RasterizerGLES3::end_frame(bool p_swap_buffers) { -#if 0 - canvas->canvas_begin(); - glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D,storage->resources.white_tex); - glDisable(GL_BLEND); - glDisable(GL_DEPTH_TEST); - glDisable(GL_CULL_FACE); - - - float vtx[8]={0,0, - 0,1, - 1,1, - 1,0 - }; - - glBindBuffer(GL_ARRAY_BUFFER,0); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,0); - - glEnableVertexAttribArray(VS::ARRAY_VERTEX); - glVertexAttribPointer( VS::ARRAY_VERTEX, 2 ,GL_FLOAT, false, 0, vtx ); - - - //glBindBuffer(GL_ARRAY_BUFFER,canvas->data.canvas_quad_vertices); - //glEnableVertexAttribArray(VS::ARRAY_VERTEX); - //glVertexAttribPointer( VS::ARRAY_VERTEX, 2 ,GL_FLOAT, false, 0, 0 ); - - glBindVertexArray(canvas->data.canvas_quad_array); - - canvas->draw_generic_textured_rect(Rect2(0,0,15,15),Rect2(0,0,1,1)); -#endif if (p_swap_buffers) OS::get_singleton()->swap_buffers(); else glFinish(); - - /* print_line("objects: "+itos(storage->info.render_object_count)); - print_line("material chages: "+itos(storage->info.render_material_switch_count)); - print_line("surface changes: "+itos(storage->info.render_surface_switch_count)); - print_line("shader changes: "+itos(storage->info.render_shader_rebind_count)); - print_line("vertices: "+itos(storage->info.render_vertices_count)); -*/ } void RasterizerGLES3::finalize() { diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index 13fbb5c293..1c3361d2de 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -1541,7 +1541,19 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) { if (c.texture.is_valid() && storage->texture_owner.owns(c.texture)) { - const RasterizerStorageGLES3::Texture *t = storage->texture_owner.get(c.texture); + RasterizerStorageGLES3::Texture *t = storage->texture_owner.get(c.texture); + + t = t->get_ptr(); //resolve for proxies +#ifdef TOOLS_ENABLED + if (t->detect_3d) { + t->detect_3d(t->detect_3d_ud); + } +#endif + + if (t->render_target) { + t->render_target->used_in_frame = true; + } + glActiveTexture(GL_TEXTURE0); glBindTexture(t->target, t->tex_id); restore_tex = true; @@ -1557,7 +1569,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) * vertices, ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, false, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs); buf_ofs += sizeof(Vector3) * vertices; } else { @@ -1569,7 +1581,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) * vertices, ((uint8_t *)NULL) + buf_ofs); + glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, false, sizeof(Plane), ((uint8_t *)NULL) + buf_ofs); buf_ofs += sizeof(Plane) * vertices; } else { @@ -2786,12 +2798,6 @@ void RasterizerSceneGLES3::_setup_lights(RID *p_light_cull_result, int p_light_c copymem(&state.omni_array_tmp[li->light_index * state.ubo_light_size], &ubo_data, state.ubo_light_size); state.omni_light_count++; -#if 0 - if (li->light_ptr->shadow_enabled) { - li->shadow_projection[0] = Transform(camera_transform_inverse * li->transform).inverse(); - lights_use_shadow=true; - } -#endif } break; case VS::LIGHT_SPOT: { diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index ee6c738a05..0ed0dbe0c0 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -5334,6 +5334,14 @@ void RasterizerStorageGLES3::particles_set_emitting(RID p_particles, bool p_emit } particles->emitting = p_emitting; } + +bool RasterizerStorageGLES3::particles_get_emitting(RID p_particles) { + Particles *particles = particles_owner.getornull(p_particles); + ERR_FAIL_COND_V(!particles, false); + + return particles->emitting; +} + void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount) { Particles *particles = particles_owner.getornull(p_particles); @@ -6048,6 +6056,7 @@ void RasterizerStorageGLES3::_render_target_clear(RenderTarget *rt) { glDeleteTextures(1, &rt->effects.mip_maps[i].color); rt->effects.mip_maps[i].sizes.clear(); rt->effects.mip_maps[i].levels = 0; + rt->effects.mip_maps[i].color = 0; } } diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h index 6647372688..9f04e00360 100644 --- a/drivers/gles3/rasterizer_storage_gles3.h +++ b/drivers/gles3/rasterizer_storage_gles3.h @@ -1206,6 +1206,7 @@ public: virtual RID particles_create(); virtual void particles_set_emitting(RID p_particles, bool p_emitting); + virtual bool particles_get_emitting(RID p_particles); virtual void particles_set_amount(RID p_particles, int p_amount); virtual void particles_set_lifetime(RID p_particles, float p_lifetime); virtual void particles_set_one_shot(RID p_particles, bool p_one_shot); diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index 101978548d..ec00c057b2 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -806,7 +806,6 @@ ShaderCompilerGLES3::ShaderCompilerGLES3() { actions[VS::SHADER_SPATIAL].renames["SCREEN_UV"] = "screen_uv"; actions[VS::SHADER_SPATIAL].renames["SCREEN_TEXTURE"] = "screen_texture"; actions[VS::SHADER_SPATIAL].renames["DEPTH_TEXTURE"] = "depth_buffer"; - actions[VS::SHADER_SPATIAL].renames["SIDE"] = "side"; actions[VS::SHADER_SPATIAL].renames["ALPHA_SCISSOR"] = "alpha_scissor"; //for light @@ -847,6 +846,8 @@ ShaderCompilerGLES3::ShaderCompilerGLES3() { actions[VS::SHADER_SPATIAL].render_mode_defines["skip_vertex_transform"] = "#define SKIP_TRANSFORM_USED\n"; actions[VS::SHADER_SPATIAL].render_mode_defines["world_vertex_coords"] = "#define VERTEX_WORLD_COORDS_USED\n"; + actions[VS::SHADER_SPATIAL].render_mode_defines["cull_front"] = "#define DO_SIDE_CHECK\n"; + actions[VS::SHADER_SPATIAL].render_mode_defines["cull_disabled"] = "#define DO_SIDE_CHECK\n"; actions[VS::SHADER_SPATIAL].render_mode_defines["diffuse_burley"] = "#define DIFFUSE_BURLEY\n"; actions[VS::SHADER_SPATIAL].render_mode_defines["diffuse_oren_nayar"] = "#define DIFFUSE_OREN_NAYAR\n"; diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp index 9e234f5005..56b1cfdf0f 100644 --- a/drivers/gles3/shader_gles3.cpp +++ b/drivers/gles3/shader_gles3.cpp @@ -279,21 +279,6 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() { strings.push_back("precision highp sampler2DArray;\n"); #endif -#if 0 - if (cc) { - - String _code_string = "#define VERTEX_SHADER_CODE "+cc->vertex+"\n"; - String _code_globals = "#define VERTEX_SHADER_GLOBALS "+cc->vertex_globals+"\n"; - - code_string=_code_string.ascii(); - code_globals=_code_globals.ascii(); - DEBUG_PRINT( code_globals.get_data() ); - DEBUG_PRINT( code_string.get_data() ); - strings.push_back(code_globals); - strings.push_back(code_string); - } -#endif - strings.push_back(vertex_code0.get_data()); if (cc) { @@ -382,21 +367,6 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() { strings.push_back("precision highp sampler2DArray;\n"); #endif -#if 0 - if (cc) { - - String _code_string = "#define FRAGMENT_SHADER_CODE "+cc->fragment+"\n"; - String _code_globals = "#define FRAGMENT_SHADER_GLOBALS "+cc->fragment_globals+"\n"; - - code_string=_code_string.ascii(); - code_globals=_code_globals.ascii(); - DEBUG_PRINT( code_globals.get_data() ); - DEBUG_PRINT( code_string.get_data() ); - strings.push_back(code_globals); - strings.push_back(code_string); - } -#endif - strings.push_back(fragment_code0.get_data()); if (cc) { material_string = cc->uniforms.ascii(); @@ -495,7 +465,6 @@ ShaderGLES3::Version *ShaderGLES3::get_current_version() { if (feedbacks[i].conditional == -1 || (1 << feedbacks[i].conditional) & conditional_version.version) { //conditional for this feedback is enabled - print_line("tf varying: " + itos(feedback.size()) + " " + String(feedbacks[i].name)); feedback.push_back(feedbacks[i].name); } } diff --git a/drivers/gles3/shaders/canvas.glsl b/drivers/gles3/shaders/canvas.glsl index 4bbb18ce42..0b8230234b 100644 --- a/drivers/gles3/shaders/canvas.glsl +++ b/drivers/gles3/shaders/canvas.glsl @@ -171,7 +171,7 @@ VERTEX_SHADER_CODE #ifdef USE_PIXEL_SNAP - outvec.xy=floor(outvec+0.5); + outvec.xy=floor(outvec+0.5).xy; #endif diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl index 9bc2bc079d..6427e3d967 100644 --- a/drivers/gles3/shaders/scene.glsl +++ b/drivers/gles3/shaders/scene.glsl @@ -174,7 +174,7 @@ void light_compute(vec3 N, vec3 L,vec3 V, vec3 light_color, float roughness, ino vec3 H = normalize(V + L); float dotNH = max(dot(N,H), 0.0 ); - float intensity = pow( dotNH, (1.0-roughness) * 256.0); + float intensity = (roughness >= 1.0 ? 1.0 : pow( dotNH, (1.0-roughness) * 256.0)); specular += light_color * intensity; } @@ -296,6 +296,48 @@ void main() { #endif + +#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) + + vec3 binormal = normalize( cross(normal,tangent) * binormalf ); +#endif + +#if defined(ENABLE_UV_INTERP) + uv_interp = uv_attrib; +#endif + +#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP) + uv2_interp = uv2_attrib; +#endif + +#if defined(USE_INSTANCING) && defined(ENABLE_INSTANCE_CUSTOM) + vec4 instance_custom = instance_custom_data; +#else + vec4 instance_custom = vec4(0.0); +#endif + + highp mat4 local_projection = projection_matrix; + +//using world coordinates +#if !defined(SKIP_TRANSFORM_USED) && defined(VERTEX_WORLD_COORDS_USED) + + vertex = world_matrix * vertex; + normal = normalize((world_matrix * vec4(normal,0.0)).xyz); + +#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) + + tangent = normalize((world_matrix * vec4(tangent,0.0)).xyz); + binormal = normalize((world_matrix * vec4(binormal,0.0)).xyz); +#endif +#endif + + float roughness=0.0; + +//defines that make writing custom shaders easier +#define projection_matrix local_projection +#define world_transform world_matrix + + #ifdef USE_SKELETON { //skeleton transform @@ -333,57 +375,13 @@ void main() { texelFetch(skeleton_texture,tex_ofs+ivec2(0,2),0) ) * bone_weights.w; + mat4 bone_matrix = transpose(mat4(m[0],m[1],m[2],vec4(0.0,0.0,0.0,1.0))); - vertex.xyz = vertex * m; - - normal = vec4(normal,0.0) * m; -#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) - tangent.xyz = vec4(tangent.xyz,0.0) * m; -#endif + world_matrix = bone_matrix * world_matrix; } #endif - -#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) - - vec3 binormal = normalize( cross(normal,tangent) * binormalf ); -#endif - -#if defined(ENABLE_UV_INTERP) - uv_interp = uv_attrib; -#endif - -#if defined(ENABLE_UV2_INTERP) || defined(USE_LIGHTMAP) - uv2_interp = uv2_attrib; -#endif - -#if defined(USE_INSTANCING) && defined(ENABLE_INSTANCE_CUSTOM) - vec4 instance_custom = instance_custom_data; -#else - vec4 instance_custom = vec4(0.0); -#endif - - highp mat4 modelview = camera_inverse_matrix * world_matrix; - highp mat4 local_projection = projection_matrix; - -//using world coordinates -#if !defined(SKIP_TRANSFORM_USED) && defined(VERTEX_WORLD_COORDS_USED) - - vertex = world_matrix * vertex; - normal = normalize((world_matrix * vec4(normal,0.0)).xyz); - -#if defined(ENABLE_TANGENT_INTERP) || defined(ENABLE_NORMALMAP) || defined(LIGHT_USE_ANISOTROPY) - - tangent = normalize((world_matrix * vec4(tangent,0.0)).xyz); - binormal = normalize((world_matrix * vec4(binormal,0.0)).xyz); -#endif -#endif - - float roughness=0.0; - -//defines that make writing custom shaders easier -#define projection_matrix local_projection -#define world_transform world_matrix + mat4 modelview = camera_inverse_matrix * world_matrix; { VERTEX_SHADER_CODE @@ -1617,7 +1615,7 @@ void main() { float alpha = 1.0; -#ifdef METERIAL_DOUBLESIDED +#if defined(DO_SIDE_CHECK) float side=float(gl_FrontFacing)*2.0-1.0; #else float side=1.0; diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp index 61d2737555..f6742d8114 100644 --- a/drivers/unix/packet_peer_udp_posix.cpp +++ b/drivers/unix/packet_peer_udp_posix.cpp @@ -65,7 +65,7 @@ int PacketPeerUDPPosix::get_available_packet_count() const { return queue_count; } -Error PacketPeerUDPPosix::get_packet(const uint8_t **r_buffer, int &r_buffer_size) const { +Error PacketPeerUDPPosix::get_packet(const uint8_t **r_buffer, int &r_buffer_size) { Error err = const_cast<PacketPeerUDPPosix *>(this)->_poll(false); if (err != OK) diff --git a/drivers/unix/packet_peer_udp_posix.h b/drivers/unix/packet_peer_udp_posix.h index e580d336b2..ad7be5bbe0 100644 --- a/drivers/unix/packet_peer_udp_posix.h +++ b/drivers/unix/packet_peer_udp_posix.h @@ -41,12 +41,12 @@ class PacketPeerUDPPosix : public PacketPeerUDP { PACKET_BUFFER_SIZE = 65536 }; - mutable RingBuffer<uint8_t> rb; + RingBuffer<uint8_t> rb; uint8_t recv_buffer[PACKET_BUFFER_SIZE]; - mutable uint8_t packet_buffer[PACKET_BUFFER_SIZE]; - mutable IP_Address packet_ip; - mutable int packet_port; - mutable int queue_count; + uint8_t packet_buffer[PACKET_BUFFER_SIZE]; + IP_Address packet_ip; + int packet_port; + int queue_count; int sockfd; bool sock_blocking; IP::Type sock_type; @@ -62,7 +62,7 @@ class PacketPeerUDPPosix : public PacketPeerUDP { public: virtual int get_available_packet_count() const; - virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) const; + virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size); virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size); virtual int get_max_packet_size() const; diff --git a/platform/windows/packet_peer_udp_winsock.cpp b/drivers/windows/packet_peer_udp_winsock.cpp index d414ec891e..119ee68bd2 100644 --- a/platform/windows/packet_peer_udp_winsock.cpp +++ b/drivers/windows/packet_peer_udp_winsock.cpp @@ -27,6 +27,8 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#ifdef WINDOWS_ENABLED + #include "packet_peer_udp_winsock.h" #include <winsock2.h> @@ -43,7 +45,7 @@ int PacketPeerUDPWinsock::get_available_packet_count() const { return queue_count; } -Error PacketPeerUDPWinsock::get_packet(const uint8_t **r_buffer, int &r_buffer_size) const { +Error PacketPeerUDPWinsock::get_packet(const uint8_t **r_buffer, int &r_buffer_size) { Error err = const_cast<PacketPeerUDPWinsock *>(this)->_poll(false); if (err != OK) @@ -291,3 +293,5 @@ PacketPeerUDPWinsock::~PacketPeerUDPWinsock() { close(); } + +#endif diff --git a/platform/windows/packet_peer_udp_winsock.h b/drivers/windows/packet_peer_udp_winsock.h index 8a6951fd6e..8ce2cff741 100644 --- a/platform/windows/packet_peer_udp_winsock.h +++ b/drivers/windows/packet_peer_udp_winsock.h @@ -27,6 +27,8 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#ifdef WINDOWS_ENABLED + #ifndef PACKET_PEER_UDP_WINSOCK_H #define PACKET_PEER_UDP_WINSOCK_H @@ -39,12 +41,12 @@ class PacketPeerUDPWinsock : public PacketPeerUDP { PACKET_BUFFER_SIZE = 65536 }; - mutable RingBuffer<uint8_t> rb; + RingBuffer<uint8_t> rb; uint8_t recv_buffer[PACKET_BUFFER_SIZE]; - mutable uint8_t packet_buffer[PACKET_BUFFER_SIZE]; - mutable IP_Address packet_ip; - mutable int packet_port; - mutable int queue_count; + uint8_t packet_buffer[PACKET_BUFFER_SIZE]; + IP_Address packet_ip; + int packet_port; + int queue_count; int sockfd; bool sock_blocking; IP::Type sock_type; @@ -62,7 +64,7 @@ class PacketPeerUDPWinsock : public PacketPeerUDP { public: virtual int get_available_packet_count() const; - virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) const; + virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size); virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size); virtual int get_max_packet_size() const; @@ -82,3 +84,5 @@ public: ~PacketPeerUDPWinsock(); }; #endif // PACKET_PEER_UDP_WINSOCK_H + +#endif diff --git a/platform/windows/stream_peer_winsock.cpp b/drivers/windows/stream_peer_tcp_winsock.cpp index 8b83215325..f4cd38079d 100644 --- a/platform/windows/stream_peer_winsock.cpp +++ b/drivers/windows/stream_peer_tcp_winsock.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* stream_peer_winsock.cpp */ +/* stream_peer_tcp_winsock.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -29,7 +29,7 @@ /*************************************************************************/ #ifdef WINDOWS_ENABLED -#include "stream_peer_winsock.h" +#include "stream_peer_tcp_winsock.h" #include <winsock2.h> #include <ws2tcpip.h> @@ -38,14 +38,14 @@ int winsock_refcount = 0; -StreamPeerTCP *StreamPeerWinsock::_create() { +StreamPeerTCP *StreamPeerTCPWinsock::_create() { - return memnew(StreamPeerWinsock); + return memnew(StreamPeerTCPWinsock); }; -void StreamPeerWinsock::make_default() { +void StreamPeerTCPWinsock::make_default() { - StreamPeerTCP::_create = StreamPeerWinsock::_create; + StreamPeerTCP::_create = StreamPeerTCPWinsock::_create; if (winsock_refcount == 0) { WSADATA data; @@ -54,7 +54,7 @@ void StreamPeerWinsock::make_default() { ++winsock_refcount; }; -void StreamPeerWinsock::cleanup() { +void StreamPeerTCPWinsock::cleanup() { --winsock_refcount; if (winsock_refcount == 0) { @@ -63,7 +63,7 @@ void StreamPeerWinsock::cleanup() { }; }; -Error StreamPeerWinsock::_block(int p_sockfd, bool p_read, bool p_write) const { +Error StreamPeerTCPWinsock::_block(int p_sockfd, bool p_read, bool p_write) const { fd_set read, write; FD_ZERO(&read); @@ -78,7 +78,7 @@ Error StreamPeerWinsock::_block(int p_sockfd, bool p_read, bool p_write) const { return ret < 0 ? FAILED : OK; }; -Error StreamPeerWinsock::_poll_connection() const { +Error StreamPeerTCPWinsock::_poll_connection() const { ERR_FAIL_COND_V(status != STATUS_CONNECTING || sockfd == INVALID_SOCKET, FAILED); @@ -108,7 +108,7 @@ Error StreamPeerWinsock::_poll_connection() const { return OK; }; -Error StreamPeerWinsock::write(const uint8_t *p_data, int p_bytes, int &r_sent, bool p_block) { +Error StreamPeerTCPWinsock::write(const uint8_t *p_data, int p_bytes, int &r_sent, bool p_block) { if (status == STATUS_NONE || status == STATUS_ERROR) { @@ -166,7 +166,7 @@ Error StreamPeerWinsock::write(const uint8_t *p_data, int p_bytes, int &r_sent, return OK; }; -Error StreamPeerWinsock::read(uint8_t *p_buffer, int p_bytes, int &r_received, bool p_block) { +Error StreamPeerTCPWinsock::read(uint8_t *p_buffer, int p_bytes, int &r_received, bool p_block) { if (!is_connected_to_host()) { @@ -224,29 +224,29 @@ Error StreamPeerWinsock::read(uint8_t *p_buffer, int p_bytes, int &r_received, b return OK; }; -Error StreamPeerWinsock::put_data(const uint8_t *p_data, int p_bytes) { +Error StreamPeerTCPWinsock::put_data(const uint8_t *p_data, int p_bytes) { int total; return write(p_data, p_bytes, total, true); }; -Error StreamPeerWinsock::put_partial_data(const uint8_t *p_data, int p_bytes, int &r_sent) { +Error StreamPeerTCPWinsock::put_partial_data(const uint8_t *p_data, int p_bytes, int &r_sent) { return write(p_data, p_bytes, r_sent, false); }; -Error StreamPeerWinsock::get_data(uint8_t *p_buffer, int p_bytes) { +Error StreamPeerTCPWinsock::get_data(uint8_t *p_buffer, int p_bytes) { int total; return read(p_buffer, p_bytes, total, true); }; -Error StreamPeerWinsock::get_partial_data(uint8_t *p_buffer, int p_bytes, int &r_received) { +Error StreamPeerTCPWinsock::get_partial_data(uint8_t *p_buffer, int p_bytes, int &r_received) { return read(p_buffer, p_bytes, r_received, false); }; -StreamPeerTCP::Status StreamPeerWinsock::get_status() const { +StreamPeerTCP::Status StreamPeerTCPWinsock::get_status() const { if (status == STATUS_CONNECTING) { _poll_connection(); @@ -255,7 +255,7 @@ StreamPeerTCP::Status StreamPeerWinsock::get_status() const { return status; }; -bool StreamPeerWinsock::is_connected_to_host() const { +bool StreamPeerTCPWinsock::is_connected_to_host() const { if (status == STATUS_NONE || status == STATUS_ERROR) { @@ -268,7 +268,7 @@ bool StreamPeerWinsock::is_connected_to_host() const { return (sockfd != INVALID_SOCKET); }; -void StreamPeerWinsock::disconnect_from_host() { +void StreamPeerTCPWinsock::disconnect_from_host() { if (sockfd != INVALID_SOCKET) closesocket(sockfd); @@ -281,7 +281,7 @@ void StreamPeerWinsock::disconnect_from_host() { peer_port = 0; }; -void StreamPeerWinsock::set_socket(int p_sockfd, IP_Address p_host, int p_port, IP::Type p_sock_type) { +void StreamPeerTCPWinsock::set_socket(int p_sockfd, IP_Address p_host, int p_port, IP::Type p_sock_type) { sockfd = p_sockfd; sock_type = p_sock_type; @@ -290,7 +290,7 @@ void StreamPeerWinsock::set_socket(int p_sockfd, IP_Address p_host, int p_port, peer_port = p_port; }; -Error StreamPeerWinsock::connect_to_host(const IP_Address &p_host, uint16_t p_port) { +Error StreamPeerTCPWinsock::connect_to_host(const IP_Address &p_host, uint16_t p_port) { ERR_FAIL_COND_V(!p_host.is_valid(), ERR_INVALID_PARAMETER); @@ -331,13 +331,13 @@ Error StreamPeerWinsock::connect_to_host(const IP_Address &p_host, uint16_t p_po return OK; }; -void StreamPeerWinsock::set_nodelay(bool p_enabled) { +void StreamPeerTCPWinsock::set_nodelay(bool p_enabled) { ERR_FAIL_COND(!is_connected_to_host()); int flag = p_enabled ? 1 : 0; setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(int)); } -int StreamPeerWinsock::get_available_bytes() const { +int StreamPeerTCPWinsock::get_available_bytes() const { unsigned long len; int ret = ioctlsocket(sockfd, FIONREAD, &len); @@ -345,17 +345,17 @@ int StreamPeerWinsock::get_available_bytes() const { return len; } -IP_Address StreamPeerWinsock::get_connected_host() const { +IP_Address StreamPeerTCPWinsock::get_connected_host() const { return peer_host; }; -uint16_t StreamPeerWinsock::get_connected_port() const { +uint16_t StreamPeerTCPWinsock::get_connected_port() const { return peer_port; }; -StreamPeerWinsock::StreamPeerWinsock() { +StreamPeerTCPWinsock::StreamPeerTCPWinsock() { sock_type = IP::TYPE_NONE; sockfd = INVALID_SOCKET; @@ -363,7 +363,7 @@ StreamPeerWinsock::StreamPeerWinsock() { peer_port = 0; }; -StreamPeerWinsock::~StreamPeerWinsock() { +StreamPeerTCPWinsock::~StreamPeerTCPWinsock() { disconnect_from_host(); }; diff --git a/platform/windows/stream_peer_winsock.h b/drivers/windows/stream_peer_tcp_winsock.h index 26e2a3e4c9..fef457c43f 100644 --- a/platform/windows/stream_peer_winsock.h +++ b/drivers/windows/stream_peer_tcp_winsock.h @@ -29,15 +29,15 @@ /*************************************************************************/ #ifdef WINDOWS_ENABLED -#ifndef STREAM_PEER_WINSOCK_H -#define STREAM_PEER_WINSOCK_H +#ifndef STREAM_PEER_TCP_WINSOCK_H +#define STREAM_PEER_TCP_WINSOCK_H #include "error_list.h" #include "core/io/ip_address.h" #include "core/io/stream_peer_tcp.h" -class StreamPeerWinsock : public StreamPeerTCP { +class StreamPeerTCPWinsock : public StreamPeerTCP { protected: mutable Status status; @@ -82,10 +82,10 @@ public: virtual void set_nodelay(bool p_enabled); - StreamPeerWinsock(); - ~StreamPeerWinsock(); + StreamPeerTCPWinsock(); + ~StreamPeerTCPWinsock(); }; -#endif // TCP_SOCKET_POSIX_H +#endif // STREAM_PEER_TCP_WINSOCK_H #endif diff --git a/platform/windows/tcp_server_winsock.cpp b/drivers/windows/tcp_server_winsock.cpp index de300befa7..49de279793 100644 --- a/platform/windows/tcp_server_winsock.cpp +++ b/drivers/windows/tcp_server_winsock.cpp @@ -27,9 +27,11 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#ifdef WINDOWS_ENABLED + #include "tcp_server_winsock.h" -#include "stream_peer_winsock.h" +#include "stream_peer_tcp_winsock.h" #include <winsock2.h> #include <ws2tcpip.h> @@ -151,7 +153,7 @@ Ref<StreamPeerTCP> TCPServerWinsock::take_connection() { int fd = accept(listen_sockfd, (struct sockaddr *)&their_addr, &sin_size); ERR_FAIL_COND_V(fd == INVALID_SOCKET, NULL); - Ref<StreamPeerWinsock> conn = memnew(StreamPeerWinsock); + Ref<StreamPeerTCPWinsock> conn = memnew(StreamPeerTCPWinsock); IP_Address ip; int port; _set_ip_addr_port(ip, port, &their_addr); @@ -181,3 +183,5 @@ TCPServerWinsock::~TCPServerWinsock() { stop(); }; + +#endif diff --git a/platform/windows/tcp_server_winsock.h b/drivers/windows/tcp_server_winsock.h index a3e01098ed..fd16480167 100644 --- a/platform/windows/tcp_server_winsock.h +++ b/drivers/windows/tcp_server_winsock.h @@ -27,6 +27,8 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ +#ifdef WINDOWS_ENABLED + #ifndef TCP_SERVER_WINSOCK_H #define TCP_SERVER_WINSOCK_H @@ -54,3 +56,5 @@ public: }; #endif + +#endif diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index 2584d26fc4..e904fd94be 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -267,7 +267,6 @@ void CreateDialog::_update_search() { if (EditorNode::get_editor_data().get_custom_types().has(type) && ClassDB::is_parent_class(type, base_type)) { //there are custom types based on this... cool. - //print_line("there are custom types"); const Vector<EditorData::CustomType> &ct = EditorNode::get_editor_data().get_custom_types()[type]; for (int i = 0; i < ct.size(); i++) { @@ -630,31 +629,40 @@ CreateDialog::CreateDialog() { set_resizable(true); - HSplitContainer *hbc = memnew(HSplitContainer); + HSplitContainer *hsc = memnew(HSplitContainer); + add_child(hsc); - add_child(hbc); + VSplitContainer *vsc = memnew(VSplitContainer); + hsc->add_child(vsc); - VBoxContainer *lvbc = memnew(VBoxContainer); - hbc->add_child(lvbc); - lvbc->set_custom_minimum_size(Size2(150, 0) * EDSCALE); + VBoxContainer *fav_vb = memnew(VBoxContainer); + vsc->add_child(fav_vb); + fav_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + fav_vb->set_v_size_flags(SIZE_EXPAND_FILL); favorites = memnew(Tree); - lvbc->add_margin_child(TTR("Favorites:"), favorites, true); + fav_vb->add_margin_child(TTR("Favorites:"), favorites, true); favorites->set_hide_root(true); favorites->set_hide_folding(true); favorites->connect("cell_selected", this, "_favorite_selected"); favorites->connect("item_activated", this, "_favorite_activated"); favorites->set_drag_forwarding(this); + VBoxContainer *rec_vb = memnew(VBoxContainer); + vsc->add_child(rec_vb); + rec_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + rec_vb->set_v_size_flags(SIZE_EXPAND_FILL); + recent = memnew(Tree); - lvbc->add_margin_child(TTR("Recent:"), recent, true); + rec_vb->add_margin_child(TTR("Recent:"), recent, true); recent->set_hide_root(true); recent->set_hide_folding(true); recent->connect("cell_selected", this, "_history_selected"); recent->connect("item_activated", this, "_history_activated"); VBoxContainer *vbc = memnew(VBoxContainer); - hbc->add_child(vbc); + hsc->add_child(vbc); + vbc->set_custom_minimum_size(Size2(300, 0) * EDSCALE); vbc->set_h_size_flags(SIZE_EXPAND_FILL); HBoxContainer *search_hb = memnew(HBoxContainer); search_box = memnew(LineEdit); @@ -676,7 +684,6 @@ CreateDialog::CreateDialog() { set_hide_on_ok(false); search_options->connect("item_activated", this, "_confirmed"); search_options->connect("cell_selected", this, "_item_selected"); - //search_options->set_hide_root(true); base_type = "Object"; preferred_search_result_type = ""; diff --git a/editor/editor_about.cpp b/editor/editor_about.cpp index 5f026abb6d..6db3c09673 100644 --- a/editor/editor_about.cpp +++ b/editor/editor_about.cpp @@ -145,7 +145,7 @@ EditorAbout::EditorAbout() { List<String> dev_sections; dev_sections.push_back(TTR("Project Founders")); dev_sections.push_back(TTR("Lead Developer")); - dev_sections.push_back(TTR("Project Manager")); + dev_sections.push_back(TTR("Project Manager ")); // " " appended to distinguish between 'project supervisor' and 'project list' dev_sections.push_back(TTR("Developers")); const char **dev_src[] = { dev_founders, dev_lead, dev_manager, dev_names }; tc->add_child(_populate_list(TTR("Authors"), dev_sections, dev_src, 1)); diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp index ae7ed7ce61..2796f776d7 100644 --- a/editor/editor_autoload_settings.cpp +++ b/editor/editor_autoload_settings.cpp @@ -548,34 +548,28 @@ EditorAutoloadSettings::EditorAutoloadSettings() { HBoxContainer *hbc = memnew(HBoxContainer); add_child(hbc); - VBoxContainer *vbc_path = memnew(VBoxContainer); - vbc_path->set_h_size_flags(SIZE_EXPAND_FILL); + Label *l = memnew(Label); + l->set_text(TTR("Path:")); + hbc->add_child(l); autoload_add_path = memnew(EditorLineEditFileChooser); autoload_add_path->set_h_size_flags(SIZE_EXPAND_FILL); - autoload_add_path->get_file_dialog()->set_mode(EditorFileDialog::MODE_OPEN_FILE); autoload_add_path->get_file_dialog()->connect("file_selected", this, "_autoload_file_callback"); + hbc->add_child(autoload_add_path); - vbc_path->add_margin_child(TTR("Path:"), autoload_add_path); - hbc->add_child(vbc_path); - - VBoxContainer *vbc_name = memnew(VBoxContainer); - vbc_name->set_h_size_flags(SIZE_EXPAND_FILL); - - HBoxContainer *hbc_name = memnew(HBoxContainer); + l = memnew(Label); + l->set_text(TTR("Node Name:")); + hbc->add_child(l); autoload_add_name = memnew(LineEdit); autoload_add_name->set_h_size_flags(SIZE_EXPAND_FILL); - hbc_name->add_child(autoload_add_name); + hbc->add_child(autoload_add_name); Button *add_autoload = memnew(Button); add_autoload->set_text(TTR("Add")); - hbc_name->add_child(add_autoload); add_autoload->connect("pressed", this, "_autoload_add"); - - vbc_name->add_margin_child(TTR("Node Name:"), hbc_name); - hbc->add_child(vbc_name); + hbc->add_child(add_autoload); tree = memnew(Tree); tree->set_hide_root(true); @@ -606,5 +600,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() { tree->connect("item_edited", this, "_autoload_edited"); tree->connect("button_pressed", this, "_autoload_button_pressed"); - add_margin_child(TTR("List:"), tree, true); + tree->set_v_size_flags(SIZE_EXPAND_FILL); + + add_child(tree, true); } diff --git a/editor/editor_data.cpp b/editor/editor_data.cpp index 49d55e6305..214b1cac89 100644 --- a/editor/editor_data.cpp +++ b/editor/editor_data.cpp @@ -701,6 +701,15 @@ String EditorData::get_scene_title(int p_idx) const { return name; } +void EditorData::set_scene_path(int p_idx, const String &p_path) { + + ERR_FAIL_INDEX(p_idx, edited_scene.size()); + + if (!edited_scene[p_idx].root) + return; + edited_scene[p_idx].root->set_filename(p_path); +} + String EditorData::get_scene_path(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, edited_scene.size(), String()); diff --git a/editor/editor_data.h b/editor/editor_data.h index 33a4091a65..f15b7e37f1 100644 --- a/editor/editor_data.h +++ b/editor/editor_data.h @@ -185,6 +185,7 @@ public: String get_scene_title(int p_idx) const; String get_scene_path(int p_idx) const; String get_scene_type(int p_idx) const; + void set_scene_path(int p_idx, const String &p_path); Ref<Script> get_scene_root_script(int p_idx) const; void set_edited_scene_version(uint64_t version, int p_scene_idx = -1); uint64_t get_edited_scene_version() const; diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index b330f5d177..1b88a56b75 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -740,7 +740,24 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> & ProjectSettings::CustomMap custom_map; if (path_remaps.size()) { - custom_map["path_remap/remapped_paths"] = path_remaps; + if (1) { //new remap mode, use always as it's friendlier with multiple .pck exports + for (int i = 0; i < path_remaps.size(); i += 2) { + String from = path_remaps[i]; + String to = path_remaps[i + 1]; + String remap_file = "[remap]\n\npath=\"" + to.c_escape() + "\"\n"; + CharString utf8 = remap_file.utf8(); + Vector<uint8_t> new_file; + new_file.resize(utf8.length()); + for (int j = 0; j < utf8.length(); j++) { + new_file[j] = utf8[j]; + } + + p_func(p_udata, from + ".remap", new_file, idx, total); + } + } else { + //old remap mode, will still work, but it's unused because it's not multiple pck export friendly + custom_map["path_remap/remapped_paths"] = path_remaps; + } } // Store icon and splash images directly, they need to bypass the import system and be loaded as images @@ -1288,8 +1305,18 @@ bool EditorExportPlatformPC::can_export(const Ref<EditorExportPreset> &p_preset, return valid; } -String EditorExportPlatformPC::get_binary_extension() const { - return extension; +String EditorExportPlatformPC::get_binary_extension(const Ref<EditorExportPreset> &p_preset) const { + for (Map<String, String>::Element *E = extensions.front(); E; E = E->next()) { + if (p_preset->get(E->key())) { + return extensions[E->key()]; + } + } + + if (extensions.has("default")) { + return extensions["default"]; + } + + return ""; } Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) { @@ -1337,8 +1364,8 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr return save_pack(p_preset, pck_path); } -void EditorExportPlatformPC::set_extension(const String &p_extension) { - extension = p_extension; +void EditorExportPlatformPC::set_extension(const String &p_extension, const String &p_feature_key) { + extensions[p_feature_key] = p_extension; } void EditorExportPlatformPC::set_name(const String &p_name) { diff --git a/editor/editor_export.h b/editor/editor_export.h index 8b1cf4bcff..02b15aff10 100644 --- a/editor/editor_export.h +++ b/editor/editor_export.h @@ -240,7 +240,7 @@ public: virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const = 0; - virtual String get_binary_extension() const = 0; + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const = 0; virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) = 0; virtual void get_platform_features(List<String> *r_features) = 0; @@ -363,7 +363,7 @@ class EditorExportPlatformPC : public EditorExportPlatform { Ref<ImageTexture> logo; String name; String os_name; - String extension; + Map<String, String> extensions; String release_file_32; String release_file_64; @@ -385,10 +385,10 @@ public: virtual Ref<Texture> get_logo() const; virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const; - virtual String get_binary_extension() const; + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const; virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0); - void set_extension(const String &p_extension); + void set_extension(const String &p_extension, const String &p_feature_key = "default"); void set_name(const String &p_name); void set_os_name(const String &p_name); diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index eaa57fa46b..4bf138354d 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -54,7 +54,7 @@ void EditorFileDialog::_notification(int p_what) { if (p_what == NOTIFICATION_ENTER_TREE) { - //_update_icons + // update icons mode_thumbnails->set_icon(get_icon("FileThumbnail", "EditorIcons")); mode_list->set_icon(get_icon("FileList", "EditorIcons")); dir_prev->set_icon(get_icon("Back", "EditorIcons")); @@ -65,7 +65,6 @@ void EditorFileDialog::_notification(int p_what) { fav_up->set_icon(get_icon("MoveUp", "EditorIcons")); fav_down->set_icon(get_icon("MoveDown", "EditorIcons")); - fav_rm->set_icon(get_icon("Remove", "EditorIcons")); } else if (p_what == NOTIFICATION_PROCESS) { @@ -80,10 +79,6 @@ void EditorFileDialog::_notification(int p_what) { preview_wheel_timeout = 0.1; } } - } else if (p_what == NOTIFICATION_DRAW) { - - //RID ci = get_canvas_item(); - //get_stylebox("panel","PopupMenu")->draw(ci,Rect2(Point2(),get_size())); } else if (p_what == NOTIFICATION_POPUP_HIDE) { set_process_unhandled_input(false); @@ -95,7 +90,7 @@ void EditorFileDialog::_notification(int p_what) { set_show_hidden_files(show_hidden); set_display_mode((DisplayMode)EditorSettings::get_singleton()->get("filesystem/file_dialog/display_mode").operator int()); - //_update_icons + // update icons mode_thumbnails->set_icon(get_icon("FileThumbnail", "EditorIcons")); mode_list->set_icon(get_icon("FileList", "EditorIcons")); dir_prev->set_icon(get_icon("Back", "EditorIcons")); @@ -106,9 +101,8 @@ void EditorFileDialog::_notification(int p_what) { fav_up->set_icon(get_icon("MoveUp", "EditorIcons")); fav_down->set_icon(get_icon("MoveDown", "EditorIcons")); - fav_rm->set_icon(get_icon("Remove", "EditorIcons")); - - update_file_list(); + // DO NOT CALL UPDATE FILE LIST HERE, ALL HUNDREDS OF HIDDEN DIALOGS WILL RESPOND, CALL INVALIDATE INSTEAD + invalidate(); } } @@ -260,7 +254,6 @@ void EditorFileDialog::_post_popup() { name = name.get_file() + "/"; } - //print_line("file: "+name); recent->add_item(name, folder); recent->set_item_metadata(recent->get_item_count() - 1, recentd[i]); } @@ -316,7 +309,7 @@ void EditorFileDialog::_request_single_thumbnail(const String &p_path) { return; EditorResourcePreview::get_singleton()->queue_resource_preview(p_path, this, "_thumbnail_done", p_path); - //print_line("want file "+p_path); + set_process(true); preview_waiting = true; preview_wheel_timeout = 0; @@ -376,7 +369,7 @@ void EditorFileDialog::_action_pressed() { bool valid = false; if (filter->get_selected() == filter->get_item_count() - 1) { - valid = true; //match none + valid = true; // match none } else if (filters.size() > 1 && filter->get_selected() == 0) { // match all filters for (int i = 0; i < filters.size(); i++) { @@ -637,6 +630,7 @@ bool EditorFileDialog::_is_open_should_be_disabled() { return false; } +// DO NOT USE THIS FUNCTION UNLESS NEEDED, CALL INVALIDATE() INSTEAD. void EditorFileDialog::update_file_list() { int thumbnail_size = EditorSettings::get_singleton()->get("filesystem/file_dialog/thumbnail_size"); @@ -776,14 +770,12 @@ void EditorFileDialog::update_file_list() { } if (match) { - //TreeItem *ti=tree->create_item(root); - //ti->set_text(0,files.front()->get()); + item_list->add_item(files.front()->get()); if (get_icon_func) { Ref<Texture> icon = get_icon_func(cdir.plus_file(files.front()->get())); - //ti->set_icon(0,icon); if (display_mode == DISPLAY_THUMBNAILS) { item_list->set_item_icon(item_list->get_item_count() - 1, file_thumbnail); @@ -793,11 +785,6 @@ void EditorFileDialog::update_file_list() { } } - if (mode == MODE_OPEN_DIR) { - //disabled mode? - //ti->set_custom_color(0,get_color("files_disabled")); - //ti->set_selectable(0,false); - } Dictionary d; d["name"] = files.front()->get(); d["dir"] = false; @@ -806,7 +793,6 @@ void EditorFileDialog::update_file_list() { EditorResourcePreview::get_singleton()->queue_resource_preview(fullpath, this, "_thumbnail_result", fullpath); } d["path"] = fullpath; - //ti->set_metadata(0,d); item_list->set_item_metadata(item_list->get_item_count() - 1, d); if (file->get_text() == files.front()->get()) @@ -837,11 +823,6 @@ void EditorFileDialog::update_file_list() { break; } } - // ?? - /* - if (tree->get_root() && tree->get_root()->get_children()) - tree->get_root()->get_children()->select(0); - */ files.clear(); } @@ -915,7 +896,6 @@ void EditorFileDialog::set_current_dir(const String &p_dir) { dir_access->change_dir(p_dir); update_dir(); invalidate(); - //_push_history(); } void EditorFileDialog::set_current_file(const String &p_file) { @@ -1190,7 +1170,6 @@ void EditorFileDialog::_update_favorites() { name = name.get_file() + "/"; } - //print_line("file: "+name); favorites->add_item(name, star); favorites->set_item_metadata(favorites->get_item_count() - 1, favorited[i]); @@ -1441,6 +1420,8 @@ bool EditorFileDialog::is_overwrite_warning_disabled() const { EditorFileDialog::EditorFileDialog() { + set_resizable(true); + show_hidden_files = default_show_hidden_files; display_mode = default_display_mode; local_history_pos = 0; @@ -1498,6 +1479,8 @@ EditorFileDialog::EditorFileDialog() { Ref<ButtonGroup> view_mode_group; view_mode_group.instance(); + pathhb->add_child(memnew(VSeparator)); + mode_thumbnails = memnew(ToolButton); mode_thumbnails->connect("pressed", this, "set_display_mode", varray(DISPLAY_THUMBNAILS)); mode_thumbnails->set_toggle_mode(true); @@ -1527,8 +1510,13 @@ EditorFileDialog::EditorFileDialog() { vbc->add_child(list_hb); list_hb->set_v_size_flags(SIZE_EXPAND_FILL); + VSplitContainer *vsc = memnew(VSplitContainer); + list_hb->add_child(vsc); + VBoxContainer *fav_vb = memnew(VBoxContainer); - list_hb->add_child(fav_vb); + vsc->add_child(fav_vb); + fav_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + fav_vb->set_v_size_flags(SIZE_EXPAND_FILL); HBoxContainer *fav_hb = memnew(HBoxContainer); fav_vb->add_child(fav_hb); fav_hb->add_child(memnew(Label(TTR("Favorites:")))); @@ -1539,23 +1527,23 @@ EditorFileDialog::EditorFileDialog() { fav_down = memnew(ToolButton); fav_hb->add_child(fav_down); fav_down->connect("pressed", this, "_favorite_move_down"); - fav_rm = memnew(ToolButton); - fav_hb->add_child(fav_rm); - fav_rm->hide(); // redundant - MarginContainer *fav_mv = memnew(MarginContainer); - fav_vb->add_child(fav_mv); - fav_mv->set_v_size_flags(SIZE_EXPAND_FILL); favorites = memnew(ItemList); - fav_mv->add_child(favorites); + fav_vb->add_child(favorites); + favorites->set_v_size_flags(SIZE_EXPAND_FILL); favorites->connect("item_selected", this, "_favorite_selected"); + VBoxContainer *rec_vb = memnew(VBoxContainer); + vsc->add_child(rec_vb); + rec_vb->set_custom_minimum_size(Size2(150, 100) * EDSCALE); + rec_vb->set_v_size_flags(SIZE_EXPAND_FILL); recent = memnew(ItemList); - fav_vb->add_margin_child(TTR("Recent:"), recent, true); + rec_vb->add_margin_child(TTR("Recent:"), recent, true); recent->connect("item_selected", this, "_recent_selected"); VBoxContainer *item_vb = memnew(VBoxContainer); list_hb->add_child(item_vb); + item_vb->set_custom_minimum_size(Size2(320, 0) * EDSCALE); HBoxContainer *preview_hb = memnew(HBoxContainer); preview_hb->set_v_size_flags(SIZE_EXPAND_FILL); @@ -1598,7 +1586,7 @@ EditorFileDialog::EditorFileDialog() { filter = memnew(OptionButton); filter->set_stretch_ratio(3); filter->set_h_size_flags(SIZE_EXPAND_FILL); - filter->set_clip_text(true); //too many extensions overflow it + filter->set_clip_text(true); // too many extensions overflow it filename_hbc->add_child(filter); filename_hbc->set_h_size_flags(SIZE_EXPAND_FILL); item_vb->add_child(filename_hbc); @@ -1608,7 +1596,6 @@ EditorFileDialog::EditorFileDialog() { _update_drives(); connect("confirmed", this, "_action_pressed"); - //cancel->connect("pressed", this,"_cancel_pressed"); item_list->connect("item_selected", this, "_item_selected", varray(), CONNECT_DEFERRED); item_list->connect("item_activated", this, "_item_db_selected", varray()); item_list->connect("nothing_selected", this, "_items_clear_selection"); @@ -1642,7 +1629,6 @@ EditorFileDialog::EditorFileDialog() { exterr->set_text(TTR("Must use a valid extension.")); add_child(exterr); - //update_file_list(); update_filters(); update_dir(); diff --git a/editor/editor_file_dialog.h b/editor/editor_file_dialog.h index f4a9a174e7..281ded6889 100644 --- a/editor/editor_file_dialog.h +++ b/editor/editor_file_dialog.h @@ -36,6 +36,7 @@ #include "scene/gui/item_list.h" #include "scene/gui/line_edit.h" #include "scene/gui/option_button.h" +#include "scene/gui/separator.h" #include "scene/gui/split_container.h" #include "scene/gui/texture_rect.h" #include "scene/gui/tool_button.h" diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index d462cce908..27a1248089 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -320,7 +320,10 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo List<String> to_check; + String source_file; String source_md5; + Vector<String> dest_files; + String dest_md5; while (true) { @@ -346,8 +349,16 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo for (int i = 0; i < fa.size(); i++) { to_check.push_back(fa[i]); } - } else if (!p_only_imported_files && assign == "source_md5") { - source_md5 = value; + } else if (!p_only_imported_files) { + if (assign == "source_md5") { + source_md5 = value; + } else if (assign == "source_file") { + source_file = value; + } else if (assign == "dest_md5") { + dest_md5 = value; + } else if (assign == "dest_files") { + dest_files = value; + } } } else if (next_tag.name != "remap" && next_tag.name != "deps") { @@ -366,6 +377,11 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo //check source md5 matching if (!p_only_imported_files) { + + if (source_file != String() && source_file != p_path) { + return true; //file was moved, reimport + } + if (source_md5 == String()) { return true; //lacks md5, so just reimport } @@ -374,6 +390,13 @@ bool EditorFileSystem::_test_for_reimport(const String &p_path, bool p_only_impo if (md5 != source_md5) { return true; } + + if (dest_files.size() && dest_md5 != String()) { + md5 = FileAccess::get_multiple_md5(dest_files); + if (md5 != dest_md5) { + return true; + } + } } return false; //nothing changed @@ -1388,6 +1411,8 @@ void EditorFileSystem::_reimport_file(const String &p_file) { f->store_line("type=\"" + importer->get_resource_type() + "\""); } + Vector<String> dest_paths; + if (err == OK) { if (importer->get_save_extension() == "") { @@ -1399,10 +1424,12 @@ void EditorFileSystem::_reimport_file(const String &p_file) { String path = base_path.c_escape() + "." + E->get() + "." + importer->get_save_extension(); f->store_line("path." + E->get() + "=\"" + path + "\""); + dest_paths.push_back(path); } } else { - - f->store_line("path=\"" + base_path + "." + importer->get_save_extension() + "\""); + String path = base_path + "." + importer->get_save_extension(); + f->store_line("path=\"" + path + "\""); + dest_paths.push_back(path); } } else { @@ -1418,6 +1445,7 @@ void EditorFileSystem::_reimport_file(const String &p_file) { Array genf; for (List<String>::Element *E = gen_files.front(); E; E = E->next()) { genf.push_back(E->get()); + dest_paths.push_back(E->get()); } String value; @@ -1426,8 +1454,18 @@ void EditorFileSystem::_reimport_file(const String &p_file) { f->store_line(""); } + f->store_line("source_file=" + Variant(p_file).get_construct_string()); f->store_line("source_md5=\"" + FileAccess::get_md5(p_file) + "\"\n"); + if (dest_paths.size()) { + Array dp; + for (int i = 0; i < dest_paths.size(); i++) { + dp.push_back(dest_paths[i]); + } + f->store_line("dest_files=" + Variant(dp).get_construct_string()); + f->store_line("dest_md5=\"" + FileAccess::get_multiple_md5(dest_paths) + "\"\n"); + } + f->store_line("[params]"); f->store_line(""); diff --git a/editor/editor_fonts.cpp b/editor/editor_fonts.cpp index 8aca007e6b..a76c419152 100644 --- a/editor/editor_fonts.cpp +++ b/editor/editor_fonts.cpp @@ -173,11 +173,12 @@ void editor_register_fonts(Ref<Theme> p_theme) { p_theme->set_font("output_source", "EditorFonts", df_output_code); Ref<DynamicFont> df_text_editor_status_code; - df_output_code.instance(); - df_output_code->set_size(14 * EDSCALE); - df_output_code->set_spacing(DynamicFont::SPACING_TOP, -EDSCALE); - df_output_code->set_spacing(DynamicFont::SPACING_BOTTOM, -EDSCALE); - df_output_code->set_font_data(dfmono); - MAKE_FALLBACKS(df_output_code); - p_theme->set_font("status_source", "EditorFonts", df_output_code); + df_text_editor_status_code.instance(); + df_text_editor_status_code->set_size(14 * EDSCALE); + df_text_editor_status_code->set_spacing(DynamicFont::SPACING_TOP, -EDSCALE); + df_text_editor_status_code->set_spacing(DynamicFont::SPACING_BOTTOM, -EDSCALE); + df_text_editor_status_code->set_font_data(dfmono); + MAKE_FALLBACKS(df_text_editor_status_code); + + p_theme->set_font("status_source", "EditorFonts", df_text_editor_status_code); } diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp index 676b168371..814da4b5f4 100644 --- a/editor/editor_help.cpp +++ b/editor/editor_help.cpp @@ -324,23 +324,14 @@ EditorHelpSearch::EditorHelpSearch() { set_hide_on_ok(false); search_options->connect("item_activated", this, "_confirmed"); set_title(TTR("Search Help")); - - //search_options->set_hide_root(true); } ///////////////////////////////// -//////////////////////////////////// -/// ///////////////////////////////// - void EditorHelpIndex::add_type(const String &p_type, HashMap<String, TreeItem *> &p_types, TreeItem *p_root) { if (p_types.has(p_type)) return; - /* - if (!ClassDB::is_type(p_type,base) || p_type==base) - return; - */ String inherits = EditorHelp::get_doc_data()->class_list[p_type].inherits; @@ -379,8 +370,6 @@ void EditorHelpIndex::_tree_item_selected() { EditorNode::get_singleton()->set_visible_editor(EditorNode::EDITOR_SCRIPT); emit_signal("open_class", s->get_text(0)); hide(); - - //_goto_desc(s->get_text(0)); } void EditorHelpIndex::select_class(const String &p_class) { @@ -518,10 +507,21 @@ EditorHelpIndex::EditorHelpIndex() { ///////////////////////////////// -//////////////////////////////////// -/// ///////////////////////////////// DocData *EditorHelp::doc = NULL; +void EditorHelp::_init_colors() { + + title_color = get_color("accent_color", "Editor"); + 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); + 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); + type_color = get_color("accent_color", "Editor").linear_interpolate(text_color, 0.5); +} + void EditorHelp::_unhandled_key_input(const Ref<InputEvent> &p_ev) { if (!is_visible_in_tree()) @@ -559,9 +559,7 @@ void EditorHelp::_class_list_select(const String &p_select) { void EditorHelp::_class_desc_select(const String &p_select) { - //print_line("LINK: "+p_select); if (p_select.begins_with("$")) { //enum - //_goto_desc(p_select.substr(1,p_select.length())); String select = p_select.substr(1, p_select.length()); String class_name; if (select.find(".") != -1) { @@ -572,7 +570,6 @@ void EditorHelp::_class_desc_select(const String &p_select) { emit_signal("go_to_help", "class_enum:" + class_name + ":" + select); return; } else if (p_select.begins_with("#")) { - //_goto_desc(p_select.substr(1,p_select.length())); emit_signal("go_to_help", "class_name:" + p_select.substr(1, p_select.length())); return; } else if (p_select.begins_with("@")) { @@ -599,7 +596,6 @@ void EditorHelp::_class_desc_select(const String &p_select) { } if (link.find(".") != -1) { - //must go somewhere else emit_signal("go_to_help", topic + ":" + link.get_slice(".", 0) + ":" + link.get_slice(".", 1)); } else { @@ -654,18 +650,95 @@ void EditorHelp::_add_type(const String &p_type, const String &p_enum) { class_desc->pop(); } +void EditorHelp::_add_method(const DocData::MethodDoc &p_method, bool p_overview) { + + method_line[p_method.name] = class_desc->get_line_count() - 2; //gets overridden if description + + const bool is_vararg = p_method.qualifiers.find("vararg") != -1; + + if (p_overview) { + class_desc->push_cell(); + class_desc->push_align(RichTextLabel::ALIGN_RIGHT); + } + + _add_type(p_method.return_type, p_method.return_enum); + + if (p_overview) { + class_desc->pop(); //align + class_desc->pop(); //cell + class_desc->push_cell(); + } else { + class_desc->add_text(" "); + } + + if (p_overview && p_method.description != "") { + class_desc->push_meta("@method" + p_method.name); + } + + class_desc->push_color(headline_color); + _add_text(p_method.name); + class_desc->pop(); + + if (p_overview && p_method.description != "") { + class_desc->pop(); //meta + } + + class_desc->push_color(symbol_color); + class_desc->add_text(p_method.arguments.size() || is_vararg ? "( " : "("); + class_desc->pop(); + + for (int j = 0; j < p_method.arguments.size(); j++) { + class_desc->push_color(text_color); + if (j > 0) + class_desc->add_text(", "); + _add_type(p_method.arguments[j].type, p_method.arguments[j].enumeration); + class_desc->add_text(" "); + _add_text(p_method.arguments[j].name); + if (p_method.arguments[j].default_value != "") { + + class_desc->push_color(symbol_color); + class_desc->add_text("="); + class_desc->pop(); + _add_text(p_method.arguments[j].default_value); + } + + class_desc->pop(); + } + + if (is_vararg) { + class_desc->push_color(text_color); + if (p_method.arguments.size()) + class_desc->add_text(", "); + class_desc->push_color(symbol_color); + class_desc->add_text("..."); + class_desc->pop(); + class_desc->pop(); + } + + class_desc->push_color(symbol_color); + class_desc->add_text(p_method.arguments.size() || is_vararg ? " )" : ")"); + class_desc->pop(); + if (p_method.qualifiers != "") { + + class_desc->push_color(qualifier_color); + class_desc->add_text(" "); + _add_text(p_method.qualifiers); + class_desc->pop(); + } + + if (p_overview) + class_desc->pop(); //cell +} + Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { - //ERR_FAIL_COND(!doc->class_list.has(p_class)); if (!doc->class_list.has(p_class)) return ERR_DOES_NOT_EXIST; - //if (tree_item_map.has(p_class)) { select_locked = true; - //} class_desc->show(); - //tabs->set_current_tab(PAGE_CLASS_DESC); + description_line = 0; if (p_class == edited_class) @@ -677,17 +750,8 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { method_line.clear(); section_line.clear(); edited_class = p_class; - //edited_class->show(); - // Colors - const Color title_color = get_color("accent_color", "Editor"); - const Color text_color = get_color("default_color", "RichTextLabel"); - const Color headline_color = get_color("headline_color", "EditorHelp"); - const Color base_type_color = title_color.linear_interpolate(text_color, 0.5); - const Color comment_color = Color(text_color.r, text_color.g, text_color.b, 0.6); - const Color symbol_color = comment_color; - const Color value_color = Color(text_color.r, text_color.g, text_color.b, 0.4); - const Color qualifier_color = Color(text_color.r, text_color.g, text_color.b, 0.8); + _init_colors(); DocData::ClassDoc cd = doc->class_list[p_class]; //make a copy, so we can sort without worrying @@ -781,7 +845,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); class_desc->pop(); - //class_desc->add_newline(); class_desc->add_newline(); class_desc->push_color(text_color); class_desc->push_font(doc_font); @@ -806,7 +869,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->add_text(TTR("Members:")); class_desc->pop(); class_desc->pop(); - //class_desc->add_newline(); class_desc->push_indent(1); class_desc->push_table(2); @@ -885,85 +947,59 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); class_desc->pop(); - //class_desc->add_newline(); - //class_desc->add_newline(); - class_desc->push_indent(1); class_desc->push_table(2); class_desc->set_table_column_expand(1, 1); - for (int i = 0; i < methods.size(); i++) { - - bool is_vararg = methods[i].qualifiers.find("vararg") != -1; - - method_line[methods[i].name] = class_desc->get_line_count() - 2; //gets overridden if description - - class_desc->push_cell(); - class_desc->push_align(RichTextLabel::ALIGN_RIGHT); - class_desc->push_font(doc_code_font); - _add_type(methods[i].return_type, methods[i].return_enum); - //class_desc->add_text(" "); - class_desc->pop(); //align - class_desc->pop(); //font - class_desc->pop(); //cell + bool any_previous = false; + for (int pass = 0; pass < 2; pass++) { + Vector<DocData::MethodDoc> m; - class_desc->push_cell(); - class_desc->push_font(doc_code_font); + for (int i = 0; i < methods.size(); i++) { + const String &q = methods[i].qualifiers; + if ((pass == 0 && q.find("virtual") != -1) || (pass == 1 && q.find("virtual") == -1)) { + m.push_back(methods[i]); + } + } - if (methods[i].description != "") { - method_descr = true; - class_desc->push_meta("@method" + methods[i].name); + if (any_previous && !m.empty()) { + class_desc->push_cell(); + class_desc->pop(); //cell + class_desc->push_cell(); + class_desc->pop(); //cell + any_previous = false; } - class_desc->push_color(headline_color); - _add_text(methods[i].name); - class_desc->pop(); - if (methods[i].description != "") - class_desc->pop(); // pop meta - class_desc->push_color(symbol_color); - class_desc->add_text(methods[i].arguments.size() || is_vararg ? "( " : "("); - class_desc->pop(); - for (int j = 0; j < methods[i].arguments.size(); j++) { - class_desc->push_color(text_color); - if (j > 0) - class_desc->add_text(", "); - _add_type(methods[i].arguments[j].type, methods[i].arguments[j].enumeration); - class_desc->add_text(" "); - _add_text(methods[i].arguments[j].name); - if (methods[i].arguments[j].default_value != "") { - class_desc->push_color(symbol_color); - class_desc->add_text("="); - class_desc->pop(); - _add_text(methods[i].arguments[j].default_value); + String group_prefix; + for (int i = 0; i < m.size(); i++) { + const String new_prefix = m[i].name.substr(0, 3); + bool is_new_group = false; + + if (i < m.size() - 1 && new_prefix == m[i + 1].name.substr(0, 3) && new_prefix != group_prefix) { + is_new_group = i > 0; + group_prefix = new_prefix; + } else if (group_prefix != "" && new_prefix != group_prefix) { + is_new_group = true; + group_prefix = ""; } - class_desc->pop(); - } - - if (is_vararg) { - class_desc->push_color(text_color); - if (methods[i].arguments.size()) - class_desc->add_text(", "); - class_desc->push_color(symbol_color); - class_desc->add_text("..."); - class_desc->pop(); - class_desc->pop(); - } + if (is_new_group && pass == 1) { + class_desc->push_cell(); + class_desc->pop(); //cell + class_desc->push_cell(); + class_desc->pop(); //cell + } - class_desc->push_color(symbol_color); - class_desc->add_text(methods[i].arguments.size() || is_vararg ? " )" : ")"); - class_desc->pop(); - if (methods[i].qualifiers != "") { + if (m[i].description != "") { + method_descr = true; + } - class_desc->push_color(qualifier_color); - class_desc->add_text(" "); - _add_text(methods[i].qualifiers); - class_desc->pop(); + _add_method(m[i], true); } - class_desc->pop(); //monofont - //class_desc->add_newline(); - class_desc->pop(); //cell + + any_previous = !m.empty(); } + class_desc->pop(); //table class_desc->pop(); class_desc->add_newline(); @@ -1036,7 +1072,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); class_desc->add_newline(); - //class_desc->add_newline(); class_desc->push_indent(1); @@ -1044,8 +1079,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { signal_line[cd.signals[i].name] = class_desc->get_line_count() - 2; //gets overridden if description class_desc->push_font(doc_code_font); // monofont - //_add_type("void"); - //class_desc->add_text(" "); class_desc->push_color(headline_color); _add_text(cd.signals[i].name); class_desc->pop(); @@ -1079,7 +1112,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->push_font(doc_font); class_desc->push_color(comment_color); class_desc->push_indent(1); - // class_desc->add_text(" "); _add_text(cd.signals[i].description); class_desc->pop(); // indent class_desc->pop(); @@ -1123,7 +1155,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->push_indent(1); class_desc->add_newline(); - //class_desc->add_newline(); for (Map<String, Vector<DocData::ConstantDoc> >::Element *E = enums.front(); E; E = E->next()) { @@ -1198,7 +1229,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->push_indent(1); class_desc->add_newline(); - //class_desc->add_newline(); for (int i = 0; i < constants.size(); i++) { @@ -1217,7 +1247,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { if (constants[i].description != "") { class_desc->push_font(doc_font); class_desc->push_indent(1); - //class_desc->add_text(" "); class_desc->push_color(comment_color); _add_text(constants[i].description); class_desc->pop(); @@ -1291,8 +1320,6 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { class_desc->pop(); // font class_desc->pop(); // cell - //class_desc->add_text(" "); - if (cd.properties[i].setter != "") { class_desc->push_cell(); @@ -1366,60 +1393,7 @@ Error EditorHelp::_goto_desc(const String &p_class, int p_vscr) { for (int i = 0; i < methods.size(); i++) { - bool is_vararg = methods[i].qualifiers.find("vararg") != -1; - - method_line[methods[i].name] = class_desc->get_line_count() - 2; - - class_desc->push_font(doc_code_font); - _add_type(methods[i].return_type, methods[i].return_enum); - - class_desc->add_text(" "); - class_desc->push_color(headline_color); - _add_text(methods[i].name); - class_desc->pop(); - class_desc->push_color(symbol_color); - class_desc->add_text(methods[i].arguments.size() || is_vararg ? "( " : "("); - class_desc->pop(); - for (int j = 0; j < methods[i].arguments.size(); j++) { - class_desc->push_color(text_color); - if (j > 0) - class_desc->add_text(", "); - _add_type(methods[i].arguments[j].type, methods[i].arguments[j].enumeration); - class_desc->add_text(" "); - _add_text(methods[i].arguments[j].name); - if (methods[i].arguments[j].default_value != "") { - - class_desc->push_color(symbol_color); - class_desc->add_text("="); - class_desc->pop(); - _add_text(methods[i].arguments[j].default_value); - } - - class_desc->pop(); - } - - if (is_vararg) { - class_desc->push_color(text_color); - if (methods[i].arguments.size()) - class_desc->add_text(", "); - class_desc->push_color(symbol_color); - class_desc->add_text("..."); - class_desc->pop(); - class_desc->pop(); - } - - class_desc->push_color(symbol_color); - class_desc->add_text(methods[i].arguments.size() || is_vararg ? " )" : ")"); - class_desc->pop(); - if (methods[i].qualifiers != "") { - - class_desc->push_color(qualifier_color); - class_desc->add_text(" "); - _add_text(methods[i].qualifiers); - class_desc->pop(); - } - - class_desc->pop(); + _add_method(methods[i], false); class_desc->add_newline(); class_desc->push_color(text_color); @@ -1529,7 +1503,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { } if (brk_pos == bbcode.length()) - break; //nothing else o add + break; //nothing else to add int brk_end = bbcode.find("]", brk_pos + 1); @@ -1725,10 +1699,6 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt) { pos = brk_pos + 1; } } - - /*p_rt->pop(); - p_rt->pop(); - p_rt->pop();*/ } void EditorHelp::_add_text(const String &p_bbcode) { @@ -1753,8 +1723,7 @@ void EditorHelp::_notification(int p_what) { switch (p_what) { case NOTIFICATION_READY: { - //forward->set_icon(get_icon("Forward","EditorIcons")); - //back->set_icon(get_icon("Back","EditorIcons")); + _update_doc(); } break; @@ -1827,7 +1796,6 @@ void EditorHelp::_bind_methods() { ClassDB::bind_method("_class_list_select", &EditorHelp::_class_list_select); ClassDB::bind_method("_class_desc_select", &EditorHelp::_class_desc_select); ClassDB::bind_method("_class_desc_input", &EditorHelp::_class_desc_input); - //ClassDB::bind_method("_button_pressed",&EditorHelp::_button_pressed); ClassDB::bind_method("_request_help", &EditorHelp::_request_help); ClassDB::bind_method("_unhandled_key_input", &EditorHelp::_unhandled_key_input); ClassDB::bind_method("_search", &EditorHelp::_search); @@ -1839,21 +1807,16 @@ void EditorHelp::_bind_methods() { EditorHelp::EditorHelp() { - VBoxContainer *vbc = this; + set_custom_minimum_size(Size2(150 * EDSCALE, 0)); EDITOR_DEF("text_editor/help/sort_functions_alphabetically", true); - //class_list->connect("meta_clicked",this,"_class_list_select"); - //class_list->set_selection_enabled(true); - - { - class_desc = memnew(RichTextLabel); - vbc->add_child(class_desc); - class_desc->set_v_size_flags(SIZE_EXPAND_FILL); - class_desc->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor")); - class_desc->connect("meta_clicked", this, "_class_desc_select"); - class_desc->connect("gui_input", this, "_class_desc_input"); - } + class_desc = memnew(RichTextLabel); + add_child(class_desc); + class_desc->set_v_size_flags(SIZE_EXPAND_FILL); + class_desc->add_color_override("selection_color", get_color("text_editor/theme/selection_color", "Editor")); + class_desc->connect("meta_clicked", this, "_class_desc_select"); + class_desc->connect("gui_input", this, "_class_desc_input"); class_desc->set_selection_enabled(true); @@ -1873,12 +1836,6 @@ EditorHelp::EditorHelp() { search_dialog->get_ok()->set_text(TTR("Find")); search_dialog->connect("confirmed", this, "_search_cbk"); search_dialog->set_hide_on_ok(false); - - /*class_search = memnew( EditorHelpSearch(editor) ); - editor->get_gui_base()->add_child(class_search); - class_search->connect("go_to_help",this,"_help_callback");*/ - - //prev_search_page=-1; } EditorHelp::~EditorHelp() { @@ -1896,9 +1853,9 @@ void EditorHelpBit::_go_to_help(String p_what) { void EditorHelpBit::_meta_clicked(String p_select) { print_line("got meta " + p_select); - //print_line("LINK: "+p_select); + if (p_select.begins_with("$")) { //enum - //_goto_desc(p_select.substr(1,p_select.length())); + String select = p_select.substr(1, p_select.length()); String class_name; if (select.find(".") != -1) { @@ -1909,24 +1866,15 @@ void EditorHelpBit::_meta_clicked(String p_select) { _go_to_help("class_enum:" + class_name + ":" + select); return; } else if (p_select.begins_with("#")) { - //_goto_desc(p_select.substr(1,p_select.length())); + _go_to_help("class_name:" + p_select.substr(1, p_select.length())); return; } else if (p_select.begins_with("@")) { String m = p_select.substr(1, p_select.length()); - if (m.find(".") != -1) { - //must go somewhere else - - _go_to_help("class_method:" + m.get_slice(".", 0) + ":" + m.get_slice(".", 0)); - } else { - /* - if (!method_line.has(m)) - return; - class_desc->scroll_to_line(method_line[m]); - */ - } + if (m.find(".") != -1) + _go_to_help("class_method:" + m.get_slice(".", 0) + ":" + m.get_slice(".", 0)); //must go somewhere else } } diff --git a/editor/editor_help.h b/editor/editor_help.h index a224c7f8ee..96a3309ca3 100644 --- a/editor/editor_help.h +++ b/editor/editor_help.h @@ -139,6 +139,17 @@ class EditorHelp : public VBoxContainer { String base_path; + Color title_color; + Color text_color; + Color headline_color; + Color base_type_color; + Color type_color; + Color comment_color; + Color symbol_color; + Color value_color; + Color qualifier_color; + + void _init_colors(); void _help_callback(const String &p_topic); void _add_text(const String &p_bbcode); @@ -146,6 +157,7 @@ class EditorHelp : public VBoxContainer { //void _button_pressed(int p_idx); void _add_type(const String &p_type, const String &p_enum = String()); + void _add_method(const DocData::MethodDoc &p_method, bool p_overview = true); void _class_list_select(const String &p_select); void _class_desc_select(const String &p_select); diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index cb8407386d..24a737e4af 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -115,7 +115,7 @@ EditorNode *EditorNode::singleton = NULL; void EditorNode::_update_scene_tabs() { - bool show_rb = EditorSettings::get_singleton()->get("interface/editor/show_script_in_scene_tabs"); + bool show_rb = EditorSettings::get_singleton()->get("interface/scene_tabs/show_script_button"); scene_tabs->clear_tabs(); Ref<Texture> script_icon = gui_base->get_icon("Script", "EditorIcons"); @@ -305,7 +305,7 @@ void EditorNode::_notification(int p_what) { } if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) { - scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/editor/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); + scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/scene_tabs/always_show_close_button", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); Ref<Theme> theme = create_editor_theme(theme_base->get_theme()); theme_base->set_theme(theme); @@ -444,15 +444,7 @@ void EditorNode::_fs_changed() { continue; if (E->get()->get_import_path() != String()) { -//this is an imported resource, will be reloaded if reimported via the _resources_reimported() callback -//imported resource -#if 0 - uint64_t mt = FileAccess::get_modified_time(E->get()->get_import_path()); - - if (mt != E->get()->get_import_last_modified_time()) { - changed.push_back(E->get()); - } -#endif + //this is an imported resource, will be reloaded if reimported via the _resources_reimported() callback continue; } @@ -5002,7 +4994,7 @@ EditorNode::EditorNode() { scene_tabs->add_style_override("tab_bg", gui_base->get_stylebox("SceneTabBG", "EditorStyles")); scene_tabs->add_tab("unsaved"); scene_tabs->set_tab_align(Tabs::ALIGN_LEFT); - scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/editor/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); + scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/scene_tabs/always_show_close_button", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY)); scene_tabs->set_min_width(int(EDITOR_DEF("interface/scene_tabs/minimum_width", 50)) * EDSCALE); scene_tabs->connect("tab_changed", this, "_scene_tab_changed"); scene_tabs->connect("right_button_pressed", this, "_scene_tab_script_edited"); @@ -5041,7 +5033,7 @@ EditorNode::EditorNode() { scene_root_parent->set_v_size_flags(Control::SIZE_EXPAND_FILL); scene_root = memnew(Viewport); - scene_root->set_usage(Viewport::USAGE_2D); + //scene_root->set_usage(Viewport::USAGE_2D); canvas BG mode prevents usage of this as 2D scene_root->set_disable_3d(true); VisualServer::get_singleton()->viewport_set_hide_scenario(scene_root->get_viewport_rid(), true); diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index d199b27b83..3bd592e934 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -258,7 +258,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("interface/editor/hidpi_mode", 0); hints["interface/editor/hidpi_mode"] = PropertyInfo(Variant::INT, "interface/editor/hidpi_mode", PROPERTY_HINT_ENUM, "Auto,VeryLoDPI,LoDPI,MidDPI,HiDPI", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); - _initial_set("interface/editor/show_script_in_scene_tabs", false); + _initial_set("interface/scene_tabs/show_script_button", false); _initial_set("interface/editor/font_size", 14); hints["interface/editor/font_size"] = PropertyInfo(Variant::INT, "interface/editor/font_size", PROPERTY_HINT_RANGE, "10,40,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/editor/source_font_size", 14); @@ -307,7 +307,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { hints["filesystem/directories/default_project_path"] = PropertyInfo(Variant::STRING, "filesystem/directories/default_project_path", PROPERTY_HINT_GLOBAL_DIR); _initial_set("filesystem/directories/default_project_export_path", ""); hints["filesystem/directories/default_project_export_path"] = PropertyInfo(Variant::STRING, "filesystem/directories/default_project_export_path", PROPERTY_HINT_GLOBAL_DIR); - _initial_set("interface/editor/show_script_in_scene_tabs", false); + _initial_set("interface/scene_tabs/show_script_button", false); _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"); @@ -351,6 +351,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("text_editor/cursor/caret_blink", true); _initial_set("text_editor/cursor/caret_blink_speed", 0.65); hints["text_editor/cursor/caret_blink_speed"] = PropertyInfo(Variant::REAL, "text_editor/cursor/caret_blink_speed", PROPERTY_HINT_RANGE, "0.1, 10, 0.1"); + _initial_set("text_editor/cursor/right_click_moves_caret", true); _initial_set("text_editor/theme/font", ""); hints["text_editor/theme/font"] = PropertyInfo(Variant::STRING, "text_editor/theme/font", PROPERTY_HINT_GLOBAL_FILE, "*.font,*.tres,*.res"); diff --git a/editor/editor_sub_scene.cpp b/editor/editor_sub_scene.cpp index b81dfd3f46..fad9346b38 100644 --- a/editor/editor_sub_scene.cpp +++ b/editor/editor_sub_scene.cpp @@ -96,14 +96,54 @@ void EditorSubScene::_fill_tree(Node *p_node, TreeItem *p_parent) { } } -void EditorSubScene::ok_pressed() { +void EditorSubScene::_selected_changed() { + selection.clear(); + is_root = false; +} - TreeItem *s = tree->get_selected(); - if (!s) - return; - Node *selnode = s->get_metadata(0); - if (!selnode) +void EditorSubScene::_item_multi_selected(Object *p_object, int p_cell, bool p_selected) { + if (!is_root) { + TreeItem *item = Object::cast_to<TreeItem>(p_object); + ERR_FAIL_COND(!item); + + Node *n = item->get_metadata(0); + + if (!n) + return; + if (p_selected) { + if (n == scene) { + is_root = true; + selection.clear(); + } + selection.push_back(n); + } + } +} + +void EditorSubScene::_remove_selection_child(Node *n) { + if (n->get_child_count() > 0) { + for (int i = 0; i < n->get_child_count(); i++) { + Node *c = n->get_child(i); + List<Node *>::Element *E = selection.find(c); + if (E) { + selection.move_to_back(E); + selection.pop_back(); + } + if (c->get_child_count() > 0) { + _remove_selection_child(c); + } + } + } +} + +void EditorSubScene::ok_pressed() { + if (selection.size() <= 0) { return; + } + for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + Node *c = E->get(); + _remove_selection_child(c); + } emit_signal("subscene_selected"); hide(); clear(); @@ -127,37 +167,34 @@ void EditorSubScene::_reown(Node *p_node, List<Node *> *p_to_reown) { } void EditorSubScene::move(Node *p_new_parent, Node *p_new_owner) { - if (!scene) { return; } - TreeItem *s = tree->get_selected(); - if (!s) { - return; - } - Node *selnode = s->get_metadata(0); - if (!selnode) { + if (selection.size() <= 0) { return; } - List<Node *> to_reown; - _reown(selnode, &to_reown); - - if (selnode != scene) { - selnode->get_parent()->remove_child(selnode); - } + for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + Node *selnode = E->get(); + if (!selnode) { + return; + } + List<Node *> to_reown; + _reown(selnode, &to_reown); + if (selnode != scene) { + selnode->get_parent()->remove_child(selnode); + } - p_new_parent->add_child(selnode); - for (List<Node *>::Element *E = to_reown.front(); E; E = E->next()) { - E->get()->set_owner(p_new_owner); + p_new_parent->add_child(selnode); + for (List<Node *>::Element *E = to_reown.front(); E; E = E->next()) { + E->get()->set_owner(p_new_owner); + } } - - if (selnode != scene) { + if (!is_root) { memdelete(scene); } scene = NULL; - //return selnode; } @@ -172,12 +209,15 @@ void EditorSubScene::_bind_methods() { ClassDB::bind_method(D_METHOD("_path_selected"), &EditorSubScene::_path_selected); ClassDB::bind_method(D_METHOD("_path_changed"), &EditorSubScene::_path_changed); ClassDB::bind_method(D_METHOD("_path_browse"), &EditorSubScene::_path_browse); + ClassDB::bind_method(D_METHOD("_item_multi_selected"), &EditorSubScene::_item_multi_selected); + ClassDB::bind_method(D_METHOD("_selected_changed"), &EditorSubScene::_selected_changed); ADD_SIGNAL(MethodInfo("subscene_selected")); } EditorSubScene::EditorSubScene() { scene = NULL; + is_root = false; set_title(TTR("Select Node(s) to Import")); set_hide_on_ok(false); @@ -200,6 +240,11 @@ EditorSubScene::EditorSubScene() { tree = memnew(Tree); tree->set_v_size_flags(SIZE_EXPAND_FILL); vb->add_margin_child(TTR("Import From Node:"), tree, true); + tree->set_select_mode(Tree::SELECT_MULTI); + tree->connect("multi_selected", this, "_item_multi_selected"); + //tree->connect("nothing_selected", this, "_deselect_items"); + tree->connect("cell_selected", this, "_selected_changed"); + tree->connect("item_activated", this, "_ok", make_binds(), CONNECT_DEFERRED); file_dialog = memnew(EditorFileDialog); diff --git a/editor/editor_sub_scene.h b/editor/editor_sub_scene.h index 13ce19bbb2..db9d91018a 100644 --- a/editor/editor_sub_scene.h +++ b/editor/editor_sub_scene.h @@ -38,13 +38,18 @@ class EditorSubScene : public ConfirmationDialog { GDCLASS(EditorSubScene, ConfirmationDialog); + List<Node *> selection; LineEdit *path; Tree *tree; Node *scene; + bool is_root; EditorFileDialog *file_dialog; void _fill_tree(Node *p_node, TreeItem *p_parent); + void _selected_changed(); + void _item_multi_selected(Object *p_object, int p_cell, bool p_selected); + void _remove_selection_child(Node *c); void _reown(Node *p_node, List<Node *> *p_to_reown); void ok_pressed(); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 152eda7d91..5610baa775 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -972,6 +972,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_stylebox("commentfocus", "GraphNode", graphsbcommentselected); theme->set_stylebox("breakpoint", "GraphNode", graphsbbreakpoint); theme->set_stylebox("position", "GraphNode", graphsbposition); + + Color default_node_color = Color(mv2, mv2, mv2); + theme->set_color("title_color", "GraphNode", default_node_color); + default_node_color.a = 0.7; + theme->set_color("close_color", "GraphNode", default_node_color); + theme->set_constant("port_offset", "GraphNode", 14 * EDSCALE); theme->set_constant("title_h_offset", "GraphNode", -16 * EDSCALE); theme->set_constant("close_h_offset", "GraphNode", 20 * EDSCALE); @@ -999,6 +1005,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) { theme->set_icon("bg", "ColorPickerButton", theme->get_icon("GuiMiniCheckerboard", "EditorIcons")); + // Information on 3D viewport + Ref<StyleBoxFlat> style_info_3d_viewport = style_default->duplicate(); + style_info_3d_viewport->set_bg_color(style_info_3d_viewport->get_bg_color() * Color(1, 1, 1, 0.5)); + style_info_3d_viewport->set_border_width_all(0); + theme->set_stylebox("Information3dViewport", "EditorStyles", style_info_3d_viewport); + // adaptive script theme constants // for comments and elements with lower relevance const Color dim_color = Color(font_color.r, font_color.g, font_color.b, 0.5); diff --git a/editor/export_template_manager.cpp b/editor/export_template_manager.cpp index cdb7256329..a72769b222 100644 --- a/editor/export_template_manager.cpp +++ b/editor/export_template_manager.cpp @@ -176,7 +176,7 @@ void ExportTemplateManager::_uninstall_template_confirm() { _update_template_list(); } -void ExportTemplateManager::_install_from_file(const String &p_file) { +void ExportTemplateManager::_install_from_file(const String &p_file, bool p_use_progress) { FileAccess *fa = NULL; zlib_filefunc_def io = zipio_create_io_from_file(&fa); @@ -259,7 +259,10 @@ void ExportTemplateManager::_install_from_file(const String &p_file) { ret = unzGoToFirstFile(pkg); - EditorProgress p("ltask", TTR("Extracting Export Templates"), fc); + EditorProgress *p = NULL; + if (p_use_progress) { + p = memnew(EditorProgress("ltask", TTR("Extracting Export Templates"), fc)); + } fc = 0; @@ -270,7 +273,7 @@ void ExportTemplateManager::_install_from_file(const String &p_file) { char fname[16384]; unzGetCurrentFileInfo(pkg, &info, fname, 16384, NULL, 0, NULL, 0); - String file = fname; + String file = String(fname).get_file(); Vector<uint8_t> data; data.resize(info.uncompressed_size); @@ -280,20 +283,18 @@ void ExportTemplateManager::_install_from_file(const String &p_file) { unzReadCurrentFile(pkg, data.ptrw(), data.size()); unzCloseCurrentFile(pkg); - print_line(fname); - /* - for(int i=0;i<512;i++) { - print_line(itos(data[i])); + if (p) { + p->step(TTR("Importing:") + " " + file, fc); } - */ - - file = file.get_file(); - - p.step(TTR("Importing:") + " " + file, fc); FileAccess *f = FileAccess::open(template_path.plus_file(file), FileAccess::WRITE); - ERR_CONTINUE(!f); + if (!f) { + ret = unzGoToNextFile(pkg); + fc++; + ERR_CONTINUE(!f); + } + f->store_buffer(data.ptr(), data.size()); memdelete(f); @@ -302,6 +303,10 @@ void ExportTemplateManager::_install_from_file(const String &p_file) { fc++; } + if (p) { + memdelete(p); + } + unzClose(pkg); _update_template_list(); @@ -405,7 +410,7 @@ void ExportTemplateManager::_http_download_templates_completed(int p_status, int memdelete(f); template_list_state->set_text(TTR("Download Complete.")); template_downloader->hide(); - _install_from_file(path); + _install_from_file(path, false); } } } break; @@ -547,7 +552,7 @@ ExportTemplateManager::ExportTemplateManager() { template_open->add_filter("*.tpz ; Godot Export Templates"); template_open->set_access(FileDialog::ACCESS_FILESYSTEM); template_open->set_mode(FileDialog::MODE_OPEN_FILE); - template_open->connect("file_selected", this, "_install_from_file"); + template_open->connect("file_selected", this, "_install_from_file", varray(true)); add_child(template_open); set_title(TTR("Export Template Manager")); diff --git a/editor/export_template_manager.h b/editor/export_template_manager.h index 644c6b466b..36093da66a 100644 --- a/editor/export_template_manager.h +++ b/editor/export_template_manager.h @@ -69,7 +69,7 @@ class ExportTemplateManager : public ConfirmationDialog { void _uninstall_template_confirm(); virtual void ok_pressed(); - void _install_from_file(const String &p_file); + void _install_from_file(const String &p_file, bool p_use_progress = true); void _http_download_mirror_completed(int p_status, int p_code, const PoolStringArray &headers, const PoolByteArray &p_data); void _http_download_templates_completed(int p_status, int p_code, const PoolStringArray &headers, const PoolByteArray &p_data); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 9ece36ea80..dce5a10d67 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -129,6 +129,7 @@ void FileSystemDock::_update_tree(bool keep_collapse_state) { } _create_tree(root, EditorFileSystem::get_singleton()->get_filesystem(), uncollapsed_paths); + tree->ensure_cursor_is_visible(); updating_tree = false; } @@ -146,7 +147,7 @@ void FileSystemDock::_notification(int p_what) { if (low_height_mode) { - file_list_vb->hide(); + tree->hide(); tree->set_v_size_flags(SIZE_EXPAND_FILL); button_tree->show(); } else { @@ -157,6 +158,7 @@ void FileSystemDock::_notification(int p_what) { button_favorite->show(); _update_tree(true); } + tree->ensure_cursor_is_visible(); if (!file_list_vb->is_visible()) { file_list_vb->show(); @@ -344,11 +346,7 @@ void FileSystemDock::navigate_to_path(const String &p_path) { _update_tree(true); _update_files(false); } else { - if (file_name.empty()) { - _go_to_tree(); - } else { - _go_to_file_list(); - } + _go_to_file_list(); } if (!file_name.empty()) { @@ -590,10 +588,7 @@ void FileSystemDock::_select_file(int p_idx) { if (fpath != "res://") { fpath = fpath.substr(0, fpath.length() - 1); } - path = fpath; - _update_files(false); - current_path->set_text(path); - _push_to_history(); + navigate_to_path(fpath); } else { if (ResourceLoader::get_resource_type(fpath) == "PackedScene") { editor->open_request(fpath); @@ -839,6 +834,58 @@ void FileSystemDock::_try_duplicate_item(const FileOrFolder &p_item, const Strin memdelete(da); } +void FileSystemDock::_update_resource_paths_after_move(const Map<String, String> &p_renames) const { + + //Rename all resources loaded, be it subresources or actual resources + List<Ref<Resource> > cached; + ResourceCache::get_cached_resources(&cached); + + for (List<Ref<Resource> >::Element *E = cached.front(); E; E = E->next()) { + + Ref<Resource> r = E->get(); + + String base_path = r->get_path(); + String extra_path; + int sep_pos = r->get_path().find("::"); + if (sep_pos >= 0) { + extra_path = base_path.substr(sep_pos, base_path.length()); + base_path = base_path.substr(0, sep_pos); + } + + if (p_renames.has(base_path)) { + base_path = p_renames[base_path]; + } + + r->set_path(base_path + extra_path); + } + + for (int i = 0; i < EditorNode::get_editor_data().get_edited_scene_count(); i++) { + + String path; + if (i == EditorNode::get_editor_data().get_edited_scene()) { + if (!get_tree()->get_edited_scene_root()) + continue; + + path = get_tree()->get_edited_scene_root()->get_filename(); + } else { + + path = EditorNode::get_editor_data().get_scene_path(i); + } + + if (p_renames.has(path)) { + path = p_renames[path]; + } + + if (i == EditorNode::get_editor_data().get_edited_scene()) { + + get_tree()->get_edited_scene_root()->set_filename(path); + } else { + + EditorNode::get_editor_data().set_scene_path(i, path); + } + } +} + void FileSystemDock::_update_dependencies_after_move(const Map<String, String> &p_renames) const { //The following code assumes that the following holds: // 1) EditorFileSystem contains the old paths/folder structure from before the rename/move. @@ -915,6 +962,7 @@ void FileSystemDock::_rename_operation_confirm() { Map<String, String> renames; _try_move_item(to_rename, new_path, renames); _update_dependencies_after_move(renames); + _update_resource_paths_after_move(renames); //Rescan everything print_line("call rescan!"); @@ -964,6 +1012,8 @@ void FileSystemDock::_move_operation_confirm(const String &p_to_path) { } _update_dependencies_after_move(renames); + _update_resource_paths_after_move(renames); + print_line("call rescan!"); _rescan(); } @@ -1219,6 +1269,9 @@ void FileSystemDock::_go_to_file_list() { tree->hide(); file_list_vb->show(); button_favorite->hide(); + } else { + bool collapsed = tree->get_selected()->is_collapsed(); + tree->get_selected()->set_collapsed(!collapsed); } //file_options->show(); diff --git a/editor/filesystem_dock.h b/editor/filesystem_dock.h index bc8d835ba1..65a71b86e0 100644 --- a/editor/filesystem_dock.h +++ b/editor/filesystem_dock.h @@ -178,6 +178,7 @@ private: void _try_move_item(const FileOrFolder &p_item, const String &p_new_path, Map<String, String> &p_renames) const; void _try_duplicate_item(const FileOrFolder &p_item, const String &p_new_path) const; void _update_dependencies_after_move(const Map<String, String> &p_renames) const; + void _update_resource_paths_after_move(const Map<String, String> &p_renames) const; void _make_dir_confirm(); void _rename_operation_confirm(); diff --git a/editor/icons/SCsub b/editor/icons/SCsub index e28c229a38..0e4a4796ec 100644 --- a/editor/icons/SCsub +++ b/editor/icons/SCsub @@ -49,6 +49,9 @@ def make_editor_icons_action(target, source, env): fname = str(f) icon_name = os.path.basename(fname)[5:-4].title().replace("_", "") + # some special cases + if icon_name in ['Int', 'Bool', 'Float']: + icon_name = icon_name.lower() if icon_name.endswith("MediumThumb"): # dont know a better way to handle this thumb_medium_indices.append(str(index)) if icon_name.endswith("BigThumb"): # dont know a better way to handle this diff --git a/editor/icons/icon_GUI_visibility_hidden.svg b/editor/icons/icon_GUI_visibility_hidden.svg index 61131c77c8..7b7f3c8031 100644 --- a/editor/icons/icon_GUI_visibility_hidden.svg +++ b/editor/icons/icon_GUI_visibility_hidden.svg @@ -1,3 +1,3 @@ <svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<path d="m7.9998 2c-2.5567 0-5.7907 1.9477-6.9551 5.7051a1.0001 1.0001 0 0 0 -0.00586 0.5703c1.1244 3.9354 4.4609 5.7246 6.9609 5.7246s5.8365-1.7892 6.9609-5.7246a1.0001 1.0001 0 0 0 0 -0.5527c-1.1003-3.7876-4.4066-5.7227-6.9609-5.7227zm0 2a4 4 0 0 1 4 4 4 4 0 0 1 -4 4 4 4 0 0 1 -4 -4 4 4 0 0 1 4 -4zm0 2a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2 -2 2 2 0 0 0 -2 -2z" color="#000000" color-rendering="auto" fill="#e0e0e0" fill-opacity=".39216" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/> +<path d="m2.9609 7.7266-1.9219 0.54883c0.31999 1.12 0.8236 2.0593 1.4316 2.8398l-0.83398 0.83398 1.4141 1.4141 0.84375-0.84375c0.98585 0.74762 2.0766 1.2067 3.1055 1.3867v1.0938h2v-1.0938c1.0288-0.17998 2.1196-0.6391 3.1055-1.3867l0.84375 0.84375 1.4141-1.4141-0.83398-0.83398c0.60804-0.78055 1.1117-1.7199 1.4316-2.8398l-1.9219-0.54883c-0.8756 3.0646-3.5391 4.2734-5.0391 4.2734s-4.1635-1.2088-5.0391-4.2734z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#e0e0e0" fill-opacity=".99608" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/> </svg> diff --git a/editor/icons/icon_mini_aabb.svg b/editor/icons/icon_a_a_b_b.svg index 1af05f9b68..1af05f9b68 100644 --- a/editor/icons/icon_mini_aabb.svg +++ b/editor/icons/icon_a_a_b_b.svg diff --git a/editor/icons/icon_mini_array.svg b/editor/icons/icon_array.svg index 4a279bf87b..4a279bf87b 100644 --- a/editor/icons/icon_mini_array.svg +++ b/editor/icons/icon_array.svg diff --git a/editor/icons/icon_basis.svg b/editor/icons/icon_basis.svg new file mode 100644 index 0000000000..e9bee04f56 --- /dev/null +++ b/editor/icons/icon_basis.svg @@ -0,0 +1,4 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 2v8h2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3v-2zm10 0v2h2v-2zm-3 2a2 2 0 0 0 -1.7324 1 2 2 0 0 0 0 2 2 2 0 0 0 1.7324 1h-2v2h2a2 2 0 0 0 1.7324 -1 2 2 0 0 0 0 -2 2 2 0 0 0 -1.7324 -1h2v-2zm7 0a2 2 0 0 0 -1.7324 1 2 2 0 0 0 0 2 2 2 0 0 0 1.7324 1h-2v-2h-2v4h4a2 2 0 0 0 1.7324 -1 2 2 0 0 0 0 -2 2 2 0 0 0 -1.7324 -1h2v-2zm-12 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1z" fill="#e3ec69"/> +<path d="m10 2v2h2v-2zm0 4v4h2v-4z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_bool.svg b/editor/icons/icon_bool.svg new file mode 100644 index 0000000000..c4c919dfca --- /dev/null +++ b/editor/icons/icon_bool.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 2v8h2a3 3 0 0 0 2.5 -1.3457 3 3 0 0 0 2.5 1.3457 3 3 0 0 0 2 -0.76758 3 3 0 0 0 2 0.76758 3 3 0 0 0 2.5 -1.3457 3 3 0 0 0 2.5 1.3457v-2a1 1 0 0 1 -1 -1v-5h-2v2.7695a3 3 0 0 0 -2 -0.76953 3 3 0 0 0 -2 0.76758 3 3 0 0 0 -2 -0.76758 3 3 0 0 0 -2.5 1.3457 3 3 0 0 0 -2.5 -1.3457v-2zm2 4a1 1 0 0 1 1 1 1 1 0 0 1 -1 1zm5 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1zm4 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#8da6f0"/> +</svg> diff --git a/editor/icons/icon_color.svg b/editor/icons/icon_color.svg new file mode 100644 index 0000000000..52c7890e60 --- /dev/null +++ b/editor/icons/icon_color.svg @@ -0,0 +1,7 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<g> +<path d="m4 4a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2z" fill="#ff8484"/> +<path d="m14 4a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v-2z" fill="#84c2ff"/> +<path d="m6 2v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-5z" fill="#84ffb1"/> +</g> +</svg> diff --git a/editor/icons/icon_dictionary.svg b/editor/icons/icon_dictionary.svg new file mode 100644 index 0000000000..b0146bb5d3 --- /dev/null +++ b/editor/icons/icon_dictionary.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m3 2v2a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h2v-8h-2zm3 0v2h2v-2h-2zm7 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2zm-2 2a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1zm-3 3v-1h-2v4h2v-3zm-5-1v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#77edb1"/> +</svg> diff --git a/editor/icons/icon_float.svg b/editor/icons/icon_float.svg new file mode 100644 index 0000000000..4091101fd1 --- /dev/null +++ b/editor/icons/icon_float.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m3 2a3 3 0 0 0 -3 3v5h2v-2h2v-2h-2v-1a1 1 0 0 1 1 -1h1v-2zm3 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-5zm6 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2z" fill="#61daf4"/> +</svg> diff --git a/editor/icons/icon_int.svg b/editor/icons/icon_int.svg new file mode 100644 index 0000000000..e16bb2ec07 --- /dev/null +++ b/editor/icons/icon_int.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m1 2v2h2v-2zm11 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2zm-8 2v6h2v-4h1a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-1zm-3 2v4h2v-4z" fill="#7dc6ef"/> +</svg> diff --git a/editor/icons/icon_kinematic_body.svg b/editor/icons/icon_kinematic_body.svg index 6f8d69fa53..c5f817c68c 100644 --- a/editor/icons/icon_kinematic_body.svg +++ b/editor/icons/icon_kinematic_body.svg @@ -1,5 +1,3 @@ <svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<path transform="translate(0 1036.4)" d="m6 1c-0.55401 0-1 0.44599-1 1v3c0 0.55401 0.44599 1 1 1h1v0.99023a1.0001 1.0001 0 0 0 -0.31641 0.0625l-2.0508 0.68359-0.68359-2.0508a1.0001 1.0001 0 0 0 -0.99023 -0.69727 1.0001 1.0001 0 0 0 -0.9082 1.3281l1 3a1.0001 1.0001 0 0 0 1.2656 0.63281l1.6836-0.56055v0.61133c0 0.040884 0.018715 0.075662 0.023438 0.11523l-4.5781 3.0527a1.0001 1.0001 0 1 0 1.1094 1.6641l5.0566-3.3711 1.4941 2.9863a1.0001 1.0001 0 0 0 1.2109 0.50195l3-1a1.0001 1.0001 0 1 0 -0.63281 -1.8965l-2.1777 0.72461-0.97461-1.9512c0.2759-0.17764 0.46875-0.47227 0.46875-0.82617v-1h1.3828l0.72266 1.4473a1.0001 1.0001 0 1 0 1.7891 -0.89453l-1-2a1.0001 1.0001 0 0 0 -0.89453 -0.55273h-3v-1h1c0.55401 0 1-0.44599 1-1v-3c0-0.55401-0.44599-1-1-1h-4zm0 2h1v2h-1v-2z" fill="#fc9c9c" fill-opacity=".99608"/> -</g> +<path d="m6 1c-0.55401 0-1 0.44599-1 1v3c0 0.55401 0.44599 1 1 1h1v0.99023a1.0001 1.0001 0 0 0 -0.31641 0.0625l-2.0508 0.68359-0.68359-2.0508a1.0001 1.0001 0 0 0 -0.99023 -0.69727 1.0001 1.0001 0 0 0 -0.9082 1.3281l1 3a1.0001 1.0001 0 0 0 1.2656 0.63281l1.6836-0.56055v0.61133c0 0.04088 0.018715 0.07566 0.023437 0.11523l-4.5781 3.0527a1.0001 1.0001 0 1 0 1.1094 1.6641l5.0566-3.3711 1.4941 2.9863a1.0001 1.0001 0 0 0 1.2109 0.50195l3-1a1.0001 1.0001 0 1 0 -0.63281 -1.8965l-2.1777 0.72461-0.97461-1.9512c0.2759-0.17764 0.46875-0.47227 0.46875-0.82617v-1h1.3828l0.72266 1.4473a1.0001 1.0001 0 1 0 1.7891 -0.89453l-1-2a1.0001 1.0001 0 0 0 -0.89453 -0.55273h-3v-1h1c0.55401 0 1-0.44599 1-1v-3c0-0.55401-0.44599-1-1-1zm0 2h1v2h-1z" fill="#fc9c9c" fill-opacity=".99608"/> </svg> diff --git a/editor/icons/icon_kinematic_body_2d.svg b/editor/icons/icon_kinematic_body_2d.svg index 0441e499c0..cac3ac7684 100644 --- a/editor/icons/icon_kinematic_body_2d.svg +++ b/editor/icons/icon_kinematic_body_2d.svg @@ -1,7 +1,3 @@ <svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<g transform="translate(.49212 -.0044019)" fill="#a5b7f3"> -<path transform="translate(0 1036.4)" d="m6 1c-0.55401 0-1 0.44599-1 1v3c0 0.55401 0.44599 1 1 1h1v0.99023a1.0001 1.0001 0 0 0 -0.31641 0.0625l-2.0508 0.68359-0.68359-2.0508a1.0001 1.0001 0 0 0 -0.99023 -0.69727 1.0001 1.0001 0 0 0 -0.9082 1.3281l1 3a1.0001 1.0001 0 0 0 1.2656 0.63281l1.6836-0.56055v0.61133c0 0.04088 0.018715 0.07566 0.023437 0.11523l-4.5781 3.0527a1.0001 1.0001 0 1 0 1.1094 1.6641l5.0566-3.3711 1.4941 2.9863a1.0001 1.0001 0 0 0 1.2109 0.50195l3-1a1.0001 1.0001 0 1 0 -0.63281 -1.8965l-2.1777 0.72461-0.97461-1.9512c0.2759-0.17764 0.46875-0.47227 0.46875-0.82617v-1h1.3828l0.72266 1.4473a1.0001 1.0001 0 1 0 1.7891 -0.89453l-1-2a1.0001 1.0001 0 0 0 -0.89453 -0.55273h-3v-1h1c0.55401 0 1-0.44599 1-1v-3c0-0.55401-0.44599-1-1-1zm0 2h1v2h-1z" fill="#a5b7f3"/> -</g> -</g> +<path d="m6.4921 1c-0.55401 0-1 0.446-1 1v3c0 0.554 0.44599 1 1 1h1v0.9902a1.0001 1.0001 0 0 0 -0.31641 0.062l-2.0508 0.6836-0.68359-2.0508a1.0001 1.0001 0 0 0 -0.99023 -0.6972 1.0001 1.0001 0 0 0 -0.9082 1.3281l1 3a1.0001 1.0001 0 0 0 1.2656 0.6328l1.6836-0.5605v0.6113c0 0.041 0.018715 0.076 0.023437 0.1152l-4.5781 3.0528a1.0001 1.0001 0 1 0 1.1094 1.664l5.0566-3.3711 1.4941 2.9864a1.0001 1.0001 0 0 0 1.2109 0.5019l3-1a1.0001 1.0001 0 1 0 -0.63281 -1.8965l-2.1777 0.7246-0.97461-1.9511c0.2759-0.1777 0.46875-0.4723 0.46875-0.8262v-1h1.3828l0.72266 1.4473a1.0001 1.0001 0 1 0 1.7891 -0.8946l-1-2a1.0001 1.0001 0 0 0 -0.89453 -0.5527h-3v-1h1c0.55401 0 1-0.446 1-1v-3c0-0.554-0.44599-1-1-1zm0 2h1v2h-1z" fill="#a5b7f3"/> </svg> diff --git a/editor/icons/icon_match_case.svg b/editor/icons/icon_match_case.svg new file mode 100644 index 0000000000..2958933aca --- /dev/null +++ b/editor/icons/icon_match_case.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<path d="m4 1c-2.2091-6.6e-7 -4.069 1.7919-4 4v10h2v-4h4v4h2v-10c0-2.2091-1.7909-4-4-4zm5 11c0 1.6569 1.3431 3 3 3 0.3409-0.0014 0.67908-0.0608 1-0.17578v0.17578h2v-6c0-1.6569-1.3431-3-3-3h-1v2h1c0.55228 0 1 0.44772 1 1v0.17383c-0.32104-0.11432-0.65921-0.1731-1-0.17383-1.6569 0-3 1.3431-3 3zm-5-9c1.1046-1e-7 1.914 0.89879 2 2v4h-4v-4c0-1.1046 0.89543-2 2-2zm8 8c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1z" fill="#e0e0e0" stroke-width="0"/> +</svg> diff --git a/editor/icons/icon_member_constant.svg b/editor/icons/icon_member_constant.svg new file mode 100644 index 0000000000..0f8c6966c4 --- /dev/null +++ b/editor/icons/icon_member_constant.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<path d="m10.135 3.002c-1.5244-0.04132-2.9843 0.61528-3.9648 1.7832-1.5607 1.8591-1.5607 4.5706 0 6.4297 1.5599 1.8584 4.229 2.3286 6.3301 1.1152l-1.0039-1.7363c-0.45449 0.26416-0.97042 0.40425-1.4961 0.40625-1.6569 0-3-1.3431-3-3-1e-7 -1.6569 1.3431-3 3-3 0.5255 0.0014061 1.0414 0.14082 1.4961 0.4043l1.0039-1.7344c-0.72056-0.41598-1.5335-0.64557-2.3652-0.66797zm-7.1348 7.998c-0.55228 0-1 0.44772-1 1-1e-7 0.55228 0.44772 1 1 1s1-0.44772 1-1c1e-7 -0.55228-0.44772-1-1-1z" fill="#e0e0e0" stroke-width="0"/> +</svg> diff --git a/editor/icons/icon_member_method.svg b/editor/icons/icon_member_method.svg new file mode 100644 index 0000000000..57c93339b6 --- /dev/null +++ b/editor/icons/icon_member_method.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<path d="m6.0215 3c-0.40133-0.0028518-0.79916 0.074854-1.1699 0.22852-1.1208 0.46444-1.8516 1.5582-1.8516 2.7715v7h2v-3h2v-2h-2v-2c0-0.55228 0.44772-1 1-1 0.2652 4.01e-5 0.51953 0.10542 0.70703 0.29297l1.4141-1.4141c-0.55724-0.5574-1.3115-0.87312-2.0996-0.87891zm2.9785 3c-1.3263 2.6586-1.3404 4.3252 0 7h2c-1.3404-2.6748-1.3263-4.3414 0-7h-2zm4 0c1.3263 2.6586 1.3404 4.3252 0 7h2c1.3404-2.6748 1.3263-4.3414 0-7h-2zm-12 5a1 1 0 0 0 -1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 -1 1 1 0 0 0 -1 -1z" fill="#e0e0e0" stroke-width="0"/> +</svg> diff --git a/editor/icons/icon_member_property.svg b/editor/icons/icon_member_property.svg new file mode 100644 index 0000000000..918d0a64e9 --- /dev/null +++ b/editor/icons/icon_member_property.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<path d="m7 4v9h2v-3h1c1.6569 0 3-1.3431 3-3s-1.3431-3-3-3zm2 2h1c0.55228 0 1 0.44772 1 1s-0.44798 0.98275-1 1h-1zm-5 5c-0.55228 0-1 0.44772-1 1-1e-7 0.55228 0.44772 1 1 1s1-0.44772 1-1c1e-7 -0.55228-0.44772-1-1-1z" fill="#e0e0e0" stroke-width="0"/> +</svg> diff --git a/editor/icons/icon_member_signal.svg b/editor/icons/icon_member_signal.svg new file mode 100644 index 0000000000..2957cbbc50 --- /dev/null +++ b/editor/icons/icon_member_signal.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<path d="m6 1a1 1 0 0 0 -1 1 1 1 0 0 0 1 1c4.4301 0 8 3.5699 8 8a1 1 0 0 0 1 1 1 1 0 0 0 1 -1c0-5.511-4.489-10-10-10zm0 4a1 1 0 0 0 -1 1 1 1 0 0 0 1 1c2.221 0 4 1.779 4 4a1 1 0 0 0 1 1 1 1 0 0 0 1 -1c0-3.3018-2.6981-6-6-6zm0 4a2 2 0 0 0 -2 2 2 2 0 0 0 2 2 2 2 0 0 0 2 -2 2 2 0 0 0 -2 -2zm-5 2c-0.55228 0-1 0.44772-1 1-1e-7 0.55228 0.44772 1 1 1s1-0.44772 1-1c1e-7 -0.55228-0.44772-1-1-1z" fill="#e0e0e0" stroke-width="0"/> +</svg> diff --git a/editor/icons/icon_member_theme.svg b/editor/icons/icon_member_theme.svg new file mode 100644 index 0000000000..880450abae --- /dev/null +++ b/editor/icons/icon_member_theme.svg @@ -0,0 +1,6 @@ +<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> +<g fill="#e0e0e0" stroke-width="0"> +<path d="m3 11c-0.55228 0-1 0.44772-1 1-1e-7 0.55228 0.44772 1 1 1s1-0.44772 1-1c1e-7 -0.55228-0.44772-1-1-1z"/> +<path d="m10 2c-2.4 4-4 4.7909-4 7 0 2.2091 1.8297 4 4 4 2.1703 0 4-1.7909 4-4 0-2.2091-1.6-3-4-7z"/> +</g> +</svg> diff --git a/editor/icons/icon_mini_basis.svg b/editor/icons/icon_mini_basis.svg deleted file mode 100644 index 21b4f29aa4..0000000000 --- a/editor/icons/icon_mini_basis.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 2v4 4h2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3v-2h-2zm10 0v2h2v-2h-2zm-3 2a2 2 0 0 0 -1.7324 1 2 2 0 0 0 0 2 2 2 0 0 0 1.7324 1h-2v2h2a2 2 0 0 0 1.7324 -1 2 2 0 0 0 0 -2 2 2 0 0 0 -1.7324 -1h2v-2h-2zm7 0a2 2 0 0 0 -1.7324 1 2 2 0 0 0 0 2 2 2 0 0 0 1.7324 1h-2v-2h-2v4h2 2a2 2 0 0 0 1.7324 -1 2 2 0 0 0 0 -2 2 2 0 0 0 -1.7324 -1h2v-2h-2zm-12 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2z" fill="#e3ec69"/> -<path d="m10 1042.4v2h2v-2zm0 4v4h2v-4z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_boolean.svg b/editor/icons/icon_mini_boolean.svg deleted file mode 100644 index b1e169d73c..0000000000 --- a/editor/icons/icon_mini_boolean.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 2v4 4h2a3 3 0 0 0 2.5 -1.3457 3 3 0 0 0 2.5 1.3457 3 3 0 0 0 2 -0.76758 3 3 0 0 0 2 0.76758 3 3 0 0 0 2.5 -1.3457 3 3 0 0 0 2.5 1.3457v-2a1 1 0 0 1 -1 -1v-5h-2v2.7695a3 3 0 0 0 -2 -0.76953 3 3 0 0 0 -2 0.76758 3 3 0 0 0 -2 -0.76758 3 3 0 0 0 -2.5 1.3457 3 3 0 0 0 -2.5 -1.3457v-2h-2zm2 4a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2zm5 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1zm4 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#8da6f0"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_color.svg b/editor/icons/icon_mini_color.svg deleted file mode 100644 index 623f922158..0000000000 --- a/editor/icons/icon_mini_color.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m4 4a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1z" fill="#ff8484"/> -<path transform="translate(0 1040.4)" d="m14 4a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v-2h-1z" fill="#84c2ff"/> -<path transform="translate(0 1040.4)" d="m6 2v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-5h-2z" fill="#84ffb1"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_color_array.svg b/editor/icons/icon_mini_color_array.svg deleted file mode 100644 index 2a5588a698..0000000000 --- a/editor/icons/icon_mini_color_array.svg +++ /dev/null @@ -1,14 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<rect y="1050.4" width="4" height="2" fill="#e0e0e0"/> -<rect y="1040.4" width="2" height="12" fill="#e0e0e0"/> -<rect y="1040.4" width="4" height="2" fill="#e0e0e0"/> -<rect transform="scale(-1,1)" x="-16" y="1050.4" width="4" height="2" fill="#e0e0e0"/> -<rect transform="scale(-1,1)" x="-16" y="1040.4" width="2" height="12" fill="#e0e0e0"/> -<rect transform="scale(-1,1)" x="-16" y="1040.4" width="4" height="2" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m6 3.5a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1z" fill="#ff7070"/> -<rect x="10" y="1046.9" width="2" height="3" fill="#70bfff"/> -<path d="m13 1043.9a3 3 0 0 0 -3 3h2a1 1 0 0 1 1 -1v-2z" fill="#70bfff"/> -<path transform="translate(0 1040.4)" d="m7 1.5v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5h-2z" fill="#7aff70"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_dictionary.svg b/editor/icons/icon_mini_dictionary.svg deleted file mode 100644 index 814f27e2f9..0000000000 --- a/editor/icons/icon_mini_dictionary.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m3 2v2a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h2v-8h-2zm3 0v2h2v-2h-2zm7 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2zm-2 2a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1zm-3 3v-1h-2v4h2v-3zm-5-1v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#77edb1"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_float.svg b/editor/icons/icon_mini_float.svg deleted file mode 100644 index 68f09ef07a..0000000000 --- a/editor/icons/icon_mini_float.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m3 2a3 3 0 0 0 -3 3v5h2v-2h2v-2h-2v-1a1 1 0 0 1 1 -1h1v-2h-1zm3 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-5h-2zm6 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2h-2z" fill="#61daf4"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_float_array.svg b/editor/icons/icon_mini_float_array.svg deleted file mode 100644 index 3e3c88cc99..0000000000 --- a/editor/icons/icon_mini_float_array.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 0v2 8 2h4v-2h-2v-8h2v-2h-2-2zm12 0v2h2v8h-2v2h4v-2-10h-4z" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m6 2a3 3 0 0 0 -3 3v5h2v-2h1v-2h-1v-1a1 1 0 0 1 1 -1v-2zm1 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5h-2zm3 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2z" fill="#61daf4"/> -<path d="m7 1042.4v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5h-2z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_int_array.svg b/editor/icons/icon_mini_int_array.svg deleted file mode 100644 index 04957c8d4b..0000000000 --- a/editor/icons/icon_mini_int_array.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 0v2 8 2h2 2v-2h-2v-8h2v-2h-4zm12 0v2h2v8h-2v2h4v-2-8-2h-2-2z" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m3 2v2h2v-2h-2zm2 2v2h-2v4h2 2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-2zm5 3a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2v5z" fill="#7dc6ef"/> -<path transform="translate(0 1040.4)" d="m5 4v6h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-2z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_integer.svg b/editor/icons/icon_mini_integer.svg deleted file mode 100644 index 3bfe95980d..0000000000 --- a/editor/icons/icon_mini_integer.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m1 2v2h2v-2h-2zm11 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2h-2zm-8 2v6h2v-4h1a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-1-2zm-3 2v4h2v-4h-2z" fill="#7dc6ef"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_object.svg b/editor/icons/icon_mini_object.svg index a59808b970..ffac2061c5 100644 --- a/editor/icons/icon_mini_object.svg +++ b/editor/icons/icon_mini_object.svg @@ -1,5 +1,3 @@ <svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m6 2v5 3h2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3v-2h-2zm0 5a3 3 0 0 0 -3 -3 3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3zm7-3v5a1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 3 -3v-5h-2zm-10 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1zm5 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2z" fill="#79f3e8"/> -</g> +<path d="m6 2v8h2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3v-2zm0 5a3 3 0 0 0 -3 -3 3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3zm7-3v5a1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 3 -3v-5zm-10 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1zm5 0a1 1 0 0 1 1 1 1 1 0 0 1 -1 1z" fill="#79f3e8"/> </svg> diff --git a/editor/icons/icon_mini_path.svg b/editor/icons/icon_mini_path.svg deleted file mode 100644 index 4c99ad8cc0..0000000000 --- a/editor/icons/icon_mini_path.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 2v8h2v-2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3h-2zm6 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2h-2zm5 0v8h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3v-2h-2zm-9 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2z" fill="#6993ec"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_plane.svg b/editor/icons/icon_mini_plane.svg deleted file mode 100644 index e02fded99f..0000000000 --- a/editor/icons/icon_mini_plane.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m1 2v8h2v-2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3h-2zm6 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5h-2zm-4 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2zm8 0v6h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-2z" fill="#f77070"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_quat.svg b/editor/icons/icon_mini_quat.svg deleted file mode 100644 index c705fae2b6..0000000000 --- a/editor/icons/icon_mini_quat.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m3 3a3 3 0 0 0 -3 3 3 3 0 0 0 3 3v2h2v-2.7695a3 3 0 0 0 2 0.76953h2v-6h-2v4a1 1 0 0 1 -1 -1v-3h-1-1-1zm0 2v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#ec69a3"/> -<path d="m4 1043.4v3a3 3 0 0 0 3 3h2v-6h-2v4a1 1 0 0 1 -1 -1v-3z" fill="#fff" fill-opacity=".39216"/> -<path transform="translate(0 1040.4)" d="m13 1v2h-2a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h2v-3a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2zm-2 4v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#ec69a3"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_raw_array.svg b/editor/icons/icon_mini_raw_array.svg deleted file mode 100644 index ebd6c9a225..0000000000 --- a/editor/icons/icon_mini_raw_array.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 0v2 8 2h4v-2h-2v-8h2v-2h-2-2zm12 0v2h2v8h-2v2h4v-2-8-2h-2-2z" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m5 3a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v4h2a3 3 0 0 0 1 -0.17578v0.17578h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-1-3h-2v3a1 1 0 0 1 -1 1v-4h-2-1z" fill="#69ec9e"/> -<path d="m6 1049.4v-6h2v4a1 1 0 0 0 1 -1v-3h2v3 1a1 1 0 0 0 1 -1v-3h2v3a3 3 0 0 1 -3 3h-2v-0.1758a3 3 0 0 1 -1 0.1758h-2z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_rect2.svg b/editor/icons/icon_mini_rect2.svg deleted file mode 100644 index 9dec66dfa1..0000000000 --- a/editor/icons/icon_mini_rect2.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m13 2v2h-1a3 3 0 0 0 -2.5 1.3457 3 3 0 0 0 -2.5 -1.3457 3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1h2 1a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v1a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2zm-10 2a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v-2h-1z" fill="#f191a5"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_string.svg b/editor/icons/icon_mini_string.svg deleted file mode 100644 index 17e565cd75..0000000000 --- a/editor/icons/icon_mini_string.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m5 2a3 3 0 0 0 -3 3v2a1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 3 -3v-2a1 1 0 0 1 1 -1h1v-2h-1zm2 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2h-2zm8 2a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v-2h-1z" fill="#6ba7ec"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_string_array.svg b/editor/icons/icon_mini_string_array.svg deleted file mode 100644 index af81cabce4..0000000000 --- a/editor/icons/icon_mini_string_array.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 0v2 8 2h2 2v-2h-2v-8h2v-2h-2-2zm12 0v2h2v8h-2v2h4v-2-10h-4z" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m7 2a3 3 0 0 0 -3 3v2a1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 3 -3v-2a1 1 0 0 1 1 -1h1v3a3 3 0 0 0 3 3h2v-3a1 1 0 0 1 1 -1v-2a3 3 0 0 0 -3 3v1a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2-1z" fill="#6ba7ec"/> -<path d="m8 1042.4v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_transform.svg b/editor/icons/icon_mini_transform.svg deleted file mode 100644 index 53bad91efc..0000000000 --- a/editor/icons/icon_mini_transform.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 2l2 4-2 4h2l0.9082-2.1816 1.0918 2.1816h2l-2-4 2-4h-2l-0.9082 2.1816-1.0918-2.1816h-2zm6 8h2v-2h1v-2h-1v-1a1 1 0 0 1 1 -1h1v-2h-1a3 3 0 0 0 -3 3v5zm4-6v2 2 2h2v-2l1 1 1-1v2h2v-2-2-2h-2l-1 2-1-2h-2z" fill="#f6a86e"/> -<path d="m9 1042.4a3 3 0 0 0 -3 3v5h2v-2h1v-2h-1v-1a1 1 0 0 1 1 -1h1v-2h-1z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_transform2D.svg b/editor/icons/icon_mini_transform2D.svg deleted file mode 100644 index b4723d37c4..0000000000 --- a/editor/icons/icon_mini_transform2D.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 2v2h2v6h2v-6h2v-2h-6zm7 0v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.0019531v0.046875 1.9531h2 3 2a4 4 0 0 0 3.4648 -2 4 4 0 0 0 0 -4 4 4 0 0 0 -3.4648 -2h-2v6h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5zm5 2a2 2 0 0 1 1.7324 1 2 2 0 0 1 0 2 2 2 0 0 1 -1.7324 1v-4z" fill="#c4ec69"/> -<path transform="translate(0 1040.4)" d="m7 2v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.0019531v0.046875 1.9531h2 3v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_variant.svg b/editor/icons/icon_mini_variant.svg deleted file mode 100644 index 4b9a2a5f18..0000000000 --- a/editor/icons/icon_mini_variant.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m3 4a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h2v-6h-2zm3 0v6h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-2zm5 3a3 3 0 0 0 3 3v2h2v-8h-2v4a1 1 0 0 1 -1 -1v-3h-2v3zm-8-1v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#69ecbd"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_vector2.svg b/editor/icons/icon_mini_vector2.svg deleted file mode 100644 index 907e6ba84d..0000000000 --- a/editor/icons/icon_mini_vector2.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m12 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.001953v2h5v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5h-1zm-11 2v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4h-2zm5 3a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1a3 3 0 0 0 -3 3z" fill="#bd91f1"/> -<path transform="translate(0 1040.4)" d="m12 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.001953v2h5v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5h-1z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_vector2_array.svg b/editor/icons/icon_mini_vector2_array.svg deleted file mode 100644 index e05eefc46a..0000000000 --- a/editor/icons/icon_mini_vector2_array.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 0v2 10h2 2v-2h-2v-8h2v-2h-2-2zm12 0v2h2v8h-2v2h4v-2-10h-4z" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m9 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.0019531v0.046875 1.9531h2 3v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5h-1zm-6 1v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4h-2z" fill="#bd91f1"/> -<path d="m9 1042.4v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.00195v0.047 1.9531h2 3v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5001h-1z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_vector3.svg b/editor/icons/icon_mini_vector3.svg deleted file mode 100644 index be1f8ec360..0000000000 --- a/editor/icons/icon_mini_vector3.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m12 2v2h2a1 1 0 0 1 -1 1v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -0.36523 -0.50195 3 3 0 0 0 0.36523 -0.49805 3 3 0 0 0 0.39844 -1.5h0.003906v-2h-4zm-11 2v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4h-2zm5 3a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1a3 3 0 0 0 -3 3z" fill="#e286f0"/> -<path transform="translate(0 1040.4)" d="m12 2v2h2a1 1 0 0 1 -1 1v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -0.36523 -0.50195 3 3 0 0 0 0.36523 -0.49805 3 3 0 0 0 0.39844 -1.5h0.003906v-2h-4z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_mini_vector3_array.svg b/editor/icons/icon_mini_vector3_array.svg deleted file mode 100644 index e2843d2e68..0000000000 --- a/editor/icons/icon_mini_vector3_array.svg +++ /dev/null @@ -1,7 +0,0 @@ -<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1040.4)"> -<path transform="translate(0 1040.4)" d="m0 0v2 8 2h4v-2h-2v-8h2v-2h-2-2zm12 0v2h2v8h-2v2h4v-2-10h-4z" fill="#e0e0e0"/> -<path transform="translate(0 1040.4)" d="m8 1v2h1 1a1 1 0 0 1 -1 1v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -0.36523 -0.50195 3 3 0 0 0 0.36523 -0.49805 3 3 0 0 0 0.39844 -1.5h0.003906v-2h-0.76562-2.2344-1zm0 2h-2v3a1 1 0 0 1 -1 1v-4h-2v6h2a3 3 0 0 0 3 -3v-3z" fill="#e286f0"/> -<path transform="translate(0 1040.4)" d="m8 1v2h1 1a1 1 0 0 1 -1 1v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -0.36523 -0.50195 3 3 0 0 0 0.36523 -0.49805 3 3 0 0 0 0.39844 -1.5h0.003906v-2h-0.76562-2.2344-1z" fill="#fff" fill-opacity=".39216"/> -</g> -</svg> diff --git a/editor/icons/icon_nil.svg b/editor/icons/icon_nil.svg new file mode 100644 index 0000000000..b266161c2b --- /dev/null +++ b/editor/icons/icon_nil.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m8 2v2h2v-2zm4 0v5c0 1.6569 1.3431 3 3 3h1v-2h-1c-0.55228-9.6e-6 -0.99999-0.44772-1-1v-5zm-11 2v6h2v-4h1c0.55228 9.6e-6 0.99999 0.44772 1 1v3h2v-3c0-1.6569-1.3431-3-3-3zm7 2v4h2v-4z" fill="#e0e0e0"/> +</svg> diff --git a/editor/icons/icon_node_path.svg b/editor/icons/icon_node_path.svg new file mode 100644 index 0000000000..1697c026a3 --- /dev/null +++ b/editor/icons/icon_node_path.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 2v8h2v-2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3h-2zm6 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2h-2zm5 0v8h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3v-2h-2zm-9 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2z" fill="#6993ec"/> +</svg> diff --git a/editor/icons/icon_plane.svg b/editor/icons/icon_plane.svg index d0525e13dc..e02fded99f 100644 --- a/editor/icons/icon_plane.svg +++ b/editor/icons/icon_plane.svg @@ -1,5 +1,5 @@ -<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<path d="m1 1044.4 7 3 7-3-7-3z" fill="#e0e0e0" fill-rule="evenodd"/> +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<g transform="translate(0 -1040.4)"> +<path transform="translate(0 1040.4)" d="m1 2v8h2v-2a3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3h-2zm6 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5h-2zm-4 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1v-2zm8 0v6h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3h-2z" fill="#f77070"/> </g> </svg> diff --git a/editor/icons/icon_pool_byte_array.svg b/editor/icons/icon_pool_byte_array.svg new file mode 100644 index 0000000000..29d6bfe4f0 --- /dev/null +++ b/editor/icons/icon_pool_byte_array.svg @@ -0,0 +1,5 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v12h4v-2h-2v-8h2v-2h-2zm12 0v2h2v8h-2v2h4v-12h-2z" fill="#e0e0e0"/> +<path d="m5 3a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v4h2a3 3 0 0 0 1 -0.17578v0.17578h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4h-2v3a1 1 0 0 1 -1 1v-4h-2z" fill="#69ec9e"/> +<path d="m6 9v-6h2v4a1 1 0 0 0 1 -1v-3h2v4a1 1 0 0 0 1 -1v-3h2v3a3 3 0 0 1 -3 3h-2v-0.1758a3 3 0 0 1 -1 0.1758z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_pool_color_array.svg b/editor/icons/icon_pool_color_array.svg new file mode 100644 index 0000000000..dcce58f9c6 --- /dev/null +++ b/editor/icons/icon_pool_color_array.svg @@ -0,0 +1,8 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<g> +<path d="m0 0v12h4v-2h-2v-8h2v-2h-4zm12 0v2h2v8h-2v2h4v-12h-4z" fill="#e0e0e0"/> +<path d="m6 3.5a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2z" fill="#ff7070"/> +<path d="m13 3.5a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1z" fill="#70bfff"/> +<path d="m7 1.5v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5z" fill="#7aff70"/> +</g> +</svg> diff --git a/editor/icons/icon_pool_int_array.svg b/editor/icons/icon_pool_int_array.svg new file mode 100644 index 0000000000..d59f9e1531 --- /dev/null +++ b/editor/icons/icon_pool_int_array.svg @@ -0,0 +1,5 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v12h4v-2h-2v-8h2v-2zm12 0v2h2v8h-2v2h4v-12z" fill="#e0e0e0"/> +<path d="m3 2v2h2v-2zm2 2v2h-2v4h4v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3zm5 3a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2z" fill="#7dc6ef"/> +<path d="m5 4v6h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_pool_real_array.svg b/editor/icons/icon_pool_real_array.svg new file mode 100644 index 0000000000..78a8064611 --- /dev/null +++ b/editor/icons/icon_pool_real_array.svg @@ -0,0 +1,5 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v12h4v-2h-2v-8h2v-2zm12 0v2h2v8h-2v2h4v-12z" fill="#e0e0e0"/> +<path d="m6 2a3 3 0 0 0 -3 3v5h2v-2h1v-2h-1v-1a1 1 0 0 1 1 -1zm1 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5zm3 0v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2z" fill="#61daf4"/> +<path d="m7 2v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-5z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_pool_string_array.svg b/editor/icons/icon_pool_string_array.svg new file mode 100644 index 0000000000..401bfe6145 --- /dev/null +++ b/editor/icons/icon_pool_string_array.svg @@ -0,0 +1,5 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v12h4v-2h-2v-8h2v-2zm12 0v2h2v8h-2v2h4v-12z" fill="#e0e0e0"/> +<path d="m7 2a3 3 0 0 0 -3 3v2a1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 3 -3v-2a1 1 0 0 1 1 -1h1v3a3 3 0 0 0 3 3h2v-3a1 1 0 0 1 1 -1v-2a3 3 0 0 0 -3 3v1a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2h-2z" fill="#6ba7ec"/> +<path d="m8 2v5a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_pool_vector2_array.svg b/editor/icons/icon_pool_vector2_array.svg new file mode 100644 index 0000000000..bb089a26ef --- /dev/null +++ b/editor/icons/icon_pool_vector2_array.svg @@ -0,0 +1,5 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v12h4v-2h-2v-8h2v-2zm12 0v2h2v8h-2v2h4v-12z" fill="#e0e0e0"/> +<path d="m9 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.0019531v2h5v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5zm-6 1v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4z" fill="#bd91f1"/> +<path d="m9 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.00195v2.0001h5v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5001z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_pool_vector3_array.svg b/editor/icons/icon_pool_vector3_array.svg new file mode 100644 index 0000000000..4f69183e30 --- /dev/null +++ b/editor/icons/icon_pool_vector3_array.svg @@ -0,0 +1,5 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v12h4v-2h-2v-8h2v-2zm12 0v2h2v8h-2v2h4v-12z" fill="#e0e0e0"/> +<path d="m8 1v2h2c0 0.55228-0.44772 1-1 1v2c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1h-1v2h1c1.0716-1.501e-4 2.0618-0.57193 2.5977-1.5 0.5359-0.9282 0.5359-2.0718 0-3-0.10406-0.1795-0.22646-0.34772-0.36523-0.50195 0.13856-0.15301 0.26095-0.31991 0.36523-0.49805 0.26209-0.45639 0.3995-0.97371 0.39844-1.5h0.003906v-2zm0 2h-2v3c-9.6e-6 0.55228-0.44772 0.99999-1 1v-4h-2v6h2c1.6569 0 3-1.3431 3-3z" fill="#e286f0"/> +<path d="m8 1v2h2c0 0.55228-0.44772 1-1 1v2c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1h-1v2h1c1.0716-1.501e-4 2.0618-0.57193 2.5977-1.5 0.5359-0.9282 0.5359-2.0718 0-3-0.10406-0.1795-0.22646-0.34772-0.36523-0.50195 0.13856-0.15301 0.26095-0.31991 0.36523-0.49805 0.26209-0.45639 0.3995-0.97371 0.39844-1.5h0.003906v-2z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_quat.svg b/editor/icons/icon_quat.svg index fc99c33aeb..07433920a1 100644 --- a/editor/icons/icon_quat.svg +++ b/editor/icons/icon_quat.svg @@ -1,5 +1,5 @@ -<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<path transform="translate(0 1036.4)" d="m7 1v6h2v-6h-2zm4 2.3906v2.0137a5 2 0 0 1 2 1.5957 5 2 0 0 1 -5 2 5 2 0 0 1 -5 -2 5 2 0 0 1 2 -1.5977v-2.0098a7 4 0 0 0 -4 3.6074 7 4 0 0 0 7 4 7 4 0 0 0 7 -4 7 4 0 0 0 -4 -3.6094zm-4 9.6094v2h2v-2h-2z" fill="#e0e0e0"/> -</g> +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m3 3a3 3 0 0 0 -3 3 3 3 0 0 0 3 3v2h2v-2.7695a3 3 0 0 0 2 0.76953h2v-6h-2v4a1 1 0 0 1 -1 -1v-3h-2zm0 2v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#ec69a3"/> +<path d="m4 3v3a3 3 0 0 0 3 3h2v-6h-2v4a1 1 0 0 1 -1 -1v-3z" fill="#fff" fill-opacity=".39216"/> +<path d="m13 1v2h-2a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h2v-3a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2zm-2 4v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#ec69a3"/> </svg> diff --git a/editor/icons/icon_mini_rid.svg b/editor/icons/icon_r_i_d.svg index f1709a5acc..f1709a5acc 100644 --- a/editor/icons/icon_mini_rid.svg +++ b/editor/icons/icon_r_i_d.svg diff --git a/editor/icons/icon_range.svg b/editor/icons/icon_range.svg deleted file mode 100644 index 4bf0170e55..0000000000 --- a/editor/icons/icon_range.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<path transform="translate(0 1036.4)" d="m1 3v10h2v-4h2v2h2v-2h2v2h2v-2h2v4h2v-10h-2v4h-2v-2h-2v2h-2v-2h-2v2h-2v-4z" fill="#a5efac"/> -</g> -</svg> diff --git a/editor/icons/icon_rect2.svg b/editor/icons/icon_rect2.svg new file mode 100644 index 0000000000..05d1022e5b --- /dev/null +++ b/editor/icons/icon_rect2.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m13 2v2h-1a3 3 0 0 0 -2.5 1.3457 3 3 0 0 0 -2.5 -1.3457 3 3 0 0 0 -3 3 3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1h3a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v1a3 3 0 0 0 3 3v-2a1 1 0 0 1 -1 -1v-1h1v-2h-1v-2zm-10 2a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v-2z" fill="#f191a5"/> +</svg> diff --git a/editor/icons/icon_scroll_bar.svg b/editor/icons/icon_scroll_bar.svg deleted file mode 100644 index c58c31464d..0000000000 --- a/editor/icons/icon_scroll_bar.svg +++ /dev/null @@ -1,5 +0,0 @@ -<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<path transform="translate(0 1036.4)" d="m3 3c-1.1046 0-2 0.89543-2 2v6c0 1.1046 0.89543 2 2 2h10c1.1046 0 2-0.89543 2-2v-6c0-1.1046-0.89543-2-2-2h-10zm0 2h10v6h-10v-6zm1 1v4h4v-4h-4z" fill="#a5efac"/> -</g> -</svg> diff --git a/editor/icons/icon_string.svg b/editor/icons/icon_string.svg new file mode 100644 index 0000000000..6618f3b7f9 --- /dev/null +++ b/editor/icons/icon_string.svg @@ -0,0 +1,3 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m5 2a3 3 0 0 0 -3 3v2a1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 3 -3v-2a1 1 0 0 1 1 -1h1v-2zm2 0v5a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1v-1h2v-2h-2v-2zm8 2a3 3 0 0 0 -3 3v3h2v-3a1 1 0 0 1 1 -1h1v-2z" fill="#6ba7ec"/> +</svg> diff --git a/editor/icons/icon_theme.svg b/editor/icons/icon_theme.svg index 3dfb4aaa00..f44529c4cb 100644 --- a/editor/icons/icon_theme.svg +++ b/editor/icons/icon_theme.svg @@ -1,11 +1,11 @@ <svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<path transform="translate(0 1036.4)" d="m7 1l-0.5 2h3l-0.5-2h-2zm-3.2422 1.3438l-0.65625 0.65625h1.75l-1.0938-0.65625zm8.4844 0l-1.0957 0.65625h1.752l-0.65625-0.65625z" fill="#ff7070"/> -<path transform="translate(0 1036.4)" d="m3.1016 3l-0.75781 0.75781 0.74414 1.2422h9.8242l0.74414-1.2422-0.75781-0.75781h-1.752l-0.89844 0.53906a5 5 0 0 0 -0.68555 -0.28516l-0.0625-0.25391h-3l-0.064453 0.25781a5 5 0 0 0 -0.68945 0.2793l-0.89453-0.53711h-1.75z" fill="#ffeb70"/> -<path transform="translate(0 1036.4)" d="m3.0879 5l0.45117 0.75195a5 5 0 0 0 -0.28516 0.68555l-2.2539 0.5625h5.2695a2 2 0 0 1 1.7305 -1 2 2 0 0 1 1.7285 1h5.2715l-2.2578-0.56445a5 5 0 0 0 -0.2793 -0.6875l0.44922-0.74805h-9.8242z" fill="#9dff70"/> -<path transform="translate(0 1036.4)" d="m1 7v2h5.2715a2 2 0 0 1 -0.27148 -1 2 2 0 0 1 0.26953 -1h-5.2695zm8.7285 0a2 2 0 0 1 0.27148 1 2 2 0 0 1 -0.26953 1h5.2695v-2h-5.2715z" fill="#70ffb9"/> -<path transform="translate(0 1036.4)" d="m1 9l2.2578 0.56445a5 5 0 0 0 0.2793 0.6875l-0.44922 0.74805h9.8242l-0.45117-0.75195a5 5 0 0 0 0.28516 -0.68555l2.2539-0.5625h-5.2695a2 2 0 0 1 -1.7305 1 2 2 0 0 1 -1.7285 -1h-5.2715z" fill="#70deff"/> -<path transform="translate(0 1036.4)" d="m3.1016 13l0.65625 0.65625 1.0957-0.65625h-1.752zm3.3984 0l0.5 2h2l0.5-2h-3zm4.6484 0l1.0938 0.65625 0.65625-0.65625h-1.75z" fill="#ff70ac"/> -<path transform="translate(0 1036.4)" d="m3.0879 11l-0.74414 1.2422 0.75781 0.75781h1.752l0.89844-0.53906a5 5 0 0 0 0.68555 0.28516l0.0625 0.25391h3l0.064453-0.25781a5 5 0 0 0 0.6875 -0.2793l0.89648 0.53711h1.75l0.75781-0.75781-0.74414-1.2422h-9.8242z" fill="#9f70ff"/> +<g transform="translate(0 -1036.4)" stroke-width="0"> +<path transform="translate(0 1036.4)" d="m6.7246 3c-0.52985 0.78935-0.96267 1.4021-1.3945 2h5.3398c-0.43187-0.59786-0.86468-1.2107-1.3945-2h-2.5508z" fill="#ffeb70"/> +<path transform="translate(0 1036.4)" d="m5.3301 5c-0.52617 0.72841-1.0198 1.4208-1.375 2h8.0898c-0.35516-0.57924-0.84883-1.2716-1.375-2h-5.3398z" fill="#9dff70"/> +<path transform="translate(0 1036.4)" d="m3.9551 7c-0.41451 0.67603-0.71534 1.3082-0.85547 2h9.8008c-0.14013-0.69181-0.44096-1.324-0.85547-2h-8.0898z" fill="#70ffb9"/> +<path transform="translate(0 1036.4)" d="m3.0996 9c-0.063989 0.3159-0.099609 0.64498-0.099609 1 0 0.34242 0.034776 0.67693 0.10156 1h9.7969c0.066786-0.32307 0.10156-0.65758 0.10156-1 0-0.35502-0.03562-0.6841-0.099609-1h-9.8008z" fill="#70deff"/> +<path transform="translate(0 1036.4)" d="m3.1016 11c0.15381 0.74405 0.48967 1.4159 0.93555 2h7.9258c0.44588-0.5841 0.78173-1.2559 0.93555-2h-9.7969z" fill="#9f70ff"/> +<path transform="translate(0 1036.4)" d="m4.0371 13c0.9218 1.2076 2.3612 2 3.9629 2s3.0411-0.79243 3.9629-2h-7.9258z" fill="#ff70ac"/> +<path transform="translate(0 1036.4)" d="m8 1c-0.45196 0.75327-0.87224 1.3994-1.2754 2h2.5508c-0.40315-0.6006-0.82343-1.2467-1.2754-2z" fill="#ff7070"/> </g> </svg> diff --git a/editor/icons/icon_transform.svg b/editor/icons/icon_transform.svg new file mode 100644 index 0000000000..7645622c28 --- /dev/null +++ b/editor/icons/icon_transform.svg @@ -0,0 +1,4 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 2 2 4-2 4h2l0.9082-2.1816 1.0918 2.1816h2l-2-4 2-4h-2l-0.9082 2.1816-1.0918-2.1816zm6 8h2v-2h1v-2h-1v-1c9.6e-6 -0.55228 0.44772-0.99999 1-1h1v-2h-1c-1.6569 0-3 1.3431-3 3zm4-6v6h2v-2l1 1 1-1v2h2v-6h-2l-1 2-1-2z" fill="#f6a86e"/> +<path d="m9 2a3 3 0 0 0 -3 3v5h2v-2h1v-2h-1v-1a1 1 0 0 1 1 -1h1v-2z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_transform_2_D.svg b/editor/icons/icon_transform_2_D.svg new file mode 100644 index 0000000000..de05160dac --- /dev/null +++ b/editor/icons/icon_transform_2_D.svg @@ -0,0 +1,4 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 2v2h2v6h2v-6h2v-2zm7 0v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.0019531v2h7a4 4 0 0 0 3.4648 -2 4 4 0 0 0 0 -4 4 4 0 0 0 -3.4648 -2h-2v6h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5zm5 2a2 2 0 0 1 1.7324 1 2 2 0 0 1 0 2 2 2 0 0 1 -1.7324 1z" fill="#c4ec69"/> +<path d="m7 2v2c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1c-0.71466-1.326e-4 -1.3751 0.38108-1.7324 1-0.17472 0.30426-0.26633 0.64914-0.26562 1h-0.0019531v2h5v-2h-3c1.0716-1.5e-4 2.0618-0.57193 2.5977-1.5 0.5359-0.9282 0.5359-2.0718 0-3-0.53582-0.92807-1.526-1.4998-2.5977-1.5z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_variant.svg b/editor/icons/icon_variant.svg index 32f72b1ce6..859578243c 100644 --- a/editor/icons/icon_variant.svg +++ b/editor/icons/icon_variant.svg @@ -1,16 +1,3 @@ -<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(0 -1036.4)"> -<g transform="translate(0,-3)" fill="#e0e0e0"> -<rect x="3" y="1044.4" width="2" height="6"/> -<rect x="6" y="1044.4" width="2" height="6"/> -<rect x="3" y="1044.4" width="1" height="2"/> -<path d="m3 1044.4a3 3 0 0 0 -3 3h2a1 1 0 0 1 1 -1z"/> -<path d="m14 1050.4a3 3 0 0 1 -3 -3h2a1 1 0 0 0 1 1z"/> -<rect transform="scale(1,-1)" x="14" y="-1052.4" width="2" height="8"/> -<rect transform="scale(1,-1)" x="11" y="-1047.4" width="2" height="3"/> -<path d="m3 1050.4a3 3 0 0 1 -3 -3h2a1 1 0 0 0 1 1z"/> -<path d="m8 1044.4a3 3 0 0 1 3 3h-2a1 1 0 0 0 -1 -1z"/> -<rect x="9" y="1047.4" width="2" height="3"/> -</g> -</g> +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m3 4a3 3 0 0 0 -3 3 3 3 0 0 0 3 3h2v-6zm3 0v6h2v-4a1 1 0 0 1 1 1v3h2v-3a3 3 0 0 0 -3 -3zm5 3a3 3 0 0 0 3 3v2h2v-8h-2v4a1 1 0 0 1 -1 -1v-3h-2zm-8-1v2a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1z" fill="#69ecbd"/> </svg> diff --git a/editor/icons/icon_vector2.svg b/editor/icons/icon_vector2.svg new file mode 100644 index 0000000000..9fa798df5d --- /dev/null +++ b/editor/icons/icon_vector2.svg @@ -0,0 +1,4 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m12 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.001953v2h5v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5zm-11 2v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4zm5 3a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1a3 3 0 0 0 -3 3z" fill="#bd91f1"/> +<path d="m12 2v2h1a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 2 2 0 0 0 -1.7324 1 2 2 0 0 0 -0.26562 1h-0.001953v2h5v-2h-3a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -2.5977 -1.5z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/icons/icon_vector3.svg b/editor/icons/icon_vector3.svg new file mode 100644 index 0000000000..cf1d0d0136 --- /dev/null +++ b/editor/icons/icon_vector3.svg @@ -0,0 +1,4 @@ +<svg width="16" height="12" version="1.1" viewBox="0 0 16 12" xmlns="http://www.w3.org/2000/svg"> +<path d="m12 2v2h2a1 1 0 0 1 -1 1v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -0.36523 -0.50195 3 3 0 0 0 0.36523 -0.49805 3 3 0 0 0 0.39844 -1.5h0.003906v-2zm-11 2v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4zm5 3a3 3 0 0 0 3 3h1v-2h-1a1 1 0 0 1 -1 -1 1 1 0 0 1 1 -1h1v-2h-1a3 3 0 0 0 -3 3z" fill="#e286f0"/> +<path d="m12 2v2h2a1 1 0 0 1 -1 1v2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1h-1v2h1a3 3 0 0 0 2.5977 -1.5 3 3 0 0 0 0 -3 3 3 0 0 0 -0.36523 -0.50195 3 3 0 0 0 0.36523 -0.49805 3 3 0 0 0 0.39844 -1.5h0.003906v-2z" fill="#fff" fill-opacity=".39216"/> +</svg> diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index ed7c6dba79..b6e4729352 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -515,127 +515,7 @@ Node *ResourceImporterScene::_fix_node(Node *p_node, Node *p_root, Map<Ref<Array s->set_transform(Transform()); p_node = bv; -#if 0 - } else if (_teststr(name, "room") && Object::cast_to<MeshInstance>(p_node)) { - if (isroot) - return p_node; - - MeshInstance *mi = Object::cast_to<MeshInstance>(p_node); - PoolVector<Face3> faces = mi->get_faces(VisualInstance::FACES_SOLID); - - BSP_Tree bsptree(faces); - - Ref<RoomBounds> area = memnew(RoomBounds); - //area->set_bounds(faces); - //area->set_geometry_hint(faces); - - Room *room = memnew(Room); - room->set_name(_fixstr(name, "room")); - room->set_transform(mi->get_transform()); - room->set_room(area); - - p_node->replace_by(room); - memdelete(p_node); - p_node = room; - - } else if (_teststr(name, "room")) { - - if (isroot) - return p_node; - - Spatial *dummy = Object::cast_to<Spatial>(p_node); - ERR_FAIL_COND_V(!dummy, NULL); - - Room *room = memnew(Room); - room->set_name(_fixstr(name, "room")); - room->set_transform(dummy->get_transform()); - - p_node->replace_by(room); - memdelete(p_node); - p_node = room; - - //room->compute_room_from_subtree(); - - } else if (_teststr(name, "portal") && Object::cast_to<MeshInstance>(p_node)) { - - if (isroot) - return p_node; - - MeshInstance *mi = Object::cast_to<MeshInstance>(p_node); - PoolVector<Face3> faces = mi->get_faces(VisualInstance::FACES_SOLID); - - ERR_FAIL_COND_V(faces.size() == 0, NULL); - //step 1 compute the plane - Set<Vector3> points; - Plane plane; - - Vector3 center; - - for (int i = 0; i < faces.size(); i++) { - - Face3 f = faces.get(i); - Plane p = f.get_plane(); - plane.normal += p.normal; - plane.d += p.d; - - for (int i = 0; i < 3; i++) { - - Vector3 v = f.vertex[i].snapped(Vector3(0.01, 0.01, 0.01)); - if (!points.has(v)) { - points.insert(v); - center += v; - } - } - } - - plane.normal.normalize(); - plane.d /= faces.size(); - center /= points.size(); - - //step 2, create points - - Transform t; - t.basis.from_z(plane.normal); - t.basis.transpose(); - t.origin = center; - - Vector<Point2> portal_points; - - for (Set<Vector3>::Element *E = points.front(); E; E = E->next()) { - - Vector3 local = t.xform_inv(E->get()); - portal_points.push_back(Point2(local.x, local.y)); - } - // step 3 bubbly sort points - - int swaps = 0; - - do { - swaps = 0; - - for (int i = 0; i < portal_points.size() - 1; i++) { - - float a = portal_points[i].angle(); - float b = portal_points[i + 1].angle(); - - if (a > b) { - SWAP(portal_points[i], portal_points[i + 1]); - swaps++; - } - } - - } while (swaps); - - Portal *portal = memnew(Portal); - - portal->set_shape(portal_points); - portal->set_transform(mi->get_transform() * t); - - p_node->replace_by(portal); - memdelete(p_node); - p_node = portal; -#endif } else if (Object::cast_to<MeshInstance>(p_node)) { //last attempt, maybe collision inside the mesh data @@ -969,15 +849,15 @@ void ResourceImporterScene::_find_meshes(Node *p_node, Map<Ref<ArrayMesh>, Trans if (mesh.is_valid() && !meshes.has(mesh)) { Spatial *s = mi; - while (s->get_parent_spatial()) { + Transform transform; + while (s) { + transform = transform * s->get_transform(); s = s->get_parent_spatial(); } - if (s == mi) { - meshes[mesh] = s->get_transform(); - } else { - meshes[mesh] = s->get_transform() * mi->get_relative_transform(s); - } + meshes[mesh] = transform; + + print_line("mesh transform: " + meshes[mesh]); } } for (int i = 0; i < p_node->get_child_count(); i++) { @@ -1157,6 +1037,7 @@ void ResourceImporterScene::get_import_options(List<ImportOption> *r_options, in bool scenes_out = p_preset == PRESET_MULTIPLE_SCENES || p_preset == PRESET_MULTIPLE_SCENES_AND_MATERIALS; bool animations_out = p_preset == PRESET_SEPARATE_ANIMATIONS || p_preset == PRESET_SEPARATE_MESHES_AND_ANIMATIONS || p_preset == PRESET_SEPARATE_MATERIALS_AND_ANIMATIONS || p_preset == PRESET_SEPARATE_MESHES_MATERIALS_AND_ANIMATIONS; + r_options->push_back(ImportOption(PropertyInfo(Variant::REAL, "nodes/root_scale", PROPERTY_HINT_RANGE, "0.001,1000,0.001"), 1.0)); r_options->push_back(ImportOption(PropertyInfo(Variant::STRING, "nodes/custom_script", PROPERTY_HINT_FILE, script_ext_hint), "")); r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "nodes/storage", PROPERTY_HINT_ENUM, "Single Scene,Instanced Sub-Scenes"), scenes_out ? 1 : 0)); r_options->push_back(ImportOption(PropertyInfo(Variant::INT, "materials/location", PROPERTY_HINT_ENUM, "Node,Mesh"), (meshes_out || materials_out) ? 1 : 0)); @@ -1329,6 +1210,11 @@ Error ResourceImporterScene::import(const String &p_source_file, const String &p } } + if (Object::cast_to<Spatial>(scene)) { + float root_scale = p_options["nodes/root_scale"]; + Object::cast_to<Spatial>(scene)->scale(Vector3(root_scale, root_scale, root_scale)); + } + scene->set_name(p_options["nodes/root_name"]); err = OK; diff --git a/editor/plugins/animation_player_editor_plugin.cpp b/editor/plugins/animation_player_editor_plugin.cpp index 019e32f847..d70f41d2e0 100644 --- a/editor/plugins/animation_player_editor_plugin.cpp +++ b/editor/plugins/animation_player_editor_plugin.cpp @@ -1348,14 +1348,14 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() { if (SpatialEditor::get_singleton()->is_visible()) { // 3D spatial_edit_state = SpatialEditor::get_singleton()->get_state(); - Dictionary new_state = spatial_edit_state.copy(); + Dictionary new_state = spatial_edit_state.duplicate(); new_state["show_grid"] = false; new_state["show_origin"] = false; Array orig_vp = spatial_edit_state["viewports"]; Array vp; vp.resize(4); for (int i = 0; i < vp.size(); i++) { - Dictionary d = ((Dictionary)orig_vp[i]).copy(); + Dictionary d = ((Dictionary)orig_vp[i]).duplicate(); d["use_environment"] = false; d["doppler"] = false; d["gizmos"] = onion.include_gizmos ? d["gizmos"] : Variant(false); @@ -1368,7 +1368,7 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() { } else { // CanvasItemEditor // 2D canvas_edit_state = CanvasItemEditor::get_singleton()->get_state(); - Dictionary new_state = canvas_edit_state.copy(); + Dictionary new_state = canvas_edit_state.duplicate(); new_state["show_grid"] = false; new_state["show_rulers"] = false; new_state["show_guides"] = false; diff --git a/editor/plugins/animation_tree_editor_plugin.cpp b/editor/plugins/animation_tree_editor_plugin.cpp index 8fe6538653..0c6c608d3d 100644 --- a/editor/plugins/animation_tree_editor_plugin.cpp +++ b/editor/plugins/animation_tree_editor_plugin.cpp @@ -1435,7 +1435,7 @@ AnimationTreeEditorPlugin::AnimationTreeEditorPlugin(EditorNode *p_node) { anim_tree_editor = memnew(AnimationTreeEditor); anim_tree_editor->set_custom_minimum_size(Size2(0, 300)); - button = editor->add_bottom_panel_item("AnimationTree", anim_tree_editor); + button = editor->add_bottom_panel_item(TTR("AnimationTree"), anim_tree_editor); button->hide(); } diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index ad22c12372..1241441d43 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -3341,8 +3341,8 @@ void CanvasItemEditor::_zoom_on_position(float p_zoom, Point2 p_position) { zoom = p_zoom; Point2 ofs = p_position; ofs = ofs / prev_zoom - ofs / zoom; - h_scroll->set_value(h_scroll->get_value() + ofs.x); - v_scroll->set_value(v_scroll->get_value() + ofs.y); + h_scroll->set_value(Math::round(h_scroll->get_value() + ofs.x)); + v_scroll->set_value(Math::round(v_scroll->get_value() + ofs.y)); _update_scroll(0); viewport->update(); @@ -4100,7 +4100,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { select_button->connect("pressed", this, "_tool_select", make_binds(TOOL_SELECT)); select_button->set_pressed(true); select_button->set_shortcut(ED_SHORTCUT("canvas_item_editor/select_mode", TTR("Select Mode"), KEY_Q)); - select_button->set_tooltip(TTR("Select Mode") + " $sc\n" + keycode_get_string(KEY_MASK_CMD) + TTR("Drag: Rotate") + "\n" + TTR("Alt+Drag: Move") + "\n" + TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).") + "\n" + TTR("Alt+RMB: Depth list selection")); + select_button->set_tooltip(keycode_get_string(KEY_MASK_CMD) + TTR("Drag: Rotate") + "\n" + TTR("Alt+Drag: Move") + "\n" + TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).") + "\n" + TTR("Alt+RMB: Depth list selection")); move_button = memnew(ToolButton); hb->add_child(move_button); @@ -4344,7 +4344,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) { additive_selection = false; // Update the menus checkboxes - call_deferred("set_state", get_state()); + set_state(get_state()); } CanvasItemEditor *CanvasItemEditor::singleton = NULL; diff --git a/editor/plugins/mesh_instance_editor_plugin.h b/editor/plugins/mesh_instance_editor_plugin.h index 68c149f98a..32c779509a 100644 --- a/editor/plugins/mesh_instance_editor_plugin.h +++ b/editor/plugins/mesh_instance_editor_plugin.h @@ -35,9 +35,9 @@ #include "scene/3d/mesh_instance.h" #include "scene/gui/spin_box.h" -class MeshInstanceEditor : public Node { +class MeshInstanceEditor : public Control { - GDCLASS(MeshInstanceEditor, Node); + GDCLASS(MeshInstanceEditor, Control); enum Menu { diff --git a/editor/plugins/resource_preloader_editor_plugin.cpp b/editor/plugins/resource_preloader_editor_plugin.cpp index 3210af1433..88649ca267 100644 --- a/editor/plugins/resource_preloader_editor_plugin.cpp +++ b/editor/plugins/resource_preloader_editor_plugin.cpp @@ -444,7 +444,7 @@ ResourcePreloaderEditorPlugin::ResourcePreloaderEditorPlugin(EditorNode *p_node) preloader_editor = memnew(ResourcePreloaderEditor); preloader_editor->set_custom_minimum_size(Size2(0, 250)); - button = editor->add_bottom_panel_item("ResourcePreloader", preloader_editor); + button = editor->add_bottom_panel_item(TTR("ResourcePreloader"), preloader_editor); button->hide(); //preloader_editor->set_anchor( MARGIN_TOP, Control::ANCHOR_END); diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index c02b3458e5..2f0f21cc0e 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -132,7 +132,7 @@ public: I = I->next(); } - if (O != E) { //should never heppane.. + if (O != E) { //should never happen.. cached.erase(O); } } @@ -234,7 +234,6 @@ ScriptEditorQuickOpen::ScriptEditorQuickOpen() { VBoxContainer *vbc = memnew(VBoxContainer); add_child(vbc); - //set_child_rect(vbc); search_box = memnew(LineEdit); vbc->add_margin_child(TTR("Search:"), search_box); search_box->connect("text_changed", this, "_text_changed"); @@ -257,8 +256,6 @@ ScriptEditor *ScriptEditor::script_editor = NULL; String ScriptEditor::_get_debug_tooltip(const String &p_text, Node *_se) { - //ScriptEditorBase *se=Object::cast_to<ScriptEditorBase>(_se); - String val = debugger->get_var_value(p_text); if (val != String()) { return p_text + ": " + val; @@ -551,8 +548,6 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save) { idx = history[history_pos].control->get_index(); } tab_container->set_current_tab(idx); - - //script_list->select(idx); } _update_history_arrows(); @@ -698,7 +693,6 @@ void ScriptEditor::_reload_scripts() { uint64_t last_date = script->get_last_modified_time(); uint64_t date = FileAccess::get_modified_time(script->get_path()); - //printf("last date: %lli vs date: %lli\n",last_date,date); if (last_date == date) { continue; } @@ -776,7 +770,6 @@ bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) { uint64_t last_date = script->get_last_modified_time(); uint64_t date = FileAccess::get_modified_time(script->get_path()); - //printf("last date: %lli vs date: %lli\n",last_date,date); if (last_date != date) { TreeItem *ti = disk_changed_list->create_item(r); @@ -786,7 +779,6 @@ bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) { need_ask = true; } need_reload = true; - //r->set_metadata(0,); } } } @@ -1205,9 +1197,6 @@ void ScriptEditor::_notification(int p_what) { _update_modified_scripts_for_external_editor(); } break; - case NOTIFICATION_PROCESS: { - } break; - case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { help_search->set_icon(get_icon("HelpSearch", "EditorIcons")); @@ -1329,12 +1318,12 @@ void ScriptEditor::_members_overview_selected(int p_idx) { if (!se) { return; } - Dictionary state; - state["scroll_position"] = members_overview->get_item_metadata(p_idx); + // Go to the member's line and reset the cursor column. We can't just change scroll_position + // directly, since code might be folded. + se->goto_line(members_overview->get_item_metadata(p_idx)); + Dictionary state = se->get_edit_state(); state["column"] = 0; - state["row"] = members_overview->get_item_metadata(p_idx); se->set_edit_state(state); - se->ensure_focus(); } void ScriptEditor::_help_overview_selected(int p_idx) { @@ -1367,18 +1356,9 @@ void ScriptEditor::ensure_select_current() { if (!grab_focus_block && is_visible_in_tree()) se->ensure_focus(); - - //edit_menu->show(); - //search_menu->show(); } EditorHelp *eh = Object::cast_to<EditorHelp>(current); - - if (eh) { - //edit_menu->hide(); - //search_menu->hide(); - //script_search_menu->show(); - } } _update_selected_editor_menu(); @@ -1823,12 +1803,8 @@ void ScriptEditor::save_all_scripts() { if (script.is_valid()) se->apply_code(); - if (script->get_path() != "" && script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) { - //external script, save it - - editor->save_resource(script); - //ResourceSaver::save(script->get_path(),script); - } + if (script->get_path() != "" && script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) + editor->save_resource(script); //external script, save it } _update_script_names(); @@ -1845,6 +1821,11 @@ void ScriptEditor::apply_scripts() const { } } +void ScriptEditor::open_script_create_dialog(const String &p_base_name, const String &p_base_path) { + _menu_option(FILE_NEW); + script_create_dialog->config(p_base_name, p_base_path); +} + void ScriptEditor::_editor_play() { debugger->start(); @@ -1881,7 +1862,6 @@ void ScriptEditor::_editor_stop() { void ScriptEditor::_add_callback(Object *p_obj, const String &p_function, const PoolStringArray &p_args) { - //print_line("add callback! hohoho"); kinda sad to remove this ERR_FAIL_COND(!p_obj); Ref<Script> script = p_obj->get_script(); ERR_FAIL_COND(!script.is_valid()); @@ -1976,8 +1956,6 @@ void ScriptEditor::_script_split_dragged(float) { Variant ScriptEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) { - // return Variant(); // return this if drag disabled - Node *cur_node = tab_container->get_child(tab_container->get_current_tab()); HBoxContainer *drag_preview = memnew(HBoxContainer); @@ -2197,9 +2175,6 @@ void ScriptEditor::_make_script_list_context_menu() { } EditorHelp *eh = Object::cast_to<EditorHelp>(tab_container->get_child(selected)); - if (eh) { - // nothing - } context_menu->add_separator(); context_menu->add_shortcut(ED_GET_SHORTCUT("script_editor/window_move_up"), WINDOW_MOVE_UP); @@ -2542,12 +2517,13 @@ void ScriptEditor::_bind_methods() { ClassDB::bind_method("_script_changed", &ScriptEditor::_script_changed); ClassDB::bind_method("_update_recent_scripts", &ScriptEditor::_update_recent_scripts); - ClassDB::bind_method(D_METHOD("get_drag_data_fw"), &ScriptEditor::get_drag_data_fw); - ClassDB::bind_method(D_METHOD("can_drop_data_fw"), &ScriptEditor::can_drop_data_fw); - ClassDB::bind_method(D_METHOD("drop_data_fw"), &ScriptEditor::drop_data_fw); + ClassDB::bind_method(D_METHOD("get_drag_data_fw", "point", "from"), &ScriptEditor::get_drag_data_fw); + ClassDB::bind_method(D_METHOD("can_drop_data_fw", "point", "data", "from"), &ScriptEditor::can_drop_data_fw); + ClassDB::bind_method(D_METHOD("drop_data_fw", "point", "data", "from"), &ScriptEditor::drop_data_fw); ClassDB::bind_method(D_METHOD("get_current_script"), &ScriptEditor::_get_current_script); ClassDB::bind_method(D_METHOD("get_open_scripts"), &ScriptEditor::_get_open_scripts); + ClassDB::bind_method(D_METHOD("open_script_create_dialog", "base_name", "base_path"), &ScriptEditor::open_script_create_dialog); ADD_SIGNAL(MethodInfo("editor_script_changed", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script"))); ADD_SIGNAL(MethodInfo("script_close", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script"))); @@ -2582,10 +2558,9 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { script_list = memnew(ItemList); list_split->add_child(script_list); - script_list->set_custom_minimum_size(Size2(150 * EDSCALE, 100)); //need to give a bit of limit to avoid it from disappearing + script_list->set_custom_minimum_size(Size2(150 * EDSCALE, 90)); //need to give a bit of limit to avoid it from disappearing script_list->set_v_size_flags(SIZE_EXPAND_FILL); script_split->set_split_offset(140); - //list_split->set_split_offset(500); _sort_list_on_update = true; script_list->connect("gui_input", this, "_script_list_gui_input"); script_list->set_allow_rmb_select(true); @@ -2597,18 +2572,18 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { members_overview = memnew(ItemList); list_split->add_child(members_overview); - members_overview->set_custom_minimum_size(Size2(0, 100)); //need to give a bit of limit to avoid it from disappearing + members_overview->set_custom_minimum_size(Size2(0, 90)); //need to give a bit of limit to avoid it from disappearing members_overview->set_v_size_flags(SIZE_EXPAND_FILL); help_overview = memnew(ItemList); list_split->add_child(help_overview); - help_overview->set_custom_minimum_size(Size2(0, 100)); //need to give a bit of limit to avoid it from disappearing + help_overview->set_custom_minimum_size(Size2(0, 90)); //need to give a bit of limit to avoid it from disappearing help_overview->set_v_size_flags(SIZE_EXPAND_FILL); tab_container = memnew(TabContainer); tab_container->set_tabs_visible(false); + tab_container->set_custom_minimum_size(Size2(200 * EDSCALE, 0)); script_split->add_child(tab_container); - tab_container->set_h_size_flags(SIZE_EXPAND_FILL); ED_SHORTCUT("script_editor/window_sort", TTR("Sort")); @@ -2756,7 +2731,6 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { { VBoxContainer *vbc = memnew(VBoxContainer); disk_changed->add_child(vbc); - //disk_changed->set_child_rect(vbc); Label *dl = memnew(Label); dl->set_text(TTR("The following files are newer on disk.\nWhat action should be taken?:")); diff --git a/editor/plugins/script_editor_plugin.h b/editor/plugins/script_editor_plugin.h index ffd42d18ca..9d5c110dec 100644 --- a/editor/plugins/script_editor_plugin.h +++ b/editor/plugins/script_editor_plugin.h @@ -360,6 +360,7 @@ public: void ensure_focus_current(); void apply_scripts() const; + void open_script_create_dialog(const String &p_base_name, const String &p_base_path); void ensure_select_current(); diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index 95f2739927..3c9cd74aa1 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -537,10 +537,6 @@ void ScriptTextEditor::set_edit_state(const Variant &p_state) { code_editor->get_text_edit()->cursor_set_line(state["row"]); code_editor->get_text_edit()->set_v_scroll(state["scroll_position"]); code_editor->get_text_edit()->grab_focus(); - - //int scroll_pos; - //int cursor_column; - //int cursor_row; } String ScriptTextEditor::get_name() { @@ -924,26 +920,7 @@ void ScriptTextEditor::_edit_option(int p_op) { if (scr.is_null()) return; - tx->begin_complex_operation(); - if (tx->is_selection_active()) { - tx->indent_selection_left(); - } else { - int begin = tx->cursor_get_line(); - String line_text = tx->get_line(begin); - // begins with tab - if (line_text.begins_with("\t")) { - line_text = line_text.substr(1, line_text.length()); - tx->set_line(begin, line_text); - } - // begins with 4 spaces - else if (line_text.begins_with(" ")) { - line_text = line_text.substr(4, line_text.length()); - tx->set_line(begin, line_text); - } - } - tx->end_complex_operation(); - tx->update(); - //tx->deselect(); + tx->indent_left(); } break; case EDIT_INDENT_RIGHT: { @@ -951,18 +928,7 @@ void ScriptTextEditor::_edit_option(int p_op) { if (scr.is_null()) return; - tx->begin_complex_operation(); - if (tx->is_selection_active()) { - tx->indent_selection_right(); - } else { - int begin = tx->cursor_get_line(); - String line_text = tx->get_line(begin); - line_text = '\t' + line_text; - tx->set_line(begin, line_text); - } - tx->end_complex_operation(); - tx->update(); - //tx->deselect(); + tx->indent_right(); } break; case EDIT_DELETE_LINE: { @@ -1430,48 +1396,70 @@ void ScriptTextEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { - if (mb->get_button_index() == BUTTON_RIGHT && !mb->is_pressed()) { + if (mb->get_button_index() == BUTTON_RIGHT) { int col, row; TextEdit *tx = code_editor->get_text_edit(); tx->_get_mouse_pos(mb->get_global_position() - tx->get_global_position(), row, col); Vector2 mpos = mb->get_global_position() - tx->get_global_position(); - bool have_selection = (tx->get_selection_text().length() > 0); - bool have_color = (tx->get_word_at_pos(mpos) == "Color"); + + tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + bool has_color = (tx->get_word_at_pos(mpos) == "Color"); int fold_state = 0; bool can_fold = tx->can_fold(row); bool is_folded = tx->is_folded(row); - if (have_color) { - - String line = tx->get_line(row); - color_line = row; - int begin = 0; - int end = 0; - bool valid = false; - for (int i = col; i < line.length(); i++) { - if (line[i] == '(') { - begin = i; - continue; - } else if (line[i] == ')') { - end = i + 1; - valid = true; - break; + + if (tx->is_right_click_moving_caret()) { + if (tx->is_selection_active()) { + + int from_line = tx->get_selection_from_line(); + int to_line = tx->get_selection_to_line(); + int from_column = tx->get_selection_from_column(); + int to_column = tx->get_selection_to_column(); + + if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) { + // Right click is outside the seleted text + tx->deselect(); } } - if (valid) { - color_args = line.substr(begin, end - begin); - String stripped = color_args.replace(" ", "").replace("(", "").replace(")", ""); - Vector<float> color = stripped.split_floats(","); - if (color.size() > 2) { - float alpha = color.size() > 3 ? color[3] : 1.0f; - color_picker->set_pick_color(Color(color[0], color[1], color[2], alpha)); + if (!tx->is_selection_active()) { + tx->cursor_set_line(row, true, false); + tx->cursor_set_column(col); + } + } + + if (!mb->is_pressed()) { + if (has_color) { + String line = tx->get_line(row); + color_line = row; + int begin = 0; + int end = 0; + bool valid = false; + for (int i = col; i < line.length(); i++) { + if (line[i] == '(') { + begin = i; + continue; + } else if (line[i] == ')') { + end = i + 1; + valid = true; + break; + } + } + if (valid) { + color_args = line.substr(begin, end - begin); + String stripped = color_args.replace(" ", "").replace("(", "").replace(")", ""); + Vector<float> color = stripped.split_floats(","); + if (color.size() > 2) { + float alpha = color.size() > 3 ? color[3] : 1.0f; + color_picker->set_pick_color(Color(color[0], color[1], color[2], alpha)); + } + color_panel->set_position(get_global_transform().xform(get_local_mouse_position())); + } else { + has_color = false; } - color_panel->set_position(get_global_transform().xform(get_local_mouse_position())); - } else { - have_color = false; } + _make_context_menu(tx->is_selection_active(), has_color, can_fold, is_folded); } - _make_context_menu(have_selection, have_color, can_fold, is_folded); } } } @@ -1503,14 +1491,15 @@ void ScriptTextEditor::_make_context_menu(bool p_selection, bool p_color, bool p context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/select_all"), EDIT_SELECT_ALL); context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/undo"), EDIT_UNDO); context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/redo"), EDIT_REDO); + context_menu->add_separator(); + context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_left"), EDIT_INDENT_LEFT); + context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_right"), EDIT_INDENT_RIGHT); + context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_comment"), EDIT_TOGGLE_COMMENT); if (p_selection) { context_menu->add_separator(); context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/convert_to_uppercase"), EDIT_TO_UPPERCASE); context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/convert_to_lowercase"), EDIT_TO_LOWERCASE); - context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_left"), EDIT_INDENT_LEFT); - context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/indent_right"), EDIT_INDENT_RIGHT); - context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_comment"), EDIT_TOGGLE_COMMENT); } if (p_can_fold || p_is_folded) context_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_fold_line"), EDIT_TOGGLE_FOLD_LINE); diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index b390070b4a..d0b0d3690a 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -161,7 +161,7 @@ void ShaderTextEditor::_load_theme_settings() { for (const Map<StringName, ShaderLanguage::FunctionInfo>::Element *E = ShaderTypes::get_singleton()->get_functions(VisualServer::ShaderMode(shader->get_mode())).front(); E; E = E->next()) { - for (const Map<StringName, ShaderLanguage::DataType>::Element *F = E->get().built_ins.front(); F; F = F->next()) { + for (const Map<StringName, ShaderLanguage::BuiltInInfo>::Element *F = E->get().built_ins.front(); F; F = F->next()) { keywords.push_back(F->key()); } } @@ -379,26 +379,7 @@ void ShaderEditor::_menu_option(int p_option) { if (shader.is_null()) return; - tx->begin_complex_operation(); - if (tx->is_selection_active()) { - tx->indent_selection_left(); - } else { - int begin = tx->cursor_get_line(); - String line_text = tx->get_line(begin); - // begins with tab - if (line_text.begins_with("\t")) { - line_text = line_text.substr(1, line_text.length()); - tx->set_line(begin, line_text); - } - // begins with 4 spaces - else if (line_text.begins_with(" ")) { - line_text = line_text.substr(4, line_text.length()); - tx->set_line(begin, line_text); - } - } - tx->end_complex_operation(); - tx->update(); - //tx->deselect(); + tx->indent_left(); } break; case EDIT_INDENT_RIGHT: { @@ -407,18 +388,7 @@ void ShaderEditor::_menu_option(int p_option) { if (shader.is_null()) return; - tx->begin_complex_operation(); - if (tx->is_selection_active()) { - tx->indent_selection_right(); - } else { - int begin = tx->cursor_get_line(); - String line_text = tx->get_line(begin); - line_text = '\t' + line_text; - tx->set_line(begin, line_text); - } - tx->end_complex_operation(); - tx->update(); - //tx->deselect(); + tx->indent_right(); } break; case EDIT_DELETE_LINE: { @@ -650,14 +620,36 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) { if (mb.is_valid()) { - if (mb->get_button_index() == BUTTON_RIGHT && !mb->is_pressed()) { + if (mb->get_button_index() == BUTTON_RIGHT) { int col, row; TextEdit *tx = shader_editor->get_text_edit(); tx->_get_mouse_pos(mb->get_global_position() - tx->get_global_position(), row, col); Vector2 mpos = mb->get_global_position() - tx->get_global_position(); - bool have_selection = (tx->get_selection_text().length() > 0); - _make_context_menu(have_selection); + tx->set_right_click_moves_caret(EditorSettings::get_singleton()->get("text_editor/cursor/right_click_moves_caret")); + + if (tx->is_right_click_moving_caret()) { + if (tx->is_selection_active()) { + + int from_line = tx->get_selection_from_line(); + int to_line = tx->get_selection_to_line(); + int from_column = tx->get_selection_from_column(); + int to_column = tx->get_selection_to_column(); + + if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) { + // Right click is outside the seleted text + tx->deselect(); + } + } + if (!tx->is_selection_active()) { + tx->cursor_set_line(row, true, false); + tx->cursor_set_column(col); + } + } + + if (!mb->is_pressed()) { + _make_context_menu(tx->is_selection_active()); + } } } } diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index cefc957ebf..b26038fe09 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -51,7 +51,6 @@ #define GIZMO_ARROW_SIZE 0.35 #define GIZMO_RING_HALF_WIDTH 0.1 -//#define GIZMO_SCALE_DEFAULT 0.28 #define GIZMO_SCALE_DEFAULT 0.15 #define GIZMO_PLANE_SIZE 0.2 #define GIZMO_PLANE_DST 0.3 @@ -94,7 +93,6 @@ void SpatialEditorViewport::_update_camera(float p_interp_delta) { // We interpolate a different point here, because in freelook mode the focus point (cursor.pos) orbits around eye_pos camera_cursor.eye_pos = old_camera_cursor.eye_pos.linear_interpolate(cursor.eye_pos, CLAMP(factor, 0, 1)); - //camera_cursor.pos = camera_cursor.eye_pos + (cursor.pos - cursor.eye_pos); float orbit_inertia = EDITOR_GET("editors/3d/navigation_feel/orbit_inertia"); orbit_inertia = MAX(0.0001, orbit_inertia); @@ -153,13 +151,13 @@ void SpatialEditorViewport::_update_camera(float p_interp_delta) { if (!equal || p_interp_delta == 0 || is_freelook_active() || is_orthogonal != orthogonal) { camera->set_global_transform(to_camera_transform(camera_cursor)); - update_transform_gizmo_view(); - if (orthogonal) { - //camera->set_orthogonal(size.width*cursor.distance,get_znear(),get_zfar()); + if (orthogonal) camera->set_orthogonal(2 * cursor.distance, 0.1, 8192); - } else + else camera->set_perspective(get_fov(), get_znear(), get_zfar()); + + update_transform_gizmo_view(); } } @@ -392,9 +390,6 @@ ObjectID SpatialEditorViewport::_select_ray(const Point2 &p_pos, bool p_append, ERR_PRINT("Bug?"); } } - - // if (editor_selection->is_selected(spat)) - // r_includes_current=true; } if (!item) @@ -561,6 +556,8 @@ void SpatialEditorViewport::_update_name() { view_menu->set_text("[ " + name + " " + ortho + " ]"); else view_menu->set_text("[ " + ortho + " ]"); + + view_menu->set_size(Vector2(0, 0)); // resets the button size } void SpatialEditorViewport::_compute_edit(const Point2 &p_point) { @@ -812,17 +809,27 @@ bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_hig return false; } -void SpatialEditorViewport::_smouseenter() { +void SpatialEditorViewport::_surface_mouse_enter() { if (!surface->has_focus() && (!get_focus_owner() || !get_focus_owner()->is_text_field())) surface->grab_focus(); } -void SpatialEditorViewport::_smouseexit() { +void SpatialEditorViewport::_surface_mouse_exit() { _remove_preview(); } +void SpatialEditorViewport::_surface_focus_enter() { + + view_menu->set_disable_shortcuts(false); +} + +void SpatialEditorViewport::_surface_focus_exit() { + + view_menu->set_disable_shortcuts(true); +} + void SpatialEditorViewport::_list_select(Ref<InputEventMouseButton> b) { _find_items_at_pos(b->get_position(), clicked_includes_current, selection_results, b->get_shift()); @@ -949,7 +956,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (_edit.mode != TRANSFORM_NONE && b->is_pressed()) { //cancel motion _edit.mode = TRANSFORM_NONE; - //_validate_selection(); List<Node *> &selection = editor_selection->get_selected_node_list(); @@ -966,7 +972,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { sp->set_global_transform(se->original); } surface->update(); - //VisualServer::get_singleton()->poly_clear(indicators); set_message(TTR("Transform Aborted."), 3); } @@ -1059,7 +1064,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { _edit.gizmo = seg; _edit.gizmo_handle = handle; - //_edit.gizmo_initial_pos=seg->get_handle_pos(gizmo_handle); _edit.gizmo_initial_value = seg->get_handle_value(handle); break; } @@ -1134,13 +1138,10 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { _edit.gizmo = seg; _edit.gizmo_handle = gizmo_handle; - //_edit.gizmo_initial_pos=seg->get_handle_pos(gizmo_handle); _edit.gizmo_initial_value = seg->get_handle_value(gizmo_handle); - //print_line("GIZMO: "+itos(gizmo_handle)+" FROMPOS: "+_edit.orig_gizmo_pos); break; } } - //_compute_edit(Point2(b.x,b.y)); //in case a motion happens.. } surface->update(); @@ -1186,7 +1187,6 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } undo_redo->commit_action(); _edit.mode = TRANSFORM_NONE; - //VisualServer::get_singleton()->poly_clear(indicators); set_message(""); } @@ -1785,51 +1785,36 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) { } } if (ED_IS_SHORTCUT("spatial_editor/bottom_view", p_event)) { - cursor.y_rot = 0; - cursor.x_rot = -Math_PI / 2.0; - set_message(TTR("Bottom View."), 2); - name = TTR("Bottom"); - _update_name(); + _menu_option(VIEW_BOTTOM); } if (ED_IS_SHORTCUT("spatial_editor/top_view", p_event)) { - cursor.y_rot = 0; - cursor.x_rot = Math_PI / 2.0; - set_message(TTR("Top View."), 2); - name = TTR("Top"); - _update_name(); + _menu_option(VIEW_TOP); } if (ED_IS_SHORTCUT("spatial_editor/rear_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = Math_PI; - set_message(TTR("Rear View."), 2); - name = TTR("Rear"); - _update_name(); + _menu_option(VIEW_REAR); } if (ED_IS_SHORTCUT("spatial_editor/front_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = 0; - set_message(TTR("Front View."), 2); - name = TTR("Front"); - _update_name(); + _menu_option(VIEW_FRONT); } if (ED_IS_SHORTCUT("spatial_editor/left_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = Math_PI / 2.0; - set_message(TTR("Left View."), 2); - name = TTR("Left"); - _update_name(); + _menu_option(VIEW_LEFT); } if (ED_IS_SHORTCUT("spatial_editor/right_view", p_event)) { - cursor.x_rot = 0; - cursor.y_rot = -Math_PI / 2.0; - set_message(TTR("Right View."), 2); - name = TTR("Right"); - _update_name(); + _menu_option(VIEW_RIGHT); + } + if (ED_IS_SHORTCUT("spatial_editor/focus_origin", p_event)) { + _menu_option(VIEW_CENTER_TO_ORIGIN); + } + if (ED_IS_SHORTCUT("spatial_editor/focus_selection", p_event)) { + _menu_option(VIEW_CENTER_TO_SELECTION); } if (ED_IS_SHORTCUT("spatial_editor/switch_perspective_orthogonal", p_event)) { _menu_option(orthogonal ? VIEW_PERSPECTIVE : VIEW_ORTHOGONAL); _update_name(); } + if (ED_IS_SHORTCUT("spatial_editor/align_selection_with_view", p_event)) { + _menu_option(VIEW_ALIGN_SELECTION_WITH_VIEW); + } if (ED_IS_SHORTCUT("spatial_editor/insert_anim_key", p_event)) { if (!get_selected_count() || _edit.mode != TRANSFORM_NONE) return; @@ -2114,15 +2099,6 @@ void SpatialEditorViewport::_notification(int p_what) { if (p_what == NOTIFICATION_PROCESS) { - //force editr camera - /* - current_camera=get_root_node()->get_current_camera(); - if (current_camera!=camera) { - - - } - */ - real_t delta = get_process_delta_time(); if (zoom_indicator_delay > 0) { @@ -2219,15 +2195,9 @@ void SpatialEditorViewport::_notification(int p_what) { viewport->set_hdr(hdr); bool show_info = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_INFORMATION)); - if (show_info != info->is_visible()) { - if (show_info) - info->show(); - else - info->hide(); - } + info_label->set_visible(show_info); if (show_info) { - String text; text += TTR("Objects Drawn") + ": " + itos(viewport->get_render_info(Viewport::RENDER_INFO_OBJECTS_IN_FRAME)) + "\n"; text += TTR("Material Changes") + ": " + itos(viewport->get_render_info(Viewport::RENDER_INFO_MATERIAL_CHANGES_IN_FRAME)) + "\n"; @@ -2235,48 +2205,31 @@ void SpatialEditorViewport::_notification(int p_what) { text += TTR("Surface Changes") + ": " + itos(viewport->get_render_info(Viewport::RENDER_INFO_SURFACE_CHANGES_IN_FRAME)) + "\n"; text += TTR("Draw Calls") + ": " + itos(viewport->get_render_info(Viewport::RENDER_INFO_DRAW_CALLS_IN_FRAME)) + "\n"; text += TTR("Vertices") + ": " + itos(viewport->get_render_info(Viewport::RENDER_INFO_VERTICES_IN_FRAME)); - - if (info_label->get_text() != text || surface->get_size() != prev_size) { - info_label->set_text(text); - Size2 ms = info->get_minimum_size(); - info->set_position(surface->get_size() - ms - Vector2(20, 20) * EDSCALE); - } + info_label->set_text(text); } // FPS Counter. bool show_fps = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_FPS)); - if (show_fps != fps->is_visible()) { - if (show_fps) - fps->show(); - else - fps->hide(); - } + fps_label->set_visible(show_fps); if (show_fps) { String text; const float temp_fps = Engine::get_singleton()->get_frames_per_second(); text += TTR("FPS") + ": " + itos(temp_fps) + " (" + String::num(1000.0f / temp_fps, 2) + " ms)"; - - if (fps_label->get_text() != text || surface->get_size() != prev_size) { - fps_label->set_text(text); - Size2 ms = fps->get_size(); - Size2 size = surface->get_size(); - size.y = ms.y + 20; - fps->set_position(size - ms - Vector2(20, 0) * EDSCALE); - } + fps_label->set_text(text); } - - prev_size = surface->get_size(); } if (p_what == NOTIFICATION_ENTER_TREE) { surface->connect("draw", this, "_draw"); surface->connect("gui_input", this, "_sinput"); - surface->connect("mouse_entered", this, "_smouseenter"); - surface->connect("mouse_exited", this, "_smouseexit"); - info->add_style_override("panel", get_stylebox("panel", "Panel")); - fps->add_style_override("panel", get_stylebox("panel", "Panel")); + surface->connect("mouse_entered", this, "_surface_mouse_enter"); + surface->connect("mouse_exited", this, "_surface_mouse_exit"); + surface->connect("focus_entered", this, "_surface_focus_enter"); + surface->connect("focus_exited", this, "_surface_focus_exit"); + info_label->add_style_override("normal", editor->get_gui_base()->get_stylebox("Information3dViewport", "EditorStyles")); + fps_label->add_style_override("normal", editor->get_gui_base()->get_stylebox("Information3dViewport", "EditorStyles")); preview_camera->set_icon(get_icon("Camera", "EditorIcons")); _init_gizmo_instance(index); } @@ -2448,47 +2401,54 @@ void SpatialEditorViewport::_menu_option(int p_option) { case VIEW_TOP: { - cursor.x_rot = Math_PI / 2.0; cursor.y_rot = 0; + cursor.x_rot = Math_PI / 2.0; + set_message(TTR("Top View."), 2); name = TTR("Top"); _update_name(); + } break; case VIEW_BOTTOM: { - cursor.x_rot = -Math_PI / 2.0; cursor.y_rot = 0; + cursor.x_rot = -Math_PI / 2.0; + set_message(TTR("Bottom View."), 2); name = TTR("Bottom"); _update_name(); } break; case VIEW_LEFT: { - cursor.y_rot = Math_PI / 2.0; cursor.x_rot = 0; + cursor.y_rot = Math_PI / 2.0; + set_message(TTR("Left View."), 2); name = TTR("Left"); _update_name(); } break; case VIEW_RIGHT: { - cursor.y_rot = -Math_PI / 2.0; cursor.x_rot = 0; + cursor.y_rot = -Math_PI / 2.0; + set_message(TTR("Right View."), 2); name = TTR("Right"); _update_name(); } break; case VIEW_FRONT: { - cursor.y_rot = 0; cursor.x_rot = 0; + cursor.y_rot = 0; + set_message(TTR("Front View."), 2); name = TTR("Front"); _update_name(); } break; case VIEW_REAR: { - cursor.y_rot = Math_PI; cursor.x_rot = 0; + cursor.y_rot = Math_PI; + set_message(TTR("Rear View."), 2); name = TTR("Rear"); _update_name(); @@ -2615,6 +2575,11 @@ void SpatialEditorViewport::_menu_option(int p_option) { bool current = view_menu->get_popup()->is_item_checked(idx); view_menu->get_popup()->set_item_checked(idx, !current); + if (current) + preview_camera->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 10 * EDSCALE); + else + preview_camera->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 15 * EDSCALE + fps_label->get_size().height); + } break; case VIEW_DISPLAY_NORMAL: { @@ -2666,14 +2631,13 @@ void SpatialEditorViewport::_preview_exited_scene() { void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { - uint32_t layer = 1 << (GIZMO_BASE_LAYER + p_idx); //|(1<<GIZMO_GRID_LAYER); + uint32_t layer = 1 << (GIZMO_BASE_LAYER + p_idx); for (int i = 0; i < 3; i++) { move_gizmo_instance[i] = VS::get_singleton()->instance_create(); VS::get_singleton()->instance_set_base(move_gizmo_instance[i], spatial_editor->get_move_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(move_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(move_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(move_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(move_gizmo_instance[i], layer); @@ -2681,7 +2645,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(move_plane_gizmo_instance[i], spatial_editor->get_move_plane_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(move_plane_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(move_plane_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(move_plane_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(move_plane_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(move_plane_gizmo_instance[i], layer); @@ -2689,7 +2652,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(rotate_gizmo_instance[i], spatial_editor->get_rotate_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(rotate_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(rotate_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(rotate_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(rotate_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(rotate_gizmo_instance[i], layer); @@ -2697,7 +2659,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(scale_gizmo_instance[i], spatial_editor->get_scale_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(scale_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(scale_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(scale_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(scale_gizmo_instance[i], layer); @@ -2705,7 +2666,6 @@ void SpatialEditorViewport::_init_gizmo_instance(int p_idx) { VS::get_singleton()->instance_set_base(scale_plane_gizmo_instance[i], spatial_editor->get_scale_plane_gizmo(i)->get_rid()); VS::get_singleton()->instance_set_scenario(scale_plane_gizmo_instance[i], get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_visible(scale_plane_gizmo_instance[i], false); - //VS::get_singleton()->instance_geometry_set_flag(scale_plane_gizmo_instance[i],VS::INSTANCE_FLAG_DEPH_SCALE,true); VS::get_singleton()->instance_geometry_set_cast_shadows_setting(scale_plane_gizmo_instance[i], VS::SHADOW_CASTING_SETTING_OFF); VS::get_singleton()->instance_set_layer_mask(scale_plane_gizmo_instance[i], layer); } @@ -2770,14 +2730,8 @@ void SpatialEditorViewport::set_can_preview(Camera *p_preview) { preview = p_preview; - if (!preview_camera->is_pressed()) { - - if (p_preview) { - preview_camera->show(); - } else { - preview_camera->hide(); - } - } + if (!preview_camera->is_pressed()) + preview_camera->set_visible(p_preview); } void SpatialEditorViewport::update_transform_gizmo_view() { @@ -2804,8 +2758,6 @@ void SpatialEditorViewport::update_transform_gizmo_view() { xform.basis.scale(scale); - //xform.basis.scale(GIZMO_SCALE_DEFAULT*Vector3(1,1,1)); - for (int i = 0; i < 3; i++) { VisualServer::get_singleton()->instance_set_transform(move_gizmo_instance[i], xform); VisualServer::get_singleton()->instance_set_visible(move_gizmo_instance[i], spatial_editor->is_gizmo_visible() && (spatial_editor->get_tool_mode() == SpatialEditor::TOOL_MODE_SELECT || spatial_editor->get_tool_mode() == SpatialEditor::TOOL_MODE_MOVE)); @@ -2822,18 +2774,36 @@ void SpatialEditorViewport::update_transform_gizmo_view() { void SpatialEditorViewport::set_state(const Dictionary &p_state) { - cursor.pos = p_state["position"]; - cursor.x_rot = p_state["x_rotation"]; - cursor.y_rot = p_state["y_rotation"]; - cursor.distance = p_state["distance"]; - bool env = p_state["use_environment"]; - bool orth = p_state["use_orthogonal"]; - if (orth) - _menu_option(VIEW_ORTHOGONAL); - else - _menu_option(VIEW_PERSPECTIVE); - if (env != camera->get_environment().is_valid()) - _menu_option(VIEW_ENVIRONMENT); + if (p_state.has("position")) + cursor.pos = p_state["position"]; + if (p_state.has("x_rotation")) + cursor.x_rot = p_state["x_rotation"]; + if (p_state.has("y_rotation")) + cursor.y_rot = p_state["y_rotation"]; + if (p_state.has("distance")) + cursor.distance = p_state["distance"]; + + if (p_state.has("use_orthogonal")) { + bool orth = p_state["use_orthogonal"]; + + if (orth) + _menu_option(VIEW_ORTHOGONAL); + else + _menu_option(VIEW_PERSPECTIVE); + } + if (p_state.has("display_mode")) { + int display = p_state["display_mode"]; + + int idx = view_menu->get_popup()->get_item_index(display); + if (!view_menu->get_popup()->is_item_checked(idx)) + _menu_option(display); + } + if (p_state.has("use_environment")) { + bool env = p_state["use_environment"]; + + if (env != camera->get_environment().is_valid()) + _menu_option(VIEW_ENVIRONMENT); + } if (p_state.has("listener")) { bool listener = p_state["listener"]; @@ -2862,6 +2832,13 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) { if (view_menu->get_popup()->is_item_checked(idx) != information) _menu_option(VIEW_INFORMATION); } + if (p_state.has("fps")) { + bool fps = p_state["fps"]; + + int idx = view_menu->get_popup()->get_item_index(VIEW_FPS); + if (view_menu->get_popup()->is_item_checked(idx) != fps) + _menu_option(VIEW_FPS); + } if (p_state.has("half_res")) { bool half_res = p_state["half_res"]; @@ -2892,14 +2869,22 @@ Dictionary SpatialEditorViewport::get_state() const { d["distance"] = cursor.distance; d["use_environment"] = camera->get_environment().is_valid(); d["use_orthogonal"] = camera->get_projection() == Camera::PROJECTION_ORTHOGONAL; + if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_NORMAL))) + d["display_mode"] = VIEW_DISPLAY_NORMAL; + else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_WIREFRAME))) + d["display_mode"] = VIEW_DISPLAY_WIREFRAME; + else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_OVERDRAW))) + d["display_mode"] = VIEW_DISPLAY_OVERDRAW; + else if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_DISPLAY_SHADELESS))) + d["display_mode"] = VIEW_DISPLAY_SHADELESS; d["listener"] = viewport->is_audio_listener(); d["doppler"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_AUDIO_DOPPLER)); d["gizmos"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_GIZMOS)); d["information"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_INFORMATION)); + d["fps"] = view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(VIEW_FPS)); d["half_res"] = viewport_container->get_stretch_shrink() > 1; - if (previewing) { + if (previewing) d["previewing"] = EditorNode::get_singleton()->get_edited_scene()->get_path_to(previewing); - } return d; } @@ -2907,8 +2892,11 @@ Dictionary SpatialEditorViewport::get_state() const { void SpatialEditorViewport::_bind_methods() { ClassDB::bind_method(D_METHOD("_draw"), &SpatialEditorViewport::_draw); - ClassDB::bind_method(D_METHOD("_smouseenter"), &SpatialEditorViewport::_smouseenter); - ClassDB::bind_method(D_METHOD("_smouseexit"), &SpatialEditorViewport::_smouseexit); + + ClassDB::bind_method(D_METHOD("_surface_mouse_enter"), &SpatialEditorViewport::_surface_mouse_enter); + ClassDB::bind_method(D_METHOD("_surface_mouse_exit"), &SpatialEditorViewport::_surface_mouse_exit); + ClassDB::bind_method(D_METHOD("_surface_focus_enter"), &SpatialEditorViewport::_surface_focus_enter); + ClassDB::bind_method(D_METHOD("_surface_focus_exit"), &SpatialEditorViewport::_surface_focus_exit); ClassDB::bind_method(D_METHOD("_sinput"), &SpatialEditorViewport::_sinput); ClassDB::bind_method(D_METHOD("_menu_option"), &SpatialEditorViewport::_menu_option); ClassDB::bind_method(D_METHOD("_toggle_camera_preview"), &SpatialEditorViewport::_toggle_camera_preview); @@ -3332,7 +3320,6 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed camera = memnew(Camera); camera->set_disable_gizmo(true); camera->set_cull_mask(((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + p_index)) | (1 << GIZMO_EDIT_LAYER) | (1 << GIZMO_GRID_LAYER)); - //camera->set_environment(SpatialEditor::get_singleton()->get_viewport_environment()); viewport->add_child(camera); camera->make_current(); surface->set_focus_mode(FOCUS_ALL); @@ -3376,6 +3363,8 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed view_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("spatial_editor/align_selection_with_view"), VIEW_ALIGN_SELECTION_WITH_VIEW); view_menu->get_popup()->connect("id_pressed", this, "_menu_option"); + view_menu->set_disable_shortcuts(true); + ED_SHORTCUT("spatial_editor/freelook_left", TTR("Freelook Left"), KEY_A); ED_SHORTCUT("spatial_editor/freelook_right", TTR("Freelook Right"), KEY_D); ED_SHORTCUT("spatial_editor/freelook_forward", TTR("Freelook Forward"), KEY_W); @@ -3390,7 +3379,7 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed preview_camera->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 10 * EDSCALE); preview_camera->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -10 * EDSCALE); preview_camera->set_h_grow_direction(GROW_DIRECTION_BEGIN); - preview_camera->set_text(TTR("preview")); + preview_camera->set_text(TTR("Preview")); surface->add_child(preview_camera); preview_camera->hide(); preview_camera->connect("toggled", this, "_toggle_camera_preview"); @@ -3399,20 +3388,24 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed preview_node = NULL; - info = memnew(PanelContainer); - info->set_self_modulate(Color(1, 1, 1, 0.4)); - surface->add_child(info); info_label = memnew(Label); - info->add_child(info_label); - info->hide(); + info_label->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_END, -90 * EDSCALE); + info_label->set_anchor_and_margin(MARGIN_TOP, ANCHOR_END, -90 * EDSCALE); + info_label->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -10 * EDSCALE); + info_label->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, -10 * EDSCALE); + info_label->set_h_grow_direction(GROW_DIRECTION_BEGIN); + info_label->set_v_grow_direction(GROW_DIRECTION_BEGIN); + surface->add_child(info_label); + info_label->hide(); // FPS Counter. - fps = memnew(PanelContainer); - fps->set_self_modulate(Color(1, 1, 1, 0.4)); - surface->add_child(fps); fps_label = memnew(Label); - fps->add_child(fps_label); - fps->hide(); + fps_label->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_END, -90 * EDSCALE); + fps_label->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 10 * EDSCALE); + fps_label->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, -10 * EDSCALE); + fps_label->set_h_grow_direction(GROW_DIRECTION_BEGIN); + surface->add_child(fps_label); + fps_label->hide(); accept = NULL; @@ -3790,7 +3783,6 @@ void SpatialEditor::update_transform_gizmo() { center.expand_to(xf.origin); gizmo_basis = Basis(); } - //count++; } Vector3 pcenter = center.position + center.size * 0.5; @@ -3884,8 +3876,7 @@ Dictionary SpatialEditor::get_state() const { d["rotate_snap"] = get_rotate_snap(); d["scale_snap"] = get_scale_snap(); - int local_coords_index = transform_menu->get_popup()->get_item_index(MENU_TRANSFORM_LOCAL_COORDS); - d["local_coords"] = transform_menu->get_popup()->is_item_checked(local_coords_index); + d["local_coords"] = tool_option_button[TOOL_OPT_LOCAL_COORDS]->is_pressed(); int vc = 0; if (view_menu->get_popup()->is_item_checked(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_1_VIEWPORT))) @@ -3923,8 +3914,7 @@ void SpatialEditor::set_state(const Dictionary &p_state) { if (d.has("snap_enabled")) { snap_enabled = d["snap_enabled"]; - int snap_enabled_idx = transform_menu->get_popup()->get_item_index(MENU_TRANSFORM_USE_SNAP); - transform_menu->get_popup()->set_item_checked(snap_enabled_idx, snap_enabled); + tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_pressed(d["snap_enabled"]); } if (d.has("translate_snap")) @@ -3937,8 +3927,7 @@ void SpatialEditor::set_state(const Dictionary &p_state) { snap_scale->set_text(d["scale_snap"]); if (d.has("local_coords")) { - int local_coords_idx = transform_menu->get_popup()->get_item_index(MENU_TRANSFORM_LOCAL_COORDS); - transform_menu->get_popup()->set_item_checked(local_coords_idx, d["local_coords"]); + tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_pressed(d["local_coords"]); update_transform_gizmo(); } @@ -4016,17 +4005,6 @@ void SpatialEditor::edit(Spatial *p_spatial) { } } } - - /* - if (p_spatial) { - _validate_selection(); - if (selected.has(p_spatial->get_instance_id()) && selected.size()==1) - return; - _select(p_spatial->get_instance_id(),false,true); - - // should become the selection - } - */ } void SpatialEditor::_xform_dialog_action() { @@ -4078,6 +4056,22 @@ void SpatialEditor::_xform_dialog_action() { undo_redo->commit_action(); } +void SpatialEditor::_menu_item_toggled(bool pressed, int p_option) { + + switch (p_option) { + case MENU_TOOL_LOCAL_COORDS: { + + tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_pressed(pressed); + update_transform_gizmo(); + } break; + + case MENU_TOOL_USE_SNAP: { + tool_option_button[TOOL_OPT_USE_SNAP]->set_pressed(pressed); + snap_enabled = pressed; + } break; + } +} + void SpatialEditor::_menu_item_pressed(int p_option) { switch (p_option) { @@ -4091,29 +4085,13 @@ void SpatialEditor::_menu_item_pressed(int p_option) { for (int i = 0; i < TOOL_MAX; i++) tool_button[i]->set_pressed(i == p_option); tool_mode = (ToolMode)p_option; - - //static const char *_mode[]={"Selection Mode.","Translation Mode.","Rotation Mode.","Scale Mode.","List Selection Mode."}; - //set_message(_mode[p_option],3); update_transform_gizmo(); } break; - case MENU_TRANSFORM_USE_SNAP: { - - bool is_checked = transform_menu->get_popup()->is_item_checked(transform_menu->get_popup()->get_item_index(p_option)); - snap_enabled = !is_checked; - transform_menu->get_popup()->set_item_checked(transform_menu->get_popup()->get_item_index(p_option), snap_enabled); - } break; case MENU_TRANSFORM_CONFIGURE_SNAP: { snap_dialog->popup_centered(Size2(200, 180)); } break; - case MENU_TRANSFORM_LOCAL_COORDS: { - - bool is_checked = transform_menu->get_popup()->is_item_checked(transform_menu->get_popup()->get_item_index(p_option)); - transform_menu->get_popup()->set_item_checked(transform_menu->get_popup()->get_item_index(p_option), !is_checked); - update_transform_gizmo(); - - } break; case MENU_TRANSFORM_DIALOG: { for (int i = 0; i < 3; i++) { @@ -4370,9 +4348,6 @@ void SpatialEditor::_init_indicators() { VisualServer::get_singleton()->mesh_add_surface_from_arrays(origin, VisualServer::PRIMITIVE_LINES, d); VisualServer::get_singleton()->mesh_surface_set_material(origin, 0, indicator_mat->get_rid()); - //origin = VisualServer::get_singleton()->poly_create(); - //VisualServer::get_singleton()->poly_add_primitive(origin,origin_points,Vector<Vector3>(),origin_colors,Vector<Vector3>()); - //VisualServer::get_singleton()->poly_set_material(origin,indicator_mat,true); origin_instance = VisualServer::get_singleton()->instance_create2(origin, get_tree()->get_root()->get_world()->get_scenario()); VS::get_singleton()->instance_set_layer_mask(origin_instance, 1 << SpatialEditorViewport::GIZMO_GRID_LAYER); @@ -4657,9 +4632,6 @@ void SpatialEditor::_finish_indicators() { VisualServer::get_singleton()->free(grid_instance[i]); VisualServer::get_singleton()->free(grid[i]); } - //VisualServer::get_singleton()->free(poly); - //VisualServer::get_singleton()->free(indicators_instance); - //VisualServer::get_singleton()->free(indicators); } bool SpatialEditor::is_any_freelook_active() const { @@ -4718,6 +4690,19 @@ void SpatialEditor::_unhandled_key_input(Ref<InputEvent> p_event) { else if (ED_IS_SHORTCUT("spatial_editor/tool_scale", p_event)) _menu_item_pressed(MENU_TOOL_SCALE); + + else if (ED_IS_SHORTCUT("spatial_editor/local_coords", p_event)) + if (are_local_coords_enabled()) { + _menu_item_toggled(false, MENU_TOOL_LOCAL_COORDS); + } else { + _menu_item_toggled(true, MENU_TOOL_LOCAL_COORDS); + } + else if (ED_IS_SHORTCUT("spatial_editor/snap", p_event)) + if (is_snap_enabled()) { + _menu_item_toggled(false, MENU_TOOL_USE_SNAP); + } else { + _menu_item_toggled(true, MENU_TOOL_USE_SNAP); + } } } } @@ -4733,6 +4718,9 @@ void SpatialEditor::_notification(int p_what) { tool_button[SpatialEditor::TOOL_LOCK_SELECTED]->set_icon(get_icon("Lock", "EditorIcons")); tool_button[SpatialEditor::TOOL_UNLOCK_SELECTED]->set_icon(get_icon("Unlock", "EditorIcons")); + tool_option_button[SpatialEditor::TOOL_OPT_LOCAL_COORDS]->set_icon(get_icon("Object", "EditorIcons")); + tool_option_button[SpatialEditor::TOOL_OPT_USE_SNAP]->set_icon(get_icon("Snap", "EditorIcons")); + view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_1_VIEWPORT), get_icon("Panels1", "EditorIcons")); view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_2_VIEWPORTS), get_icon("Panels2", "EditorIcons")); view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_2_VIEWPORTS_ALT), get_icon("Panels2Alt", "EditorIcons")); @@ -4768,6 +4756,9 @@ void SpatialEditor::_notification(int p_what) { tool_button[SpatialEditor::TOOL_MODE_SCALE]->set_icon(get_icon("ToolScale", "EditorIcons")); tool_button[SpatialEditor::TOOL_MODE_LIST_SELECT]->set_icon(get_icon("ListSelect", "EditorIcons")); + tool_option_button[SpatialEditor::TOOL_OPT_LOCAL_COORDS]->set_icon(get_icon("Object", "EditorIcons")); + tool_option_button[SpatialEditor::TOOL_OPT_USE_SNAP]->set_icon(get_icon("Snap", "EditorIcons")); + view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_1_VIEWPORT), get_icon("Panels1", "EditorIcons")); view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_2_VIEWPORTS), get_icon("Panels2", "EditorIcons")); view_menu->get_popup()->set_item_icon(view_menu->get_popup()->get_item_index(MENU_VIEW_USE_2_VIEWPORTS_ALT), get_icon("Panels2Alt", "EditorIcons")); @@ -4882,10 +4873,10 @@ void SpatialEditor::_node_removed(Node *p_node) { void SpatialEditor::_bind_methods() { - //ClassDB::bind_method("_gui_input",&SpatialEditor::_gui_input); ClassDB::bind_method("_unhandled_key_input", &SpatialEditor::_unhandled_key_input); ClassDB::bind_method("_node_removed", &SpatialEditor::_node_removed); ClassDB::bind_method("_menu_item_pressed", &SpatialEditor::_menu_item_pressed); + ClassDB::bind_method("_menu_item_toggled", &SpatialEditor::_menu_item_toggled); ClassDB::bind_method("_xform_dialog_action", &SpatialEditor::_xform_dialog_action); ClassDB::bind_method("_get_editor_data", &SpatialEditor::_get_editor_data); ClassDB::bind_method("_request_gizmo", &SpatialEditor::_request_gizmo); @@ -4942,13 +4933,12 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { snap_enabled = false; tool_mode = TOOL_MODE_SELECT; - //set_focus_mode(FOCUS_ALL); - hbc_menu = memnew(HBoxContainer); vbc->add_child(hbc_menu); Vector<Variant> button_binds; button_binds.resize(1); + String sct; tool_button[TOOL_MODE_SELECT] = memnew(ToolButton); hbc_menu->add_child(tool_button[TOOL_MODE_SELECT]); @@ -4960,7 +4950,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { tool_button[TOOL_MODE_SELECT]->set_tooltip(TTR("Select Mode (Q)\n") + keycode_get_string(KEY_MASK_CMD) + TTR("Drag: Rotate\nAlt+Drag: Move\nAlt+RMB: Depth list selection")); tool_button[TOOL_MODE_MOVE] = memnew(ToolButton); - hbc_menu->add_child(tool_button[TOOL_MODE_MOVE]); tool_button[TOOL_MODE_MOVE]->set_toggle_mode(true); tool_button[TOOL_MODE_MOVE]->set_flat(true); @@ -4984,9 +4973,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { tool_button[TOOL_MODE_SCALE]->connect("pressed", this, "_menu_item_pressed", button_binds); tool_button[TOOL_MODE_SCALE]->set_tooltip(TTR("Scale Mode (R)")); - VSeparator *vs = memnew(VSeparator); - hbc_menu->add_child(vs); - tool_button[TOOL_MODE_LIST_SELECT] = memnew(ToolButton); hbc_menu->add_child(tool_button[TOOL_MODE_LIST_SELECT]); tool_button[TOOL_MODE_LIST_SELECT]->set_toggle_mode(true); @@ -5007,6 +4993,29 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { tool_button[TOOL_UNLOCK_SELECTED]->connect("pressed", this, "_menu_item_pressed", button_binds); tool_button[TOOL_UNLOCK_SELECTED]->set_tooltip(TTR("Unlock the selected object (can be moved).")); + VSeparator *vs = memnew(VSeparator); + hbc_menu->add_child(vs); + + tool_option_button[TOOL_OPT_LOCAL_COORDS] = memnew(ToolButton); + hbc_menu->add_child(tool_option_button[TOOL_OPT_LOCAL_COORDS]); + tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_toggle_mode(true); + tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_flat(true); + button_binds[0] = MENU_TOOL_LOCAL_COORDS; + tool_option_button[TOOL_OPT_LOCAL_COORDS]->connect("toggled", this, "_menu_item_toggled", button_binds); + ED_SHORTCUT("spatial_editor/local_coords", TTR("Local Coords"), KEY_T); + sct = ED_GET_SHORTCUT("spatial_editor/local_coords").ptr()->get_as_text(); + tool_option_button[TOOL_OPT_LOCAL_COORDS]->set_tooltip(vformat(TTR("Local Space Mode (%s)"), sct)); + + tool_option_button[TOOL_OPT_USE_SNAP] = memnew(ToolButton); + hbc_menu->add_child(tool_option_button[TOOL_OPT_USE_SNAP]); + tool_option_button[TOOL_OPT_USE_SNAP]->set_toggle_mode(true); + tool_option_button[TOOL_OPT_USE_SNAP]->set_flat(true); + button_binds[0] = MENU_TOOL_USE_SNAP; + tool_option_button[TOOL_OPT_USE_SNAP]->connect("toggled", this, "_menu_item_toggled", button_binds); + ED_SHORTCUT("spatial_editor/snap", TTR("Snap"), KEY_Y); + sct = ED_GET_SHORTCUT("spatial_editor/snap").ptr()->get_as_text(); + tool_option_button[TOOL_OPT_USE_SNAP]->set_tooltip(vformat(TTR("Snap Mode (%s)"), sct)); + vs = memnew(VSeparator); hbc_menu->add_child(vs); @@ -5021,7 +5030,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { ED_SHORTCUT("spatial_editor/left_view", TTR("Left View"), KEY_MASK_ALT + KEY_KP_3); ED_SHORTCUT("spatial_editor/right_view", TTR("Right View"), KEY_KP_3); ED_SHORTCUT("spatial_editor/switch_perspective_orthogonal", TTR("Switch Perspective/Orthogonal view"), KEY_KP_5); - ED_SHORTCUT("spatial_editor/snap", TTR("Snap"), KEY_S); ED_SHORTCUT("spatial_editor/insert_anim_key", TTR("Insert Animation Key"), KEY_K); ED_SHORTCUT("spatial_editor/focus_origin", TTR("Focus Origin"), KEY_O); ED_SHORTCUT("spatial_editor/focus_selection", TTR("Focus Selection"), KEY_F); @@ -5043,12 +5051,8 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { hbc_menu->add_child(transform_menu); p = transform_menu->get_popup(); - p->add_check_shortcut(ED_SHORTCUT("spatial_editor/use_snap", TTR("Use Snap")), MENU_TRANSFORM_USE_SNAP); p->add_shortcut(ED_SHORTCUT("spatial_editor/configure_snap", TTR("Configure Snap..")), MENU_TRANSFORM_CONFIGURE_SNAP); p->add_separator(); - p->add_check_shortcut(ED_SHORTCUT("spatial_editor/local_coords", TTR("Local Coords")), MENU_TRANSFORM_LOCAL_COORDS); - //p->set_item_checked(p->get_item_count()-1,true); - p->add_separator(); p->add_shortcut(ED_SHORTCUT("spatial_editor/transform_dialog", TTR("Transform Dialog..")), MENU_TRANSFORM_DIALOG); p->connect("id_pressed", this, "_menu_item_pressed"); @@ -5103,7 +5107,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { viewports[i]->assign_pending_data_pointers(preview_node, &preview_bounds, accept); viewport_base->add_child(viewports[i]); } - //vbc->add_child(viewport_base); /* SNAP DIALOG */ @@ -5113,7 +5116,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { VBoxContainer *snap_dialog_vbc = memnew(VBoxContainer); snap_dialog->add_child(snap_dialog_vbc); - //snap_dialog->set_child_rect(snap_dialog_vbc); snap_translate = memnew(LineEdit); snap_translate->set_text("1"); @@ -5135,7 +5137,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { settings_vbc = memnew(VBoxContainer); settings_vbc->set_custom_minimum_size(Size2(200, 0) * EDSCALE); settings_dialog->add_child(settings_vbc); - //settings_dialog->set_child_rect(settings_vbc); settings_fov = memnew(SpinBox); settings_fov->set_max(MAX_FOV); @@ -5158,7 +5159,6 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { settings_zfar->set_value(EDITOR_DEF("editors/3d/default_z_far", 1500)); settings_vbc->add_margin_child(TTR("View Z-Far:"), settings_zfar); - //settings_dialog->get_cancel()->hide(); /* XFORM DIALOG */ xform_dialog = memnew(ConfirmationDialog); @@ -5244,14 +5244,12 @@ void SpatialEditorPlugin::make_visible(bool p_visible) { spatial_editor->show(); spatial_editor->set_process(true); - //VisualServer::get_singleton()->viewport_set_hide_scenario(editor->get_scene_root()->get_viewport(),false); spatial_editor->grab_focus(); } else { spatial_editor->hide(); spatial_editor->set_process(false); - //VisualServer::get_singleton()->viewport_set_hide_scenario(editor->get_scene_root()->get_viewport(),true); } } void SpatialEditorPlugin::edit(Object *p_object) { @@ -5304,11 +5302,8 @@ SpatialEditorPlugin::SpatialEditorPlugin(EditorNode *p_node) { spatial_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); editor->get_viewport()->add_child(spatial_editor); - //spatial_editor->set_anchors_and_margins_preset(Control::PRESET_WIDE); spatial_editor->hide(); spatial_editor->connect("transform_key_request", editor, "_transform_keyed"); - - //spatial_editor->set_process(true); } SpatialEditorPlugin::~SpatialEditorPlugin() { diff --git a/editor/plugins/spatial_editor_plugin.h b/editor/plugins/spatial_editor_plugin.h index 8369a5de54..d080745dc9 100644 --- a/editor/plugins/spatial_editor_plugin.h +++ b/editor/plugins/spatial_editor_plugin.h @@ -106,7 +106,6 @@ private: int index; String name; void _menu_option(int p_option); - Size2 prev_size; Spatial *preview_node; AABB *preview_bounds; @@ -136,10 +135,7 @@ private: bool freelook_active; real_t freelook_speed; - PanelContainer *info; Label *info_label; - - PanelContainer *fps; Label *fps_label; struct _RayResult { @@ -277,8 +273,11 @@ private: Transform to_camera_transform(const Cursor &p_cursor) const; void _draw(); - void _smouseenter(); - void _smouseexit(); + void _surface_mouse_enter(); + void _surface_mouse_exit(); + void _surface_focus_enter(); + void _surface_focus_exit(); + void _sinput(const Ref<InputEvent> &p_event); void _update_freelook(real_t delta); SpatialEditor *spatial_editor; @@ -405,6 +404,14 @@ public: }; + enum ToolOptions { + + TOOL_OPT_LOCAL_COORDS, + TOOL_OPT_USE_SNAP, + TOOL_OPT_MAX + + }; + private: EditorNode *editor; EditorSelection *editor_selection; @@ -449,17 +456,6 @@ private: Spatial *preview_node; AABB preview_bounds; - /* - struct Selected { - AABB aabb; - Transform original; // original location when moving - Transform last_xform; // last transform - Spatial *sp; - RID poly_instance; - }; - - Map<uint32_t,Selected> selected; -*/ struct Gizmo { bool visible; @@ -474,9 +470,9 @@ private: MENU_TOOL_ROTATE, MENU_TOOL_SCALE, MENU_TOOL_LIST_SELECT, - MENU_TRANSFORM_USE_SNAP, + MENU_TOOL_LOCAL_COORDS, + MENU_TOOL_USE_SNAP, MENU_TRANSFORM_CONFIGURE_SNAP, - MENU_TRANSFORM_LOCAL_COORDS, MENU_TRANSFORM_DIALOG, MENU_VIEW_USE_1_VIEWPORT, MENU_VIEW_USE_2_VIEWPORTS, @@ -493,6 +489,7 @@ private: }; Button *tool_button[TOOL_MAX]; + Button *tool_option_button[TOOL_OPT_MAX]; MenuButton *transform_menu; MenuButton *view_menu; @@ -524,11 +521,10 @@ private: void _xform_dialog_action(); void _menu_item_pressed(int p_option); + void _menu_item_toggled(bool pressed, int p_option); HBoxContainer *hbc_menu; - // - // void _generate_selection_box(); UndoRedo *undo_redo; @@ -579,13 +575,12 @@ public: bool is_gizmo_visible() const { return gizmo.visible; } ToolMode get_tool_mode() const { return tool_mode; } + bool are_local_coords_enabled() const { return tool_option_button[SpatialEditor::TOOL_OPT_LOCAL_COORDS]->is_pressed(); } bool is_snap_enabled() const { return snap_enabled; } float get_translate_snap() const { return snap_translate->get_text().to_double(); } float get_rotate_snap() const { return snap_rotate->get_text().to_double(); } float get_scale_snap() const { return snap_scale->get_text().to_double(); } - bool are_local_coords_enabled() const { return transform_menu->get_popup()->is_item_checked(transform_menu->get_popup()->get_item_index(SpatialEditor::MENU_TRANSFORM_LOCAL_COORDS)); } - Ref<ArrayMesh> get_move_gizmo(int idx) const { return move_gizmo[idx]; } Ref<ArrayMesh> get_move_plane_gizmo(int idx) const { return move_plane_gizmo[idx]; } Ref<ArrayMesh> get_rotate_gizmo(int idx) const { return rotate_gizmo[idx]; } diff --git a/editor/plugins/sprite_frames_editor_plugin.cpp b/editor/plugins/sprite_frames_editor_plugin.cpp index 175655119f..71c81f7111 100644 --- a/editor/plugins/sprite_frames_editor_plugin.cpp +++ b/editor/plugins/sprite_frames_editor_plugin.cpp @@ -840,7 +840,7 @@ SpriteFramesEditorPlugin::SpriteFramesEditorPlugin(EditorNode *p_node) { editor = p_node; frames_editor = memnew(SpriteFramesEditor); frames_editor->set_custom_minimum_size(Size2(0, 300) * EDSCALE); - button = editor->add_bottom_panel_item("SpriteFrames", frames_editor); + button = editor->add_bottom_panel_item(TTR("SpriteFrames"), frames_editor); button->hide(); } diff --git a/editor/plugins/style_box_editor_plugin.cpp b/editor/plugins/style_box_editor_plugin.cpp index 5c965e4a05..9840d9021c 100644 --- a/editor/plugins/style_box_editor_plugin.cpp +++ b/editor/plugins/style_box_editor_plugin.cpp @@ -103,6 +103,6 @@ StyleBoxEditorPlugin::StyleBoxEditorPlugin(EditorNode *p_node) { stylebox_editor->set_custom_minimum_size(Size2(0, 250)); //p_node->get_viewport()->add_child(stylebox_editor); - button = p_node->add_bottom_panel_item("StyleBox", stylebox_editor); + button = p_node->add_bottom_panel_item(TTR("StyleBox"), stylebox_editor); button->hide(); } diff --git a/editor/plugins/theme_editor_plugin.cpp b/editor/plugins/theme_editor_plugin.cpp index 7f956b01ff..38a4bfbfc6 100644 --- a/editor/plugins/theme_editor_plugin.cpp +++ b/editor/plugins/theme_editor_plugin.cpp @@ -934,6 +934,6 @@ ThemeEditorPlugin::ThemeEditorPlugin(EditorNode *p_node) { theme_editor->set_custom_minimum_size(Size2(0, 200)); //p_node->get_viewport()->add_child(theme_editor); - button = editor->add_bottom_panel_item("Theme", theme_editor); + button = editor->add_bottom_panel_item(TTR("Theme"), theme_editor); button->hide(); } diff --git a/editor/plugins/tile_set_editor_plugin.cpp b/editor/plugins/tile_set_editor_plugin.cpp index ae726b69ef..b56585f62c 100644 --- a/editor/plugins/tile_set_editor_plugin.cpp +++ b/editor/plugins/tile_set_editor_plugin.cpp @@ -314,7 +314,7 @@ TileSetEditorPlugin::TileSetEditorPlugin(EditorNode *p_node) { autotile_editor->side_panel->set_anchors_and_margins_preset(Control::PRESET_WIDE); autotile_editor->side_panel->set_custom_minimum_size(Size2(200, 0)); autotile_editor->side_panel->hide(); - autotile_button = p_node->add_bottom_panel_item("Autotiles", autotile_editor); + autotile_button = p_node->add_bottom_panel_item(TTR("Autotiles"), autotile_editor); autotile_button->hide(); } @@ -387,7 +387,7 @@ AutotileEditor::AutotileEditor(EditorNode *p_editor) { tools[TOOL_SELECT] = memnew(ToolButton); tool_containers[TOOLBAR_DUMMY]->add_child(tools[TOOL_SELECT]); - tools[TOOL_SELECT]->set_tooltip("Select sub-tile to use as icon, this will be also used on invalid autotile bindings."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select sub-tile to use as icon, this will be also used on invalid autotile bindings.")); tools[TOOL_SELECT]->set_toggle_mode(true); tools[TOOL_SELECT]->set_button_group(tg); tools[TOOL_SELECT]->set_pressed(true); @@ -533,7 +533,7 @@ void AutotileEditor::_on_edit_mode_changed(int p_edit_mode) { tool_containers[TOOLBAR_BITMASK]->show(); tool_containers[TOOLBAR_SHAPE]->hide(); tools[TOOL_SELECT]->set_pressed(true); - tools[TOOL_SELECT]->set_tooltip("LMB: set bit on.\nRMB: set bit off."); + tools[TOOL_SELECT]->set_tooltip(TTR("LMB: set bit on.\nRMB: set bit off.")); spin_priority->hide(); } break; case EDITMODE_COLLISION: @@ -542,7 +542,7 @@ void AutotileEditor::_on_edit_mode_changed(int p_edit_mode) { tool_containers[TOOLBAR_DUMMY]->show(); tool_containers[TOOLBAR_BITMASK]->hide(); tool_containers[TOOLBAR_SHAPE]->show(); - tools[TOOL_SELECT]->set_tooltip("Select current edited sub-tile."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select current edited sub-tile.")); spin_priority->hide(); } break; default: { @@ -550,10 +550,10 @@ void AutotileEditor::_on_edit_mode_changed(int p_edit_mode) { tool_containers[TOOLBAR_BITMASK]->hide(); tool_containers[TOOLBAR_SHAPE]->hide(); if (edit_mode == EDITMODE_ICON) { - tools[TOOL_SELECT]->set_tooltip("Select sub-tile to use as icon, this will be also used on invalid autotile bindings."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select sub-tile to use as icon, this will be also used on invalid autotile bindings.")); spin_priority->hide(); } else { - tools[TOOL_SELECT]->set_tooltip("Select sub-tile to change it's priority."); + tools[TOOL_SELECT]->set_tooltip(TTR("Select sub-tile to change it's priority.")); spin_priority->show(); } } break; @@ -1435,13 +1435,13 @@ bool AutotileEditorHelper::_get(const StringName &p_name, Variant &r_ret) const return false; String name = p_name.operator String(); + bool v = false; if (name == "bitmask_mode") { - r_ret = tile_set->get(String::num(autotile_editor->get_current_tile(), 0) + "/autotile/bitmask_mode"); + r_ret = tile_set->get(String::num(autotile_editor->get_current_tile(), 0) + "/autotile/bitmask_mode", &v); } else if (name.left(7) == "layout/") { - bool v; r_ret = tile_set->get(String::num(autotile_editor->get_current_tile(), 0) + "/autotile" + name.right(6), &v); - return v; } + return v; } void AutotileEditorHelper::_get_property_list(List<PropertyInfo> *p_list) const { diff --git a/editor/progress_dialog.cpp b/editor/progress_dialog.cpp index 2c2e5a7c9b..e02925e377 100644 --- a/editor/progress_dialog.cpp +++ b/editor/progress_dialog.cpp @@ -188,6 +188,9 @@ void ProgressDialog::add_task(const String &p_task, const String &p_label, int p cancel_hb->raise(); cancelled = false; _popup(); + if (p_can_cancel) { + cancel->grab_focus(); + } } bool ProgressDialog::task_step(const String &p_task, const String &p_state, int p_step, bool p_force_redraw) { diff --git a/editor/project_export.cpp b/editor/project_export.cpp index 767dbcc27b..3c31b70564 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -718,7 +718,9 @@ void ProjectExportDialog::_export_project() { export_project->set_access(FileDialog::ACCESS_FILESYSTEM); export_project->clear_filters(); export_project->set_current_file(default_filename); - String extension = platform->get_binary_extension(); + + String extension = platform->get_binary_extension(current); + if (extension != String()) { export_project->add_filter("*." + extension + " ; " + platform->get_name() + " Export"); } diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 00488a2a88..04e9f0adc1 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -536,21 +536,21 @@ public: if (mode == MODE_IMPORT) { set_title(TTR("Import Existing Project")); - get_ok()->set_text(TTR("Import")); + get_ok()->set_text(TTR("Import & Edit")); name_container->hide(); project_path->grab_focus(); } else if (mode == MODE_NEW) { set_title(TTR("Create New Project")); - get_ok()->set_text(TTR("Create")); + get_ok()->set_text(TTR("Create & Edit")); name_container->show(); project_name->grab_focus(); } else if (mode == MODE_INSTALL) { set_title(TTR("Install Project:") + " " + zip_title); - get_ok()->set_text(TTR("Install")); + get_ok()->set_text(TTR("Install & Edit")); name_container->hide(); project_path->grab_focus(); } diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 1a7b7f3575..e69577489e 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -1460,7 +1460,6 @@ void ProjectSettingsEditor::_update_translations() { t2->set_editable(1, true); t2->set_metadata(1, path); int idx = langs.find(locale); - //print_line("find " + locale + " at " + itos(idx)); if (idx < 0) idx = 0; @@ -1690,13 +1689,13 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { vbc->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 0); vbc->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 0); - l = memnew(Label); - vbc->add_child(l); - l->set_text(TTR("Action:")); - hbc = memnew(HBoxContainer); vbc->add_child(hbc); + l = memnew(Label); + hbc->add_child(l); + l->set_text(TTR("Action:")); + action_name = memnew(LineEdit); action_name->set_h_size_flags(SIZE_EXPAND_FILL); hbc->add_child(action_name); @@ -1709,7 +1708,6 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { add = memnew(Button); hbc->add_child(add); - add->set_custom_minimum_size(Size2(150, 0) * EDSCALE); add->set_text(TTR("Add")); add->set_disabled(true); add->connect("pressed", this, "_action_add"); diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index d22bee40d9..16cf325bc2 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -335,6 +335,8 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: easing_draw->hide(); spinbox->hide(); slider->hide(); + menu->clear(); + menu->set_size(Size2(1, 1) * EDSCALE); for (int i = 0; i < MAX_VALUE_EDITORS; i++) { @@ -413,7 +415,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: } else if (hint == PROPERTY_HINT_ENUM) { - menu->clear(); Vector<String> options = hint_text.split(","); for (int i = 0; i < options.size(); i++) { if (options[i].find(":") != -1) { @@ -494,7 +495,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: easing_draw->show(); set_size(Size2(200, 150) * EDSCALE); } else if (hint == PROPERTY_HINT_FLAGS) { - menu->clear(); Vector<String> flags = hint_text.split(","); for (int i = 0; i < flags.size(); i++) { String flag = flags[i]; @@ -536,7 +536,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: config_action_buttons(names); } else if (hint == PROPERTY_HINT_ENUM) { - menu->clear(); Vector<String> options = hint_text.split(","); for (int i = 0; i < options.size(); i++) { menu->add_item(options[i], i); @@ -551,6 +550,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: text_edit->show(); text_edit->set_text(v); + text_edit->deselect(); int button_margin = get_constant("button_margin", "Dialogs"); int margin = get_constant("margin", "Dialogs"); @@ -868,9 +868,6 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: if (hint != PROPERTY_HINT_RESOURCE_TYPE) break; - menu->clear(); - menu->set_size(Size2(1, 1) * EDSCALE); - if (p_name == "script" && hint_text == "Script" && Object::cast_to<Node>(owner)) { menu->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script"), OBJ_MENU_NEW_SCRIPT); menu->add_separator(); @@ -1763,24 +1760,40 @@ void CustomPropertyEditor::_focus_exit() { void CustomPropertyEditor::config_action_buttons(const List<String> &p_strings) { - int cell_width = 60; - int cell_height = 25; - int cell_margin = 5; + Ref<StyleBox> sb = get_stylebox("panel"); + int margin_top = sb->get_margin(MARGIN_TOP); + int margin_left = sb->get_margin(MARGIN_LEFT); + int margin_bottom = sb->get_margin(MARGIN_BOTTOM); + int margin_right = sb->get_margin(MARGIN_RIGHT); - set_size(Size2(cell_margin + (cell_width + cell_margin) * p_strings.size(), (cell_margin * 2) + cell_height) * EDSCALE); + int max_width = 0; + int height = 0; for (int i = 0; i < MAX_ACTION_BUTTONS; i++) { if (i < p_strings.size()) { + action_buttons[i]->show(); action_buttons[i]->set_text(p_strings[i]); - action_buttons[i]->set_position(Point2(cell_margin + (cell_width + cell_margin) * i, cell_margin) * EDSCALE); - action_buttons[i]->set_size(Size2(cell_width, cell_height - cell_margin * 2) * EDSCALE); - action_buttons[i]->set_flat(true); + + Size2 btn_m_size = action_buttons[i]->get_minimum_size(); + if (btn_m_size.width > max_width) + max_width = btn_m_size.width; + } else { action_buttons[i]->hide(); } } + + for (int i = 0; i < p_strings.size(); i++) { + + Size2 btn_m_size = action_buttons[i]->get_size(); + action_buttons[i]->set_position(Point2(0, height) + Point2(margin_left, margin_top)); + action_buttons[i]->set_size(Size2(max_width, btn_m_size.height)); + + height += btn_m_size.height; + } + set_size(Size2(max_width, height) + Size2(margin_left + margin_right, margin_top + margin_bottom)); } void CustomPropertyEditor::config_value_editors(int p_amount, int p_columns, int p_label_w, const List<String> &p_strings) { @@ -1901,6 +1914,7 @@ CustomPropertyEditor::CustomPropertyEditor() { Vector<Variant> binds; binds.push_back(i); action_buttons[i]->connect("pressed", this, "_action_pressed", binds); + action_buttons[i]->set_flat(true); } color_picker = NULL; @@ -2952,14 +2966,19 @@ void PropertyEditor::update_tree() { if (!found) { DocData *dd = EditorHelp::get_doc_data(); Map<String, DocData::ClassDoc>::Element *E = dd->class_list.find(classname); - if (E) { + while (E && descr == String()) { for (int i = 0; i < E->get().properties.size(); i++) { if (E->get().properties[i].name == propname.operator String()) { descr = E->get().properties[i].description.strip_edges().word_wrap(80); + break; } } + if (!E->get().inherits.empty()) { + E = dd->class_list.find(E->get().inherits); + } else { + break; + } } - descr_cache[classname][propname] = descr; } @@ -3950,11 +3969,13 @@ void PropertyEditor::_edit_button(Object *p_item, int p_column, int p_button) { if (t == Variant::NODE_PATH) { Variant v = obj->get(n); - custom_editor->edit(obj, n, (Variant::Type)t, v, h, ht); Rect2 where = tree->get_item_rect(ti, 1); where.position -= tree->get_scroll(); - where.position += tree->get_global_position(); + where.position += tree->get_global_position() + Point2(where.size.width, 0); + for (int i = ti->get_button_count(p_column) - 1; i >= p_button; i--) + where.position.x -= ti->get_button(p_column, i)->get_width(); custom_editor->set_position(where.position); + custom_editor->edit(obj, n, (Variant::Type)t, v, h, ht); custom_editor->popup(); } else if (t == Variant::STRING) { @@ -3965,7 +3986,9 @@ void PropertyEditor::_edit_button(Object *p_item, int p_column, int p_button) { Rect2 where = tree->get_item_rect(ti, 1); where.position -= tree->get_scroll(); - where.position += tree->get_global_position(); + where.position += tree->get_global_position() + Point2(where.size.width, 0); + for (int i = ti->get_button_count(p_column) - 1; i >= p_button; i--) + where.position.x -= ti->get_button(p_column, i)->get_width(); custom_editor->set_position(where.position); custom_editor->popup(); } else { @@ -4585,6 +4608,8 @@ SectionedPropertyEditor::SectionedPropertyEditor() { search_box = NULL; + add_constant_override("autohide", 1); // Fixes the dragger always showing up + VBoxContainer *left_vb = memnew(VBoxContainer); left_vb->set_custom_minimum_size(Size2(170, 0) * EDSCALE); add_child(left_vb); @@ -4593,16 +4618,17 @@ SectionedPropertyEditor::SectionedPropertyEditor() { sections->set_v_size_flags(SIZE_EXPAND_FILL); sections->set_hide_root(true); - left_vb->add_margin_child(TTR("Sections:"), sections, true); + left_vb->add_child(sections, true); VBoxContainer *right_vb = memnew(VBoxContainer); + right_vb->set_custom_minimum_size(Size2(300, 0) * EDSCALE); right_vb->set_h_size_flags(SIZE_EXPAND_FILL); add_child(right_vb); filter = memnew(SectionedPropertyEditorFilter); editor = memnew(PropertyEditor); editor->set_v_size_flags(SIZE_EXPAND_FILL); - right_vb->add_margin_child(TTR("Properties:"), editor, true); + right_vb->add_child(editor, true); editor->get_scene_tree()->set_column_titles_visible(false); diff --git a/editor/property_editor.h b/editor/property_editor.h index f684f5768d..115ce07339 100644 --- a/editor/property_editor.h +++ b/editor/property_editor.h @@ -314,9 +314,9 @@ public: class SectionedPropertyEditorFilter; -class SectionedPropertyEditor : public HBoxContainer { +class SectionedPropertyEditor : public HSplitContainer { - GDCLASS(SectionedPropertyEditor, HBoxContainer); + GDCLASS(SectionedPropertyEditor, HSplitContainer); ObjectID obj; diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 4d86030e7d..06dd6bd375 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -1360,6 +1360,7 @@ void SceneTreeDock::_create() { editor_data->get_undo_redo().commit_action(); editor->push_item(c); editor_selection->clear(); + editor_selection->add_node(child); if (Object::cast_to<Control>(c)) { //make editor more comfortable, so some controls don't appear super shrunk Control *ct = Object::cast_to<Control>(c); @@ -1373,77 +1374,81 @@ void SceneTreeDock::_create() { } } else if (current_option == TOOL_REPLACE) { - Node *n = scene_tree->get_selected(); - ERR_FAIL_COND(!n); + List<Node *> selection = editor_selection->get_selected_node_list(); + ERR_FAIL_COND(selection.size() <= 0); + for (List<Node *>::Element *E = selection.front(); E; E = E->next()) { + Node *n = E->get(); + ERR_FAIL_COND(!n); - Object *c = create_dialog->instance_selected(); + Object *c = create_dialog->instance_selected(); - ERR_FAIL_COND(!c); - Node *newnode = Object::cast_to<Node>(c); - ERR_FAIL_COND(!newnode); + ERR_FAIL_COND(!c); + Node *newnode = Object::cast_to<Node>(c); + ERR_FAIL_COND(!newnode); - List<PropertyInfo> pinfo; - n->get_property_list(&pinfo); + List<PropertyInfo> pinfo; + n->get_property_list(&pinfo); - for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { - if (!(E->get().usage & PROPERTY_USAGE_STORAGE)) - continue; - if (E->get().name == "__meta__") - continue; - newnode->set(E->get().name, n->get(E->get().name)); - } + for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { + if (!(E->get().usage & PROPERTY_USAGE_STORAGE)) + continue; + if (E->get().name == "__meta__") + continue; + newnode->set(E->get().name, n->get(E->get().name)); + } - editor->push_item(NULL); + editor->push_item(NULL); - //reconnect signals - List<MethodInfo> sl; + //reconnect signals + List<MethodInfo> sl; - n->get_signal_list(&sl); - for (List<MethodInfo>::Element *E = sl.front(); E; E = E->next()) { + n->get_signal_list(&sl); + for (List<MethodInfo>::Element *E = sl.front(); E; E = E->next()) { - List<Object::Connection> cl; - n->get_signal_connection_list(E->get().name, &cl); + List<Object::Connection> cl; + n->get_signal_connection_list(E->get().name, &cl); - for (List<Object::Connection>::Element *F = cl.front(); F; F = F->next()) { + for (List<Object::Connection>::Element *F = cl.front(); F; F = F->next()) { - Object::Connection &c = F->get(); - if (!(c.flags & Object::CONNECT_PERSIST)) - continue; - newnode->connect(c.signal, c.target, c.method, varray(), Object::CONNECT_PERSIST); + Object::Connection &c = F->get(); + if (!(c.flags & Object::CONNECT_PERSIST)) + continue; + newnode->connect(c.signal, c.target, c.method, varray(), Object::CONNECT_PERSIST); + } } - } - String newname = n->get_name(); + String newname = n->get_name(); - List<Node *> to_erase; - for (int i = 0; i < n->get_child_count(); i++) { - if (n->get_child(i)->get_owner() == NULL && n->is_owned_by_parent()) { - to_erase.push_back(n->get_child(i)); + List<Node *> to_erase; + for (int i = 0; i < n->get_child_count(); i++) { + if (n->get_child(i)->get_owner() == NULL && n->is_owned_by_parent()) { + to_erase.push_back(n->get_child(i)); + } } - } - n->replace_by(newnode, true); + n->replace_by(newnode, true); - if (n == edited_scene) { - edited_scene = newnode; - editor->set_edited_scene(newnode); - newnode->set_editable_instances(n->get_editable_instances()); - } + if (n == edited_scene) { + edited_scene = newnode; + editor->set_edited_scene(newnode); + newnode->set_editable_instances(n->get_editable_instances()); + } - //small hack to make collisionshapes and other kind of nodes to work - for (int i = 0; i < newnode->get_child_count(); i++) { - Node *c = newnode->get_child(i); - c->call("set_transform", c->call("get_transform")); - } - editor_data->get_undo_redo().clear_history(); - newnode->set_name(newname); + //small hack to make collisionshapes and other kind of nodes to work + for (int i = 0; i < newnode->get_child_count(); i++) { + Node *c = newnode->get_child(i); + c->call("set_transform", c->call("get_transform")); + } + editor_data->get_undo_redo().clear_history(); + newnode->set_name(newname); - editor->push_item(newnode); + editor->push_item(newnode); - memdelete(n); + memdelete(n); - while (to_erase.front()) { - memdelete(to_erase.front()->get()); - to_erase.pop_front(); + while (to_erase.front()) { + memdelete(to_erase.front()->get()); + to_erase.pop_front(); + } } } } @@ -1695,12 +1700,11 @@ void SceneTreeDock::_add_children_to_popup(Object *p_obj, int p_depth) { icon = get_icon("Object", "EditorIcons"); if (menu->get_item_count() == 0) { - menu->add_item(TTR("Sub-Resources:")); - menu->set_item_disabled(0, true); + menu->add_submenu_item(TTR("Sub-Resources"), "Sub-Resources"); } - int index = menu->get_item_count(); - menu->add_icon_item(icon, E->get().name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size()); - menu->set_item_h_offset(index, p_depth * 10 * EDSCALE); + int index = menu_subresources->get_item_count(); + menu_subresources->add_icon_item(icon, E->get().name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size()); + menu_subresources->set_item_h_offset(index, p_depth * 10 * EDSCALE); subresources.push_back(obj->get_instance_id()); _add_children_to_popup(obj, p_depth + 1); @@ -1730,6 +1734,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) { if (selection.size() == 1) { subresources.clear(); + menu_subresources->clear(); _add_children_to_popup(selection.front()->get(), 0); if (menu->get_item_count() > 0) menu->add_separator(); @@ -1737,13 +1742,12 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) { menu->add_icon_shortcut(get_icon("Add", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW); menu->add_icon_shortcut(get_icon("Instance", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE); menu->add_separator(); - menu->add_icon_shortcut(get_icon("Reload", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/change_node_type"), TOOL_REPLACE); - menu->add_separator(); menu->add_icon_shortcut(get_icon("ScriptCreate", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/attach_script"), TOOL_ATTACH_SCRIPT); menu->add_icon_shortcut(get_icon("ScriptRemove", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/clear_script"), TOOL_CLEAR_SCRIPT); menu->add_separator(); } - + menu->add_icon_shortcut(get_icon("Reload", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/change_node_type"), TOOL_REPLACE); + menu->add_separator(); menu->add_icon_shortcut(get_icon("MoveUp", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/move_up"), TOOL_MOVE_UP); menu->add_icon_shortcut(get_icon("MoveDown", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/move_down"), TOOL_MOVE_DOWN); menu->add_icon_shortcut(get_icon("Duplicate", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/duplicate"), TOOL_DUPLICATE); @@ -2046,6 +2050,9 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel menu = memnew(PopupMenu); add_child(menu); menu->connect("id_pressed", this, "_tool_selected"); + menu_subresources = memnew(PopupMenu); + menu_subresources->set_name("Sub-Resources"); + menu->add_child(menu_subresources); first_enter = true; restore_script_editor_on_drag = false; diff --git a/editor/scene_tree_dock.h b/editor/scene_tree_dock.h index 41d5bda180..6a281bb7e8 100644 --- a/editor/scene_tree_dock.h +++ b/editor/scene_tree_dock.h @@ -119,6 +119,7 @@ class SceneTreeDock : public VBoxContainer { TextureRect *filter_icon; PopupMenu *menu; + PopupMenu *menu_subresources; ConfirmationDialog *clear_inherit_confirm; bool first_enter; diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 3e503c45a5..827e8d9ee4 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -774,9 +774,11 @@ Variant SceneTreeEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from Node *n = get_node(np); if (n) { - - selected.push_back(n); - icons.push_back(next->get_icon(0)); + // Only allow selection if not part of an instanced scene. + if (!n->get_owner() || n->get_owner() == get_scene_node() || n->get_owner()->get_filename() == String()) { + selected.push_back(n); + icons.push_back(next->get_icon(0)); + } } next = tree->get_next_selected(next); } diff --git a/editor/script_create_dialog.cpp b/editor/script_create_dialog.cpp index 3cab14b0c4..97f442b0ec 100644 --- a/editor/script_create_dialog.cpp +++ b/editor/script_create_dialog.cpp @@ -331,6 +331,12 @@ void ScriptCreateDialog::_file_selected(const String &p_file) { } else { file_path->set_text(p); _path_changed(p); + + String filename = p.get_file().get_basename(); + int select_start = p.find_last(filename); + file_path->select(select_start, select_start + filename.length()); + file_path->set_cursor_position(select_start + filename.length()); + file_path->grab_focus(); } } @@ -425,6 +431,10 @@ void ScriptCreateDialog::_path_changed(const String &p_path) { _update_dialog(); } +void ScriptCreateDialog::_path_entered(const String &p_path) { + ok_pressed(); +} + void ScriptCreateDialog::_msg_script_valid(bool valid, const String &p_msg) { error_label->set_text(TTR(p_msg)); @@ -459,7 +469,7 @@ void ScriptCreateDialog::_update_dialog() { script_ok = false; } } - if (has_named_classes && (!is_class_name_valid)) { + if (has_named_classes && (is_new_script_created && !is_class_name_valid)) { _msg_script_valid(false, TTR("Invalid class name")); script_ok = false; } @@ -550,6 +560,7 @@ void ScriptCreateDialog::_bind_methods() { ClassDB::bind_method("_browse_path", &ScriptCreateDialog::_browse_path); ClassDB::bind_method("_file_selected", &ScriptCreateDialog::_file_selected); ClassDB::bind_method("_path_changed", &ScriptCreateDialog::_path_changed); + ClassDB::bind_method("_path_entered", &ScriptCreateDialog::_path_entered); ClassDB::bind_method("_template_changed", &ScriptCreateDialog::_template_changed); ADD_SIGNAL(MethodInfo("script_created", PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script"))); } @@ -715,6 +726,7 @@ ScriptCreateDialog::ScriptCreateDialog() { hb = memnew(HBoxContainer); file_path = memnew(LineEdit); file_path->connect("text_changed", this, "_path_changed"); + file_path->connect("text_entered", this, "_path_entered"); file_path->set_h_size_flags(SIZE_EXPAND_FILL); hb->add_child(file_path); path_button = memnew(Button); diff --git a/editor/script_create_dialog.h b/editor/script_create_dialog.h index c7bbc82d47..1cff9871d8 100644 --- a/editor/script_create_dialog.h +++ b/editor/script_create_dialog.h @@ -73,6 +73,7 @@ class ScriptCreateDialog : public ConfirmationDialog { Vector<String> template_list; void _path_changed(const String &p_path = String()); + void _path_entered(const String &p_path = String()); void _lang_changed(int l = 0); void _built_in_pressed(); bool _validate(const String &p_string); diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index fccd0c51aa..2bdc824248 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -100,6 +100,8 @@ void EditorSettingsDialog::popup_edit_settings() { } else { popup_centered_ratio(0.7); } + + _focus_current_search_box(); } void EditorSettingsDialog::_clear_search_box() { @@ -137,13 +139,18 @@ void EditorSettingsDialog::_notification(int p_what) { undo_redo->set_commit_notify_callback(_undo_redo_callback, this); } break; case NOTIFICATION_ENTER_TREE: { - clear_button->set_icon(get_icon("Close", "EditorIcons")); - shortcut_clear_button->set_icon(get_icon("Close", "EditorIcons")); + _update_icons(); } break; case NOTIFICATION_POPUP_HIDE: { EditorSettings::get_singleton()->set("interface/dialogs/editor_settings_bounds", get_rect()); set_process_unhandled_input(false); } break; + case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { + _update_icons(); + // Update theme colors. + property_editor->update_category_list(); + _update_shortcuts(); + } break; } } @@ -179,6 +186,14 @@ void EditorSettingsDialog::_unhandled_input(const Ref<InputEvent> &p_event) { } } +void EditorSettingsDialog::_update_icons() { + + search_box->add_icon_override("right_icon", get_icon("Search", "EditorIcons")); + shortcut_search_box->add_icon_override("right_icon", get_icon("Search", "EditorIcons")); + clear_button->set_icon(get_icon("Close", "EditorIcons")); + shortcut_clear_button->set_icon(get_icon("Close", "EditorIcons")); +} + void EditorSettingsDialog::_update_shortcuts() { shortcuts->clear(); @@ -329,6 +344,26 @@ void EditorSettingsDialog::_press_a_key_confirm() { undo_redo->commit_action(); } +void EditorSettingsDialog::_tabs_tab_changed(int p_tab) { + + _focus_current_search_box(); +} + +void EditorSettingsDialog::_focus_current_search_box() { + + Control *tab = tabs->get_current_tab_control(); + LineEdit *current_search_box; + if (tab == tab_general) + current_search_box = search_box; + else if (tab == tab_shortcuts) + current_search_box = shortcut_search_box; + + if (current_search_box) { + current_search_box->grab_focus(); + current_search_box->select_all(); + } +} + void EditorSettingsDialog::_bind_methods() { ClassDB::bind_method(D_METHOD("_unhandled_input"), &EditorSettingsDialog::_unhandled_input); @@ -342,6 +377,7 @@ void EditorSettingsDialog::_bind_methods() { ClassDB::bind_method(D_METHOD("_update_shortcuts"), &EditorSettingsDialog::_update_shortcuts); ClassDB::bind_method(D_METHOD("_press_a_key_confirm"), &EditorSettingsDialog::_press_a_key_confirm); ClassDB::bind_method(D_METHOD("_wait_for_key"), &EditorSettingsDialog::_wait_for_key); + ClassDB::bind_method(D_METHOD("_tabs_tab_changed"), &EditorSettingsDialog::_tabs_tab_changed); } EditorSettingsDialog::EditorSettingsDialog() { @@ -352,20 +388,19 @@ EditorSettingsDialog::EditorSettingsDialog() { tabs = memnew(TabContainer); tabs->set_tab_align(TabContainer::ALIGN_LEFT); + tabs->connect("tab_changed", this, "_tabs_tab_changed"); add_child(tabs); //set_child_rect(tabs); - VBoxContainer *vbc = memnew(VBoxContainer); - tabs->add_child(vbc); - vbc->set_name(TTR("General")); + // General Tab + + tab_general = memnew(VBoxContainer); + tabs->add_child(tab_general); + tab_general->set_name(TTR("General")); HBoxContainer *hbc = memnew(HBoxContainer); hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL); - vbc->add_child(hbc); - - Label *l = memnew(Label); - l->set_text(TTR("Search:") + " "); - hbc->add_child(l); + tab_general->add_child(hbc); search_box = memnew(LineEdit); search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); @@ -381,20 +416,18 @@ EditorSettingsDialog::EditorSettingsDialog() { property_editor->register_search_box(search_box); property_editor->set_v_size_flags(Control::SIZE_EXPAND_FILL); property_editor->get_property_editor()->set_undo_redo(undo_redo); - vbc->add_child(property_editor); + tab_general->add_child(property_editor); property_editor->get_property_editor()->connect("property_edited", this, "_settings_property_edited"); - vbc = memnew(VBoxContainer); - tabs->add_child(vbc); - vbc->set_name(TTR("Shortcuts")); + // Shortcuts Tab + + tab_shortcuts = memnew(VBoxContainer); + tabs->add_child(tab_shortcuts); + tab_shortcuts->set_name(TTR("Shortcuts")); hbc = memnew(HBoxContainer); hbc->set_h_size_flags(Control::SIZE_EXPAND_FILL); - vbc->add_child(hbc); - - l = memnew(Label); - l->set_text(TTR("Search:") + " "); - hbc->add_child(l); + tab_shortcuts->add_child(hbc); shortcut_search_box = memnew(LineEdit); shortcut_search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); @@ -406,7 +439,8 @@ EditorSettingsDialog::EditorSettingsDialog() { shortcut_clear_button->connect("pressed", this, "_clear_shortcut_search_box"); shortcuts = memnew(Tree); - vbc->add_margin_child(TTR("Shortcut List:"), shortcuts, true); + tab_shortcuts->add_child(shortcuts, true); + shortcuts->set_v_size_flags(SIZE_EXPAND_FILL); shortcuts->set_columns(2); shortcuts->set_hide_root(true); //shortcuts->set_hide_folding(true); @@ -419,7 +453,7 @@ EditorSettingsDialog::EditorSettingsDialog() { press_a_key->set_focus_mode(FOCUS_ALL); add_child(press_a_key); - l = memnew(Label); + Label *l = memnew(Label); l->set_text(TTR("Press a Key..")); l->set_anchors_and_margins_preset(Control::PRESET_WIDE); l->set_align(Label::ALIGN_CENTER); diff --git a/editor/settings_config_dialog.h b/editor/settings_config_dialog.h index a03b15c06d..64b8833821 100644 --- a/editor/settings_config_dialog.h +++ b/editor/settings_config_dialog.h @@ -41,6 +41,8 @@ class EditorSettingsDialog : public AcceptDialog { bool updating; TabContainer *tabs; + Control *tab_general; + Control *tab_shortcuts; LineEdit *search_box; LineEdit *shortcut_search_box; @@ -68,10 +70,14 @@ class EditorSettingsDialog : public AcceptDialog { void _unhandled_input(const Ref<InputEvent> &p_event); void _notification(int p_what); + void _update_icons(); void _press_a_key_confirm(); void _wait_for_key(const Ref<InputEvent> &p_event); + void _tabs_tab_changed(int p_tab); + void _focus_current_search_box(); + void _clear_shortcut_search_box(); void _clear_search_box(); diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp index f0e8d438fa..1a3ab309f7 100644 --- a/editor/spatial_editor_gizmos.cpp +++ b/editor/spatial_editor_gizmos.cpp @@ -1529,6 +1529,8 @@ SkeletonSpatialGizmo::SkeletonSpatialGizmo(Skeleton *p_skel) { skel = p_skel; set_spatial_node(p_skel); } + +// FIXME: Kept as reference for reimplementation in 3.1+ #if 0 void RoomSpatialGizmo::redraw() { @@ -2827,11 +2829,7 @@ void BakedIndirectLightGizmo::redraw() { Vector<Vector3> lines; Vector3 extents = baker->get_extents(); - static const int subdivs[BakedLightmap::SUBDIV_MAX] = { 64, 128, 256, 512 }; - AABB aabb = AABB(-extents, extents * 2); - int subdiv = subdivs[baker->get_bake_subdiv()]; - float cell_size = aabb.get_longest_axis_size() / subdiv; for (int i = 0; i < 12; i++) { Vector3 a, b; @@ -2966,227 +2964,220 @@ NavigationMeshSpatialGizmo::NavigationMeshSpatialGizmo(NavigationMeshInstance *p navmesh = p_navmesh; } -////// -/// -/// + ////// + /// + /// + /// -void PinJointSpatialGizmo::redraw() { +#define BODY_A_RADIUS 0.25 +#define BODY_B_RADIUS 0.27 - clear(); - Vector<Vector3> cursor_points; - float cs = 0.25; - cursor_points.push_back(Vector3(+cs, 0, 0)); - cursor_points.push_back(Vector3(-cs, 0, 0)); - cursor_points.push_back(Vector3(0, +cs, 0)); - cursor_points.push_back(Vector3(0, -cs, 0)); - cursor_points.push_back(Vector3(0, 0, +cs)); - cursor_points.push_back(Vector3(0, 0, -cs)); - add_collision_segments(cursor_points); +Basis JointGizmosDrawer::look_body(const Transform &p_joint_transform, const Transform &p_body_transform) { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Vector3 v_x, v_y, v_z; - add_lines(cursor_points, material); + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); + + v_z = v_x.cross(Vector3(0, 1, 0)); + v_z.normalize(); + + v_y = v_z.cross(v_x); + v_y.normalize(); + + Basis base; + base.set(v_x, v_y, v_z); + + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; + + return base; } -PinJointSpatialGizmo::PinJointSpatialGizmo(PinJoint *p_p3d) { +Basis JointGizmosDrawer::look_body_toward(Vector3::Axis p_axis, const Transform &joint_transform, const Transform &body_transform) { - p3d = p_p3d; - set_spatial_node(p3d); + switch (p_axis) { + case Vector3::AXIS_X: + return look_body_toward_x(joint_transform, body_transform); + case Vector3::AXIS_Y: + return look_body_toward_y(joint_transform, body_transform); + case Vector3::AXIS_Z: + return look_body_toward_z(joint_transform, body_transform); + default: + return Basis(); + } } -//// +Basis JointGizmosDrawer::look_body_toward_x(const Transform &p_joint_transform, const Transform &p_body_transform) { -void HingeJointSpatialGizmo::redraw() { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - clear(); - Vector<Vector3> cursor_points; - float cs = 0.25; - /*cursor_points.push_back(Vector3(+cs,0,0)); - cursor_points.push_back(Vector3(-cs,0,0)); - cursor_points.push_back(Vector3(0,+cs,0)); - cursor_points.push_back(Vector3(0,-cs,0));*/ - cursor_points.push_back(Vector3(0, 0, +cs * 2)); - cursor_points.push_back(Vector3(0, 0, -cs * 2)); + const Vector3 p_front(p_joint_transform.basis.get_axis(0)); - float ll = p3d->get_param(HingeJoint::PARAM_LIMIT_LOWER); - float ul = p3d->get_param(HingeJoint::PARAM_LIMIT_UPPER); + Vector3 v_x, v_y, v_z; - if (p3d->get_flag(HingeJoint::FLAG_USE_LIMIT) && ll < ul) { + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); - const int points = 32; + v_y = p_front.cross(v_x); + v_y.normalize(); - for (int i = 0; i < points; i++) { + v_z = v_y.cross(p_front); + v_z.normalize(); - float s = ll + i * (ul - ll) / points; - float n = ll + (i + 1) * (ul - ll) / points; + // Clamp X to FRONT axis + v_x = p_front; + v_x.normalize(); - Vector3 from = Vector3(-Math::sin(s), Math::cos(s), 0) * cs; - Vector3 to = Vector3(-Math::sin(n), Math::cos(n), 0) * cs; + Basis base; + base.set(v_x, v_y, v_z); - if (i == points - 1) { - cursor_points.push_back(to); - cursor_points.push_back(Vector3()); - } - if (i == 0) { - cursor_points.push_back(from); - cursor_points.push_back(Vector3()); - } + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; - cursor_points.push_back(from); - cursor_points.push_back(to); - } + return base; +} - cursor_points.push_back(Vector3(0, cs * 1.5, 0)); - cursor_points.push_back(Vector3()); +Basis JointGizmosDrawer::look_body_toward_y(const Transform &p_joint_transform, const Transform &p_body_transform) { - } else { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - const int points = 32; + const Vector3 p_up(p_joint_transform.basis.get_axis(1)); - for (int i = 0; i < points; i++) { + Vector3 v_x, v_y, v_z; - float s = ll + i * (Math_PI * 2.0) / points; - float n = ll + (i + 1) * (Math_PI * 2.0) / points; + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); - Vector3 from = Vector3(-Math::sin(s), Math::cos(s), 0) * cs; - Vector3 to = Vector3(-Math::sin(n), Math::cos(n), 0) * cs; + v_z = v_x.cross(p_up); + v_z.normalize(); - cursor_points.push_back(from); - cursor_points.push_back(to); - } - } + v_x = p_up.cross(v_z); + v_x.normalize(); - Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + // Clamp Y to UP axis + v_y = p_up; + v_y.normalize(); - add_collision_segments(cursor_points); - add_lines(cursor_points, material); -} + Basis base; + base.set(v_x, v_y, v_z); -HingeJointSpatialGizmo::HingeJointSpatialGizmo(HingeJoint *p_p3d) { + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; - p3d = p_p3d; - set_spatial_node(p3d); + return base; } -/////// -/// -//// +Basis JointGizmosDrawer::look_body_toward_z(const Transform &p_joint_transform, const Transform &p_body_transform) { -void SliderJointSpatialGizmo::redraw() { + const Vector3 &p_eye(p_joint_transform.origin); + const Vector3 &p_target(p_body_transform.origin); - clear(); - Vector<Vector3> cursor_points; - float cs = 0.25; - /*cursor_points.push_back(Vector3(+cs,0,0)); - cursor_points.push_back(Vector3(-cs,0,0)); - cursor_points.push_back(Vector3(0,+cs,0)); - cursor_points.push_back(Vector3(0,-cs,0));*/ - cursor_points.push_back(Vector3(0, 0, +cs * 2)); - cursor_points.push_back(Vector3(0, 0, -cs * 2)); - - float ll = p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_LOWER); - float ul = p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_UPPER); - float lll = p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_LOWER); - float lul = p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_UPPER); - - if (lll <= lul) { - - cursor_points.push_back(Vector3(lul, 0, 0)); - cursor_points.push_back(Vector3(lll, 0, 0)); - - cursor_points.push_back(Vector3(lul, -cs, -cs)); - cursor_points.push_back(Vector3(lul, -cs, cs)); - cursor_points.push_back(Vector3(lul, -cs, cs)); - cursor_points.push_back(Vector3(lul, cs, cs)); - cursor_points.push_back(Vector3(lul, cs, cs)); - cursor_points.push_back(Vector3(lul, cs, -cs)); - cursor_points.push_back(Vector3(lul, cs, -cs)); - cursor_points.push_back(Vector3(lul, -cs, -cs)); - - cursor_points.push_back(Vector3(lll, -cs, -cs)); - cursor_points.push_back(Vector3(lll, -cs, cs)); - cursor_points.push_back(Vector3(lll, -cs, cs)); - cursor_points.push_back(Vector3(lll, cs, cs)); - cursor_points.push_back(Vector3(lll, cs, cs)); - cursor_points.push_back(Vector3(lll, cs, -cs)); - cursor_points.push_back(Vector3(lll, cs, -cs)); - cursor_points.push_back(Vector3(lll, -cs, -cs)); + const Vector3 p_lateral(p_joint_transform.basis.get_axis(2)); - } else { + Vector3 v_x, v_y, v_z; - cursor_points.push_back(Vector3(+cs * 2, 0, 0)); - cursor_points.push_back(Vector3(-cs * 2, 0, 0)); - } + // Look the body with X + v_x = p_target - p_eye; + v_x.normalize(); - if (ll < ul) { + v_z = p_lateral; + v_z.normalize(); - const int points = 32; + v_y = v_z.cross(v_x); + v_y.normalize(); - for (int i = 0; i < points; i++) { + // Clamp X to Z axis + v_x = v_y.cross(v_z); + v_x.normalize(); - float s = ll + i * (ul - ll) / points; - float n = ll + (i + 1) * (ul - ll) / points; + Basis base; + base.set(v_x, v_y, v_z); - Vector3 from = Vector3(0, Math::cos(s), -Math::sin(s)) * cs; - Vector3 to = Vector3(0, Math::cos(n), -Math::sin(n)) * cs; + // Absorb current joint transform + base = p_joint_transform.basis.inverse() * base; - if (i == points - 1) { - cursor_points.push_back(to); - cursor_points.push_back(Vector3()); - } - if (i == 0) { - cursor_points.push_back(from); - cursor_points.push_back(Vector3()); - } + return base; +} - cursor_points.push_back(from); - cursor_points.push_back(to); - } +void JointGizmosDrawer::draw_circle(Vector3::Axis p_axis, real_t p_radius, const Transform &p_offset, const Basis &p_base, real_t p_limit_lower, real_t p_limit_upper, Vector<Vector3> &r_points, bool p_inverse) { + + if (p_limit_lower == p_limit_upper) { - cursor_points.push_back(Vector3(0, cs * 1.5, 0)); - cursor_points.push_back(Vector3()); + r_points.push_back(p_offset.translated(Vector3()).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(0.5, 0, 0))).origin); } else { + if (p_limit_lower > p_limit_upper) { + p_limit_lower = -Math_PI; + p_limit_upper = Math_PI; + } + const int points = 32; for (int i = 0; i < points; i++) { - float s = ll + i * (Math_PI * 2.0) / points; - float n = ll + (i + 1) * (Math_PI * 2.0) / points; + real_t s = p_limit_lower + i * (p_limit_upper - p_limit_lower) / points; + real_t n = p_limit_lower + (i + 1) * (p_limit_upper - p_limit_lower) / points; + + Vector3 from; + Vector3 to; + switch (p_axis) { + case Vector3::AXIS_X: + if (p_inverse) { + from = p_base.xform(Vector3(0, Math::sin(s), Math::cos(s))) * p_radius; + to = p_base.xform(Vector3(0, Math::sin(n), Math::cos(n))) * p_radius; + } else { + from = p_base.xform(Vector3(0, -Math::sin(s), Math::cos(s))) * p_radius; + to = p_base.xform(Vector3(0, -Math::sin(n), Math::cos(n))) * p_radius; + } + break; + case Vector3::AXIS_Y: + if (p_inverse) { + from = p_base.xform(Vector3(Math::cos(s), 0, -Math::sin(s))) * p_radius; + to = p_base.xform(Vector3(Math::cos(n), 0, -Math::sin(n))) * p_radius; + } else { + from = p_base.xform(Vector3(Math::cos(s), 0, Math::sin(s))) * p_radius; + to = p_base.xform(Vector3(Math::cos(n), 0, Math::sin(n))) * p_radius; + } + break; + case Vector3::AXIS_Z: + from = p_base.xform(Vector3(Math::cos(s), Math::sin(s), 0)) * p_radius; + to = p_base.xform(Vector3(Math::cos(n), Math::sin(n), 0)) * p_radius; + break; + } - Vector3 from = Vector3(0, Math::cos(s), -Math::sin(s)) * cs; - Vector3 to = Vector3(0, Math::cos(n), -Math::sin(n)) * cs; + if (i == points - 1) { + r_points.push_back(p_offset.translated(to).origin); + r_points.push_back(p_offset.translated(Vector3()).origin); + } + if (i == 0) { + r_points.push_back(p_offset.translated(from).origin); + r_points.push_back(p_offset.translated(Vector3()).origin); + } - cursor_points.push_back(from); - cursor_points.push_back(to); + r_points.push_back(p_offset.translated(from).origin); + r_points.push_back(p_offset.translated(to).origin); } - } - Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); - - add_collision_segments(cursor_points); - add_lines(cursor_points, material); -} - -SliderJointSpatialGizmo::SliderJointSpatialGizmo(SliderJoint *p_p3d) { - - p3d = p_p3d; - set_spatial_node(p3d); + r_points.push_back(p_offset.translated(Vector3(0, p_radius * 1.5, 0)).origin); + r_points.push_back(p_offset.translated(Vector3()).origin); + } } -/////// -/// -//// - -void ConeTwistJointSpatialGizmo::redraw() { - - clear(); - Vector<Vector3> points; +void JointGizmosDrawer::draw_cone(const Transform &p_offset, const Basis &p_base, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points) { float r = 1.0; - float w = r * Math::sin(p3d->get_param(ConeTwistJoint::PARAM_SWING_SPAN)); - float d = r * Math::cos(p3d->get_param(ConeTwistJoint::PARAM_SWING_SPAN)); + float w = r * Math::sin(p_swing); + float d = r * Math::cos(p_swing); //swing for (int i = 0; i < 360; i += 10) { @@ -3196,27 +3187,21 @@ void ConeTwistJointSpatialGizmo::redraw() { Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * w; Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * w; - /*points.push_back(Vector3(a.x,0,a.y)); - points.push_back(Vector3(b.x,0,b.y)); - points.push_back(Vector3(0,a.x,a.y)); - points.push_back(Vector3(0,b.x,b.y));*/ - points.push_back(Vector3(d, a.x, a.y)); - points.push_back(Vector3(d, b.x, b.y)); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, a.x, a.y))).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, b.x, b.y))).origin); if (i % 90 == 0) { - points.push_back(Vector3(d, a.x, a.y)); - points.push_back(Vector3()); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(d, a.x, a.y))).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3())).origin); } } - points.push_back(Vector3()); - points.push_back(Vector3(1, 0, 0)); + r_points.push_back(p_offset.translated(p_base.xform(Vector3())).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(1, 0, 0))).origin); - //twist - /* - */ - float ts = Math::rad2deg(p3d->get_param(ConeTwistJoint::PARAM_TWIST_SPAN)); + /// Twist + float ts = Math::rad2deg(p_twist); ts = MIN(ts, 720); for (int i = 0; i < int(ts); i += 5) { @@ -3228,18 +3213,276 @@ void ConeTwistJointSpatialGizmo::redraw() { Point2 a = Vector2(Math::sin(ra), Math::cos(ra)) * w * c; Point2 b = Vector2(Math::sin(rb), Math::cos(rb)) * w * cn; - /*points.push_back(Vector3(a.x,0,a.y)); - points.push_back(Vector3(b.x,0,b.y)); - points.push_back(Vector3(0,a.x,a.y)); - points.push_back(Vector3(0,b.x,b.y));*/ + r_points.push_back(p_offset.translated(p_base.xform(Vector3(c, a.x, a.y))).origin); + r_points.push_back(p_offset.translated(p_base.xform(Vector3(cn, b.x, b.y))).origin); + } +} - points.push_back(Vector3(c, a.x, a.y)); - points.push_back(Vector3(cn, b.x, b.y)); +void PinJointSpatialGizmo::CreateGizmo(const Transform &p_offset, Vector<Vector3> &r_cursor_points) { + float cs = 0.25; + + r_cursor_points.push_back(p_offset.translated(Vector3(+cs, 0, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(-cs, 0, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, +cs, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, -cs, 0)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, 0, +cs)).origin); + r_cursor_points.push_back(p_offset.translated(Vector3(0, 0, -cs)).origin); +} + +void PinJointSpatialGizmo::redraw() { + + clear(); + Vector<Vector3> cursor_points; + CreateGizmo(Transform(), cursor_points); + add_collision_segments(cursor_points); + + Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + + add_lines(cursor_points, material); +} + +PinJointSpatialGizmo::PinJointSpatialGizmo(PinJoint *p_p3d) { + + p3d = p_p3d; + set_spatial_node(p3d); +} + +//// + +void HingeJointSpatialGizmo::CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_limit_lower, real_t p_limit_upper, bool p_use_limit, Vector<Vector3> &r_common_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) { + + r_common_points.push_back(p_offset.translated(Vector3(0, 0, 0.5)).origin); + r_common_points.push_back(p_offset.translated(Vector3(0, 0, -0.5)).origin); + + if (!p_use_limit) { + p_limit_upper = -1; + p_limit_lower = 0; + } + + if (r_body_a_points) { + + JointGizmosDrawer::draw_circle(Vector3::AXIS_Z, + BODY_A_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward_z(p_trs_joint, p_trs_body_a), + p_limit_lower, + p_limit_upper, + *r_body_a_points); + } + + if (r_body_b_points) { + JointGizmosDrawer::draw_circle(Vector3::AXIS_Z, + BODY_B_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward_z(p_trs_joint, p_trs_body_b), + p_limit_lower, + p_limit_upper, + *r_body_b_points); } +} + +void HingeJointSpatialGizmo::redraw() { + + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); + + Vector<Vector3> points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + p3d->get_param(HingeJoint::PARAM_LIMIT_LOWER), + p3d->get_param(HingeJoint::PARAM_LIMIT_UPPER), + p3d->get_flag(HingeJoint::FLAG_USE_LIMIT), + points, + node_body_a ? &body_a_points : NULL, + node_body_b ? &body_b_points : NULL); + + clear(); + + Ref<Material> common_material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + + add_collision_segments(points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + + add_lines(points, common_material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); +} + +HingeJointSpatialGizmo::HingeJointSpatialGizmo(HingeJoint *p_p3d) { + + p3d = p_p3d; + set_spatial_node(p3d); +} + +/////// +/// +//// + +void SliderJointSpatialGizmo::CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_angular_limit_lower, real_t p_angular_limit_upper, real_t p_linear_limit_lower, real_t p_linear_limit_upper, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) { + + p_linear_limit_lower = -p_linear_limit_lower; + p_linear_limit_upper = -p_linear_limit_upper; + + float cs = 0.25; + r_points.push_back(p_offset.translated(Vector3(0, 0, 0.5)).origin); + r_points.push_back(p_offset.translated(Vector3(0, 0, -0.5)).origin); + + if (p_linear_limit_lower >= p_linear_limit_upper) { + + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, 0, 0)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, 0, 0)).origin); + + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_upper, -cs, -cs)).origin); + + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, cs, -cs)).origin); + r_points.push_back(p_offset.translated(Vector3(p_linear_limit_lower, -cs, -cs)).origin); + + } else { + + r_points.push_back(p_offset.translated(Vector3(+cs * 2, 0, 0)).origin); + r_points.push_back(p_offset.translated(Vector3(-cs * 2, 0, 0)).origin); + } + + if (r_body_a_points) + JointGizmosDrawer::draw_circle( + Vector3::AXIS_X, + BODY_A_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(Vector3::AXIS_X, p_trs_joint, p_trs_body_a), + p_angular_limit_lower, + p_angular_limit_upper, + *r_body_a_points); + + if (r_body_b_points) + JointGizmosDrawer::draw_circle( + Vector3::AXIS_X, + BODY_B_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(Vector3::AXIS_X, p_trs_joint, p_trs_body_b), + p_angular_limit_lower, + p_angular_limit_upper, + *r_body_b_points, + true); +} + +void SliderJointSpatialGizmo::redraw() { + + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); + + clear(); + Vector<Vector3> cursor_points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_LOWER), + p3d->get_param(SliderJoint::PARAM_ANGULAR_LIMIT_UPPER), + p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_LOWER), + p3d->get_param(SliderJoint::PARAM_LINEAR_LIMIT_UPPER), + cursor_points, + node_body_a ? &body_a_points : NULL, + node_body_b ? &body_b_points : NULL); Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + + add_collision_segments(cursor_points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + + add_lines(cursor_points, material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); +} + +SliderJointSpatialGizmo::SliderJointSpatialGizmo(SliderJoint *p_p3d) { + + p3d = p_p3d; + set_spatial_node(p3d); +} + +/////// +/// +//// + +void ConeTwistJointSpatialGizmo::CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points) { + + if (r_body_a_points) + JointGizmosDrawer::draw_cone( + p_offset, + JointGizmosDrawer::look_body(p_trs_joint, p_trs_body_a), + p_swing, + p_twist, + *r_body_a_points); + + if (r_body_b_points) + JointGizmosDrawer::draw_cone( + p_offset, + JointGizmosDrawer::look_body(p_trs_joint, p_trs_body_b), + p_swing, + p_twist, + *r_body_b_points); +} + +void ConeTwistJointSpatialGizmo::redraw() { + + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); + + clear(); + Vector<Vector3> points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + p3d->get_param(ConeTwistJoint::PARAM_SWING_SPAN), + p3d->get_param(ConeTwistJoint::PARAM_TWIST_SPAN), + points, + node_body_a ? &body_a_points : NULL, + node_body_b ? &body_b_points : NULL); + + Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + add_collision_segments(points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + add_lines(points, material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); } ConeTwistJointSpatialGizmo::ConeTwistJointSpatialGizmo(ConeTwistJoint *p_p3d) { @@ -3248,26 +3491,46 @@ ConeTwistJointSpatialGizmo::ConeTwistJointSpatialGizmo(ConeTwistJoint *p_p3d) { set_spatial_node(p3d); } -//////// -/// \brief SpatialEditorGizmos::singleton -/// /////// /// //// -void Generic6DOFJointSpatialGizmo::redraw() { +void Generic6DOFJointSpatialGizmo::CreateGizmo( + const Transform &p_offset, + const Transform &p_trs_joint, + const Transform &p_trs_body_a, + const Transform &p_trs_body_b, + real_t p_angular_limit_lower_x, + real_t p_angular_limit_upper_x, + real_t p_linear_limit_lower_x, + real_t p_linear_limit_upper_x, + bool p_enable_angular_limit_x, + bool p_enable_linear_limit_x, + real_t p_angular_limit_lower_y, + real_t p_angular_limit_upper_y, + real_t p_linear_limit_lower_y, + real_t p_linear_limit_upper_y, + bool p_enable_angular_limit_y, + bool p_enable_linear_limit_y, + real_t p_angular_limit_lower_z, + real_t p_angular_limit_upper_z, + real_t p_linear_limit_lower_z, + real_t p_linear_limit_upper_z, + bool p_enable_angular_limit_z, + bool p_enable_linear_limit_z, + Vector<Vector3> &r_points, + Vector<Vector3> *r_body_a_points, + Vector<Vector3> *r_body_b_points) { - clear(); - Vector<Vector3> cursor_points; float cs = 0.25; for (int ax = 0; ax < 3; ax++) { - /*cursor_points.push_back(Vector3(+cs,0,0)); - cursor_points.push_back(Vector3(-cs,0,0)); - cursor_points.push_back(Vector3(0,+cs,0)); - cursor_points.push_back(Vector3(0,-cs,0)); - cursor_points.push_back(Vector3(0,0,+cs*2)); - cursor_points.push_back(Vector3(0,0,-cs*2)); */ + /*r_points.push_back(p_offset.translated(Vector3(+cs,0,0)).origin); + r_points.push_back(p_offset.translated(Vector3(-cs,0,0)).origin); + r_points.push_back(p_offset.translated(Vector3(0,+cs,0)).origin); + r_points.push_back(p_offset.translated(Vector3(0,-cs,0)).origin); + r_points.push_back(p_offset.translated(Vector3(0,0,+cs*2)).origin); + r_points.push_back(p_offset.translated(Vector3(0,0,-cs*2)).origin); */ float ll; float ul; @@ -3280,61 +3543,50 @@ void Generic6DOFJointSpatialGizmo::redraw() { switch (ax) { case 0: - ll = p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT); - ul = p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT); - lll = p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT); - lul = p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT); - enable_ang = p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT); - enable_lin = p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT); + ll = p_angular_limit_lower_x; + ul = p_angular_limit_upper_x; + lll = -p_linear_limit_lower_x; + lul = -p_linear_limit_upper_x; + enable_ang = p_enable_angular_limit_x; + enable_lin = p_enable_linear_limit_x; a1 = 0; a2 = 1; a3 = 2; break; case 1: - ll = p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT); - ul = p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT); - lll = p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT); - lul = p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT); - enable_ang = p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT); - enable_lin = p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT); - + ll = p_angular_limit_lower_y; + ul = p_angular_limit_upper_y; + lll = -p_linear_limit_lower_y; + lul = -p_linear_limit_upper_y; + enable_ang = p_enable_angular_limit_y; + enable_lin = p_enable_linear_limit_y; a1 = 1; a2 = 2; a3 = 0; break; case 2: - ll = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT); - ul = p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT); - lll = p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT); - lul = p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT); - enable_ang = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT); - enable_lin = p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT); - + ll = p_angular_limit_lower_z; + ul = p_angular_limit_upper_z; + lll = -p_linear_limit_lower_z; + lul = -p_linear_limit_upper_z; + enable_ang = p_enable_angular_limit_z; + enable_lin = p_enable_linear_limit_z; a1 = 2; a2 = 0; a3 = 1; break; } -#define ADD_VTX(x, y, z) \ - { \ - Vector3 v; \ - v[a1] = (x); \ - v[a2] = (y); \ - v[a3] = (z); \ - cursor_points.push_back(v); \ - } - -#define SET_VTX(what, x, y, z) \ - { \ - Vector3 v; \ - v[a1] = (x); \ - v[a2] = (y); \ - v[a3] = (z); \ - what = v; \ +#define ADD_VTX(x, y, z) \ + { \ + Vector3 v; \ + v[a1] = (x); \ + v[a2] = (y); \ + v[a3] = (z); \ + r_points.push_back(p_offset.translated(v).origin); \ } - if (enable_lin && lll <= lul) { + if (enable_lin && lll >= lul) { ADD_VTX(lul, 0, 0); ADD_VTX(lll, 0, 0); @@ -3363,69 +3615,88 @@ void Generic6DOFJointSpatialGizmo::redraw() { ADD_VTX(-cs * 2, 0, 0); } - if (enable_ang && ll <= ul) { - - const int points = 32; - - for (int i = 0; i < points; i++) { - - float s = ll + i * (ul - ll) / points; - float n = ll + (i + 1) * (ul - ll) / points; - - Vector3 from; - SET_VTX(from, 0, Math::cos(s), -Math::sin(s)); - from *= cs; - Vector3 to; - SET_VTX(to, 0, Math::cos(n), -Math::sin(n)); - to *= cs; - - if (i == points - 1) { - cursor_points.push_back(to); - cursor_points.push_back(Vector3()); - } - if (i == 0) { - cursor_points.push_back(from); - cursor_points.push_back(Vector3()); - } - - cursor_points.push_back(from); - cursor_points.push_back(to); - } - - ADD_VTX(0, cs * 1.5, 0); - cursor_points.push_back(Vector3()); - - } else { - - const int points = 32; - - for (int i = 0; i < points; i++) { + if (!enable_ang) { + ll = 0; + ul = -1; + } - float s = ll + i * (Math_PI * 2.0) / points; - float n = ll + (i + 1) * (Math_PI * 2.0) / points; + if (r_body_a_points) + JointGizmosDrawer::draw_circle( + static_cast<Vector3::Axis>(ax), + BODY_A_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(static_cast<Vector3::Axis>(ax), p_trs_joint, p_trs_body_a), + ll, + ul, + *r_body_a_points, + true); + + if (r_body_b_points) + JointGizmosDrawer::draw_circle( + static_cast<Vector3::Axis>(ax), + BODY_B_RADIUS, + p_offset, + JointGizmosDrawer::look_body_toward(static_cast<Vector3::Axis>(ax), p_trs_joint, p_trs_body_b), + ll, + ul, + *r_body_b_points); + } - //Vector3 from=Vector3(0,Math::cos(s),-Math::sin(s) )*cs; - //Vector3 to=Vector3( 0,Math::cos(n),-Math::sin(n) )*cs; +#undef ADD_VTX +} - Vector3 from; - SET_VTX(from, 0, Math::cos(s), -Math::sin(s)); - from *= cs; - Vector3 to; - SET_VTX(to, 0, Math::cos(n), -Math::sin(n)); - to *= cs; +void Generic6DOFJointSpatialGizmo::redraw() { - cursor_points.push_back(from); - cursor_points.push_back(to); - } - } - } + const Spatial *node_body_a = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_a())); + const Spatial *node_body_b = Object::cast_to<Spatial>(p3d->get_node(p3d->get_node_b())); -#undef ADD_VTX -#undef SET_VTX + clear(); + Vector<Vector3> cursor_points; + Vector<Vector3> body_a_points; + Vector<Vector3> body_b_points; + + CreateGizmo( + Transform(), + p3d->get_global_transform(), + node_body_a ? node_body_a->get_global_transform() : Transform(), + node_body_b ? node_body_b->get_global_transform() : Transform(), + + p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT), + p3d->get_param_x(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT), + p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT), + p3d->get_param_x(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT), + p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT), + p3d->get_flag_x(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT), + + p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT), + p3d->get_param_y(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT), + p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT), + p3d->get_param_y(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT), + p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT), + p3d->get_flag_y(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT), + + p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_LOWER_LIMIT), + p3d->get_param_z(Generic6DOFJoint::PARAM_ANGULAR_UPPER_LIMIT), + p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_LOWER_LIMIT), + p3d->get_param_z(Generic6DOFJoint::PARAM_LINEAR_UPPER_LIMIT), + p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_ANGULAR_LIMIT), + p3d->get_flag_z(Generic6DOFJoint::FLAG_ENABLE_LINEAR_LIMIT), + + cursor_points, + node_body_a ? &body_a_points : NULL, + node_body_a ? &body_b_points : NULL); Ref<Material> material = create_material("joint_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint")); + Ref<Material> body_a_material = create_material("joint_body_a_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_a")); + Ref<Material> body_b_material = create_material("joint_body_b_material", EDITOR_GET("editors/3d_gizmos/gizmo_colors/joint_body_b")); + add_collision_segments(cursor_points); + add_collision_segments(body_a_points); + add_collision_segments(body_b_points); + add_lines(cursor_points, material); + add_lines(body_a_points, body_a_material); + add_lines(body_b_points, body_b_material); } Generic6DOFJointSpatialGizmo::Generic6DOFJointSpatialGizmo(Generic6DOFJoint *p_p3d) { @@ -3618,6 +3889,8 @@ SpatialEditorGizmos::SpatialEditorGizmos() { EDITOR_DEF("editors/3d_gizmos/gizmo_colors/baked_indirect_light", Color(0.5, 0.6, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/shape", Color(0.5, 0.7, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/joint", Color(0.5, 0.8, 1)); + EDITOR_DEF("editors/3d_gizmos/gizmo_colors/joint_body_a", Color(0.6, 0.8, 1)); + EDITOR_DEF("editors/3d_gizmos/gizmo_colors/joint_body_b", Color(0.6, 0.9, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_edge", Color(0.5, 1, 1)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_edge_disabled", Color(0.7, 0.7, 0.7)); EDITOR_DEF("editors/3d_gizmos/gizmo_colors/navigation_solid", Color(0.5, 1, 1, 0.4)); diff --git a/editor/spatial_editor_gizmos.h b/editor/spatial_editor_gizmos.h index ea8a33d2c6..7bf632d371 100644 --- a/editor/spatial_editor_gizmos.h +++ b/editor/spatial_editor_gizmos.h @@ -107,6 +107,7 @@ protected: void add_solid_box(Ref<Material> &p_material, Vector3 size); void set_spatial_node(Spatial *p_node); + const Spatial *get_spatial_node() const { return spatial_node; } static void _bind_methods(); @@ -372,6 +373,21 @@ public: NavigationMeshSpatialGizmo(NavigationMeshInstance *p_navmesh = NULL); }; +class JointGizmosDrawer { +public: + static Basis look_body(const Transform &joint_transform, const Transform &body_transform); + static Basis look_body_toward(Vector3::Axis p_axis, const Transform &joint_transform, const Transform &body_transform); + static Basis look_body_toward_x(const Transform &joint_transform, const Transform &body_transform); + static Basis look_body_toward_y(const Transform &joint_transform, const Transform &body_transform); + /// Special function just used for physics joints, it that returns a basis constrained toward Joint Z axis + /// with axis X and Y that are looking toward the body and oriented toward up + static Basis look_body_toward_z(const Transform &joint_transform, const Transform &body_transform); + + // Draw circle around p_axis + static void draw_circle(Vector3::Axis p_axis, real_t p_radius, const Transform &p_offset, const Basis &p_base, real_t p_limit_lower, real_t p_limit_upper, Vector<Vector3> &r_points, bool p_inverse = false); + static void draw_cone(const Transform &p_offset, const Basis &p_base, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points); +}; + class PinJointSpatialGizmo : public EditorSpatialGizmo { GDCLASS(PinJointSpatialGizmo, EditorSpatialGizmo); @@ -379,6 +395,8 @@ class PinJointSpatialGizmo : public EditorSpatialGizmo { PinJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, Vector<Vector3> &r_cursor_points); + void redraw(); PinJointSpatialGizmo(PinJoint *p_p3d = NULL); }; @@ -390,6 +408,8 @@ class HingeJointSpatialGizmo : public EditorSpatialGizmo { HingeJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_limit_lower, real_t p_limit_upper, bool p_use_limit, Vector<Vector3> &r_common_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points); + void redraw(); HingeJointSpatialGizmo(HingeJoint *p_p3d = NULL); }; @@ -401,6 +421,8 @@ class SliderJointSpatialGizmo : public EditorSpatialGizmo { SliderJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_angular_limit_lower, real_t p_angular_limit_upper, real_t p_linear_limit_lower, real_t p_linear_limit_upper, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points); + void redraw(); SliderJointSpatialGizmo(SliderJoint *p_p3d = NULL); }; @@ -412,6 +434,8 @@ class ConeTwistJointSpatialGizmo : public EditorSpatialGizmo { ConeTwistJoint *p3d; public: + static void CreateGizmo(const Transform &p_offset, const Transform &p_trs_joint, const Transform &p_trs_body_a, const Transform &p_trs_body_b, real_t p_swing, real_t p_twist, Vector<Vector3> &r_points, Vector<Vector3> *r_body_a_points, Vector<Vector3> *r_body_b_points); + void redraw(); ConeTwistJointSpatialGizmo(ConeTwistJoint *p_p3d = NULL); }; @@ -423,6 +447,33 @@ class Generic6DOFJointSpatialGizmo : public EditorSpatialGizmo { Generic6DOFJoint *p3d; public: + static void CreateGizmo( + const Transform &p_offset, + const Transform &p_trs_joint, + const Transform &p_trs_body_a, + const Transform &p_trs_body_b, + real_t p_angular_limit_lower_x, + real_t p_angular_limit_upper_x, + real_t p_linear_limit_lower_x, + real_t p_linear_limit_upper_x, + bool p_enable_angular_limit_x, + bool p_enable_linear_limit_x, + real_t p_angular_limit_lower_y, + real_t p_angular_limit_upper_y, + real_t p_linear_limit_lower_y, + real_t p_linear_limit_upper_y, + bool p_enable_angular_limit_y, + bool p_enable_linear_limit_y, + real_t p_angular_limit_lower_z, + real_t p_angular_limit_upper_z, + real_t p_linear_limit_lower_z, + real_t p_linear_limit_upper_z, + bool p_enable_angular_limit_z, + bool p_enable_linear_limit_z, + Vector<Vector3> &r_points, + Vector<Vector3> *r_body_a_points, + Vector<Vector3> *r_body_b_points); + void redraw(); Generic6DOFJointSpatialGizmo(Generic6DOFJoint *p_p3d = NULL); }; diff --git a/editor/translations/af.po b/editor/translations/af.po index accb9d6d5e..86d5294a57 100644 --- a/editor/translations/af.po +++ b/editor/translations/af.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-27 02:44+0000\n" +"PO-Revision-Date: 2017-12-01 11:44+0000\n" "Last-Translator: Ray West <the.raxar@gmail.com>\n" "Language-Team: Afrikaans <https://hosted.weblate.org/projects/godot-engine/" "godot/af/>\n" @@ -27,8 +27,9 @@ msgid "All Selection" msgstr "Alle Seleksie" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Skuif Byvoeg Sleutel" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Verander Waarde" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +40,8 @@ msgid "Anim Change Transform" msgstr "Anim Verander Transform" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Verander Waarde" #: editor/animation_editor.cpp @@ -243,7 +245,7 @@ msgstr "Animasie Zoem." #: editor/animation_editor.cpp msgid "Length (s):" -msgstr "Lengte (s):" +msgstr "Lengte(s):" #: editor/animation_editor.cpp msgid "Animation length (in seconds)." @@ -537,8 +539,8 @@ msgstr "Koppel tans Sein:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "Skep Intekening" +msgid "Disconnect '%s' from '%s'" +msgstr "Koppel '%s' aan '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -554,7 +556,8 @@ msgid "Signals" msgstr "Seine" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Skep Nuwe" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -569,7 +572,7 @@ msgstr "Onlangse:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Soek:" @@ -610,6 +613,7 @@ msgstr "" "Verandering sal eers in werking tree nadat herlaai word." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Afhanklikhede" @@ -713,9 +717,10 @@ msgid "Delete selected files?" msgstr "Skrap gekose lêers?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Skrap" @@ -858,6 +863,11 @@ msgid "Rename Audio Bus" msgstr "Hernoem Oudio-Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Wissel Oudio-Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Wissel Oudio-Bus Solo" @@ -905,8 +915,8 @@ msgstr "Omseil" msgid "Bus options" msgstr "Bus opsies" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Dupliseer" @@ -919,6 +929,10 @@ msgid "Delete Effect" msgstr "Skrap Effek" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Voeg Oudio-Bus By" @@ -1072,7 +1086,8 @@ msgstr "Pad:" msgid "Node Name:" msgstr "Nodus Naam:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Naam" @@ -1080,10 +1095,6 @@ msgstr "Naam" msgid "Singleton" msgstr "EnkelHouer" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lys:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Toneel word Opgedateer" @@ -1096,6 +1107,14 @@ msgstr "Plaaslike veranderinge word gebêre..." msgid "Updating scene.." msgstr "Toneel word opgedateer..." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Kies asseblief eerste die basis gids" @@ -1146,6 +1165,22 @@ msgstr "Lêer Bestaan reeds. Oorskryf?" msgid "Select Current Folder" msgstr "Skep Vouer" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "Verfris" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Alle Erkende" @@ -1193,10 +1228,6 @@ msgid "Go Up" msgstr "Gaan Op" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Verfris" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Wissel Versteekte Lêers" @@ -1376,7 +1407,8 @@ msgstr "Afvoer:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Vee uit" @@ -2266,6 +2298,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2401,7 +2441,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2448,8 +2488,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Koppel" #: editor/export_template_manager.cpp msgid "Connected" @@ -2539,6 +2580,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Fout terwyl laai:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2571,32 +2617,35 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Dupliseer" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Dupliseer" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Open Lêer(s)" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2611,6 +2660,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Dupliseer" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2703,6 +2757,14 @@ 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 "" @@ -3266,6 +3328,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3307,6 +3370,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3441,7 +3525,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3621,16 +3704,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3822,6 +3895,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3862,6 +3951,18 @@ 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 "" @@ -4038,10 +4139,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4059,15 +4156,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4129,10 +4226,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4415,11 +4508,13 @@ 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 "" @@ -4435,7 +4530,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4448,6 +4543,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4634,11 +4733,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4966,6 +5061,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5070,6 +5173,18 @@ 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 "" @@ -5142,10 +5257,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5187,6 +5298,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5569,6 +5684,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5580,6 +5699,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5697,10 +5820,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5957,7 +6076,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6025,6 +6144,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6201,6 +6324,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6232,6 +6359,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6240,10 +6371,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6793,6 +6920,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6841,15 +6972,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Skuif huidige baan op." + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7498,6 +7666,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7526,10 +7710,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7582,10 +7762,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7644,3 +7820,13 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "" + +#~ msgid "Move Add Key" +#~ msgstr "Skuif Byvoeg Sleutel" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "Skep Intekening" + +#~ msgid "List:" +#~ msgstr "Lys:" diff --git a/editor/translations/ar.po b/editor/translations/ar.po index 42b75c6802..ccf40c8316 100644 --- a/editor/translations/ar.po +++ b/editor/translations/ar.po @@ -12,13 +12,14 @@ # noureldin sharaf <sharaf.noureldin@yahoo.com>, 2017. # omar anwar aglan <omar.aglan91@yahoo.com>, 2017. # OWs Tetra <owstetra@gmail.com>, 2017. +# Rex_sa <asd1234567890m@gmail.com>, 2017. # Wajdi Feki <wajdi.feki@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-27 23:44+0000\n" -"Last-Translator: omar anwar aglan <omar.aglan91@yahoo.com>\n" +"PO-Revision-Date: 2017-12-20 15:42+0000\n" +"Last-Translator: Rex_sa <asd1234567890m@gmail.com>\n" "Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" "godot/ar/>\n" "Language: ar\n" @@ -26,7 +27,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\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 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -37,8 +38,9 @@ msgid "All Selection" msgstr "ÙƒÙÙ„ Ø§Ù„Ù…ÙØØ¯Ø¯" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Ù…ÙØªØ§Ø Ø¥Ø¶Ø§ÙØ© Ø§Ù„ØØ±ÙƒØ©" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "قيمة تغيير Ø§Ù„ØªØØ±ÙŠÙƒ" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -49,7 +51,8 @@ msgid "Anim Change Transform" msgstr "تØÙˆÙŠÙ„ تغيير Ø§Ù„ØªØØ±ÙŠÙƒ" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "قيمة تغيير Ø§Ù„ØªØØ±ÙŠÙƒ" #: editor/animation_editor.cpp @@ -543,8 +546,9 @@ msgid "Connecting Signal:" msgstr "يوصل الإشارة:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "عمل اشتراك" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "وصل '%s' إلي '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -560,7 +564,8 @@ msgid "Signals" msgstr "الإشارات" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "إنشاء جديد" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -575,7 +580,7 @@ msgstr "Ø§Ù„ØØ§Ù„ÙŠ:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Ø¨ØØ«:" @@ -616,6 +621,7 @@ msgstr "" "التغييرات ستظهر بعد إعادة التشغيل." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "التبعيات" @@ -718,9 +724,10 @@ msgid "Delete selected files?" msgstr "Ø¥Ù…Ø³Ø Ø§Ù„Ù…Ù„ÙØ§Øª Ø§Ù„Ù…ØØ¯Ø¯Ø©ØŸ" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "مسØ" @@ -863,6 +870,11 @@ msgid "Rename Audio Bus" msgstr "إعادة تسمية بيوس الصوت" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "تبديل بيوس الصوت إلي ÙØ±Ø¯ÙŠ" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "تبديل بيوس الصوت إلي ÙØ±Ø¯ÙŠ" @@ -910,8 +922,8 @@ msgstr "تخطي" msgid "Bus options" msgstr "إعدادات البيوس" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "تكرير" @@ -924,6 +936,10 @@ msgid "Delete Effect" msgstr "Ø¥Ù…Ø³Ø Ø§Ù„ØªØ£Ø«ÙŠØ±" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "أض٠بيوس الصوت" @@ -1074,7 +1090,8 @@ msgstr "المسار:" msgid "Node Name:" msgstr "إسم العقدة:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "الأسم" @@ -1082,10 +1099,6 @@ msgstr "الأسم" msgid "Singleton" msgstr "Ø§Ù„ÙØ±Ø¯ÙŠØ©" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "القائمة:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "ÙŠÙØØ¯Ø« المشهد" @@ -1098,6 +1111,14 @@ msgstr "جاري تخزين التعديلات المØÙ„ية.." msgid "Updating scene.." msgstr "ÙŠÙØØ¯Ø« المشهد..." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "من ÙØ¶Ù„Ùƒ ØØ¯Ø¯ الوجهة الأساسية أولاً" @@ -1144,9 +1165,24 @@ msgid "File Exists, Overwrite?" msgstr "المل٠موجود، إستبدال؟" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "أنشئ مجلد" +msgstr "ØªØØ¯ÙŠØ¯ المجلد Ø§Ù„ØØ§Ù„ÙŠ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "نسخ المسار" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "ØªØØ¯ÙŠØ«" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1195,10 +1231,6 @@ msgid "Go Up" msgstr "إذهب للأعلي" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "ØªØØ¯ÙŠØ«" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "أظهر Ø§Ù„Ù…Ù„ÙØ§Øª المخÙية" @@ -1378,7 +1410,8 @@ msgstr "الخرج:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "خالي" @@ -1533,14 +1566,12 @@ msgstr "" "هذا النظام." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "توسيع الكل" +msgstr "توسيع كل Ø§Ù„ØªÙØ§ØµÙŠÙ„" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "طوي الكل" +msgstr "طي كل Ø§Ù„ØªÙØ§ØµÙŠÙ„" #: editor/editor_node.cpp msgid "Copy Params" @@ -2319,6 +2350,16 @@ msgstr "ذاتي" msgid "Frame #:" msgstr "اطار #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "الوقت:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "نداء" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "اختار جهاز من القائمة" @@ -2458,7 +2499,8 @@ msgstr "لا يوجد إستجابة." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "ÙØ´Ù„ الطلب." #: editor/export_template_manager.cpp @@ -2505,7 +2547,8 @@ msgid "Connecting.." msgstr "جاري الإتصال..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "لا يمكن الإتصال" #: editor/export_template_manager.cpp @@ -2599,6 +2642,11 @@ msgid "Error moving:\n" msgstr "خطأ ÙÙŠ ØªØØ±ÙŠÙƒ:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "خطآ ÙÙŠ التØÙ…يل:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "غير قادر علي ØªØØ¯ÙŠØ« التبعيات:\n" @@ -2631,6 +2679,16 @@ msgid "Renaming folder:" msgstr "إعادة تسمية مجلد:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "تكرير" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "إعادة تسمية مجلد:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "توسيع الكل" @@ -2639,10 +2697,6 @@ msgid "Collapse all" msgstr "طوي الكل" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "نسخ المسار" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "إعادة تسمية.." @@ -2651,12 +2705,9 @@ msgid "Move To.." msgstr "ØªØØ±ÙŠÙƒ إلي.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "مجلد جديد.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "أظهر ÙÙŠ مدير Ø§Ù„Ù…Ù„ÙØ§Øª" +#, fuzzy +msgid "Open Scene(s)" +msgstr "ÙØªØ مشهد" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2671,6 +2722,11 @@ msgid "View Owners.." msgstr "أظهر المÙلاك.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "تكرير" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "المجلد السابق" @@ -2765,6 +2821,14 @@ 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 "تشغيل الكود Ø§Ù„Ù…ÙØ®ØµØµ.." @@ -3017,25 +3081,24 @@ msgid "Enable Onion Skinning" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "الوصÙ" +msgstr "الاتجاهات" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "الماضي" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "المستقبل" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "العمق" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "الخطوة 1" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" @@ -3047,7 +3110,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Ø§Ù„Ø§Ø®ØªÙ„Ø§ÙØ§Øª Ùقط" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3055,7 +3118,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "تضمين جيزموس (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3332,6 +3395,7 @@ msgid "last" msgstr "الأخير" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "الكل" @@ -3373,6 +3437,27 @@ msgstr "تجربة" 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 msgid "Preview" msgstr "إستعراض" @@ -3509,7 +3594,6 @@ msgid "Toggles snapping" msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ الكبس" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "إستخدم الكبس" @@ -3689,94 +3773,86 @@ msgstr "خطأ ÙÙŠ ØªÙˆØ¶ÙŠØ Ø§Ù„Ù…Ø´Ù‡Ø¯ من %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ØØ³Ù†Ø§Ù‹ :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "هذه العملية تتطلب عقدة ÙˆØ§ØØ¯Ø© Ù…ØØ¯Ø¯Ø©." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "غير النوع Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Ø³ØØ¨ وإسقاط + Shift : Ø¥Ø¶Ø§ÙØ© العقدة كقريب لعقدة أخري\n" +"Ø³ØØ¨ Ùˆ إسقاط + Alt : تغيير نوع العقدة" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "إنشاء بولي 3d" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "" +msgstr "ØØ¯Ø¯ المعامل" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Ù…Ø³Ø Ø§Ù„Ø¹Ù†ØµØ± %dØŸ" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Ø¥Ø¶Ø§ÙØ© عنصر" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Ù…Ø³Ø Ø§Ù„Ø¹Ù†ØµØ± Ø§Ù„Ù…ØØ¯Ø¯" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "إستيراد من المشهد" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "ØªØØ¯ÙŠØ« من المشهد" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "مسطØ0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "مسطØ1" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease in" -msgstr "" +msgstr "تخÙي٠للداخل" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "تخÙي٠للخارج" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "خطوة ناعمة" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "نعديل نقطة الإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "تعديل مماس الإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "" +msgstr "تØÙ…يل إعداد مسبق للإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "Ø¥Ø¶Ø§ÙØ© نقطة" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove point" @@ -3784,15 +3860,15 @@ msgstr "Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" -msgstr "" +msgstr "الخط الشمالي" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "الخط اليميني" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" -msgstr "" +msgstr "تØÙ…يل الإعداد المعد مسبقاً" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove Curve Point" @@ -3800,114 +3876,132 @@ msgstr "Ù…Ø³Ø Ù†Ù‚Ø·Ø© الإنØÙ†Ø§Ø¡" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "إلغاء/ØªÙØ¹ÙŠÙ„ مماس خط المنØÙ†ÙŠ" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "إبقي ضاغطاً علي Shift لتعديل المماس ÙØ±Ø¯ÙŠØ§Ù‹" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "طبخ مجس GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Ø¥Ø¶Ø§ÙØ©/Ù…Ø³Ø Ù†Ù‚Ø·Ø© Ù…Ù†ØØ¯Ø± اللون" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "تعديل Ù…Ù†ØØ¯Ø± اللون" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "العنصر %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "العناصر" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Ù…ÙØ¹Ø¯Ù„ قائمة العناصر" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"لا مصدر شكل Ù…ÙØ·Ø¨Ù‚ 2D ÙÙŠ هذه العقدة.\n" +"أنشئ Ùˆ ضع ÙˆØ§ØØ¯Ø©ØŸ" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "أنشئ شكل Ù…ÙØ·Ø¨Ù‚" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "أنشئ شكل جديد من لا شئ." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "تعديل الشكل الموجود Ø¨Ø§Ù„ÙØ¹Ù„:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "زر Ø§Ù„ÙØ£Ø±Ø© الأوسط: ØªØØ±ÙŠÙƒ النقطة." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+ زر Ø§Ù„ÙØ£Ø±Ø© الأوسط: ÙØµÙ„ المقطع." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "زر Ø§Ù„ÙØ£Ø±Ø© الأيمن: Ù…Ø³Ø Ø§Ù„Ù†Ù‚Ø·Ø©." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "" +msgstr "الميش ÙØ§Ø±Øº!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" -msgstr "" +msgstr "أنشئ جسم تراميش ثابت" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Convex Body" -msgstr "" +msgstr "أنشئ جسم Ù…ØØ¯Ø¨ ثابت" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "هذا لا يعمل علي جزر المشهد!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" -msgstr "" +msgstr "أنشئ شكل تراميش" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Shape" -msgstr "" +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 "MeshInstance lacks a Mesh!" +msgid "UV Unwrap failed, mesh may not be manifold?" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh has not surface to create outlines from!" +msgid "No mesh to debug." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Could not create outline!" +msgid "Model has no UV in this layer" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "MeshInstance ÙŠÙØªÙ‚ر إلي ميش!" + +#: 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 "Could not create outline!" +msgstr "لا يمكن إنشاء Ø§Ù„ØØ¯!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "أنشئ Ø§Ù„ØØ¯" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "الميش" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" @@ -3927,15 +4021,29 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh.." +msgstr "إنشاء شبكة الخطوط العريضة .." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "أظهر" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "" +msgstr "إنشاء شبكة الخطوط العريضة" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "" +msgstr "ØØ¬Ù… الخطوط:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." @@ -4106,10 +4214,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4127,15 +4231,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4197,10 +4301,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4483,11 +4583,13 @@ 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 "" @@ -4503,7 +4605,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4516,6 +4618,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "نسخ المسار" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4702,14 +4809,11 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "خط مطوي" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5034,6 +5138,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5138,6 +5250,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "أكبس إلي الموجهات" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5210,10 +5335,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5255,6 +5376,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5637,6 +5762,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "مجموعة البلاط.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5648,6 +5778,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "إلغاء" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5765,10 +5899,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6025,7 +6155,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6093,6 +6223,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6269,6 +6403,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "إجعلة مميزاً" @@ -6300,6 +6438,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6308,10 +6450,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6861,6 +6999,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6909,15 +7051,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Ù…Ø³Ø Ù†Ù‚Ø·Ø© الإنØÙ†Ø§Ø¡" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7575,6 +7754,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7603,10 +7798,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7659,10 +7850,6 @@ msgid "Add current color as a preset" msgstr "أض٠اللون Ø§Ù„ØØ§Ù„ÙŠ كإعداد مسبق" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "إلغاء" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "تنبيه!" @@ -7671,9 +7858,8 @@ msgid "Please Confirm..." msgstr "يرجى التاكيد..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "إختر طريقة" +msgstr "ØØ¯Ø¯ هذا المجلد" #: scene/gui/popup.cpp msgid "" @@ -7723,6 +7909,15 @@ msgstr "" msgid "Invalid font size." msgstr "" +#~ msgid "Move Add Key" +#~ msgstr "Ù…ÙØªØ§Ø Ø¥Ø¶Ø§ÙØ© Ø§Ù„ØØ±ÙƒØ©" + +#~ msgid "Create Subscription" +#~ msgstr "عمل اشتراك" + +#~ msgid "List:" +#~ msgstr "القائمة:" + #~ msgid "Method List For '%s':" #~ msgstr "قائمة الطرق لـ '%s':" diff --git a/editor/translations/bg.po b/editor/translations/bg.po index f2bf979b75..3fbb7b4339 100644 --- a/editor/translations/bg.po +++ b/editor/translations/bg.po @@ -28,7 +28,7 @@ msgid "All Selection" msgstr "" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -40,7 +40,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Създаване на нов проект" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "ТърÑене:" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -846,6 +849,10 @@ 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 "" @@ -894,8 +901,8 @@ msgstr "" msgid "Bus options" msgstr "ÐаÑтройки за отÑтранÑване на грешки" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -908,6 +915,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1060,7 +1071,8 @@ msgstr "Път:" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1068,10 +1080,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "ОбновÑване на Ñцената" @@ -1084,6 +1092,14 @@ msgstr "" msgid "Updating scene.." msgstr "ОбновÑване на Ñцената.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1135,6 +1151,23 @@ msgstr "Файлът ÑъщеÑтвува. ИÑкате ли да го презРmsgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "Създаване на папка" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1182,10 +1215,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1367,7 +1396,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ИзчиÑтване" @@ -2269,6 +2299,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2406,8 +2444,9 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Запитване.." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2457,7 +2496,7 @@ msgstr "Свързване.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Създаване на нов проект" #: editor/export_template_manager.cpp @@ -2555,6 +2594,11 @@ msgstr "Имаше грешка при внаÑÑнето:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Имаше грешка при внаÑÑнето:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Сцената '%s' има нарушени завиÑимоÑти:" @@ -2588,15 +2632,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "Имаше грешка при внаÑÑнето:" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2609,12 +2658,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "Създаване на папка" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "ОтварÑне на Ñцена" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2629,6 +2674,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2724,6 +2773,14 @@ 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 "" @@ -3292,6 +3349,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Ð’Ñички" @@ -3333,6 +3391,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3470,7 +3549,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3650,16 +3728,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3852,6 +3920,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3892,6 +3976,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Преглед на файловете" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "" @@ -4068,10 +4166,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4089,15 +4183,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4159,10 +4253,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4446,11 +4536,13 @@ 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 "" @@ -4466,7 +4558,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4479,6 +4571,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4667,14 +4763,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Изтриване на анимациÑта?" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5000,6 +5092,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5107,6 +5207,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Избиране на вÑичко" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5179,10 +5292,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5224,6 +5333,10 @@ msgid "Settings" msgstr "ÐаÑтройки" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5609,6 +5722,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Файл:" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5620,6 +5738,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Отказ" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5739,10 +5861,6 @@ msgid "Imported Project" msgstr "ВнеÑен проект" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6003,7 +6121,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6071,6 +6189,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6249,6 +6371,10 @@ msgid "New Script" msgstr "Ðов Ñкрипт" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6281,6 +6407,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6289,10 +6419,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Изберете ÑвойÑтво" @@ -6855,6 +6981,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6903,16 +7033,56 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ПремеÑтване на пътечката нагоре." + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "ИзнаÑÑне към платформа" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "ИзнаÑÑне на библиотеката" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "ИзнаÑÑне на библиотеката" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "ИзнаÑÑне на библиотеката" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7609,6 +7779,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7637,10 +7823,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7696,10 +7878,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Отказ" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Тревога!" @@ -7849,10 +8027,6 @@ msgstr "" #~ msgid "Invalid project path, the path must exist!" #~ msgstr "ÐедейÑтвителен път. ПътÑÑ‚ трÑбва да ÑъщеÑтвува!" -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Файл:" - #~ msgid "Close scene? (Unsaved changes will be lost)" #~ msgstr "Да Ñе затвори ли Ñцената? (незаразените промени ще Ñе загубÑÑ‚)" @@ -7892,9 +8066,6 @@ msgstr "" #~ msgid "Project Export Settings" #~ msgstr "ÐаÑтройки за изнаÑÑне на проекта" -#~ msgid "Export to Platform" -#~ msgstr "ИзнаÑÑне към платформа" - #~ msgid "Export all files in the project directory." #~ msgstr "ИзнаÑÑне на вÑички файлове в папката на проекта." diff --git a/editor/translations/bn.po b/editor/translations/bn.po index d329b1a3fc..99dbbf427b 100644 --- a/editor/translations/bn.po +++ b/editor/translations/bn.po @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "সব সিলেকà§à¦Ÿ করà§à¦¨" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "অà§à¦¯à¦¾à¦¡ কি মà§à¦ করà§à¦¨" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +42,8 @@ msgid "Anim Change Transform" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) টà§à¦°à¦¾à¦¨à§à¦¸à¦«à¦°à§à¦® পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "অà§à¦¯à¦¾à¦¨à¦¿à¦®à§‡à¦¶à¦¨ (Anim) à¦à§à¦¯à¦¾à¦²à§ পরিবরà§à¦¤à¦¨ করà§à¦¨" #: editor/animation_editor.cpp @@ -536,8 +538,9 @@ msgid "Connecting Signal:" msgstr "সংযোজক সংকেত/সিগনà§à¦¯à¦¾à¦²:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "সদসà§à¦¯à¦¤à¦¾/সাবসà§à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ তৈরি করà§à¦¨" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "'%s' à¦à¦° সাথে '%s' সংযà§à¦•à§à¦¤ করà§à¦¨" #: editor/connections_dialog.cpp msgid "Connect.." @@ -553,7 +556,8 @@ msgid "Signals" msgstr "সংকেতসমূহ" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "নতà§à¦¨ তৈরি করà§à¦¨" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -568,7 +572,7 @@ msgstr "সামà§à¦ªà§à¦°à¦¤à¦¿à¦•:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨ করà§à¦¨:" @@ -609,6 +613,7 @@ msgstr "" "পà§à¦¨à¦°à¦¾à§Ÿ-লোড (রিলোড)-à¦à¦° সময় পরিবরà§à¦¤à¦¨à¦¸à¦®à§‚হ কারà§à¦¯à¦•র হবে।" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "নিরà§à¦à¦°à¦¤à¦¾-সমূহ" @@ -712,9 +717,10 @@ msgid "Delete selected files?" msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ফাইলসমূহ অপসারণ করবেন?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "অপসারণ করà§à¦¨" @@ -856,6 +862,11 @@ msgid "Rename Audio Bus" msgstr "অডিও বাস পà§à¦¨à¦°à¦¾à¦¯à¦¼ নামকরণ করà§à¦¨" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "অডিও বাস সলো টগল করà§à¦¨" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "অডিও বাস সলো টগল করà§à¦¨" @@ -903,8 +914,8 @@ msgstr "বাইপাস" msgid "Bus options" msgstr "বাস অপশন" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট" @@ -917,6 +928,10 @@ msgid "Delete Effect" msgstr "ইফেকà§à¦Ÿ ডিলিট করà§à¦¨" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "অডিও বাস যোগ করà§à¦¨" @@ -1073,7 +1088,8 @@ msgstr "পথ:" msgid "Node Name:" msgstr "নোডের নাম:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "নাম" @@ -1081,10 +1097,6 @@ msgstr "নাম" msgid "Singleton" msgstr "à¦à¦•ক-বসà§à¦¤à§/সিঙà§à¦—েলটোন" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "তালিকা:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "দৃশà§à¦¯ হাল নাগাদ হচà§à¦›à§‡" @@ -1097,6 +1109,15 @@ msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ পরিবরà§à¦¤à¦¨-সমূহ সংরক msgid "Updating scene.." msgstr "দৃশà§à¦¯ হাল নাগাদ হচà§à¦›à§‡.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(খালি/শূনà§à¦¯)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1148,6 +1169,23 @@ msgstr "à¦à¦•ই নামের ফাইল উপসà§à¦¥à¦¿à¦¤, তা ম msgid "Select Current 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 "Show In File Manager" +msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "রিফà§à¦°à§‡à¦¸ করà§à¦¨" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "সব ফাইল পরিচিতি সমà§à¦ªà¦¨à§à¦¨" @@ -1195,10 +1233,6 @@ msgid "Go Up" msgstr "উপরের দিকে যান" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "রিফà§à¦°à§‡à¦¸ করà§à¦¨" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "অদৃশà§à¦¯ ফাইলসমূহ অদলবদল/টগল করà§à¦¨" @@ -1392,7 +1426,8 @@ msgstr " আউটপà§à¦Ÿ/ফলাফল:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "পরিসà§à¦•ার করà§à¦¨/কà§à¦²à§€à§Ÿà¦¾à¦°" @@ -2370,6 +2405,16 @@ msgstr "সà§à¦¬à§€à¦¯à¦¼" msgid "Frame #:" msgstr "ফà§à¦°à§‡à¦® #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "সময়:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "ডাকà§à¦¨ (Call)" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "লিসà§à¦Ÿ থেকে ডিà¦à¦¾à¦‡à¦¸ সিলেকà§à¦Ÿ করà§à¦¨" @@ -2518,7 +2563,8 @@ msgstr "কোন পà§à¦°à¦¤à¦¿à¦•à§à¦°à¦¿à§Ÿà¦¾ নেই।" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "রিকà§à§Ÿà§‡à¦¸à§à¦Ÿ বà§à¦¯à¦°à§à¦¥ হয়েছে।" #: editor/export_template_manager.cpp @@ -2573,7 +2619,7 @@ msgstr "সংযোগ.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "সংযোগ.." #: editor/export_template_manager.cpp @@ -2685,6 +2731,11 @@ msgstr "ইমà§à¦ªà§‹à¦°à§à¦Ÿà§‡ সমসà§à¦¯à¦¾ হয়েছে:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "লোডে সমসà§à¦¯à¦¾ হয়েছে:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "'%s' দৃশà§à¦¯à¦Ÿà¦¿à¦° অসংলগà§à¦¨ নিরà§à¦à¦°à¦¤à¦¾ রয়েছে:" @@ -2723,6 +2774,16 @@ msgstr "নোড পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "নোড পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Expand all" msgstr "ধারক/বাহক পরà§à¦¯à¦¨à§à¦¤ বিসà§à¦¤à§ƒà¦¤ করà§à¦¨" @@ -2731,10 +2792,6 @@ msgid "Collapse all" msgstr "কলাপà§à¦¸ করà§à¦¨" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "পথ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨" - -#: editor/filesystem_dock.cpp #, fuzzy msgid "Rename.." msgstr "পà§à¦¨à¦ƒà¦¨à¦¾à¦®à¦•রণ করà§à¦¨" @@ -2745,12 +2802,8 @@ msgstr "à¦à¦–ানে সরান.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "ফোলà§à¦¡à¦¾à¦° তৈরি করà§à¦¨" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "ফাইল-মà§à¦¯à¦¾à¦¨à§‡à¦œà¦¾à¦°à§‡ দেখà§à¦¨" +msgid "Open Scene(s)" +msgstr "দৃশà§à¦¯ খà§à¦²à§à¦¨" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2765,6 +2818,11 @@ msgid "View Owners.." msgstr "সà§à¦¬à¦¤à§à¦¬à¦¾à¦§à¦¿à¦•ারীদের দেখà§à¦¨.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ডà§à¦ªà§à¦²à¦¿à¦•েট" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "পূরà§à¦¬à§‡à¦° সà§à¦¥à¦¾à¦¨" @@ -2862,6 +2920,16 @@ msgid "Importing Scene.." msgstr "দৃশà§à¦¯ ইমà§à¦ªà§‹à¦°à§à¦Ÿ করা হচà§à¦›à§‡.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "AABB উৎপনà§à¦¨ করà§à¦¨" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "সà§à¦¬à¦¨à¦¿à¦°à§à¦®à¦¿à¦¤ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ চালানো হচà§à¦›à§‡.." @@ -3446,6 +3514,7 @@ msgid "last" msgstr "শেষ" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "সকল" @@ -3487,6 +3556,28 @@ msgstr "পরীকà§à¦·à¦¾à¦®à§‚লক উৎস" msgid "Assets ZIP File" msgstr "পà§à¦°à¦¯à¦¼à§‡à¦¾à¦œà¦¨à§€à¦¯à¦¼ উপকরণসমূহের ZIP ফাইল" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "পà§à¦°à¦¿à¦à¦¿à¦‰" @@ -3631,7 +3722,6 @@ msgid "Toggles snapping" msgstr "ছেদবিনà§à¦¦à§ অদলবদল করà§à¦¨ (টগল বà§à¦°à§‡à¦•পয়েনà§à¦Ÿ)" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨" @@ -3821,16 +3911,6 @@ msgstr "%s হতে দৃশà§à¦¯ ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করা #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ঠিক আছে :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸ করার জনà§à¦¯ পà§à¦°à§Ÿà§‹à¦œà¦¨à§€à§Ÿ ধারক উপসà§à¦¥à¦¿à¦¤ নেই।" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "à¦à¦‡ কাজটি করার জনà§à¦¯ à¦à¦•টি à¦à¦•ক নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ নোড পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤" @@ -4037,6 +4117,22 @@ msgid "Create Navigation Mesh" msgstr "Navigation Mesh তৈরি করà§à¦¨" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance-ঠMesh নেই!" @@ -4077,6 +4173,20 @@ msgid "Create Outline Mesh.." msgstr "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "দৃশà§à¦¯/পরিদরà§à¦¶à¦¨" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "পà§à¦°à¦¾à¦¨à§à¦¤à¦°à§‡à¦–া মেস তৈরি করà§à¦¨" @@ -4262,10 +4372,6 @@ msgid "Create Navigation Polygon" msgstr "Navigation Polygon তৈরি করà§à¦¨" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Emission Mask পরিসà§à¦•ার করà§à¦¨" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4284,10 +4390,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "সà§à¦¬à¦šà§à¦›à¦¤à¦¾à¦¸à¦¹ কোনো পিকà§à¦¸à§‡à¦² নেই > ছবিতে ১২৮.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Emission Mask সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "à¦à¦¿à¦œà¦¿à¦¬à¦¿à¦²à¦¿à¦Ÿà¦¿ রেকà§à¦Ÿ তৈরি করà§à¦¨" @@ -4296,6 +4398,10 @@ msgid "Load Emission Mask" msgstr "Emission Mask লোড করà§à¦¨" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Emission Mask পরিসà§à¦•ার করà§à¦¨" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Particles" @@ -4361,10 +4467,6 @@ msgid "Create Emission Points From Node" msgstr "Node হতে Emitter তৈরি করà§à¦¨" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Emitter পরিসà§à¦•ার করà§à¦¨" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Emitter তৈরি করà§à¦¨" @@ -4662,11 +4764,13 @@ 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 "নীচে যান" @@ -4682,7 +4786,7 @@ msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ" msgid "File" msgstr "ফাইল" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "নতà§à¦¨" @@ -4695,6 +4799,11 @@ msgid "Soft Reload Script" msgstr "সà§à¦¬à¦²à§à¦ª-পà§à¦°à¦à¦¾à¦¬à¦¸à¦¹ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ রিলোড করà§à¦¨" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "পথ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿/কপি করà§à¦¨" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "পূরà§à¦¬à§‡à¦° ইতিহাস" @@ -4890,11 +4999,7 @@ msgstr "কà§à¦²à§‹à¦¨ করে নীচে নিন" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "লাইন-ঠযান" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "লাইন আনফোলà§à¦¡ করà§à¦¨" #: editor/plugins/script_text_editor.cpp @@ -5230,6 +5335,14 @@ msgstr "à¦à¦« পি à¦à¦¸" msgid "Align with view" msgstr "দরà§à¦¶à¦¨à§‡à¦° সাথে সারিবদà§à¦§ করà§à¦¨" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "Normal পà§à¦°à¦¦à¦°à§à¦¶à¦¨" @@ -5346,6 +5459,20 @@ msgid "Scale Mode (R)" msgstr "মাপের মোড করà§à¦¨ (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ সà§à¦¥à¦¾à¦¨à¦¾à¦™à§à¦•সমূহ" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "মাপের মোড করà§à¦¨ (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª মোড:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "নিমà§à¦¨ দরà§à¦¶à¦¨" @@ -5423,10 +5550,6 @@ msgid "Configure Snap.." msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª কনফিগার করà§à¦¨.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "সà§à¦¥à¦¾à¦¨à§€à§Ÿ সà§à¦¥à¦¾à¦¨à¦¾à¦™à§à¦•সমূহ" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "রà§à¦ªà¦¾à¦¨à§à¦¤à¦°à§‡à¦° à¦à¦° সংলাপ.." @@ -5468,6 +5591,10 @@ msgid "Settings" msgstr "সেটিংস" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "সà§à¦¨à§à¦¯à¦¾à¦ª সেটিংস" @@ -5860,6 +5987,11 @@ msgid "Merge from scene?" msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করবেন?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet (টাইল-সেট).." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "দৃশà§à¦¯ হতে তৈরি করবেন" @@ -5871,6 +6003,10 @@ msgstr "দৃশà§à¦¯ হতে à¦à¦•তà§à¦°à¦¿à¦¤ করবেন" msgid "Error" msgstr "সমসà§à¦¯à¦¾/à¦à§à¦²" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "বাতিল" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -6014,10 +6150,6 @@ msgid "Imported Project" msgstr "পà§à¦°à¦•লà§à¦ª ইমà§à¦ªà§‹à¦°à§à¦Ÿ করা হয়েছে" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "আপনার পà§à¦°à¦œà§‡à¦•à§à¦Ÿà¦Ÿà¦¿à¦° জনà§à¦¯ à¦à¦•টি নাম নিরà§à¦¦à¦¿à¦·à§à¦Ÿ করà§à¦¨à¥¤" @@ -6296,8 +6428,9 @@ msgid "Joypad Button Index:" msgstr "জয়সà§à¦Ÿà¦¿à¦• বোতাম ইনà§à¦¡à§‡à¦•à§à¦¸:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন যোগ করà§à¦¨" +#, fuzzy +msgid "Erase Input Action" +msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন ইà¦à§‡à¦¨à§à¦Ÿ মà§à¦›à§‡ ফেলà§à¦¨" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6370,6 +6503,10 @@ msgid "Already existing" msgstr "সà§à¦¥à¦¾à§Ÿà§€à§Ÿà¦¤à¦¾ টগল করà§à¦¨" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "ইনপà§à¦Ÿ অà§à¦¯à¦¾à¦•শন যোগ করà§à¦¨" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "সংরকà§à¦·à¦£à§‡ সমসà§à¦¯à¦¾ হয়েছে।" @@ -6554,6 +6691,10 @@ msgid "New Script" msgstr "নতà§à¦¨ সà§à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "বোনà§â€Œ/হাড় তৈরি করà§à¦¨" @@ -6590,6 +6731,11 @@ msgstr "বিট %d, মান %d।" msgid "On" msgstr "চালà§" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "খালি বসà§à¦¤à§ যোগ করà§à¦¨" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "নিযà§à¦•à§à¦¤ করà§à¦¨ (Set)" @@ -6598,10 +6744,6 @@ msgstr "নিযà§à¦•à§à¦¤ করà§à¦¨ (Set)" msgid "Properties:" msgstr "পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿-সমূহ:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "অংশাদি:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "গà§à¦£à¦¾à¦—à§à¦£/বৈশিষà§à¦Ÿà§à¦¯ বাছাই করà§à¦¨" @@ -7188,6 +7330,10 @@ msgstr "শাখা হতে সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨" msgid "Shortcuts" msgstr "শরà§à¦Ÿà¦•াটসমূহ" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Light à¦à¦° বà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦§ পরিবরà§à¦¤à¦¨ করà§à¦¨" @@ -7236,17 +7382,57 @@ msgstr "পারà§à¦Ÿà¦¿à¦•ল পরিবরà§à¦¤à¦¨ করà§à¦¨ AABB" msgid "Change Probe Extents" msgstr "পà§à¦°à§‹à¦¬à§‡à¦° (Probe) পরিবà§à¦¯à¦¾à¦ªà§à¦¤à¦¿ পরিবরà§à¦¤à¦¨ করà§à¦¨" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "পথের বিনà§à¦¦à§ অপসারণ করà§à¦¨" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "পà§à¦²à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary (মেস-লাইবà§à¦°à§‡à¦°à¦¿).." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "জিডিনà§à¦¯à¦¾à¦Ÿà¦¿à¦" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary (মেস-লাইবà§à¦°à§‡à¦°à¦¿).." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "অবসà§à¦¥à¦¾:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "লাইবà§à¦°à§‡à¦°à¦¿: " @@ -7972,6 +8158,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -8009,10 +8214,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ছবিসমূহ বà§à¦²à¦¿à¦Ÿà¦¿à¦‚ (Blitting) করা হচà§à¦›à§‡" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8074,10 +8275,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "বাতিল" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "সতরà§à¦•তা!" @@ -8145,6 +8342,31 @@ msgstr "ফনà§à¦Ÿ তà§à¦²à¦¤à§‡/লোডে সমসà§à¦¯à¦¾ হয়েঠmsgid "Invalid font size." msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤" +#~ msgid "Move Add Key" +#~ msgstr "অà§à¦¯à¦¾à¦¡ কি মà§à¦ করà§à¦¨" + +#~ msgid "Create Subscription" +#~ msgstr "সদসà§à¦¯à¦¤à¦¾/সাবসà§à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ তৈরি করà§à¦¨" + +#~ msgid "List:" +#~ msgstr "তালিকা:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Emission Mask সà§à¦¥à¦¾à¦ªà¦¨ করà§à¦¨" + +#~ msgid "Clear Emitter" +#~ msgstr "Emitter পরিসà§à¦•ার করà§à¦¨" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "লাইন-ঠযান" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "অংশাদি:" + #, fuzzy #~ msgid "" #~ "\n" @@ -8672,9 +8894,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤" #~ msgid "Making BVH" #~ msgstr "BVH তৈরি করা হচà§à¦›à§‡" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "লাইটà§à¦®à§à¦¯à¦¾à¦ªà§‡ হসà§à¦¤à¦¾à¦¨à§à¦¤à¦° করà§à¦¨:" - #~ msgid "Allocating Texture #" #~ msgstr "গঠনবিনà§à¦¯à¦¾à¦¸ বণà§à¦Ÿà¦¿à¦¤ হচà§à¦›à§‡ #" @@ -8818,9 +9037,6 @@ msgstr "ফনà§à¦Ÿà§‡à¦° আকার অগà§à¦°à¦¹à¦¨à¦¯à§‹à¦—à§à¦¯à¥¤" #~ msgid "Del" #~ msgstr "ডিলিট/অপসারণ" -#~ msgid "Copy To Platform.." -#~ msgstr "পà§à¦²à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡ পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿ করà§à¦¨.." - #~ msgid "just pressed" #~ msgstr "à¦à¦‡à¦®à¦¾à¦¤à§à¦° চাপিত" diff --git a/editor/translations/ca.po b/editor/translations/ca.po index 82fa7fac49..9f6e600978 100644 --- a/editor/translations/ca.po +++ b/editor/translations/ca.po @@ -3,12 +3,13 @@ # Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# BennyBeat <bennybeat@gmail.com>, 2017. # Roger Blanco Ribera <roger.blancoribera@gmail.com>, 2016-2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 03:45+0000\n" +"PO-Revision-Date: 2017-12-20 15:42+0000\n" "Last-Translator: Roger Blanco Ribera <roger.blancoribera@gmail.com>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/godot-engine/" "godot/ca/>\n" @@ -16,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -27,8 +28,9 @@ msgid "All Selection" msgstr "Tota la Selecció" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mou o Afegeix una Clau" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Modifica el Valor" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +41,8 @@ msgid "Anim Change Transform" msgstr "Modifica la Transformació de l'Animació" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Modifica el Valor" #: editor/animation_editor.cpp @@ -145,7 +148,7 @@ msgstr "Vés al Pas Següent" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "Vés al Pas Previ" +msgstr "Vés al Pas Anterior" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -186,11 +189,11 @@ msgstr "Poleix l'Animació" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Vol crear una NOVA pista per a %s i inserir-hi una clau?" +msgstr "Voleu crear una NOVA pista per a %s i inserir-hi una clau?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Vol crear %d noves pistes i inserir-hi claus?" +msgstr "Voleu crear %d NOVES pistes i inserir-hi claus?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -219,7 +222,7 @@ msgstr "Modifica la durada" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "Modifica la repetició de l'Animació" +msgstr "Modifica el bucle de l'Animació" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -263,19 +266,19 @@ msgstr "Activa/Desactiva el bucle de l'animació." #: editor/animation_editor.cpp msgid "Add new tracks." -msgstr "Afegir noves pistes." +msgstr "Afegeix noves pistes." #: editor/animation_editor.cpp msgid "Move current track up." -msgstr "Moure amunt la pista actual." +msgstr "Mou amunt." #: editor/animation_editor.cpp msgid "Move current track down." -msgstr "Moure avall la pista actual." +msgstr "Mou avall." #: editor/animation_editor.cpp msgid "Remove selected track." -msgstr "Treure la pista seleccionada." +msgstr "Treu la pista seleccionada." #: editor/animation_editor.cpp msgid "Track tools" @@ -283,7 +286,7 @@ msgstr "Eines de Pista" #: editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "Activa l'editatge individual de claus en clicar-hi." +msgstr "Edició individual de claus en clicar-hi." #: editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -324,11 +327,11 @@ msgstr "Relació d'Escala:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "Cridar Funcions en el Node \"Which\"?" +msgstr "Voleu cridar les Funcions en el Node \"Which\"?" #: editor/animation_editor.cpp msgid "Remove invalid keys" -msgstr "Treure claus invà lides" +msgstr "Treu claus no và lides" #: editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" @@ -340,7 +343,7 @@ msgstr "Poleix totes les animacions" #: editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "Poleix la/les Animació/ns (NO ES POT DESFER!)" +msgstr "Poleix les Animacions (No es pot desfer!)" #: editor/animation_editor.cpp msgid "Clean-Up" @@ -348,7 +351,7 @@ msgstr "Poleix" #: editor/array_property_edit.cpp msgid "Resize Array" -msgstr "Redimensiona Matriu" +msgstr "Redimensiona la Matriu" #: editor/array_property_edit.cpp msgid "Change Array Value Type" @@ -474,22 +477,22 @@ msgstr "Connecta al Node:" #: 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 "Afegir" +msgstr "Afegeix" #: editor/connections_dialog.cpp editor/dependency_editor.cpp #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_manager.cpp #: editor/project_settings_editor.cpp msgid "Remove" -msgstr "Treure" +msgstr "Treu" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Afegir Argument de Crida Extra:" +msgstr "Arguments de Crida addicionals:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "Arguments de Crida Extra:" +msgstr "Arguments de Crida addicionals:" #: editor/connections_dialog.cpp msgid "Path to Node:" @@ -534,8 +537,9 @@ msgid "Connecting Signal:" msgstr "Connectant Senyal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crea Subscripció" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Connecta '%s' amb '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -551,7 +555,8 @@ msgid "Signals" msgstr "Senyals" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crea Nou" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -566,7 +571,7 @@ msgstr "Recents:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Cerca:" @@ -607,6 +612,7 @@ msgstr "" "Els canvis s'actualitzaran en recarregar." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependències" @@ -649,7 +655,8 @@ msgstr "Propietaris de:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Elimina fitxer seleccionats del project? (no es pot desfer)" +msgstr "" +"Voleu Eliminar els fitxers seleccionats del projecte? (No es pot desfer!)" #: editor/dependency_editor.cpp msgid "" @@ -657,8 +664,8 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" -"Els fitxers eliminats son necessaris per a altres recursos.\n" -"Eliminar de totes formes? (No es pot desfer)" +"Els fitxers seleccionats són utilitzats per altres recursos.\n" +"Voleu Eliminar-los de totes maneres? (No es pot desfer!)" #: editor/dependency_editor.cpp msgid "Cannot remove:\n" @@ -690,7 +697,7 @@ msgstr "Errors de cà rrega!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Eliminar permanentment %d element(s)? (No es pot desfer!)" +msgstr "Voleu Eliminar permanentment %d element(s)? (No es pot desfer!)" #: editor/dependency_editor.cpp msgid "Owns" @@ -706,12 +713,13 @@ msgstr "Navegador de Recursos Orfes" #: editor/dependency_editor.cpp msgid "Delete selected files?" -msgstr "Esborra fitxers seleccionats?" +msgstr "Voleu Esborrar els fitxers seleccionats?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Esborra" @@ -745,7 +753,7 @@ msgstr "Desenvolupador Principal" #: editor/editor_about.cpp editor/project_manager.cpp msgid "Project Manager" -msgstr "Gestor De Projectes" +msgstr "Gestor del Projecte" #: editor/editor_about.cpp msgid "Developers" @@ -835,7 +843,7 @@ msgstr "Èxit!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Install" -msgstr "Instal·lar" +msgstr "Instal·la" #: editor/editor_asset_installer.cpp msgid "Package Installer" @@ -847,19 +855,24 @@ msgstr "Altaveus" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "Afegir un efecte" +msgstr "Afegeix" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" msgstr "Reanomena Bus d'Àudio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Commuta el solo del Bus d'à udio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "Commuta el bus d'à udio solo" +msgstr "Commuta el solo del Bus d'à udio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "Silenciar/Desilenciar Bus d'Àudio" +msgstr "Silencia/Desilencia Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" @@ -867,19 +880,19 @@ msgstr "Commuta els Efectes de Bypass del Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "Seleccionar l'enviament del Bus d'Àudio" +msgstr "Selecciona l'Enviament del Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" -msgstr "Afegir Efecte de bus d'Àudio" +msgstr "Afegeix un Efecte de bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Move Bus Effect" -msgstr "Moure Efecte de Bus" +msgstr "Mou l'Efecte de Bus" #: editor/editor_audio_buses.cpp msgid "Delete Bus Effect" -msgstr "Eliminar Efecte de Bus" +msgstr "Elimina l'Efecte de Bus" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." @@ -901,26 +914,30 @@ msgstr "Derivació" msgid "Bus options" msgstr "Opcions del Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "Duplicar" +msgstr "Duplica" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "Restablir el Volum" +msgstr "Restableix el Volum" #: editor/editor_audio_buses.cpp msgid "Delete Effect" msgstr "Elimina l'Efecte" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" -msgstr "Afegir Bus d'Àudio" +msgstr "Afegeix un Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "El Bus Mestre no es pot pas eliminar!" +msgstr "El Bus Principal no es pot pas eliminar!" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" @@ -928,19 +945,19 @@ msgstr "Elimina Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "Duplicar el Bus d'Àudio" +msgstr "Duplica el Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" -msgstr "Restablir el Volum del Bus" +msgstr "Restableix el Volum del Bus" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "Moure Bus d'Àudio" +msgstr "Mou el Bus d'Àudio" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As.." -msgstr "Desar el Disseny del Bus d'Àudio com..." +msgstr "Anomena i Desa el Disseny del Bus d'Àudio..." #: editor/editor_audio_buses.cpp msgid "Location for New Layout.." @@ -960,7 +977,7 @@ msgstr "Fitxer incorrecte. No és un disseny de bus d'à udio." #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "Afegir Bus" +msgstr "Afegeix Bus" #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." @@ -969,28 +986,28 @@ msgstr "Crea un nou Disseny de Bus." #: editor/editor_audio_buses.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "Carregar" +msgstr "Carrega" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "Carregar un Disseny de Bus existent." +msgstr "Carrega un Disseny de Bus existent." #: editor/editor_audio_buses.cpp #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save As" -msgstr "Desar com a" +msgstr "Anomena i Desa" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "Desar el Disseny del Bus en un fitxer." +msgstr "Desa el Disseny del Bus en un fitxer." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "Carregar Valors predeterminats" +msgstr "Carrega Valors predeterminats" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Carregar el disseny del Bus predeterminat." +msgstr "Carrega el disseny del Bus predeterminat." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1003,17 +1020,20 @@ msgstr "Carà cters và lids:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" -"Nom no và lid. No pot coincidir amb noms de classe del motor ja existents." +"El Nom no és và lid. No pot coincidir amb noms de classe del motor ja " +"existents." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." msgstr "" -"Nom no và lid. No pot coincidir amb noms de tipus integrats ja existents." +"El Nom no és và lid. No pot coincidir amb noms de tipus integrats ja " +"existents." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" -"Nom no và lid. No pot coincidir amb noms de constants globals ja existents." +"El Nom no és và lid. No pot coincidir amb noms de constants globals ja " +"existents." #: editor/editor_autoload_settings.cpp msgid "Invalid Path." @@ -1029,7 +1049,7 @@ msgstr "Fora del camà dels recursos." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "Afegir AutoCà rrega" +msgstr "Afegeix AutoCà rrega" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" @@ -1045,11 +1065,11 @@ msgstr "Commuta les Globals d'AutoCà rrega" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "Moure AutoCà rrega" +msgstr "Mou l'AutoCà rrega" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "Treure Autocà rrega" +msgstr "Treu Autocà rrega" #: editor/editor_autoload_settings.cpp msgid "Enable" @@ -1068,7 +1088,8 @@ msgstr "CamÃ:" msgid "Node Name:" msgstr "Nom del node:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nom" @@ -1076,21 +1097,26 @@ msgstr "Nom" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Llista:" - #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "Actualitzant Escena" +msgstr "Actualitzant l'Escena" #: editor/editor_data.cpp msgid "Storing local changes.." -msgstr "Emmagatzemant canvis locals.." +msgstr "Emmagatzemant canvis locals..." #: editor/editor_data.cpp msgid "Updating scene.." -msgstr "Actualitzant escena.." +msgstr "S'està actualitzant l'escena.." + +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(buit)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" @@ -1103,7 +1129,7 @@ msgstr "Tria un Directori" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Crea una Carpeta" +msgstr "Crea un Directori" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1115,7 +1141,7 @@ msgstr "Nom:" #: 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 "No s'ha pogut crear la carpeta." +msgstr "No s'ha pogut crear el directori." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1131,16 +1157,31 @@ msgstr "Compressió" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "no s'ha trobat la Plantilla:\n" +msgstr "No s'ha trobat la Plantilla:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "Fitxer Existent, Sobreescriure?" +msgstr "Fitxer Existent, Voleu sobreescriure'l?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Crea una Carpeta" +msgstr "Selecciona el Directori Actual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copia CamÃ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostra en el Gestor de Fitxers" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nou Directori.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Refresca" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1189,12 +1230,8 @@ msgid "Go Up" msgstr "Puja" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Refresca" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Fitxers Ocults" +msgstr "Commuta Fitxers Ocults" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" @@ -1210,15 +1247,15 @@ msgstr "Enfoca CamÃ" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "Moure Favorit Amunt" +msgstr "Mou Favorit Amunt" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "Moure Favorit Avall" +msgstr "Mou Favorit Avall" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder" -msgstr "Aneu a la carpeta principal" +msgstr "Vés al directori principal" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" @@ -1343,8 +1380,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquesta proprietat no disposa de cap descripció. Podeu contribuir tot color=" -"$color][url=$url] aportant-ne una[/url][/color]!" +"Aquesta propietat no disposa de cap descripció. Podeu contribuir [color=" +"$color][url=$url] totaportant-ne una[/url][/color]!" #: editor/editor_help.cpp msgid "Methods" @@ -1359,8 +1396,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Aquest mètode no disposa de cap descripció. Podeu contribuir tot color=" -"$color][url=$url] aportant-ne una[/url][/color]!" +"Aquest mètode no disposa de cap descripció. Podeu contribuir [color=$color]" +"[url=$url] tot aportant-ne una[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" @@ -1372,7 +1409,8 @@ msgstr "Sortida:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Neteja" @@ -1382,7 +1420,7 @@ msgstr "Error en desar recurs!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." -msgstr "Desar Recurs com..." +msgstr "Anomena i Desa el Recurs..." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1423,7 +1461,7 @@ msgstr "S'ha produït un error en carregar '% s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "Desant Escena" +msgstr "S'està desant l'Escena" #: editor/editor_node.cpp msgid "Analyzing" @@ -1458,11 +1496,11 @@ msgstr "Error en desar MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "No s'ha pogut carregar TileSet per combinar les dades!" +msgstr "No s'ha pogut carregar el TileSet per combinar'ne les dades!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "Error en desar TileSet!" +msgstr "Error en desar el TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" @@ -1486,8 +1524,8 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Aquest recurs pertany a una escena importada, aixà que no és editable.\n" -"Referiu-vos a la documentació rellevant per a la importació d'escenes." +"Un Recurs pertanyent a una escena importada no és editable.\n" +"Referiu-vos a la documentació rellevant sobre la importació d'escenes." #: editor/editor_node.cpp msgid "" @@ -1503,7 +1541,7 @@ msgid "" "import panel and then re-import." msgstr "" "En ser importat, un recurs no és editable. Canvieu-ne la configuració en el " -"panell d'importació i abansd'importar." +"panell d'importació i torneu-lo a importar." #: editor/editor_node.cpp msgid "" @@ -1514,8 +1552,8 @@ msgid "" msgstr "" "En ser una escena importada, no se'n conservaran els canvis. \n" "Instanciar o heretar l'escena permetria la seva modificació.\n" -"Referiu-vos a la documentació rellevant a la importació d'escenes per a més " -"informació." +"Referiu-vos a la documentació rellevant sobre la importació d'escenes per a " +"més informació." #: editor/editor_node.cpp msgid "" @@ -1527,18 +1565,16 @@ msgstr "" "Referiu-vos a la documentació rellevant sobre la Depuració de codi." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Expandir tot" +msgstr "Expandeix totes les propietats" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Col·lapsar tot" +msgstr "Col·lapsa totes les propietats" #: editor/editor_node.cpp msgid "Copy Params" -msgstr "Copia Parà metres" +msgstr "Copia els Parà metres" #: editor/editor_node.cpp msgid "Paste Params" @@ -1546,11 +1582,11 @@ msgstr "Enganxa els Parà metres" #: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "Enganxa Recurs" +msgstr "Enganxa el Recurs" #: editor/editor_node.cpp msgid "Copy Resource" -msgstr "Copia Recurs" +msgstr "Copia el Recurs" #: editor/editor_node.cpp msgid "Make Built-In" @@ -1576,7 +1612,7 @@ msgid "" msgstr "" "No s'ha definit cap escena principal. Seleccioneu-ne una.\n" "És possible triar-ne una altra des de \"Configuració del Projecte\" en la " -"categoria \"aplicació\"." +"categoria \"Aplicació\"." #: editor/editor_node.cpp msgid "" @@ -1586,7 +1622,7 @@ msgid "" msgstr "" "L'escena '%s' no existeix. Seleccioneu-ne una de và lida.\n" "És possible triar-ne una altra més endavant a \"Configuració del Projecte\" " -"en la categoria \"aplicació\"." +"en la categoria \"Aplicació\"." #: editor/editor_node.cpp msgid "" @@ -1597,7 +1633,7 @@ msgstr "" "L'escena '%s' seleccionada no és un fitxer d'escena. Seleccioneu-ne un de " "và lid.\n" "És possible triar-ne una altra més endavant a \"Configuració del Projecte\" " -"en la categoria \"aplicació\"." +"en la categoria \"Aplicació\"." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1610,11 +1646,11 @@ msgstr "No s'ha pogut començar el subprocés!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "Obre Escena" +msgstr "Obre una Escena" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "Obre Escena Base" +msgstr "Obre una Escena Base" #: editor/editor_node.cpp msgid "Quick Open Scene.." @@ -1634,7 +1670,7 @@ msgstr "Desar els canvis a '%s' abans de tancar?" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "Desa Escena com..." +msgstr "Anomena i Desa l'Escena..." #: editor/editor_node.cpp msgid "No" @@ -1647,11 +1683,11 @@ msgstr "SÃ" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" msgstr "" -"Aquesta Escena no s'ha desat mai encara. Voleu desar-la abans d'executar-la?" +"Aquesta escena no s'ha desat mai encara. Voleu desar-la abans d'executar-la?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Aquesta operació no es pot dur a terme sense una escena." +msgstr "Aquesta operació no pot dur-se a terme sense cap escena." #: editor/editor_node.cpp msgid "Export Mesh Library" @@ -1663,7 +1699,7 @@ msgstr "Aquesta operació no es pot dur a terme sense un node arrel." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Exporta el joc de Mosaics (Tiles)" +msgstr "Exporta el TileSet" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." @@ -1671,11 +1707,11 @@ msgstr "Aquesta operació no es pot dur a terme sense un node seleccionat." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "L'escena actual no s'ha desat. Vol obrir igualment?" +msgstr "L'escena actual no s'ha desat. Voleu obrir-la igualment?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "No es pot recarregar una escena no desada." +msgstr "No es pot recarregar una escena mai desada." #: editor/editor_node.cpp msgid "Revert" @@ -1683,7 +1719,7 @@ msgstr "Reverteix" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "No es pot desfer aquesta acció. Vol revertir igualament?" +msgstr "Aquesta acció no es pot desfer. N'esteu segur?" #: editor/editor_node.cpp msgid "Quick Run Scene.." @@ -1707,7 +1743,7 @@ msgstr "Desar i Sortir" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Desar els canvis a la(les) escena(es) següent(s) abans de Sortir?" +msgstr "Voleu Desar els canvis en les escenes següents abans de Sortir?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" @@ -1720,8 +1756,8 @@ msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Aquesta opció és obsoleta. Es consideren ara errors les situacions on s'ha " -"de forçar el refrescament. Si us plau reporteu-ho." +"Aquesta opció està desfasada. Ara, les situacions on s'ha de forçar el " +"refrescament es consideren errors. Si us plau, informeu-ne." #: editor/editor_node.cpp msgid "Pick a Main Scene" @@ -1779,11 +1815,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "Escena '%s' té dependències no và lides:" +msgstr "L'Escena '%s' té dependències no và lides:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Netejar Escenes Recents" +msgstr "Buida les Escenes Recents" #: editor/editor_node.cpp msgid "Save Layout" @@ -1816,7 +1852,7 @@ msgstr "%d fitxer(s) més" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "Posició del Acoblament" +msgstr "Posició de l'Acoblador" #: editor/editor_node.cpp msgid "Distraction Free Mode" @@ -1892,7 +1928,7 @@ msgstr "Biblioteca de Models (MeshLibrary)..." #: editor/editor_node.cpp msgid "TileSet.." -msgstr "Joc de Mosaics (TileSet)..." +msgstr "TileSet..." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp @@ -2046,7 +2082,7 @@ msgstr "Mode Pantalla Completa" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "Gestionar Plantilles d'Exportació" +msgstr "Gestor de Plantilles d'Exportació" #: editor/editor_node.cpp msgid "Help" @@ -2150,7 +2186,7 @@ msgstr "Desa el recurs editat ara." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "Desa Com..." +msgstr "Anomena i Desa..." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." @@ -2227,7 +2263,7 @@ msgstr "Errors de Cà rrega" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "Seleccionar" +msgstr "Selecciona" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -2326,9 +2362,19 @@ msgstr "Propi" msgid "Frame #:" msgstr "Fotograma núm.:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Temps:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Crida" + #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "Seleccionar un dispositiu de la llista" +msgstr "Selecciona un dispositiu de la llista" #: editor/editor_run_native.cpp msgid "" @@ -2380,7 +2426,7 @@ msgstr "Importa des del Node:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "Tornar a Descarregar" +msgstr "Torna a Baixar" #: editor/export_template_manager.cpp msgid "Uninstall" @@ -2392,7 +2438,7 @@ msgstr "(Instal·lat)" #: editor/export_template_manager.cpp msgid "Download" -msgstr "Descarregar" +msgstr "Baixa" #: editor/export_template_manager.cpp msgid "(Missing)" @@ -2408,7 +2454,7 @@ msgstr "S'estan buscant rèpliques..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Eliminar la versió \"%s\" de la plantilla ?" +msgstr "Voleu Eliminar la versió \"%s\" de la plantilla ?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." @@ -2447,8 +2493,8 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" -"No s'ha trobat cap enllaç de descà rrega per a aquesta versió. Les " -"descà rregues directes només són disponibles per a versions oficials." +"No s'ha trobat cap enllaç de baixada per a aquesta versió. Les baixades " +"directes només són disponibles per a versions oficials." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2467,7 +2513,8 @@ msgstr "Cap resposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Ha fallat la sol·licitud." #: editor/export_template_manager.cpp @@ -2486,7 +2533,7 @@ msgstr "No es pot escriure el fitxer." #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "Descà rrega Completa." +msgstr "Baixada Completa." #: editor/export_template_manager.cpp msgid "Error requesting url: " @@ -2514,7 +2561,8 @@ msgid "Connecting.." msgstr "Connexió en marxa..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "No es pot connectar" #: editor/export_template_manager.cpp @@ -2552,7 +2600,7 @@ msgstr "Instal·lar des d'un Fitxer" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "Eliminar Plantilla" +msgstr "Elimina la Plantilla" #: editor/export_template_manager.cpp msgid "Select template file" @@ -2564,7 +2612,7 @@ msgstr "Gestor de Plantilles d'Exportació" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "Descarrega plantilles" +msgstr "Baixa plantilles" #: editor/export_template_manager.cpp msgid "Select mirror from list: " @@ -2582,11 +2630,11 @@ 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 "Veure com a graella de miniatures" +msgstr "Visualitza en una graella de miniatures" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "Veure com a llista" +msgstr "Visualitza en una llista" #: editor/filesystem_dock.cpp msgid "" @@ -2594,7 +2642,7 @@ msgid "" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" -"Estat: No s'ha pogut importar. Corregeixi el fitxer i torni a importar." +"Estat: No s'ha pogut importar. Corregiu el fitxer i torneu a importar." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." @@ -2609,6 +2657,11 @@ msgid "Error moving:\n" msgstr "Error en moure:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error en carregar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "No s'han pogut actualitzar les dependències:\n" @@ -2641,6 +2694,16 @@ msgid "Renaming folder:" msgstr "Reanomenant directori:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplica" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Reanomenant directori:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir tot" @@ -2649,24 +2712,17 @@ msgid "Collapse all" msgstr "Col·lapsar tot" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copia CamÃ" - -#: editor/filesystem_dock.cpp msgid "Rename.." -msgstr "Reanomenar.." +msgstr "Reanomena.." #: editor/filesystem_dock.cpp msgid "Move To.." -msgstr "Moure cap a..." - -#: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nou Directori.." +msgstr "Mou cap a..." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostra en el Gestor de Fitxers" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Obre una Escena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2681,6 +2737,11 @@ msgid "View Owners.." msgstr "Mostra Propietaris..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplica" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Directori Anterior" @@ -2708,20 +2769,20 @@ msgstr "Analitzant Fitxers..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "Moure" +msgstr "Mou" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "Reanomenar" +msgstr "Reanomena" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "Afegir al Grup" +msgstr "Afegeix al Grup" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "Treure del Grup" +msgstr "Treu del Grup" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" @@ -2773,6 +2834,16 @@ msgid "Importing Scene.." msgstr "Important Escena..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Generant AABB" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generant AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Executant Script Personalitzat..." @@ -2909,12 +2980,12 @@ msgstr "ERROR: Ja existeix aquest nom d'Animació!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "Reanomenar Animació" +msgstr "Reanomena l'Animació" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "Afegir Animació" +msgstr "Afegeix una Animació" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" @@ -2987,11 +3058,11 @@ msgstr "Crea una nova animació en el reproductor." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "Carregar un animació del del disc." +msgstr "Carrega un animació del del disc." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "Carregar una animació des del disc." +msgstr "Carrega una animació des del disc." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" @@ -3019,54 +3090,51 @@ msgstr "Copiar l'Animació" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Efecte Paper Ceba" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activa l'Efecte Paper Ceba" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Seccions:" +msgstr "Direccions" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Enganxa" +msgstr "Passat" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "CaracterÃstiques" +msgstr "Futur" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profunditat" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 pas" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Només diferencial" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Força modulació blanca" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inclou Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3252,7 +3320,7 @@ msgstr "Continguts:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "Veure Fitxers" +msgstr "Visualitza Fitxers" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" @@ -3280,7 +3348,7 @@ msgstr "Ha fallat la sol·licitud. Massa redireccionaments" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "Error en la descà rrega (hash incorrecte). El fitxer fou manipulat." +msgstr "Error en la baixada (hash incorrecte). El fitxer fou manipulat." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" @@ -3296,7 +3364,7 @@ msgstr "Ha fallat la comprovació del hash sha256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "Error en la descà rrega de l'Actiu:" +msgstr "Error en la baixada de l'Actiu:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" @@ -3320,7 +3388,7 @@ msgstr "Torneu a provar" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "Error en la Descà rrega" +msgstr "Error en la Baixada" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" @@ -3343,6 +3411,7 @@ msgid "last" msgstr "darrer" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Tot" @@ -3384,6 +3453,28 @@ msgstr "Provant" msgid "Assets ZIP File" msgstr "Arxiu ZIP d'Actius" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Modifica el Radi de Llum" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Previsualització" @@ -3519,16 +3610,15 @@ msgstr "Mode d'Escombratge lateral" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "Act/Desactiva Acoblament" +msgstr "Activa/Desactiva Alineament" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Alinea" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "Opcions d'Acoblament" +msgstr "Opcions d'Alineament" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" @@ -3702,16 +3792,6 @@ msgstr "Error en instanciar l'escena des de %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Buenu, pos molt bé, pos adiós... :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "No hi ha cap node Pare per instanciar-li un fill." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Aquesta operació requereix un únic node seleccionat." @@ -3907,6 +3987,22 @@ msgid "Create Navigation Mesh" msgstr "Crea un malla de Navegació" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance manca d'una Malla!" @@ -3947,6 +4043,20 @@ msgid "Create Outline Mesh.." msgstr "Crea una malla de contorn..." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vista" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vista" + +#: 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 "Crea la Malla de Contorn" @@ -4123,10 +4233,6 @@ msgid "Create Navigation Polygon" msgstr "Crea un PolÃgon de Navegació" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Esborra la Mà scara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generant AABB" @@ -4144,10 +4250,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 "Set Emission Mask" -msgstr "Estableix la Mà scara d'Emissió" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Genera un Rectangle de Visibilitat" @@ -4156,6 +4258,10 @@ msgid "Load Emission Mask" msgstr "Carrega una Mà scara d'Emissió" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Esborra la Mà scara d'Emissió" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "PartÃcules" @@ -4214,10 +4320,6 @@ msgid "Create Emission Points From Node" msgstr "Crea Punts d'Emissió des d'un Node" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Esborra l'Emissor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crea un Emissor" @@ -4425,7 +4527,7 @@ msgstr "Graella" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "Error: no es pot carregar el recurs!" +msgstr "Error: No es pot carregar el recurs!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -4458,7 +4560,7 @@ msgstr "Enganxa" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "Esborra la llista de Fitxers recents" +msgstr "Buida la llista de Fitxers recents" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -4502,11 +4604,13 @@ msgstr "Ordena" #: 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 "Mou Amunt" #: 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 "Mou avall" @@ -4522,7 +4626,7 @@ msgstr "Script Anterior" msgid "File" msgstr "Fitxer" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nou" @@ -4535,6 +4639,11 @@ msgid "Soft Reload Script" msgstr "Recarrega parcialment l'Script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copia CamÃ" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Anterior en l'Historial" @@ -4643,11 +4752,11 @@ msgid "" "What action should be taken?:" msgstr "" "El disc conté versions més recents dels fitxer següents. \n" -"Quina acció s'ha de seguir?:" +"Quina acció voleu seguir?:" #: editor/plugins/script_editor_plugin.cpp msgid "Reload" -msgstr "Tornar a Carregar" +msgstr "Torna a Carregar" #: editor/plugins/script_editor_plugin.cpp msgid "Resave" @@ -4666,7 +4775,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "Només es poden afegir Recursos del sistema de fitxers." +msgstr "Només s'hi poden deixar caure Recursos del sistema de fitxers." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -4722,14 +4831,11 @@ msgstr "Comentaris" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "Clonar avall" +msgstr "Clona avall" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Plega la LÃnia" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Desplega la lÃnia" #: editor/plugins/script_text_editor.cpp @@ -4958,7 +5064,6 @@ msgid "Z-Axis Transform." msgstr "Transformació de l'Eix Z." #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "View Plane Transform." msgstr "Transformació de la Vista." @@ -5058,6 +5163,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinea amb la Vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Buenu, pos molt bé, pos adiós... :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "No hi ha cap node Pare per instanciar-li un fill." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostra les Normals" @@ -5080,7 +5193,7 @@ msgstr "Mostra l'Entorn" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "Mostra el Trasto" +msgstr "Mostra els Gizmos" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" @@ -5088,7 +5201,7 @@ msgstr "Mostra la Informació" #: editor/plugins/spatial_editor_plugin.cpp msgid "View FPS" -msgstr "Veure FPS" +msgstr "Visualitza FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Half Resolution" @@ -5135,7 +5248,6 @@ msgid "preview" msgstr "Previsualització" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "XForm Dialog" msgstr "Dià leg XForm" @@ -5166,6 +5278,20 @@ msgid "Scale Mode (R)" msgstr "Mode Escala (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenades Locals" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Mode Escala (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Mode Imant:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista Inferior" @@ -5207,7 +5333,7 @@ msgstr "Focalitza't en la Selecció" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "Aliena la Selecció amb la Vista" +msgstr "Alinea la Selecció amb la Vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Select" @@ -5215,7 +5341,7 @@ msgstr "Selecciona una Eina" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "Eina de Moure" +msgstr "Eina de Translació" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" @@ -5238,10 +5364,6 @@ msgid "Configure Snap.." msgstr "Configura l'Alineament..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenades Locals" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dià leg de Transformació..." @@ -5283,6 +5405,10 @@ msgid "Settings" msgstr "Configuració" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Configuració de l'Alineament" @@ -5320,7 +5446,7 @@ msgstr "Modifica la Transformació" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "Traslladar:" +msgstr "Translació:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" @@ -5586,7 +5712,7 @@ msgstr "Elimina la Selecció" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "Pinta el Mosaic" +msgstr "Pinta el TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" @@ -5602,7 +5728,7 @@ msgstr "Cubell de pintura" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "Elimina el Mosaic" +msgstr "Elimina el TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase selection" @@ -5665,6 +5791,11 @@ msgid "Merge from scene?" msgstr "Combinar-ho a partir de l'escena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crea-ho a partir de l'Escena" @@ -5676,6 +5807,10 @@ msgstr "Combina-ho a partir de l'Escena" msgid "Error" msgstr "Error" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancel·la" + #: editor/project_export.cpp msgid "Runnable" msgstr "Executable" @@ -5801,10 +5936,6 @@ msgid "Imported Project" msgstr "Project importat" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Fóra bo anomenar el projecte." @@ -5846,7 +5977,7 @@ msgstr "Importa un Projecte existent" #: editor/project_manager.cpp msgid "Create New Project" -msgstr "Crea un Project nou" +msgstr "Crea un Projecte nou" #: editor/project_manager.cpp msgid "Install Project:" @@ -5963,6 +6094,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Encara no teniu cap projecte.\n" +"Voleu explorar els projectes oficials d'exemple a la llibreria activa?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6070,8 +6203,9 @@ msgid "Joypad Button Index:" msgstr "Ãndex del Botó de la Maneta:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Afegeix una Acció d'Entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Elimina la Incidència d'Acció d'Entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6138,6 +6272,10 @@ msgid "Already existing" msgstr "Ja existeix" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Afegeix una Acció d'Entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "No s'ha pogut desar la configuració." @@ -6314,6 +6452,10 @@ msgid "New Script" msgstr "Script Nou" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Fes-lo Únic" @@ -6345,6 +6487,11 @@ msgstr "Bit %d, valor %d." msgid "On" msgstr "Activat" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Afegeix un element Buit" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Estableix" @@ -6353,10 +6500,6 @@ msgstr "Estableix" msgid "Properties:" msgstr "Propietats:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Seccions:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Selecciona una Propietat" @@ -6839,7 +6982,6 @@ msgid "Inspect Next Instance" msgstr "Inspecciona la Instà ncia següent" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Stack Frames" msgstr "Fotogrames de la Pila" @@ -6923,6 +7065,10 @@ msgstr "Estableix des de l'Arbre" msgid "Shortcuts" msgstr "Dreceres" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Modifica el Radi de Llum" @@ -6971,26 +7117,65 @@ msgstr "Modifica les PartÃcules AABB" msgid "Change Probe Extents" msgstr "Modifica l'abast de la Sonda" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Elimina un punt de la Corba" + +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteca" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Estat" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Biblioteques: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "GDNatiu" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." -msgstr "Argument de tipus invà lid per a convert(), utilitzi constants TYPE_*." +msgstr "L'argument per a convert() no és và lid, utilitzeu constants TYPE_*." #: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -6998,9 +7183,8 @@ msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "Manquen bytes per a descodificar els bytes, o el format no és và lid." #: modules/gdscript/gdscript_functions.cpp -#, fuzzy msgid "step argument is zero!" -msgstr "L'argument 'Pas' és zero!" +msgstr "L'argument 'step' és zero!" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" @@ -7016,34 +7200,35 @@ msgstr "No basat en un arxiu de recursos" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" -msgstr "Format del diccionari d'instà ncies invà lid (manca @path)" +msgstr "El format del diccionari d'instà ncies no és và lid (manca @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" -"Format del diccionari d'instà ncies invà lid (no es pot carregar l'Script a " -"@path)" +"El format del diccionari d'instà ncies no és và lid (no es pot carregar " +"l'Script a @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "Format del diccionari d'instà ncies invà lid (Script invà lid a @path)" +msgstr "" +"El Format del diccionari d'instà ncies no és và lid ( L'Script a @path no és " +"và lid)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "Diccionari d'instà ncies invà lid (subclasses invà lides)" +msgstr "El Diccionari d'instà ncies no és và lid (subclasses no và lides)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." msgstr "L'objecte no pot proporcionar una longitud." #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Delete Selection" -msgstr "Elimina la Selecció en el Mapa de Graella" +msgstr "Elimina la Selecció del GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Duplicate Selection" -msgstr "Duplica la Selecció del Mapa de Graella" +msgstr "Duplica la Selecció del GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" @@ -7135,7 +7320,7 @@ msgstr "Esborra la Selecció" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "Configuració del Mapa de Graella" +msgstr "Configuració del GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" @@ -7171,7 +7356,7 @@ msgstr "" #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "El node ha retornat un seqüencia de sortida invà lida: " +msgstr "El node ha retornat un seqüencia de sortida que no és và lida: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" @@ -7233,11 +7418,11 @@ msgstr "Reanomena Senyal" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "Afegir Funció" +msgstr "Afegeix una Funció" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "Afegir Variable" +msgstr "Afegeix una Variable" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" @@ -7289,15 +7474,15 @@ msgstr "Retén Ctrl per dipositar una Variable d'Actualització (Setter)." #: modules/visual_script/visual_script_editor.cpp msgid "Add Preload Node" -msgstr "Afegir Node de Precà rrega" +msgstr "Afegeix un Node de Precà rrega" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" -msgstr "Afegir Node(s) des d'Arbre" +msgstr "Afegeix Nodes des d'Arbre" #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" -msgstr "Afegir Propietat d'Accés (Getter)" +msgstr "Afegeix una Propietat d'Accés (Getter)" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" @@ -7445,15 +7630,15 @@ msgstr "Tipus d'entrada no iterable: " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" -msgstr "L'Iterador ha esdevingut invà lid" +msgstr "L'Iterador ja no és và lid" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "L'Iterador ha esdevingut invà lid: " +msgstr "L'Iterador ja no és và lid: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "El Nom de la propietat index és invà lid." +msgstr "El Nom de la propietat Ãndex no és và lid." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" @@ -7465,15 +7650,15 @@ msgstr "El camà no condueix a cap Node!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "El nom de la propietat index '%s' és invà lid en el node %s." +msgstr "El nom de la propietat Ãndex '%s' del node %s no és và lid ." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr ": Argument invà lid del tipus: " +msgstr ": Argument no và lid del tipus: " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " -msgstr ": Arguments invà lids: " +msgstr ": Arguments no và lids: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " @@ -7681,6 +7866,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "El node ARVROrigin requreix un node Fill del tipus ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "S'està n traçant les Malles" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "S'està n traçant les Malles" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "S'està finalitzant el Traçat" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "S'està n traçant les Malles" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7717,10 +7921,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "S'està n traçant les Malles" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "S'està finalitzant el Traçat" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7736,11 +7936,9 @@ msgstr "" "proporciona dades de navegació." #: scene/3d/particles.cpp -#, fuzzy msgid "" "Nothing is visible because meshes have not been assigned to draw passes." -msgstr "" -"Res és visible perquè no s'ha assignat cap Malla a cap passi de Dibuix." +msgstr "Res és visible perquè no s'ha assignat cap Malla a cap pas de Dibuix." #: scene/3d/physics_body.cpp msgid "" @@ -7789,10 +7987,6 @@ msgid "Add current color as a preset" msgstr "Afegeix el Color actual com a predeterminat" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancel·la" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ep!" @@ -7801,9 +7995,8 @@ msgid "Please Confirm..." msgstr "Confirmeu..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Selecciona un Mètode" +msgstr "Selecciona aquest Directori" #: scene/gui/popup.cpp msgid "" @@ -7816,15 +8009,14 @@ msgstr "" "s'edita, però s'ocultaran durant l'execució." #: scene/gui/scroll_container.cpp -#, fuzzy msgid "" "ScrollContainer is intended to work with a single child control.\n" "Use a container as child (VBox,HBox,etc), or a Control and set the custom " "minimum size manually." msgstr "" -"ScrollContainer està pensat per treballar amb un sol control fill.\n" -"Utilitza un contenidor (VBox, HBox,...) com a fill, o utilitza un Control i " -"estableix manualment una mida mÃnima personalitzada." +"ScrollContainer fou pensat per treballar-hi amb un sol Control fill.\n" +"Utilitzeu un contenidor (VBox, HBox, ...) com a fill, o un utilitzeu Control " +"i personalitzeu-hi la mida mÃnima manualment." #: scene/gui/tree.cpp msgid "(Other)" @@ -7866,6 +8058,30 @@ msgstr "Error carregant lletra." msgid "Invalid font size." msgstr "La mida de la lletra no és và lida." +#~ msgid "Move Add Key" +#~ msgstr "Mou o Afegeix una Clau" + +#~ msgid "Create Subscription" +#~ msgstr "Crea Subscripció" + +#~ msgid "List:" +#~ msgstr "Llista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Estableix la Mà scara d'Emissió" + +#~ msgid "Clear Emitter" +#~ msgstr "Esborra l'Emissor" + +#~ msgid "Fold Line" +#~ msgstr "Plega la LÃnia" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Seccions:" + #~ msgid "Cannot navigate to '" #~ msgstr "No es pot navegar fins '" diff --git a/editor/translations/cs.po b/editor/translations/cs.po index ecbc9c950e..cfc390fd24 100644 --- a/editor/translations/cs.po +++ b/editor/translations/cs.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-25 07:45+0000\n" -"Last-Translator: Jiri Hysek <contact@jirihysek.com>\n" +"PO-Revision-Date: 2017-12-09 19:45+0000\n" +"Last-Translator: Martin Novák <maidx@seznam.cz>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/" "cs/>\n" "Language: cs\n" @@ -24,15 +24,16 @@ msgstr "" #: editor/animation_editor.cpp msgid "Disabled" -msgstr "Vypnuto" +msgstr "Zakázáno" #: editor/animation_editor.cpp msgid "All Selection" msgstr "VÅ¡echny vybrané" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animace: zmÄ›na hodnoty" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -43,7 +44,8 @@ msgid "Anim Change Transform" msgstr "Animace: zmÄ›na transformace" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animace: zmÄ›na hodnoty" #: editor/animation_editor.cpp @@ -89,7 +91,7 @@ msgstr "Animace: zmÄ›na typu hodnot" #: editor/animation_editor.cpp #, fuzzy msgid "Anim Track Change Wrap Mode" -msgstr "Animace: zmÄ›na typu hodnot" +msgstr "ZmÄ›na režimu opakovánà animaÄnà stopy" #: editor/animation_editor.cpp msgid "Edit Node Curve" @@ -110,7 +112,7 @@ msgstr "Duplikovat výbÄ›r" #: editor/animation_editor.cpp msgid "Duplicate Transposed" -msgstr "" +msgstr "Duplikovat transponované" #: editor/animation_editor.cpp msgid "Remove Selection" @@ -167,15 +169,15 @@ msgstr "In" #: editor/animation_editor.cpp msgid "Out" -msgstr "Out" +msgstr "Výstup" #: editor/animation_editor.cpp msgid "In-Out" -msgstr "In-Out" +msgstr "Vstup-Výstup" #: editor/animation_editor.cpp msgid "Out-In" -msgstr "Out-In" +msgstr "Výstup-Vstup" #: editor/animation_editor.cpp msgid "Transitions" @@ -268,7 +270,7 @@ msgstr "Zapnout/vypnout opakovánà animace." #: editor/animation_editor.cpp msgid "Add new tracks." -msgstr "PÅ™idat nové stopy." +msgstr "PÅ™idat novou stopu." #: editor/animation_editor.cpp msgid "Move current track up." @@ -324,7 +326,7 @@ msgstr "PÅ™echod" #: editor/animation_editor.cpp msgid "Scale Ratio:" -msgstr "PomÄ›r velikosti:" +msgstr "PomÄ›r měřÃtka:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" @@ -336,7 +338,7 @@ msgstr "Odstranit neplatné klÃÄe" #: editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "" +msgstr "Odstranit nevyÅ™eÅ¡ené a prázdné stopy" #: editor/animation_editor.cpp msgid "Clean-up all animations" @@ -375,7 +377,6 @@ msgid "No Matches" msgstr "Žádné shody" #: editor/code_editor.cpp -#, fuzzy msgid "Replaced %d occurrence(s)." msgstr "Nahrazeno %d výskytů." @@ -425,7 +426,7 @@ msgstr "Nahradit" #: editor/code_editor.cpp msgid "Case Sensitive" -msgstr "" +msgstr "RozliÅ¡ovat velká a malá pÃsmena" #: editor/code_editor.cpp msgid "Backwards" @@ -539,8 +540,9 @@ msgid "Connecting Signal:" msgstr "PÅ™ipojuji signál:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "VytvoÅ™it odbÄ›r" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "PÅ™ipojit '%s' k '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -556,7 +558,8 @@ msgid "Signals" msgstr "Signály" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "VytvoÅ™it nový" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -571,7 +574,7 @@ msgstr "Nedávné:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Hledat:" @@ -612,6 +615,7 @@ msgstr "" "ZmÄ›ny se projevà po opÄ›tovném naÄtenÃ." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Závislosti" @@ -707,16 +711,17 @@ msgstr "Zdroje bez explicitnÃho vlastnictvÃ:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "PrůzkumnÃk sirotků zdrojů" +msgstr "PrůzkumnÃk osiÅ™elých zdrojů" #: editor/dependency_editor.cpp msgid "Delete selected files?" msgstr "Odstranit vybrané soubory?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Odstranit" @@ -725,9 +730,8 @@ msgid "Change Dictionary Key" msgstr "ZmÄ›nit slovnÃkový klÃÄ" #: editor/dictionary_property_edit.cpp -#, fuzzy msgid "Change Dictionary Value" -msgstr "ZmÄ›nit hodnotu pole" +msgstr "ZmÄ›nit hodnotu slovnÃku" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -739,7 +743,7 @@ msgstr "DÃky!" #: editor/editor_about.cpp msgid "Godot Engine contributors" -msgstr "" +msgstr "PÅ™ispÃvajÃcà do Godot Enginu" #: editor/editor_about.cpp #, fuzzy @@ -752,7 +756,7 @@ msgstr "Vedoucà vývojář" #: editor/editor_about.cpp editor/project_manager.cpp msgid "Project Manager" -msgstr "Projektový manažer" +msgstr "Správce projektů" #: editor/editor_about.cpp msgid "Developers" @@ -805,6 +809,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" +"Godot Engine závisà na volnÄ› dostupných a open source knihovnách od tÅ™etÃch " +"stran; vÅ¡echny jsou kompatibilnà s podmÃnkami jeho MIT licence. Následuje " +"vyÄerpávajÃcà seznam tÄ›chto komponent tÅ™etÃch stran s jejich pÅ™ÃsluÅ¡nými " +"popisy autorských práv a s licenÄnÃmi podmÃnkami." #: editor/editor_about.cpp #, fuzzy @@ -826,7 +834,7 @@ msgstr "NepodaÅ™ilo se otevÅ™Ãt balÃÄek, nenà ve formátu zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "" +msgstr "Dekomprese uživatelského obsahu" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" @@ -835,7 +843,7 @@ msgstr "BalÃÄek byl úspěšnÄ› nainstalován!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Success!" -msgstr "" +msgstr "ÚspÄ›ch!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp @@ -848,7 +856,7 @@ msgstr "Instalátor balÃÄků" #: editor/editor_audio_buses.cpp msgid "Speakers" -msgstr "" +msgstr "Reproduktory" #: editor/editor_audio_buses.cpp msgid "Add Effect" @@ -860,6 +868,11 @@ msgid "Rename Audio Bus" msgstr "PÅ™ejmenovat AutoLoad" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "ZmÄ›nit hodnotu pole" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -908,8 +921,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -924,6 +937,10 @@ msgid "Delete Effect" msgstr "Smazat vybraný" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1079,7 +1096,8 @@ msgstr "Cesta:" msgid "Node Name:" msgstr "Název uzlu:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Název" @@ -1087,10 +1105,6 @@ msgstr "Název" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Seznam:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1103,6 +1117,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1153,6 +1175,23 @@ msgstr "Soubor už existuje. PÅ™epsat?" msgid "Select Current Folder" msgstr "VytvoÅ™it složku" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "VytvoÅ™it složku" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "VÅ¡echny rozpoznatelné" @@ -1200,10 +1239,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1260,7 +1295,7 @@ msgstr "" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Prohledat nápovÄ›du" #: editor/editor_help.cpp msgid "Class List:" @@ -1384,11 +1419,12 @@ msgstr "" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Výstup:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "VyÄistit" @@ -1460,6 +1496,8 @@ msgstr "" msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"NepodaÅ™ilo se uložit scénu. NejspÃÅ¡e se nepodaÅ™ilo uspokojit závislosti " +"(instance)." #: editor/editor_node.cpp msgid "Failed to load resource." @@ -1487,7 +1525,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Výchozà rozloženà editoru pÅ™epsáno." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -1565,7 +1603,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Open in Help" -msgstr "" +msgstr "OtevÅ™Ãt v nápovÄ›dÄ›" #: editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1602,7 +1640,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "OtevÅ™Ãt scénu" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -1610,11 +1648,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "Rychlé otevÅ™enà scény.." #: editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "Rychlé otevÅ™enà skriptu.." #: editor/editor_node.cpp #, fuzzy @@ -1627,7 +1665,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Uložit scénu jako.." #: editor/editor_node.cpp msgid "No" @@ -1687,7 +1725,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "UkonÄit editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" @@ -1733,6 +1771,8 @@ msgstr "Chyba nahrávánà fontu." msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"NepodaÅ™ilo se naÄÃst addon skript z cesty: '%s'. Základnà typ nenà " +"EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." @@ -1836,19 +1876,19 @@ msgstr "" #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Nová scéna" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Nová odvozená scéna.." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "OtevÅ™Ãt scénu.." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Uložit scénu" #: editor/editor_node.cpp msgid "Save all Scenes" @@ -1856,15 +1896,15 @@ msgstr "" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "ZavÅ™Ãt scénu" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "OtevÅ™Ãt nedávné" #: editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Konvertovat na.." #: editor/editor_node.cpp msgid "MeshLibrary.." @@ -1915,11 +1955,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "UkonÄit do seznamu projektů" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "LadÄ›nÃ" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" @@ -1990,29 +2030,28 @@ msgid "" msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Editor" -msgstr "Upravit" +msgstr "Editor" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" -msgstr "" +msgstr "Nastavenà editoru" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Rozloženà editoru" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Celá obrazovka" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "" +msgstr "Spravovat exportnà šablony" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "NápovÄ›da" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" @@ -2032,7 +2071,7 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "Z komunity" +msgstr "Komunita" #: editor/editor_node.cpp msgid "About" @@ -2150,7 +2189,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Výstup" #: editor/editor_node.cpp msgid "Don't Save" @@ -2158,7 +2197,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Importovat Å¡ablony ze ZIP souboru" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" @@ -2293,6 +2332,15 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Zavolat" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2377,30 +2425,30 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Nelze otevÅ™Ãt zip soubor exportnÃch Å¡ablon." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Neplatný formát version.txt uvnitÅ™ Å¡ablon." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Neplatný formát version.txt uvnitÅ™ Å¡ablon. Revize nenà platný identifikátor." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Nenalezena version.txt uvnitÅ™ Å¡ablon." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:\n" -msgstr "Chyba pÅ™i vytvářenà podpisového objektu." +msgstr "Chyba pÅ™i vytvářenà cesty pro Å¡ablony:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "Extrakce exportnÃch Å¡ablon" #: editor/export_template_manager.cpp msgid "Importing:" @@ -2430,8 +2478,9 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Testované" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2483,7 +2532,7 @@ msgstr "PÅ™ipojit.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "PÅ™ipojit.." #: editor/export_template_manager.cpp @@ -2538,9 +2587,8 @@ msgid "Export Template Manager" msgstr "" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "Odstranit výbÄ›r" +msgstr "Stáhnout Å¡ablony" #: editor/export_template_manager.cpp msgid "Select mirror from list: " @@ -2583,6 +2631,11 @@ msgstr "Chyba pÅ™i naÄÃtánÃ:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Chyba pÅ™i naÄÃtánÃ:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Scénu se nepodaÅ™ilo naÄÃst kvůli chybÄ›jÃcÃm závislostem:" @@ -2617,15 +2670,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "PÅ™ejmenovat promÄ›nnou" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2638,12 +2696,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "VytvoÅ™it složku" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "OtevÅ™Ãt scénu" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2658,6 +2712,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Animace: duplikovat klÃÄe" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2750,6 +2809,14 @@ 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 "" @@ -3322,6 +3389,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "VÅ¡echny" @@ -3363,6 +3431,27 @@ msgstr "Testované" msgid "Assets ZIP File" msgstr "ZIP soubor asetů" +#: 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 msgid "Preview" msgstr "" @@ -3503,7 +3592,6 @@ msgid "Toggles snapping" msgstr "PÅ™epnout breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3684,16 +3772,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3891,6 +3969,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3931,6 +4025,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Soubor:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Soubor:" + +#: 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 "" @@ -4107,10 +4215,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4128,15 +4232,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4198,10 +4302,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4489,11 +4589,13 @@ msgstr "Řadit:" #: 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 "" @@ -4509,7 +4611,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4522,6 +4624,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "ZkopÃrovat uzly" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4713,14 +4820,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Běž na řádek" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4767,12 +4870,11 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Convert To Uppercase" -msgstr "" +msgstr "Konvertovat na velká pÃsmena" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Convert To Lowercase" -msgstr "PÅ™ipojit k uzlu:" +msgstr "Konvertovat na malá pÃsmena" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" @@ -5048,6 +5150,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5157,6 +5267,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Vybrat vÅ¡e" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5231,10 +5354,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5276,6 +5395,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5663,6 +5786,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Soubor:" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5674,6 +5802,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ZruÅ¡it" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5691,7 +5823,7 @@ msgstr "Odstranit vybrané soubory?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " -msgstr "" +msgstr "Exportnà šablony pro tuto platformu chybà nebo jsou poÅ¡kozené: " #: editor/project_export.cpp msgid "Presets" @@ -5763,11 +5895,11 @@ msgstr "" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Exportnà šablony pro tuto platformu chybÃ:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "Exportnà šablony pro tuto platformu chybà nebo jsou poÅ¡kozené:" #: editor/project_export.cpp msgid "Export With Debug" @@ -5797,10 +5929,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5918,7 +6046,7 @@ msgstr "" #: editor/project_manager.cpp msgid "Project List" -msgstr "" +msgstr "Seznam projektů" #: editor/project_manager.cpp msgid "Scan" @@ -5933,9 +6061,8 @@ msgid "New Project" msgstr "" #: editor/project_manager.cpp -#, fuzzy msgid "Templates" -msgstr "Odstranit výbÄ›r" +msgstr "Å ablony" #: editor/project_manager.cpp msgid "Exit" @@ -6062,8 +6189,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "ZmÄ›nit měřÃtko výbÄ›ru" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6133,6 +6261,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6313,6 +6445,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6321,9 +6457,8 @@ msgid "Show in File System" msgstr "" #: editor/property_editor.cpp -#, fuzzy msgid "Convert To %s" -msgstr "PÅ™ipojit k uzlu:" +msgstr "Konvertovat na %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" @@ -6346,6 +6481,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6354,10 +6493,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -6570,9 +6705,8 @@ msgid "Copy Node Path" msgstr "ZkopÃrovat uzly" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Delete (No Confirm)" -msgstr "PotvrÄte prosÃm..." +msgstr "Odstranit (bez potvrzenÃ)" #: editor/scene_tree_dock.cpp msgid "Add/Create a New Node" @@ -6927,6 +7061,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6975,15 +7113,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Odstranit signál" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -6995,7 +7170,7 @@ msgstr "" #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Invalid type argument to convert(), use TYPE_* constants." msgstr "" -"Neplatný typ argumentu funkce convert(), použijte nÄ›kterou z konstant TYPE_*" +"Neplatný typ argumentu funkce convert(), použijte nÄ›kterou z konstant TYPE_*." #: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -7699,6 +7874,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7735,10 +7926,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7802,16 +7989,12 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ZruÅ¡it" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Pozor!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "PotvrÄte prosÃm..." +msgstr "PotvrÄte prosÃm.." #: scene/gui/file_dialog.cpp #, fuzzy @@ -7837,13 +8020,15 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(OstatnÃ)" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" +"Výchozà prostÅ™edà specifikované v nastavenà projektu (Vykreslovánà -> " +"Zobrazovacà výřez -> Výchozà prostÅ™edÃ) se nepodaÅ™ilo naÄÃst." #: scene/main/viewport.cpp msgid "" @@ -7873,6 +8058,12 @@ msgstr "Chyba nahrávánà fontu." msgid "Invalid font size." msgstr "Neplatná velikost fontu." +#~ msgid "Create Subscription" +#~ msgstr "VytvoÅ™it odbÄ›r" + +#~ msgid "List:" +#~ msgstr "Seznam:" + #, fuzzy #~ msgid "" #~ "\n" @@ -7928,10 +8119,6 @@ msgstr "Neplatná velikost fontu." #~ msgid "Invalid font custom source." #~ msgstr "Nevalidnà pÃsmo z vlastnÃho zdroje." -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Soubor:" - #~ msgid "Ctrl+" #~ msgstr "Ctrl+" diff --git a/editor/translations/da.po b/editor/translations/da.po index c784df0e58..66434011a7 100644 --- a/editor/translations/da.po +++ b/editor/translations/da.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" +"PO-Revision-Date: 2017-12-20 15:42+0000\n" "Last-Translator: Kim Nielsen <kimmowich@stofanet.dk>\n" "Language-Team: Danish <https://hosted.weblate.org/projects/godot-engine/" "godot/da/>\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "All selection" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Flyt Add Key" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Skift Værdi" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -38,11 +39,12 @@ msgstr "Anim Skift Overgang" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Skift transformering" +msgstr "Anim Skift Transformering" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Anim Skift værdi" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Anim Skift Værdi" #: editor/animation_editor.cpp msgid "Anim Change Call" @@ -50,60 +52,60 @@ msgstr "Anim Skift Call" #: editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "Anim tilføj spor" +msgstr "Anim Tilføj Spor" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Anim Dubliker Keys" +msgstr "Anim Dublikér Nøgle" #: editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "Flyt Anim spor op" +msgstr "Flyt Anim Spor Op" #: editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "Flyt Anim spor ned" +msgstr "Flyt Anim Spor Ned" #: editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "Fjern Anim spor" +msgstr "Fjern Anim Spor" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "Sæt overgange til:" +msgstr "Sæt Overgange til:" #: editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Anim spor Omdøb" +msgstr "Anim Omdøb Spor" #: editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Anim spor Skift Interpolation" +msgstr "Anim Skift Spor Interpolation" #: editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Anim spor Skift værdi Mode" +msgstr "Anim Skift Sport Værdi Mode" #: editor/animation_editor.cpp msgid "Anim Track Change Wrap Mode" -msgstr "Anim Spor Skift Wrap Mode" +msgstr "Anim Skift Spor Wrap Mode" #: editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "Redigere Node kurve" +msgstr "Rediger Node Kurve" #: editor/animation_editor.cpp msgid "Edit Selection Curve" -msgstr "Rediger udvalg kurve" +msgstr "Rediger Valgte Kurve" #: editor/animation_editor.cpp msgid "Anim Delete Keys" -msgstr "Anim slet Keys" +msgstr "Anim Slet Nøgler" #: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Dupliker valgt" +msgstr "Duplikér Valgte" #: editor/animation_editor.cpp msgid "Duplicate Transposed" @@ -111,7 +113,7 @@ msgstr "Duplicate transposed" #: editor/animation_editor.cpp msgid "Remove Selection" -msgstr "Fjern markering" +msgstr "Fjern Markering" #: editor/animation_editor.cpp msgid "Continuous" @@ -127,27 +129,27 @@ msgstr "Udløser" #: editor/animation_editor.cpp msgid "Anim Add Key" -msgstr "Anim Tilføj Key" +msgstr "Anim Tilføj Nøgle" #: editor/animation_editor.cpp msgid "Anim Move Keys" -msgstr "Anim Flyt Keys" +msgstr "Anim Flyt Nøgle" #: editor/animation_editor.cpp msgid "Scale Selection" -msgstr "Skalér markerede" +msgstr "Skalér Valgte" #: editor/animation_editor.cpp msgid "Scale From Cursor" -msgstr "Skaler fra Cursor" +msgstr "Skaler Fra Cursor" #: editor/animation_editor.cpp msgid "Goto Next Step" -msgstr "Goto næste skridt" +msgstr "GÃ¥ Til Næste Trin" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "Goto forrige trin" +msgstr "GÃ¥ Til Forrige Trin" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -184,15 +186,15 @@ msgstr "Optimer Animation" #: editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "Clean-up Animation" +msgstr "Clean-Up Animation" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Oprette nye spor til %s og indsætte key?" +msgstr "Opret NYT spor til %s og indsæt nøgle?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Oprette %d nye numre og indsætte nøgler?" +msgstr "Opret %d NYE spor og indsæt nøgler?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -205,27 +207,27 @@ msgstr "Opret" #: editor/animation_editor.cpp msgid "Anim Create & Insert" -msgstr "Anim opret & indsæt" +msgstr "Anim Opret & Indsæt" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Indsæt spor & key" +msgstr "Anim Indsæt Spor & Nøgle" #: editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "Anim Indsæt key" +msgstr "Anim Indsæt Nøgle" #: editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "Ændre Anim Len" +msgstr "Ændre Anim Længde" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "Ændre Anim løkke" +msgstr "Ændre Anim Løkke" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" -msgstr "Anim opret indtastet Value key" +msgstr "Anim Opret Indtastet Værdi Nøgle" #: editor/animation_editor.cpp msgid "Anim Insert" @@ -233,7 +235,7 @@ msgstr "Anim Indsæt" #: editor/animation_editor.cpp msgid "Anim Scale Keys" -msgstr "Anim Skaler keys" +msgstr "Anim Skaler Nøgler" #: editor/animation_editor.cpp msgid "Anim Add Call Track" @@ -253,7 +255,7 @@ msgstr "Animations Længde (i sekunder)." #: editor/animation_editor.cpp msgid "Step (s):" -msgstr "Trin (s):" +msgstr "Trin:" #: editor/animation_editor.cpp msgid "Cursor step snap (in seconds)." @@ -261,11 +263,11 @@ msgstr "Cursor trin snap (i sekunder)." #: editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "Aktiver/Deaktiver løkker i animation." +msgstr "Aktiver/Deaktivér løkker i animation." #: editor/animation_editor.cpp msgid "Add new tracks." -msgstr "Tilføje nye tracks." +msgstr "Tilføje nye spor." #: editor/animation_editor.cpp msgid "Move current track up." @@ -277,7 +279,7 @@ msgstr "Flyt aktuelle spor ned." #: editor/animation_editor.cpp msgid "Remove selected track." -msgstr "Fjern markerede spor." +msgstr "Fjern valgte spor." #: editor/animation_editor.cpp msgid "Track tools" @@ -285,7 +287,7 @@ msgstr "Spor værktøjer" #: editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "Aktivere redigering af individuelle keys ved at klikke pÃ¥ dem." +msgstr "Aktivere redigering af individuelle nøgler ved at klikke pÃ¥ dem." #: editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -293,7 +295,7 @@ msgstr "Anim. optimizer" #: editor/animation_editor.cpp msgid "Max. Linear Error:" -msgstr "Max. Lineær fejl:" +msgstr "Max. Lineær Fejl:" #: editor/animation_editor.cpp msgid "Max. Angular Error:" @@ -305,15 +307,16 @@ msgstr "Max optimerbar vinkel:" #: editor/animation_editor.cpp msgid "Optimize" -msgstr "Optimer" +msgstr "Optimér" #: editor/animation_editor.cpp msgid "Select an AnimationPlayer from the Scene Tree to edit animations." -msgstr "Vælg en AnimationPlayer fra Scene Tree for at redigere animationer." +msgstr "" +"Vælg en Animations afspiller fra Scene Tree for at redigere i animationer." #: editor/animation_editor.cpp msgid "Key" -msgstr "Key/Nøgle" +msgstr "Nøgle" #: editor/animation_editor.cpp msgid "Transition" @@ -321,7 +324,7 @@ msgstr "Overgang" #: editor/animation_editor.cpp msgid "Scale Ratio:" -msgstr "Skala forholdet:" +msgstr "Skalaforhold:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" @@ -329,11 +332,11 @@ msgstr "Kald funktioner i hvilken Node?" #: editor/animation_editor.cpp msgid "Remove invalid keys" -msgstr "Fjerne ugyldige keys" +msgstr "Fjern ugyldige nøgler" #: editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "Fjerne uløste og tomme spor" +msgstr "Fjern uafklarede og tomme spor" #: editor/animation_editor.cpp msgid "Clean-up all animations" @@ -353,11 +356,11 @@ msgstr "Ændre størrelsen pÃ¥ Array" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Skift Array værditype" +msgstr "Skift Array Værditype" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "Ændre Array-værdi" +msgstr "Ændre Array-Værdi" #: editor/code_editor.cpp msgid "Go to Line" @@ -381,7 +384,7 @@ msgstr "Erstat" #: editor/code_editor.cpp msgid "Replace All" -msgstr "Erstat alle" +msgstr "Erstat Alle" #: editor/code_editor.cpp msgid "Match Case" @@ -389,7 +392,7 @@ msgstr "Match stor/lille" #: editor/code_editor.cpp msgid "Whole Words" -msgstr "Hele ord" +msgstr "Hele Ord" #: editor/code_editor.cpp msgid "Selection Only" @@ -417,7 +420,7 @@ msgstr "Ikke fundet!" #: editor/code_editor.cpp msgid "Replace By" -msgstr "Erstattes af" +msgstr "Erstattes Af" #: editor/code_editor.cpp msgid "Case Sensitive" @@ -425,23 +428,23 @@ msgstr "Forskel pÃ¥ smÃ¥ og store bogstaver" #: editor/code_editor.cpp msgid "Backwards" -msgstr "Baglæns" +msgstr "Tilbage" #: editor/code_editor.cpp msgid "Prompt On Replace" -msgstr "Spørg ved Erstat" +msgstr "Spørg Ved Erstatning" #: editor/code_editor.cpp msgid "Skip" -msgstr "Spring over" +msgstr "Spring Over" #: editor/code_editor.cpp msgid "Zoom In" -msgstr "Zoom ind" +msgstr "Zoom Ind" #: editor/code_editor.cpp msgid "Zoom Out" -msgstr "Zoom ud" +msgstr "Zoom Ud" #: editor/code_editor.cpp msgid "Reset Zoom" @@ -469,7 +472,7 @@ msgstr "" #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Opret forbindelse til Node:" +msgstr "Forbind Til Node:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -486,11 +489,11 @@ msgstr "Fjern" #: editor/connections_dialog.cpp msgid "Add Extra Call Argument:" -msgstr "Tilføje ekstra Call Argument:" +msgstr "Tilføj Ekstra Call Argument:" #: editor/connections_dialog.cpp msgid "Extra Call Arguments:" -msgstr "Ekstra call argumenter:" +msgstr "Ekstra Call Argumenter:" #: editor/connections_dialog.cpp msgid "Path to Node:" @@ -498,7 +501,7 @@ msgstr "Sti til Node:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Lav funktion" +msgstr "Lav Funktion" #: editor/connections_dialog.cpp msgid "Deferred" @@ -524,19 +527,20 @@ msgstr "Luk" #: editor/connections_dialog.cpp msgid "Connect" -msgstr "Tilslut" +msgstr "Forbind" #: editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "Tilslut '%s' til '%s'" +msgstr "Forbind '%s' til '%s'" #: editor/connections_dialog.cpp msgid "Connecting Signal:" -msgstr "Forbindelses signal:" +msgstr "Forbindelses Signal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Opret abonnement" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Forbind '%s' til '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -552,8 +556,9 @@ msgid "Signals" msgstr "Signaler" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "Opret en ny" +#, fuzzy +msgid "Create New %s" +msgstr "Opret Nyt" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -567,7 +572,7 @@ msgstr "Seneste:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Søgning:" @@ -585,7 +590,7 @@ msgstr "Beskrivelse:" #: editor/dependency_editor.cpp msgid "Search Replacement For:" -msgstr "Søg erstatning For:" +msgstr "Søg Erstatning For:" #: editor/dependency_editor.cpp msgid "Dependencies For:" @@ -597,7 +602,7 @@ msgid "" "Changes will not take effect unless reloaded." msgstr "" "Scene '%s' er i øjeblikket ved at blive redigeret.\n" -"Ændringer træder ikke i kraft, medmindre reloaded." +"Ændringerne træder ikke i kraft, medmindre den genindlæses." #: editor/dependency_editor.cpp msgid "" @@ -605,9 +610,10 @@ msgid "" "Changes will take effect when reloaded." msgstr "" "Ressource '%s' er i brug.\n" -"Ændringer træder i kraft nÃ¥r genindlæses." +"Ændringerne træder i kraft nÃ¥r den genindlæses." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Afhængigheder" @@ -646,11 +652,11 @@ msgstr "Ã…ben" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "Ejer af:" +msgstr "Ejere af:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Fjern de valgte filer fra projekt? (ej fortrydes)" +msgstr "Fjern de valgte filer fra projektet? (ej fortrydes)" #: editor/dependency_editor.cpp msgid "" @@ -667,7 +673,7 @@ msgstr "Kan ikke fjerne:\n" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "Load fejl:" +msgstr "Fejl under indlæsning:" #: editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" @@ -675,7 +681,7 @@ msgstr "Indlæs af Scene fejler, fordi den er afhængig af noget der mangler:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" -msgstr "Ã…ben alligevel" +msgstr "Ã…ben Alligevel" #: editor/dependency_editor.cpp msgid "Which action should be taken?" @@ -683,11 +689,11 @@ msgstr "Hvilken handling skal udføres?" #: editor/dependency_editor.cpp msgid "Fix Dependencies" -msgstr "Fix Afhængigheder" +msgstr "Fiks Afhængigheder" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "Fejl ved load!" +msgstr "Fejl ved indlæsning!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" @@ -699,7 +705,7 @@ msgstr "Ejer" #: editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "Ressourcer uden klart ejerskab:" +msgstr "Ressourcer Uden Klart Ejerskab:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Orphan Resource Explorer" @@ -710,15 +716,16 @@ msgid "Delete selected files?" msgstr "Slet markerede filer?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Slet" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "Ændre ordbogs nøgle" +msgstr "Ændre Dictionary Nøgle" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" @@ -758,27 +765,27 @@ msgstr "Forfattere" #: editor/editor_about.cpp msgid "Platinum Sponsors" -msgstr "Platin sponsorer" +msgstr "Platin Sponsorer" #: editor/editor_about.cpp msgid "Gold Sponsors" -msgstr "Guld sponsorer" +msgstr "Guld Sponsorer" #: editor/editor_about.cpp msgid "Mini Sponsors" -msgstr "Mini sponsorer" +msgstr "Mini Sponsorer" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "Guld donorer" +msgstr "Guld Donorer" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "Sølv donorer" +msgstr "Sølv Donorer" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "Bronze donorer" +msgstr "Bronze Donorer" #: editor/editor_about.cpp msgid "Donors" @@ -790,7 +797,7 @@ msgstr "Licens" #: editor/editor_about.cpp msgid "Thirdparty License" -msgstr "Tredjeparts licens" +msgstr "Tredjeparts Licens" #: editor/editor_about.cpp msgid "" @@ -799,10 +806,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" -"Godot Engine er afhængig af en række tredjeparts gratis og open source-" -"biblioteker, som alle er kompatible med vilkÃ¥rene i MIT-licensen. Følgende " -"er en udtømmende liste over alle sÃ¥danne tredjepartskomponenter med deres " -"respektive ophavsretlige udsagn og licensbetingelser." +"Godot Engine er afhængig af en række tredjeparts biblioteker som er gratis " +"og open source. Alle bibliotekerne er kompatible med vilkÃ¥rene i MIT-" +"licensen. Følgende er en udtømmende liste over alle sÃ¥danne tredjeparts " +"komponenter med deres respektive ophavsretlige udsagn og licensbetingelser." #: editor/editor_about.cpp msgid "All Components" @@ -826,7 +833,7 @@ msgstr "Udpakker Aktiver" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" -msgstr "Pakke installeret med succes!" +msgstr "Pakke Installeret med Succes!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -836,11 +843,12 @@ msgstr "Succes!" #: editor/editor_asset_installer.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/project_manager.cpp msgid "Install" -msgstr "Installer" +msgstr "Installér" #: editor/editor_asset_installer.cpp +#, fuzzy msgid "Package Installer" -msgstr "Pakke Installation" +msgstr "Pakke Installatør" #: editor/editor_audio_buses.cpp msgid "Speakers" @@ -848,23 +856,28 @@ msgstr "Højtalere" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "Tilføj effekt" +msgstr "Tilføj Effekt" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" msgstr "Omdøb Audio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Skifter Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "Skift Audio Bus Solo" +msgstr "Skifter Audio Bus Solo" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "Skift Audio Bus Mute" +msgstr "Skifter Audio Bus Mute" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "Skift Audio Bus Bypass Effekter" +msgstr "Skifter Audio Bus Bypass Effekter" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" @@ -884,7 +897,7 @@ msgstr "Slet Bus Effekt" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "Audio Bus, Træk og slip for at omrokerer." +msgstr "Audio Bus, Træk og Slip for at omarrangere." #: editor/editor_audio_buses.cpp msgid "Solo" @@ -896,14 +909,14 @@ msgstr "Mute" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "Skip" +msgstr "Spring Over" #: editor/editor_audio_buses.cpp msgid "Bus options" msgstr "Bus muligheder" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplikere" @@ -913,7 +926,11 @@ msgstr "Nulstil Volume" #: editor/editor_audio_buses.cpp msgid "Delete Effect" -msgstr "Slet Effekt" +msgstr "Slet Effect" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus" @@ -1011,7 +1028,7 @@ msgstr "" msgid "Invalid name. Must not collide with an existing buit-in type name." msgstr "" "Ugyldigt navn. Det mÃ¥ ikke være i konflikt med eksisterende built-in type " -"navne." +"navn." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." @@ -1070,9 +1087,10 @@ msgstr "Sti:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "Node navn:" +msgstr "Node Navn:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Navn" @@ -1080,10 +1098,6 @@ msgstr "Navn" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Liste:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Opdatere Scene" @@ -1096,6 +1110,14 @@ msgstr "Gemmer lokale ændringer.." msgid "Updating scene.." msgstr "Opdatere scene.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Vælg en basis mappe først" @@ -1107,7 +1129,7 @@ msgstr "Vælg en Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Opret mappe" +msgstr "Opret Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1127,7 +1149,7 @@ msgstr "Vælg" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "Lagrings fil:" +msgstr "Lagrings Fil:" #: editor/editor_export.cpp msgid "Packing" @@ -1139,13 +1161,29 @@ msgstr "Skabelon fil ikke fundet:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "Filen findes, overskrives?" +msgstr "Filen Eksisterer, Overskrives?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy msgid "Select Current Folder" msgstr "Opret mappe" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopier Sti" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Vis I Fil Manager" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Opret mappe.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Opdater" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Alle Genkendte" @@ -1160,15 +1198,15 @@ msgstr "Ã…ben en Fil" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "Ã…ben fil(er)" +msgstr "Ã…ben Fil(er)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Ã…bn en mappe" +msgstr "Ã…bn en Mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "Ã…bne en fil eller mappe" +msgstr "Ã…ben en Fil eller Mappe" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1178,7 +1216,7 @@ msgstr "Gem" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "Gem en fil" +msgstr "Gem en Fil" #: editor/editor_file_dialog.cpp msgid "Go Back" @@ -1193,20 +1231,16 @@ msgid "Go Up" msgstr "GÃ¥ Op" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Opdater" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "Skift Skjulte Filer" +msgstr "Skifter Skjulte Filer" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "Skift Favorit" +msgstr "Skifter Favorit" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "Skift Modus" +msgstr "Skifter Modus" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1226,7 +1260,7 @@ msgstr "GÃ¥ til overliggende mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "Mapper & filer:" +msgstr "Mapper & Filer:" #: editor/editor_file_dialog.cpp msgid "Preview:" @@ -1238,8 +1272,9 @@ msgid "File:" msgstr "Fil:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#, fuzzy msgid "Must use a valid extension." -msgstr "Skal bruge en gyldig udvidelse." +msgstr "Skal bruge en gyldig extension." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1252,7 +1287,7 @@ msgstr "(Gen)Importér Aktiver" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "Søg Hjælp" +msgstr "Søg i Hjælp" #: editor/editor_help.cpp msgid "Class List:" @@ -1341,7 +1376,7 @@ msgstr "Egenskaber" #: editor/editor_help.cpp msgid "Property Description:" -msgstr "Property beskrivelse:" +msgstr "Beskrivelse af Egenskaber:" #: editor/editor_help.cpp msgid "" @@ -1349,7 +1384,7 @@ msgid "" "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" "Der er i øjeblikket ingen beskrivelse af denne egenskab. Hjælp os venligst " -"med et [color=$color][url=$url]bidrag[/url][/color]!" +"ved at give os dit [color=$color][url=$url]bidrag[/url][/color]!" #: editor/editor_help.cpp #, fuzzy @@ -1379,13 +1414,14 @@ msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Clear" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "Fejl ved at gemme ressource!" +msgstr "Fejl, kan ikke gemme ressource!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." @@ -1404,11 +1440,11 @@ msgstr "Kan ikke Ã¥bne fil til skrivning:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "Ønskede filformat er ukendt:" +msgstr "Det ønskede filformat er ukendt:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "Fejl nÃ¥r der gemmes." +msgstr "Fejl, under forsøg pÃ¥ at gemme." #: editor/editor_node.cpp msgid "Can't open '%s'." @@ -1429,7 +1465,7 @@ msgstr "Mangler '%s' eller det den afhænger af." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "Fejl ved load af '%s'." +msgstr "Fejl under indlæsning af '%s'." #: editor/editor_node.cpp msgid "Saving Scene" @@ -1452,7 +1488,7 @@ msgstr "Denne handling kan ikke foretages uden tree root" msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" -"Kunne ikke gemme scene. MÃ¥ske fordi visse afhængigheder (forekomster) ikke " +"Kunne ikke gemme scene. Der er nogle afhængigheder (forekomster) some ikke " "kunne opfyldes." #: editor/editor_node.cpp @@ -1479,7 +1515,7 @@ msgstr "Fejl, kan ikke gemme TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "Fejl, forsøger at gemme layout!" +msgstr "Fejl, under forsøg pÃ¥ at gemme layout!" #: editor/editor_node.cpp msgid "Default editor layout overridden." @@ -1491,7 +1527,7 @@ msgstr "Layout navn er ikke fundet!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "Gendannet standardlayout til basisindstillinger." +msgstr "Gendannet standardlayout til grundindstillinger." #: editor/editor_node.cpp msgid "" @@ -1499,17 +1535,17 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Denne ressource tilhører en scene der var importeret, sÃ¥ den kan ikke " +"Denne ressource tilhører en scene der var importeret, derfor kan den ikke " "redigeres.\n" -"Læs venligst dokumentationen, for bedre at forstÃ¥ arbejdsgangen der er " -"relevant ved importering af scener." +"Læs venligst den relevante dokumentation for importering af scener, for " +"bedre at forstÃ¥ arbejdsgangen." #: 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 "" -"Denne ressource tilhører en scene, der blev instanseret eller arvet.\n" +"Denne ressource tilhører en scene, der blev instanced eller arvet.\n" "Ændringer vil ikke blive gemt, nÃ¥r denne scene gemmes." #: editor/editor_node.cpp @@ -1527,10 +1563,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Denne scene blev importeret, sÃ¥ ændringer i den vil ikke blive husket.\n" -"Instancing eller inheriting vil gøre det muligt at foretage ændringer.\n" -"Læs venligst den dokumentation der er relevant for import af scener, for " -"bedre at forstÃ¥ denne arbejdsgang." +"Denne scene blev importeret, sÃ¥ alle ændringer vil ikke blive husket.\n" +"Instancing eller nedarving vil gøre det muligt at foretage ændringer.\n" +"Læs venligst den relevante dokumentation for import af scener, for bedre at " +"forstÃ¥ denne arbejdsgang." #: editor/editor_node.cpp msgid "" @@ -1544,11 +1580,11 @@ msgstr "" #: editor/editor_node.cpp msgid "Expand all properties" -msgstr "" +msgstr "Udvid alle egenskaber" #: editor/editor_node.cpp msgid "Collapse all properties" -msgstr "" +msgstr "Klap alle egenskaber sammen" #: editor/editor_node.cpp msgid "Copy Params" @@ -1614,7 +1650,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "Den nuværende scene er aldrig gemt, venligst gem før du kører." +msgstr "Den nuværende scene er aldrig gemt, venligst gem før du kører den." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -1662,7 +1698,7 @@ msgstr "Denne scene er aldrig blevet gemt. Gem før kørsel?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Denne operation kan ikke udføres uden en scene." +msgstr "Denne handling kan ikke udføres uden en scene." #: editor/editor_node.cpp msgid "Export Mesh Library" @@ -1670,15 +1706,15 @@ msgstr "Eksporter Maske Bibliotek" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "Denne operation kan ikke udføres uden en rod node." +msgstr "Denne handing kan ikke udføres uden en rod node." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Eksporter Flise Sæt" +msgstr "Eksporter Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "Denne operation kan ikke udføres uden en valgt node." +msgstr "Denne handling kan ikke udføres uden en valgt node." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -1706,7 +1742,7 @@ msgstr "Afslut" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "Forlad editoren?" +msgstr "Forlad editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" @@ -1718,23 +1754,23 @@ msgstr "Gem & Afslut" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Gem ændringer i følgende scener før du afslutter?" +msgstr "Gem ændringer i følgende scene(r) før du afslutter?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "Gem ændringer følgende scener, før du Ã¥bner Projekt Manager?" +msgstr "Gem ændringer i følgende scene(r), før du Ã¥bner Projekt Manager?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Denne mulighed er forældet. Situationer, hvor opdatering skal tvinges, " -"betragtes nu som en fejl. Rapporter venligst." +"Denne mulighed er forældet. De situationer hvor man skal fremtvinge en " +"opdatering, betragtes nu som en fejl. Rapporter venligst." #: editor/editor_node.cpp msgid "Pick a Main Scene" -msgstr "Vælg en Hoved Scene" +msgstr "Vælg en Main Scene" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." @@ -1748,7 +1784,7 @@ msgstr "Kan ikke finde scriptfelt for addon plugin pÃ¥: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "Kan ikke loade addon script fra stien: '%s'." +msgstr "Kan ikke indlæse addon script fra stien: '%s'." #: editor/editor_node.cpp msgid "" @@ -1768,7 +1804,7 @@ msgid "" "To make changes to it, a new inherited scene can be created." msgstr "" "Scene '%s' blev automatisk importeret, sÃ¥ den kan ikke ændres.\n" -"For at lave ændringer til den, kan en ny arvet scene oprettes." +"For at lave ændringer i den, kan en ny nedarvet scene oprettes." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1782,7 +1818,7 @@ msgid "" "open the scene, then save it inside the project path." msgstr "" "Fejl ved indlæsning af scenen, den skal være indenfor projektstien. Brug " -"'Import' for at Ã¥bne scenen, og gem den sÃ¥ inden for projektstien." +"'Import' for at Ã¥bne scenen og gem den indenfor projektstien." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -1790,7 +1826,7 @@ msgstr "Scene '%s' har brudte afhængigheder:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Fjern Seneste Scener" +msgstr "Ryd Seneste Scener" #: editor/editor_node.cpp msgid "Save Layout" @@ -1861,15 +1897,16 @@ msgstr "Filtrer filer.." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "Operationer med scene filer." +msgstr "Handlinger med scene filer." #: editor/editor_node.cpp msgid "New Scene" msgstr "Ny Scene" #: editor/editor_node.cpp +#, fuzzy msgid "New Inherited Scene.." -msgstr "Ny Arved Scene.." +msgstr "Ny Nedarvet Scene.." #: editor/editor_node.cpp msgid "Open Scene.." @@ -1901,7 +1938,7 @@ msgstr "MaskeBibliotek.." #: editor/editor_node.cpp msgid "TileSet.." -msgstr "FliseSæt.." +msgstr "TileSet.." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp @@ -1953,7 +1990,7 @@ msgstr "Debug" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Deploy med Remote Debug" +msgstr "Implementere med Remote Debug" #: editor/editor_node.cpp msgid "" @@ -2018,9 +2055,9 @@ msgid "" "filesystem." msgstr "" "NÃ¥r denne indstilling er tændt, vil eventuelle ændringer til scenen i " -"editoren blive replikeret i det kørende spil.\n" -"NÃ¥r det bruges eksternt pÃ¥ en enhed, er dette mere effektivt med " -"netværksfilsystem." +"editoren blive overført til det kørende spil.\n" +"Ved brug af fjernadgang til en enhed, er det mere effektivt med netværks " +"filsystem." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2053,7 +2090,7 @@ msgstr "Editor Layout" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "Skift fuldskærm" +msgstr "Skifter fuldskærm" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" @@ -2089,7 +2126,7 @@ msgstr "Om" #: editor/editor_node.cpp msgid "Play the project." -msgstr "Spil projektet." +msgstr "Spil dit projekt." #: editor/editor_node.cpp msgid "Play" @@ -2125,7 +2162,7 @@ msgstr "Spil tilpasset scene" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "Spil tilpasset scene" +msgstr "Spil Brugerdefineret Scene" #: editor/editor_node.cpp msgid "Spins when the editor window repaints!" @@ -2133,7 +2170,7 @@ msgstr "Snurrer nÃ¥r editor vinduer gentegnes!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "Opdater Altid" +msgstr "Altid Opdater" #: editor/editor_node.cpp msgid "Update Changes" @@ -2165,15 +2202,15 @@ msgstr "Gem Som.." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "GÃ¥ til det forrige redigerede objekt i historien." +msgstr "GÃ¥ til det forrige redigerede objekt i historikken." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "GÃ¥ til det næste redigerede objekt i historien." +msgstr "GÃ¥ til det næste redigerede objekt i historikken." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "Historie af for nyligt redigerede objekter." +msgstr "Historik af nyligt redigerede objekter." #: editor/editor_node.cpp msgid "Object properties." @@ -2194,7 +2231,7 @@ msgstr "Node" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "FilSystem" +msgstr "Fil System" #: editor/editor_node.cpp msgid "Output" @@ -2206,7 +2243,7 @@ msgstr "Gem Ikke" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "Importer Skabeloner Fra ZIP Fil" +msgstr "Importér Skabeloner Fra ZIP Fil" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" @@ -2339,6 +2376,16 @@ msgstr "Selv" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tid:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Kald" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Vælg enhed fra listen" @@ -2482,13 +2529,14 @@ msgstr "Ingen reaktion." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Foresp. Fejlede." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Omdiriger Løkke." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2532,7 +2580,8 @@ msgid "Connecting.." msgstr "Forbinder.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Ingen forbindelse" #: editor/export_template_manager.cpp @@ -2578,7 +2627,7 @@ msgstr "Vælg template fil" #: editor/export_template_manager.cpp msgid "Export Template Manager" -msgstr "" +msgstr "Eksporter Skabelon Manager" #: editor/export_template_manager.cpp msgid "Download Templates" @@ -2586,37 +2635,40 @@ msgstr "Download Skabeloner" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Vælg spejl fra liste: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" -msgstr "" +msgstr "Kan ikke skrive til file_type_cache.cch. Gemmer ikke fil type cache!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "Kan ikke navigere til '%s' da det ikke blev fundet i filsystemet!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "Vis emner som et gitter af miniaturebilleder" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "Vis emner som en liste" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"Status: Import af filen fejlede. Venligst reparer filen og genimporter " +"manuelt." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Kan ikke flytte/omdøbe resourcen root." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself.\n" -msgstr "" +msgstr "Kan ikke flytte en mappe til sig selv\n" #: editor/filesystem_dock.cpp #, fuzzy @@ -2624,28 +2676,33 @@ msgid "Error moving:\n" msgstr "Fejl i flytning:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Fejl under indlæsning:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "" +msgstr "Kan ikke opdatere afhængigheder:\n" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "Intet navn angivet" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Det angivne navn indeholder ugyldige karakterer" #: editor/filesystem_dock.cpp msgid "No name provided." -msgstr "" +msgstr "Intet navn angivet." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Navnet indeholder ugyldige karakterer." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "En fil eller mappe med dette navn findes allerede." #: editor/filesystem_dock.cpp msgid "Renaming file:" @@ -2653,63 +2710,71 @@ msgstr "Omdøb fil:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "Omdøber mappe:" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplikere" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Omdøber mappe:" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" +msgid "Expand all" +msgstr "Udvid alle" #: editor/filesystem_dock.cpp -msgid "Rename.." -msgstr "" +msgid "Collapse all" +msgstr "Klap alle sammen" #: editor/filesystem_dock.cpp -msgid "Move To.." -msgstr "" +msgid "Rename.." +msgstr "Omdøb.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Opret mappe.." +msgid "Move To.." +msgstr "Flyt Til.." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Ã…bn Scene" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "Instans" #: editor/filesystem_dock.cpp msgid "Edit Dependencies.." -msgstr "" +msgstr "Rediger Afhængigheder.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "Vis Ejere.." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplikere" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Forrige Mappe" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "Næste Mappe" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Gen-scan Filsystemet" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Skift mappe status til Favorit" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." @@ -2720,100 +2785,110 @@ msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"Scanner Filer,\n" +"Vent Venligst.." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Flyt" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "" +msgstr "Omdøb" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Føj til Gruppe" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Fjern fra Gruppe" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "Importer som Enkelt Scene" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Importer med Adskilte Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Importer med Adskilte Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Importer med Adskilte Objekter" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Importer med Adskilte Objekter+Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Importer med Adskilte Objekter+Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Importer med Adskilte Materialer+Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Importer med Adskilte Objekter+Materialer+Animationer" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Importer som Adskillige Scener" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Importer som Adskillige Scener+Materialer" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Importer Scene" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene.." +msgstr "Importerer Scene.." + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script.." +msgid "Generating for Mesh: " msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "Kører Brugerdefineret Script.." + +#: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Kunne ikke indlæse efter-import script:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Ugyldig/ødelagt script til efter-import (check konsol):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Fejl ved kørsel af efter-import script:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." -msgstr "" +msgstr "Gemmer.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Sæt som Standard for '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Fjern Standard for '%s'" #: editor/import_dock.cpp msgid " Files" @@ -2821,56 +2896,56 @@ msgstr " Filer" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Importer Som:" #: editor/import_dock.cpp editor/property_editor.cpp msgid "Preset.." -msgstr "" +msgstr "Forudindstillet.." #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Genimporter" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "MultiNode Sæt" #: editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Grupper" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Vælg en Node at redigere Signaler og Grupper for." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Opret Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Rediger Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Indsæt Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Rediger Poly (Fjern Punkt)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Poly And Point" -msgstr "" +msgstr "Fjern Poly og Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "" +msgstr "Opret en ny polygon fra start" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2879,6 +2954,10 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Rediger eksisterende polygon:\n" +"LMB: Flyt Punkt.\n" +"Ctrl+LMB: Skil Segment.\n" +"RMB: Slet Punkt." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Delete points" @@ -2886,19 +2965,19 @@ msgstr "Slet points" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Skift Autoplay" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Ny Animation Navn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Ny Animation" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Ændre Animation Navn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" @@ -2907,7 +2986,7 @@ msgstr "Slet Animation?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Fjern Animation" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" @@ -3352,6 +3431,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alle" @@ -3393,6 +3473,27 @@ msgstr "Tester" msgid "Assets ZIP File" msgstr "Assets zipfil" +#: 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 msgid "Preview" msgstr "" @@ -3528,7 +3629,6 @@ msgid "Toggles snapping" msgstr "Skift snapping mode" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3708,16 +3808,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3911,6 +4001,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3951,6 +4057,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vis FPS" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vis FPS" + +#: 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 "" @@ -4127,10 +4247,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4148,15 +4264,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4218,10 +4334,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4508,11 +4620,13 @@ msgstr "Sorter" #: 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 "" @@ -4528,7 +4642,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4541,6 +4655,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopier Sti" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4727,14 +4846,11 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Fold Line" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5059,6 +5175,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5163,6 +5287,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Vælg Mode (Q)\n" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5235,10 +5372,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5280,6 +5413,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5662,6 +5799,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5673,6 +5815,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annuller" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5790,10 +5936,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6051,8 +6193,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Slet valgte" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6119,6 +6262,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6295,6 +6442,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6326,6 +6477,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6334,10 +6489,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Vælg Property" @@ -6890,6 +7041,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6938,15 +7093,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Fjern Kurve Punkt" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7633,6 +7825,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7669,10 +7877,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7733,10 +7937,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annuller" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Advarsel!" @@ -7804,6 +8004,15 @@ msgstr "Error loading skrifttype." msgid "Invalid font size." msgstr "Ugyldig skriftstørrelse." +#~ msgid "Move Add Key" +#~ msgstr "Flyt Add Key" + +#~ msgid "Create Subscription" +#~ msgstr "Opret Abonnement" + +#~ msgid "List:" +#~ msgstr "Liste:" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/de.po b/editor/translations/de.po index 53b69c444a..5dc85b2c40 100644 --- a/editor/translations/de.po +++ b/editor/translations/de.po @@ -28,8 +28,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-24 09:46+0000\n" -"Last-Translator: Ben <benedikt.tuchen@gmail.com>\n" +"PO-Revision-Date: 2017-12-07 11:47+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" @@ -48,8 +48,9 @@ msgid "All Selection" msgstr "Alle auswählen" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Schlüsselbild bewegen hinzufügen" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Wert ändern" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -60,7 +61,8 @@ msgid "Anim Change Transform" msgstr "Anim ändere Transformation" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Wert ändern" #: editor/animation_editor.cpp @@ -555,8 +557,9 @@ msgid "Connecting Signal:" msgstr "Verbinde Signal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Erstelle Subscription" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Verbinde '%s' zu '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -572,7 +575,8 @@ msgid "Signals" msgstr "Signale" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Neu erstellen" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -587,7 +591,7 @@ msgstr "Kürzlich:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Suche:" @@ -628,6 +632,7 @@ msgstr "" "Änderungen werden erst dann aktiv, nachdem neu geladen wurde." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Abhängigkeiten" @@ -731,9 +736,10 @@ msgid "Delete selected files?" msgstr "Ausgewählte Dateien löschen?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Löschen" @@ -877,6 +883,11 @@ msgid "Rename Audio Bus" msgstr "Audiobus umbenennen" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Audiobus Solo-Status umschalten" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Audiobus Solo-Status umschalten" @@ -924,8 +935,8 @@ msgstr "Überbrückung" msgid "Bus options" msgstr "Audiobusoptionen" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplizieren" @@ -938,6 +949,10 @@ msgid "Delete Effect" msgstr "Effekt löschen" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Audiobus hinzufügen" @@ -1094,7 +1109,8 @@ msgstr "Pfad:" msgid "Node Name:" msgstr "Node-Name:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Name" @@ -1102,10 +1118,6 @@ msgstr "Name" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Liste:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Aktualisiere Szene" @@ -1118,6 +1130,15 @@ msgstr "Speichere lokale Änderungen.." msgid "Updating scene.." msgstr "Aktualisiere Szene..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(leer)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Zuerst ein Wurzelverzeichnis setzen" @@ -1164,9 +1185,24 @@ msgid "File Exists, Overwrite?" msgstr "Datei existiert bereits. Überschreiben?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Ordner erstellen" +msgstr "Gegenwärtigen Ordner auswählen" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Pfad kopieren" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Zeige im Dateimanager" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Neuer Ordner.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Aktualisieren" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1215,10 +1251,6 @@ msgid "Go Up" msgstr "Hoch" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Aktualisieren" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Versteckte Dateien ein- und ausblenden" @@ -1398,7 +1430,8 @@ msgstr "Ausgabe:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Löschen" @@ -1555,14 +1588,12 @@ msgstr "" "Die Dokumentation zum Debugging beschreibt den nötigen Arbeitsablauf." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Alle expandieren" +msgstr "Alle Eigenschaften ausklappen" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Alle einklappen" +msgstr "Alle Eigenschaften einklappen" #: editor/editor_node.cpp msgid "Copy Params" @@ -2275,7 +2306,7 @@ msgstr "Skripteditor öffnen" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "Öffne Nutzerinhalte-Bibliothek" +msgstr "Öffne Nutzerinhaltesammlung" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -2358,6 +2389,16 @@ msgstr "Selbst" msgid "Frame #:" msgstr "Bild #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Zeit:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Aufruf" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Gerät aus Liste auswählen" @@ -2499,7 +2540,8 @@ msgstr "Keine Antwort." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Anfrage fehlgeschlagen." #: editor/export_template_manager.cpp @@ -2546,7 +2588,8 @@ msgid "Connecting.." msgstr "Verbinde.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Keine Verbindung möglich" #: editor/export_template_manager.cpp @@ -2643,6 +2686,11 @@ msgid "Error moving:\n" msgstr "Fehler beim Verschieben:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Ladefehler:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Fehler beim Aktualisieren der Abhängigkeiten:\n" @@ -2675,6 +2723,16 @@ msgid "Renaming folder:" msgstr "Benenne Ordner um:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplizieren" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Benenne Ordner um:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Alle expandieren" @@ -2683,10 +2741,6 @@ msgid "Collapse all" msgstr "Alle einklappen" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Pfad kopieren" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Umbenennen.." @@ -2695,12 +2749,9 @@ msgid "Move To.." msgstr "Verschiebe zu.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Neuer Ordner.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Zeige im Dateimanager" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Szene öffnen" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2715,6 +2766,11 @@ msgid "View Owners.." msgstr "Zeige Besitzer.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplizieren" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Vorheriges Verzeichnis" @@ -2809,6 +2865,16 @@ msgid "Importing Scene.." msgstr "Szene wird importiert.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "übertrage zu Lightmaps:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Erzeuge AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Angepasstes Skript wird ausgeführt.." @@ -3054,54 +3120,51 @@ msgstr "Animation kopieren" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Zwiebelhaut" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Zwiebelhaut aktivieren" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Abschnitte:" +msgstr "Richtungen" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Einfügen" +msgstr "Vergangenheit" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Funktionen" +msgstr "Zukunft" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Tiefe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 Schicht" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 Schichten" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 Schichten" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "nur Unterschiede" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Weißmodulation erzwingen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Griffe (3D) einbeziehen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3279,7 +3342,7 @@ msgstr "Filter.." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "Frei" +msgstr "Kostenlos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" @@ -3378,6 +3441,7 @@ msgid "last" msgstr "Ende" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alle" @@ -3419,6 +3483,28 @@ msgstr "Testphase" msgid "Assets ZIP File" msgstr "Nutzerinhalte als ZIP-Datei" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "übertrage zu Lightmaps:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Vorschau" @@ -3558,7 +3644,6 @@ msgid "Toggles snapping" msgstr "Einrasten umschalten" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Einrasten aktivieren" @@ -3739,16 +3824,6 @@ msgstr "Fehler beim Instanziieren von %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Verstehe" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: 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." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: 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." @@ -3944,6 +4019,22 @@ msgid "Create Navigation Mesh" msgstr "Navigations-Mesh erzeugen" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Mesh-Instanz fehlt ein Mesh!" @@ -3984,6 +4075,20 @@ msgid "Create Outline Mesh.." msgstr "Umriss-Mesh erzeugen.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ansicht" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ansicht" + +#: 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 "Erzeuge Umriss-Mesh" @@ -4161,10 +4266,6 @@ msgid "Create Navigation Polygon" msgstr "Erzeuge Navigationspolygon" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Emissionsmaske leeren" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Erzeuge AABB" @@ -4181,11 +4282,7 @@ msgstr "Fehler beim Laden des Bilds:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "Keine Pixel mit einer Transzparenz > 128 im Bild.." - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Emissionsmaske setzen" +msgstr "Keine Pixel mit einer Transparenz > 128 im Bild.." #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" @@ -4196,6 +4293,10 @@ msgid "Load Emission Mask" msgstr "Emissionsmaske laden" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Emissionsmaske leeren" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Partikel" @@ -4254,10 +4355,6 @@ msgid "Create Emission Points From Node" msgstr "Erzeuge Emissionspunkte aus Node" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Leere Emittent" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Erzeuge Emittent" @@ -4542,11 +4639,13 @@ msgstr "Sortiere" #: 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 "Schiebe hoch" #: 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 "Schiebe herunter" @@ -4562,7 +4661,7 @@ msgstr "Vorheriges Skript" msgid "File" msgstr "Datei" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Neu" @@ -4575,6 +4674,11 @@ msgid "Soft Reload Script" msgstr "Zaghaftes Skript-Neuladen" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Pfad kopieren" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Zurück im Verlauf" @@ -4765,11 +4869,8 @@ msgid "Clone Down" msgstr "Klone herunter" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Zeile einklappen" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Zeile aufklappen" #: editor/plugins/script_text_editor.cpp @@ -5007,7 +5108,7 @@ msgstr "Skalierung: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Translating: " -msgstr "Übersetze: " +msgstr "Verschiebe: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -5097,6 +5198,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Auf Sicht ausrichten" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Verstehe" + +#: 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." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Normale Ansicht" @@ -5115,7 +5224,7 @@ msgstr "Nicht Schattiertes anzeigen" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "Environment anzeigen" +msgstr "Umgebung anzeigen" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" @@ -5204,6 +5313,20 @@ msgid "Scale Mode (R)" msgstr "Skalierungsmodus (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Lokale Koordinaten" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Skalierungsmodus (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Einrastmodus:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Sicht von unten" @@ -5276,10 +5399,6 @@ msgid "Configure Snap.." msgstr "Einrasten konfigurieren.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Lokale Koordinaten" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Transformationsdialog.." @@ -5321,6 +5440,10 @@ msgid "Settings" msgstr "Einstellungen" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Einrasteinstellungen" @@ -5703,17 +5826,26 @@ msgid "Merge from scene?" msgstr "Aus Szene vereinen?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Von Szene erstellen" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "Aus Szene vereinen" +msgstr "Aus Szene zusammenführen" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" msgstr "Fehler" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Abbrechen" + #: editor/project_export.cpp msgid "Runnable" msgstr "ausführbar" @@ -5837,10 +5969,6 @@ msgid "Imported Project" msgstr "Importiertes Projekt" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Es wird empfohlen das Projekt zu benennen." @@ -6001,6 +6129,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Zur Zeit sind keine Projekte vorhanden.\n" +"Sollen Beispielprojekte aus der Nutzerinhaltesammlung angezeigt werden?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6108,8 +6238,9 @@ msgid "Joypad Button Index:" msgstr "Joysticktasten-Index:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Füge Eingabeaktion hinzu" +#, fuzzy +msgid "Erase Input Action" +msgstr "Lösche Eingabeaktionsereignis" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6176,6 +6307,10 @@ msgid "Already existing" msgstr "Existiert bereits" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Füge Eingabeaktion hinzu" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Fehler beim Speichern der Einstellungen." @@ -6352,6 +6487,10 @@ msgid "New Script" msgstr "Neues Skript" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Einzigartig machen" @@ -6383,6 +6522,11 @@ msgstr "Bit %d, Wert %d." msgid "On" msgstr "An" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Empty einfügen" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Setzen" @@ -6391,10 +6535,6 @@ msgstr "Setzen" msgid "Properties:" msgstr "Eigenschaften:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Abschnitte:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Eigenschaft auswählen" @@ -6414,7 +6554,7 @@ msgstr "Konnte PVRTC-Werkzeug nicht ausführen:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" msgstr "" -"Konnte PVRTC-Werkzeug nicht benutzen um konvertiertes Bild zurück zu laden:" +"Umgewandeltes Bild kann mittels PVRTC-Werkzeug nicht zurück geladen werden:" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" @@ -6501,7 +6641,7 @@ msgstr "Dupliziere Node(s)" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" -msgstr "Lösche Node(s)?" +msgstr "Node(s) wirklich löschen?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." @@ -6964,6 +7104,10 @@ msgstr "Nach Szenenbaum einstellen" msgid "Shortcuts" msgstr "Tastenkürzel" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Ändere Lichtradius" @@ -7012,15 +7156,55 @@ msgstr "Ändere Partikel AABB" msgid "Change Probe Extents" msgstr "Sondenausmaße ändern" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Kurvenpunkt entfernen" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Kopiere zu Plattform.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Bibliothek" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Bibliothek" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Status" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotheken: " @@ -7038,7 +7222,7 @@ msgstr "" #: modules/visual_script/visual_script_builtin_funcs.cpp msgid "Not enough bytes for decoding bytes, or invalid format." msgstr "" -"Nicht genügend Bytes zum dekodieren des Byte-Strings, oder ungültiges Format." +"Nicht genügend Bytes zum Dekodieren des Byte-Strings oder ungültiges Format." #: modules/gdscript/gdscript_functions.cpp msgid "step argument is zero!" @@ -7734,6 +7918,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin benötigt ein ARVRCamera-Unterobjekt" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Plotte Mesh" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Plotte Mesh" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Stelle Plot fertig" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Plotte Mesh" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7770,10 +7973,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Plotte Mesh" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Stelle Plot fertig" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7842,10 +8041,6 @@ msgid "Add current color as a preset" msgstr "Füge aktuelle Farbe als Vorlage hinzu" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Abbrechen" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Warnung!" @@ -7854,9 +8049,8 @@ msgid "Please Confirm..." msgstr "Bitte bestätigen..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Methode auswählen" +msgstr "Diesen Ordner auswählen" #: scene/gui/popup.cpp msgid "" @@ -7922,6 +8116,30 @@ msgstr "Fehler beim Laden der Schriftart." msgid "Invalid font size." msgstr "Ungültige Schriftgröße." +#~ msgid "Move Add Key" +#~ msgstr "Schlüsselbild bewegen hinzufügen" + +#~ msgid "Create Subscription" +#~ msgstr "Erstelle Subscription" + +#~ msgid "List:" +#~ msgstr "Liste:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Emissionsmaske setzen" + +#~ msgid "Clear Emitter" +#~ msgstr "Leere Emittent" + +#~ msgid "Fold Line" +#~ msgstr "Zeile einklappen" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Abschnitte:" + #~ msgid "Cannot navigate to '" #~ msgstr "Kann Ordner ‚" @@ -8464,9 +8682,6 @@ msgstr "Ungültige Schriftgröße." #~ msgid "Making BVH" #~ msgstr "Erstelle BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "übertrage zu Lightmaps:" - #~ msgid "Allocating Texture #" #~ msgstr "Zuweisen von Textur #" @@ -8612,9 +8827,6 @@ msgstr "Ungültige Schriftgröße." #~ msgid "Del" #~ msgstr "Entfernen" -#~ msgid "Copy To Platform.." -#~ msgstr "Kopiere zu Plattform.." - #~ msgid "just pressed" #~ msgstr "gerade gedrückt" diff --git a/editor/translations/de_CH.po b/editor/translations/de_CH.po index 213d7ab1d7..48cc0b9c7b 100644 --- a/editor/translations/de_CH.po +++ b/editor/translations/de_CH.po @@ -27,8 +27,8 @@ msgid "All Selection" msgstr "" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Bild bewegen/einfügen" +msgid "Anim Change Keyframe Time" +msgstr "" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +39,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Node erstellen" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -845,6 +848,11 @@ msgstr "" #: editor/editor_audio_buses.cpp #, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Autoplay Umschalten" + +#: editor/editor_audio_buses.cpp +#, fuzzy msgid "Toggle Audio Bus Solo" msgstr "Autoplay Umschalten" @@ -892,8 +900,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -906,6 +914,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1059,7 +1071,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1067,10 +1080,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1083,6 +1092,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1133,6 +1150,22 @@ msgstr "Datei existiert, Überschreiben?" msgid "Select Current Folder" msgstr "Node(s) löschen" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1180,10 +1213,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1360,7 +1389,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2270,6 +2300,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2406,7 +2444,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2458,7 +2496,7 @@ msgstr "Connections editieren" #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Neues Projekt erstellen" #: editor/export_template_manager.cpp @@ -2555,6 +2593,11 @@ msgstr "Szene kann nicht gespeichert werden." #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Szene kann nicht gespeichert werden." + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Szene '%s' hat kapute Abhängigkeiten:" @@ -2588,32 +2631,35 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Szene kann nicht gespeichert werden." #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Node(s) duplizieren" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Datei(en) öffnen" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2628,6 +2674,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Node(s) duplizieren" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2720,6 +2771,14 @@ 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 "" @@ -3297,6 +3356,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3338,6 +3398,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3478,7 +3559,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3660,16 +3740,6 @@ msgstr "Fehler beim Instanzieren der %s Szene" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Okay :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Bitte nur ein Node selektieren." @@ -3865,6 +3935,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3905,6 +3991,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Datei(en) öffnen" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Datei(en) öffnen" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" msgstr "" @@ -4082,11 +4182,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "Inhalt der Emissions-Masken löschen" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "" @@ -4104,10 +4199,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Emissions-Maske setzen" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "" @@ -4116,6 +4207,11 @@ msgid "Load Emission Mask" msgstr "Emissions-Maske laden" #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Clear Emission Mask" +msgstr "Inhalt der Emissions-Masken löschen" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "" @@ -4176,10 +4272,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4467,11 +4559,13 @@ 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 "" @@ -4487,7 +4581,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4500,6 +4594,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4688,14 +4786,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Bild einfügen" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5024,6 +5118,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Okay :(" + +#: 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 msgid "Display Normal" msgstr "" @@ -5130,6 +5232,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Selektiere Node(s) zum Importieren aus" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5203,10 +5318,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5248,6 +5359,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5633,6 +5748,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Datei(en) öffnen" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5644,6 +5764,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Abbrechen" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5765,10 +5889,6 @@ msgid "Imported Project" msgstr "Importierte Projekte" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6035,7 +6155,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6105,6 +6225,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6286,6 +6410,10 @@ msgid "New Script" msgstr "Script hinzufügen" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6320,6 +6448,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6328,10 +6460,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6895,6 +7023,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6943,15 +7075,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Ungültige Bilder löschen" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform:" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Platform" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Dynamic Library" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "GDNativeLibrary" +msgstr "" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7648,6 +7817,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7676,10 +7861,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7734,10 +7915,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Abbrechen" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alert!" @@ -7799,6 +7976,12 @@ msgstr "" msgid "Invalid font size." msgstr "" +#~ msgid "Move Add Key" +#~ msgstr "Bild bewegen/einfügen" + +#~ msgid "Set Emission Mask" +#~ msgstr "Emissions-Maske setzen" + #~ msgid "Surface %d" #~ msgstr "Oberfläche %d" @@ -7844,10 +8027,6 @@ msgstr "" #~ msgstr "Connections editieren" #, fuzzy -#~ msgid "Tiles" -#~ msgstr "Datei(en) öffnen" - -#, fuzzy #~ msgid "Error creating the signature object." #~ msgstr "Fehler beim Schreiben des Projekts PCK!" diff --git a/editor/translations/editor.pot b/editor/translations/editor.pot index 84505f1719..d21bbc374a 100644 --- a/editor/translations/editor.pot +++ b/editor/translations/editor.pot @@ -21,7 +21,7 @@ msgid "All Selection" msgstr "" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -33,7 +33,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -525,7 +525,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -542,7 +542,7 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +msgid "Create New %s" msgstr "" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -557,7 +557,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -594,6 +594,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -694,9 +695,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -835,6 +837,10 @@ 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 "" @@ -882,8 +888,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -896,6 +902,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1046,7 +1056,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1054,10 +1065,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1070,6 +1077,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1119,6 +1134,22 @@ msgstr "" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1166,10 +1197,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1345,7 +1372,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2235,6 +2263,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2370,7 +2406,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2417,7 +2453,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2508,6 +2544,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2540,31 +2580,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2580,6 +2620,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2672,6 +2716,14 @@ 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 "" @@ -3234,6 +3286,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3275,6 +3328,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3409,7 +3483,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3589,16 +3662,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3790,6 +3853,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3830,6 +3909,18 @@ 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 "" @@ -4006,10 +4097,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4027,15 +4114,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4097,10 +4184,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4383,11 +4466,13 @@ 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 "" @@ -4403,7 +4488,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4416,6 +4501,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4602,11 +4691,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4934,6 +5019,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5038,6 +5131,18 @@ 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 "" @@ -5110,10 +5215,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5155,6 +5256,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5537,6 +5642,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5548,6 +5657,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5665,10 +5778,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5925,7 +6034,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -5993,6 +6102,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6169,6 +6282,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6200,6 +6317,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6208,10 +6329,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6761,6 +6878,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6809,15 +6930,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7466,6 +7623,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7494,10 +7667,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7550,10 +7719,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" diff --git a/editor/translations/el.po b/editor/translations/el.po index 0b5ed8fda8..f0c3fd284b 100644 --- a/editor/translations/el.po +++ b/editor/translations/el.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-27 10:46+0000\n" +"PO-Revision-Date: 2017-12-05 21:46+0000\n" "Last-Translator: George Tsiamasiotis <gtsiam@windowslive.com>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/godot-engine/godot/" "el/>\n" @@ -27,8 +27,9 @@ msgid "All Selection" msgstr "Επιλογή όλων" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Μετακίνηση ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï€Ïοσθήκης" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Αλλαγή τιμής" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,7 +40,8 @@ msgid "Anim Change Transform" msgstr "Anim Αλλαγή Î¼ÎµÏ„Î±ÏƒÏ‡Î·Î¼Î±Ï„Î¹ÏƒÎ¼Î¿Ï (transform)" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Αλλαγή τιμής" #: editor/animation_editor.cpp @@ -535,8 +537,9 @@ msgid "Connecting Signal:" msgstr "ΣÏνδεση στο σήμα:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "ΔημιουÏγία εγγÏαφής" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "ΣÏνδεση του '%s' στο '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -552,7 +555,8 @@ msgid "Signals" msgstr "Σήματα" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "ΔημιουÏγία νÎου" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -567,7 +571,7 @@ msgstr "Î Ïόσφατα:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Αναζήτηση:" @@ -608,6 +612,7 @@ msgstr "" "Οι αλλαγÎÏ‚ θα δÏάσουν όταν γίνει επαναφόÏτωση." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ΕξαÏτήσεις" @@ -710,9 +715,10 @@ msgid "Delete selected files?" msgstr "ΔιαγÏαφή επιλεγμÎνων αÏχείων;" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ΔιαγÏαφή" @@ -856,6 +862,11 @@ msgid "Rename Audio Bus" msgstr "Μετονομασία διαÏλου ήχου" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Εναλλαγή σόλο διαÏλου ήχου" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Εναλλαγή σόλο διαÏλου ήχου" @@ -903,8 +914,8 @@ msgstr "ΠαÏάκαμψη" msgid "Bus options" msgstr "ΕπιλογÎÏ‚ διαÏλου" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Διπλασιασμός" @@ -917,6 +928,10 @@ msgid "Delete Effect" msgstr "ΔιαγÏαφή εφÎ" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Î Ïοσθήκη διαÏλου ήχου" @@ -1069,7 +1084,8 @@ msgstr "ΔιαδÏομή:" msgid "Node Name:" msgstr "Όνομα κόμβου:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Όνομα" @@ -1077,10 +1093,6 @@ msgstr "Όνομα" msgid "Singleton" msgstr "ΜονοσÏνολο" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Λίστα:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "ΕνημÎÏωση σκηνής" @@ -1093,6 +1105,15 @@ msgstr "Αποθήκευση τοπικών αλλαγών.." msgid "Updating scene.." msgstr "ΕνημÎÏωση σκηνής.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(άδειο)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "ΠαÏακαλοÏμε επιλÎξτε Ï€Ïώτα Îναν βασικό κατάλογο" @@ -1139,9 +1160,24 @@ msgid "File Exists, Overwrite?" msgstr "Το αÏχείο υπάÏχει. ΘÎλετε να το αντικαταστήσετε;" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "ΔημιουÏγία φακÎλου" +msgstr "Επιλογή Ï„ÏÎχοντα φακÎλου" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "ΑντιγÏαφή διαδÏομής" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "Αναναίωση" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1190,10 +1226,6 @@ msgid "Go Up" msgstr "Πήγαινε πάνω" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Αναναίωση" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Εναλλαγή κÏυμμÎνων αÏχείων" @@ -1373,7 +1405,8 @@ msgstr "Έξοδος:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ΕκκαθάÏιση" @@ -1532,14 +1565,12 @@ msgstr "" "καταλάβετε καλÏτεÏα την διαδικασία." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Ανάπτυξη όλων" +msgstr "Ανάπτυξη όλων των ιδιοτήτων" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "ΣÏμπτηξη όλων" +msgstr "ΣÏμπτηξη όλων των ιδιοτήτων" #: editor/editor_node.cpp msgid "Copy Params" @@ -2336,6 +2367,16 @@ msgstr "Εαυτός" msgid "Frame #:" msgstr "ΚαÏÎ #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "ΧÏόνος:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Κλήση" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "ΕπιλÎξτε συσκευή από την λίστα" @@ -2477,7 +2518,8 @@ msgstr "Δεν λήφθηκε απόκÏιση." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Το αίτημα απÎτυχε." #: editor/export_template_manager.cpp @@ -2524,7 +2566,8 @@ msgid "Connecting.." msgstr "ΣÏνδεση.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Δεν ήταν δυνατή η σÏνδεση" #: editor/export_template_manager.cpp @@ -2621,6 +2664,11 @@ msgid "Error moving:\n" msgstr "Σφάλμα κατά την μετακίνηση:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Σφάλμα κατά την φόÏτωση:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "ΑδÏνατη η ενημÎÏωση των εξαÏτήσεων:\n" @@ -2653,6 +2701,16 @@ msgid "Renaming folder:" msgstr "Μετονομασία καταλόγου:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Διπλασιασμός" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Μετονομασία καταλόγου:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Ανάπτυξη όλων" @@ -2661,10 +2719,6 @@ msgid "Collapse all" msgstr "ΣÏμπτηξη όλων" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "ΑντιγÏαφή διαδÏομής" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Μετονομασία..." @@ -2673,12 +2727,9 @@ msgid "Move To.." msgstr "Μετακίνηση σε" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "ÎÎος φάκελος" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Εμφάνιση στη διαχείÏιση αÏχείων" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Άνοιγμα σκηνής" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2693,6 +2744,11 @@ msgid "View Owners.." msgstr "Î Ïοβολή ιδιοκτητών" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Διπλασιασμός" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Î ÏοηγοÏμενος κατάλογος" @@ -2789,6 +2845,16 @@ msgid "Importing Scene.." msgstr "Εισαγωγή σκηνής..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ΜεταφοÏά στους χάÏτες φωτός:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "ΔημιουÏία AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "ΕκτÎλεση Ï€ÏοσαÏμοσμÎνης δÎσμης ενεÏγειών..." @@ -3036,54 +3102,51 @@ msgstr "ΑνιγÏαφή κίνησης" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "ΞεφλοÏδισμα κÏεμμυδιοÏ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "ΕνεÏγοποίηση ξεφλουδίσματος κÏεμμυδιοÏ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Ενότητες:" +msgstr "Κατευθήνσεις" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Επικόληση" +msgstr "ΠαÏελθόν" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Δυνατότητες" +msgstr "ΜÎλλον" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Βάθος" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 βήμα" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 βήματα" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 βήματα" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Μόνο διαφοÏÎÏ‚" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Εξανάγκασε τονισμό άσπÏου" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "ΣυμπεÏιÎλαβε μαÏαφÎτια (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3361,6 +3424,7 @@ msgid "last" msgstr "Î ÏοηγοÏμενο" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Όλα" @@ -3402,6 +3466,28 @@ msgstr "Δοκιμιμαστικά" msgid "Assets ZIP File" msgstr "ΑÏχείο ZIP των Asset" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ΜεταφοÏά στους χάÏτες φωτός:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Î Ïοεπισκόπηση" @@ -3540,7 +3626,6 @@ msgid "Toggles snapping" msgstr "Εναλλαγή κουμπώματος" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "ΧÏήση κουμπώματος" @@ -3720,17 +3805,6 @@ msgstr "Σφάλμα κατά την αÏχικοποίηση σκηνής Î±Ï€Ï #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Εντάξει :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" -"Δεν υπάÏχει γονÎας στον οποίο μποÏεί να γίνει αÏχικοποίηση του παιδιοÏ." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Αυτή η λειτουÏγία απαιτεί Îναν μόνο επιλεγμÎνο κόμβο." @@ -3926,6 +4000,22 @@ msgid "Create Navigation Mesh" msgstr "ΔημιουÏγία πλÎγματος πλοήγησης" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Το στιγμιότυπο πλÎγματος δεν Îχει πλÎγμα!" @@ -3966,6 +4056,20 @@ msgid "Create Outline Mesh.." msgstr "ΔημιουÏγία πλÎγματος πεÏιγÏάμματος.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "ΚάμεÏα" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "ΔημιουÏγία πλÎγματος πεÏιγÏάμματος" @@ -4144,10 +4248,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "ΔημιουÏία AABB" @@ -4167,10 +4267,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Δεν υπάÏχουν εικονοστοιχεία με διαφάνεια >128 στην εικόνα.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "ΟÏισμός μάσκας εκπομπής" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "ΔημιουÏγία οÏθογωνίου οÏατότητας" @@ -4179,6 +4275,10 @@ 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 "Particles" msgstr "Σωματίδια" @@ -4237,10 +4337,6 @@ msgid "Create Emission Points From Node" msgstr "ΔημιουÏγία σημείων εκπομπής από κόμβο" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ΕκκαθάÏιση πομποÏ" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "ΔημιουÏγία πομποÏ" @@ -4525,11 +4621,13 @@ 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 "Μετακίνηση κάτω" @@ -4545,7 +4643,7 @@ msgstr "Î ÏοηγοÏμενη δεσμή ενεÏγειών" msgid "File" msgstr "ΑÏχείο" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "ÎÎο" @@ -4558,6 +4656,11 @@ msgid "Soft Reload Script" msgstr "Απλή επαναφόÏτωση δεσμής ενεÏγειών" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "ΑντιγÏαφή διαδÏομής" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "ΙστοÏικά Ï€ÏοηγοÏμενο" @@ -4748,11 +4851,8 @@ msgid "Clone Down" msgstr "Κλωνοποίηση κάτω" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Αναδίπλωση γÏαμμής" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Ξεδίπλωμα γÏαμμής" #: editor/plugins/script_text_editor.cpp @@ -5081,6 +5181,15 @@ msgstr "FPS" msgid "Align with view" msgstr "Στοίχηση με την Ï€Ïοβολή" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "Κανονική εμφάνιση" @@ -5188,6 +5297,20 @@ msgid "Scale Mode (R)" msgstr "ΛειτουÏγία κλιμάκωσης (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "ΤοπικÎÏ‚ συντεταγμÎνες" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "ΛειτουÏγία κλιμάκωσης (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "ΛειτουÏγία κουμπώματος:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Κάτω όψη" @@ -5260,10 +5383,6 @@ msgid "Configure Snap.." msgstr "ΔιαμόÏφωση κουμπώματος.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "ΤοπικÎÏ‚ συντεταγμÎνες" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Διάλογος μετασχηματισμοÏ.." @@ -5305,6 +5424,10 @@ msgid "Settings" msgstr "Ρυθμίσεις" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ρυθμίσεις κουμπώματος" @@ -5687,6 +5810,11 @@ msgid "Merge from scene?" msgstr "Συγχώνευση από σκηνή;" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "ΔημιουÏγία από σκηνή" @@ -5698,6 +5826,10 @@ msgstr "Συγχώνευση από σκηνή" msgid "Error" msgstr "Σφάλμα" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ΑκÏÏωση" + #: editor/project_export.cpp msgid "Runnable" msgstr "ΕκτελÎσιμο" @@ -5824,10 +5956,6 @@ msgid "Imported Project" msgstr "ΕισαγμÎνο ÎÏγο" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Είναι καλή ιδÎα να ονομάσετε το ÎÏγο σας." @@ -5989,6 +6117,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Δεν Îχετε κανÎνα ÎÏγο.\n" +"Θα θÎλατε να εξεÏευνήσετε μεÏικά παÏαδείγματα στην βιβλιοθήκη πόÏων;" #: editor/project_settings_editor.cpp msgid "Key " @@ -6096,8 +6226,9 @@ msgid "Joypad Button Index:" msgstr "ΑÏιθμός ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï Joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Î Ïοσθήκη συμβάντος ενÎÏγειας εισόδου" +#, fuzzy +msgid "Erase Input Action" +msgstr "ΔιαγÏαφή συμβάντος ενÎÏγειας εισόδου" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6164,6 +6295,10 @@ msgid "Already existing" msgstr "ΥπάÏχει ήδη" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Î Ïοσθήκη συμβάντος ενÎÏγειας εισόδου" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Σφάλμα κατά την αποθήκευση Ïυθμίσεων." @@ -6340,6 +6475,10 @@ msgid "New Script" msgstr "Îεα δεσμή ενεÏγειών" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Κάνε μοναδικό" @@ -6371,6 +6510,11 @@ msgstr "Δυαδικό ψηφίο %d, τιμή %d." msgid "On" msgstr "Îαι" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Î Ïοσθήκη άδειου" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "ÎŒÏισε" @@ -6379,10 +6523,6 @@ msgstr "ÎŒÏισε" msgid "Properties:" msgstr "Ιδιότητες:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Ενότητες:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Επιλογή ιδιότητας" @@ -6957,6 +7097,10 @@ msgstr "ΟÏισμός από το δÎντÏο" msgid "Shortcuts" msgstr "ΣυντομεÏσεις" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Αλλαγή διαμÎÏ„Ïου φωτός" @@ -7005,15 +7149,55 @@ msgstr "Αλλαγή AABB σωματιδίων" msgid "Change Probe Extents" msgstr "Αλλαγή διαστάσεων αισθητήÏα" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ΑφαίÏεση σημείου καμπÏλης" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "ΑντιγÏαφή σε πλατφόÏμα.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Βιβλιοθήκη" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Βιβλιοθήκη" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Κατάσταση" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Βιβλιοθήκες: " @@ -7720,6 +7904,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "Το ARVROrigin απαιτεί Îναν κόμβο ARVRCamera ως παιδί" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ΤοποθÎτηση πλεγμάτων" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ΤοποθÎτηση πλεγμάτων" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "ΟλοκλήÏωση σχεδιαγÏάμματος" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ΤοποθÎτηση πλεγμάτων" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7758,10 +7961,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ΤοποθÎτηση πλεγμάτων" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "ΟλοκλήÏωση σχεδιαγÏάμματος" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7830,10 +8029,6 @@ msgid "Add current color as a preset" msgstr "Î Ïοσθήκη του Ï„ÏÎχοντος χÏώματος ως Ï€ÏοκαθοÏισμÎνο" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ΑκÏÏωση" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ειδοποίηση!" @@ -7842,9 +8037,8 @@ msgid "Please Confirm..." msgstr "ΠαÏακαλώ επιβεβαιώστε..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Επιλογή μεθόδου" +msgstr "Επιλογή Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… φακÎλου" #: scene/gui/popup.cpp msgid "" @@ -7907,6 +8101,30 @@ msgstr "Σφάλμα κατά την φόÏτωση της γÏαμματοσεΠmsgid "Invalid font size." msgstr "Μη ÎγκυÏο μÎγεθος γÏαμματοσειÏάς." +#~ msgid "Move Add Key" +#~ msgstr "Μετακίνηση ÎºÎ»ÎµÎ¹Î´Î¹Î¿Ï Ï€Ïοσθήκης" + +#~ msgid "Create Subscription" +#~ msgstr "ΔημιουÏγία εγγÏαφής" + +#~ msgid "List:" +#~ msgstr "Λίστα:" + +#~ msgid "Set Emission Mask" +#~ msgstr "ΟÏισμός μάσκας εκπομπής" + +#~ msgid "Clear Emitter" +#~ msgstr "ΕκκαθάÏιση πομποÏ" + +#~ msgid "Fold Line" +#~ msgstr "Αναδίπλωση γÏαμμής" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Ενότητες:" + #~ msgid "Cannot navigate to '" #~ msgstr "ΑδÏνατη η πλοήγηση στο '" @@ -8449,9 +8667,6 @@ msgstr "Μη ÎγκυÏο μÎγεθος γÏαμματοσειÏάς." #~ msgid "Making BVH" #~ msgstr "ΔημιουÏγία BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ΜεταφοÏά στους χάÏτες φωτός:" - #~ msgid "Allocating Texture #" #~ msgstr "ΔÎσμευση υφής #" @@ -8605,9 +8820,6 @@ msgstr "Μη ÎγκυÏο μÎγεθος γÏαμματοσειÏάς." #~ msgid "Del" #~ msgstr "ΔιαγÏαφή" -#~ msgid "Copy To Platform.." -#~ msgstr "ΑντιγÏαφή σε πλατφόÏμα.." - #~ msgid "just pressed" #~ msgstr "μόλις πατήθηκε" diff --git a/editor/translations/es.po b/editor/translations/es.po index 0fd0d7674a..0e82da23b9 100644 --- a/editor/translations/es.po +++ b/editor/translations/es.po @@ -4,6 +4,7 @@ # This file is distributed under the same license as the Godot source code. # # Addiel Lucena Perez <addiell2017@gmail.com>, 2017. +# Aleix Sanchis <aleixsanchis@hotmail.com>, 2017. # Alejandro Alvarez <eliluminado00@gmail.com>, 2017. # BLaDoM GUY <simplybladom@gmail.com>, 2017. # Carlos López <genetita@gmail.com>, 2016. @@ -25,8 +26,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-28 18:49+0000\n" -"Last-Translator: Diego López <diegodario21@gmail.com>\n" +"PO-Revision-Date: 2017-12-09 22:50+0000\n" +"Last-Translator: Aleix Sanchis <aleixsanchis@hotmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" "godot/es/>\n" "Language: es\n" @@ -45,8 +46,9 @@ msgid "All Selection" msgstr "Toda la selección" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover o añadir clave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -57,7 +59,8 @@ msgid "Anim Change Transform" msgstr "Cambiar transformación de animación" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp @@ -175,8 +178,9 @@ msgid "Constant" msgstr "Constante" #: editor/animation_editor.cpp +#, fuzzy msgid "In" -msgstr "Entrada" +msgstr "In" #: editor/animation_editor.cpp msgid "Out" @@ -553,8 +557,9 @@ msgid "Connecting Signal:" msgstr "Conectando señal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crear suscripción" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Conectar «%s» a «%s»" #: editor/connections_dialog.cpp msgid "Connect.." @@ -570,7 +575,8 @@ msgid "Signals" msgstr "Señales" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crear nuevo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -585,7 +591,7 @@ msgstr "Recientes:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Buscar:" @@ -626,6 +632,7 @@ msgstr "" "Por lo que los cambios no tendrán efecto hasta que recargues." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependencias" @@ -731,9 +738,10 @@ msgid "Delete selected files?" msgstr "¿Quieres eliminar los archivos seleccionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Eliminar" @@ -842,9 +850,8 @@ msgid "Error opening package file, not in zip format." msgstr "Error al abrir el paquete, no se encuentra en formato zip." #: editor/editor_asset_installer.cpp -#, fuzzy msgid "Uncompressing Assets" -msgstr "Descomprimir Assets" +msgstr "Descomprimiendo Assets" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" @@ -877,6 +884,11 @@ msgid "Rename Audio Bus" msgstr "Renombrar Audio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alternar Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Alternar Audio Bus Solo" @@ -889,17 +901,14 @@ msgid "Toggle Audio Bus Bypass Effects" msgstr "Alternar efectos de bypass del Bus de Audio" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Select Audio Bus Send" -msgstr "Seleccionar Bus de audio de envÃo" +msgstr "Seleccionar Bus de Audio de envÃo" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add Audio Bus Effect" msgstr "Añadir Efecto de Bus de Audio" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Move Bus Effect" msgstr "Mover Efecto de Bus" @@ -924,12 +933,11 @@ msgid "Bypass" msgstr "Sobrepasar" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus options" msgstr "Opciones del Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicar" @@ -942,6 +950,10 @@ msgid "Delete Effect" msgstr "Borrar Efecto" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Añadir Bus de Audio" @@ -982,9 +994,8 @@ msgid "There is no 'res://default_bus_layout.tres' file." msgstr "No existe el archivo 'res://default_bus_layout.tres'." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Invalid file, not an audio bus layout." -msgstr "Archivo inválido, no es un layout de bus de audio" +msgstr "Archivo inválido, no es un formato de bus de audio" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1009,9 +1020,8 @@ msgid "Save As" msgstr "Guardar como" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Save this Bus Layout to a file." -msgstr "Guardar formato de los Audio Bus como..." +msgstr "Guardar este Formato Bus como..." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" @@ -1019,7 +1029,7 @@ msgstr "Cargar Predeterminado" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Cargar Formato del Bus por defecto." +msgstr "Cargar Formato de Bus predeterminado." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1100,7 +1110,8 @@ msgstr "Ruta:" msgid "Node Name:" msgstr "Nombre del nodo:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nombre" @@ -1108,10 +1119,6 @@ msgstr "Nombre" msgid "Singleton" msgstr "«Singleton»" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Actualizando escena" @@ -1124,9 +1131,18 @@ msgstr "Guardando cambios locales.." msgid "Updating scene.." msgstr "Actualizando escena.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vacÃo)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "Por favor seleccione primero un directorio base." +msgstr "Por favor seleccione primero un directorio base" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -1170,10 +1186,26 @@ msgid "File Exists, Overwrite?" msgstr "El archivo ya existe, ¿quieres sobreescribirlo?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" +msgstr "Seleccionar Carpeta Actual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar ruta" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar en el navegador de archivos" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." msgstr "Crear carpeta" +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Recargar" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Reconocidos" @@ -1221,10 +1253,6 @@ msgid "Go Up" msgstr "Subir" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Recargar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Ver/ocultar archivos ocultos" @@ -1275,7 +1303,7 @@ msgstr "AnalizandoFuentes" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "Reimportando Assets" +msgstr "(Re)Importando Assets" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp @@ -1328,7 +1356,7 @@ msgstr "Métodos públicos:" #: editor/editor_help.cpp msgid "GUI Theme Items" -msgstr "Elementos de tema de GUI" +msgstr "Elementos del Tema de GUI" #: editor/editor_help.cpp msgid "GUI Theme Items:" @@ -1404,7 +1432,8 @@ msgstr "Salida:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Borrar todo" @@ -1466,9 +1495,8 @@ msgid "Creating Thumbnail" msgstr "Creando miniatura" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a tree root." -msgstr "Esta operación no puede realizarse sin una escena." +msgstr "Esta operación no puede realizarse sin una escena raÃz." #: editor/editor_node.cpp msgid "" @@ -1565,7 +1593,7 @@ msgstr "" #: editor/editor_node.cpp #, fuzzy msgid "Expand all properties" -msgstr "Expandir todo" +msgstr "Expandir todas las propiedades" #: editor/editor_node.cpp #, fuzzy @@ -1610,9 +1638,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"No se ha definido ninguna escena principal, ¿quieres elegir alguna?\n" -"Es posible cambiarla más tarde en «Ajustes del proyecto» bajo la categorÃa " -"«aplicación»." +"No se ha definido ninguna escena principal, ¿Quieres elegir alguna?\n" +"Es posible cambiarla más tarde en «Ajustes del Proyecto» bajo la categorÃa " +"«Aplicación»." #: editor/editor_node.cpp msgid "" @@ -1666,7 +1694,7 @@ msgstr "Guardar & Cerrar" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "¿Guardar cambios a '%s' antes de cerrar?" +msgstr "¿Guardar cambios de '%s' antes de cerrar?" #: editor/editor_node.cpp msgid "Save Scene As.." @@ -1862,7 +1890,7 @@ msgstr "Modo sin distracciones" #: editor/editor_node.cpp #, fuzzy msgid "Toggle distraction-free mode." -msgstr "Alternar Modo sin distracciones" +msgstr "Alternar Modo sin distracciones." #: editor/editor_node.cpp msgid "Add a new scene." @@ -2255,7 +2283,6 @@ msgid "Open & Run a Script" msgstr "Abrir y ejecutar un script" #: editor/editor_node.cpp -#, fuzzy msgid "New Inherited" msgstr "Nueva escena heredada" @@ -2292,9 +2319,8 @@ msgid "Open the previous Editor" msgstr "Abrir Editor anterior" #: editor/editor_plugin.cpp -#, fuzzy msgid "Creating Mesh Previews" -msgstr "Crear biblioteca de modelos 3D" +msgstr "Creando vistas previas de los modelos 3D" #: editor/editor_plugin.cpp msgid "Thumbnail.." @@ -2366,17 +2392,26 @@ msgstr "Propio" msgid "Frame #:" msgstr "Nº de cuadro:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tiempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Llamada" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Seleccionar dispositivo de la lista" #: editor/editor_run_native.cpp -#, fuzzy msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" -"No se ha encontrado un preset ejecutable de exportación para esta " +"No se ha encontrado ningún preset ejecutable de exportación para esta " "plataforma.\n" "Por favor, añade un preset ejecutable en el menú de exportación." @@ -2473,7 +2508,6 @@ msgid "No version.txt found inside templates." msgstr "No se ha encontrado el archivo version.txt dentro de las plantillas." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:\n" msgstr "Error al crear ruta para las plantillas:\n" @@ -2510,7 +2544,8 @@ msgstr "No responde." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Solicitud fallida." #: editor/export_template_manager.cpp @@ -2558,7 +2593,8 @@ msgid "Connecting.." msgstr "Conectando.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "No se puede conectar" #: editor/export_template_manager.cpp @@ -2659,6 +2695,11 @@ msgid "Error moving:\n" msgstr "Error al mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error al cargar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "No se ha podido actualizar las dependencias:\n" @@ -2691,6 +2732,16 @@ msgid "Renaming folder:" msgstr "Renombrar carpeta:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renombrar carpeta:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir todo" @@ -2699,10 +2750,6 @@ msgid "Collapse all" msgstr "Colapsar todo" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar ruta" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renombrar.." @@ -2712,12 +2759,8 @@ msgstr "Mover a.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "Crear carpeta" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar en el navegador de archivos" +msgid "Open Scene(s)" +msgstr "Abrir escena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2733,6 +2776,11 @@ msgid "View Owners.." msgstr "Ver propietarios.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Carpeta anterior" @@ -2835,6 +2883,16 @@ msgid "Importing Scene.." msgstr "Importando escena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transfiriendo a «lightmaps»:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generar AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Ejecutando script personalizado.." @@ -3090,11 +3148,11 @@ msgstr "Copiar animación" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Papel Cebolla" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activar Papel Cebolla" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3113,23 +3171,26 @@ msgstr "Textura" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidad" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "1 step" -msgstr "" +msgstr "1 paso" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "2 steps" -msgstr "" +msgstr "2 pasos" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "3 steps" -msgstr "" +msgstr "3 pasos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Solo las Diferencias" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3137,7 +3198,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3418,6 +3479,7 @@ msgid "last" msgstr "ultimo" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Todos" @@ -3459,6 +3521,28 @@ msgstr "Prueba" msgid "Assets ZIP File" msgstr "Archivo ZIP de elementos" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transfiriendo a «lightmaps»:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Vista previa" @@ -3605,7 +3689,6 @@ msgid "Toggles snapping" msgstr "Des/activar «breakpoint»" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Fijar a cuadrÃcula" @@ -3804,16 +3887,6 @@ msgstr "Error al instanciar escena desde %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Muy bien :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "No hay padre al que instanciarle un hijo." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Esta operación requiere un solo nodo seleccionado." @@ -4024,6 +4097,22 @@ msgid "Create Navigation Mesh" msgstr "Crear modelo de navegación 3D" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "¡A MeshInstance le falta un modelo 3D!" @@ -4064,6 +4153,20 @@ msgid "Create Outline Mesh.." msgstr "Crear modelo 3D de contorno.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ver" + +#: 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 "Crear modelo 3D de contorno" @@ -4257,10 +4360,6 @@ msgid "Create Navigation Polygon" msgstr "Crear polÃgono de navegación" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Borrar máscara de emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4283,10 +4382,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "No hay pÃxeles con una transparencia mayor que 128 en la imagen.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Establecer máscara de emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Generar rectángulo de visibilidad" @@ -4295,6 +4390,10 @@ msgid "Load Emission Mask" msgstr "Cargar máscara de emisión" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Borrar máscara de emisión" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Particles" @@ -4360,10 +4459,6 @@ msgid "Create Emission Points From Node" msgstr "Crear emisor a partir de nodo" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Borrar emisor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crear emisor" @@ -4664,11 +4759,13 @@ msgstr "Ordenar:" #: 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 "Subir" #: 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 "Bajar" @@ -4684,7 +4781,7 @@ msgstr "Script anterior" msgid "File" msgstr "Archivo" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nuevo" @@ -4697,6 +4794,11 @@ msgid "Soft Reload Script" msgstr "Recargar parcialmente el script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar ruta" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Previo en historial" @@ -4897,12 +4999,7 @@ msgstr "Clonar hacia abajo" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Ir a lÃnea" - -#: editor/plugins/script_text_editor.cpp -#, fuzzy -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "Desplegar LÃnea" #: editor/plugins/script_text_editor.cpp @@ -5245,6 +5342,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinear con vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Muy bien :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "No hay padre al que instanciarle un hijo." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostrar normales" @@ -5365,6 +5470,20 @@ msgid "Scale Mode (R)" msgstr "Modo escalado (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas locales" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo escalado (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo de fijado:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista inferior" @@ -5443,10 +5562,6 @@ msgid "Configure Snap.." msgstr "Configurar fijado.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenadas locales" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Ventana de transformación.." @@ -5488,6 +5603,10 @@ msgid "Settings" msgstr "Ajustes" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ajustes de fijado" @@ -5881,6 +6000,11 @@ msgid "Merge from scene?" msgstr "¿Mergear desde escena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crear desde escena" @@ -5892,6 +6016,10 @@ msgstr "Unir desde escena" msgid "Error" msgstr "Error" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -6037,10 +6165,6 @@ msgid "Imported Project" msgstr "Proyecto importado" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "SerÃa una buena idea nombrar tu proyecto." @@ -6210,10 +6334,13 @@ msgid "Can't run project" msgstr "Conectar.." #: 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 "" +"Actualmente no tiene ningún proyecto.\n" +"¿Le gustarÃa explorar los proyectos ejemplo oficiales del Asset Library?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6323,8 +6450,9 @@ msgid "Joypad Button Index:" msgstr "Ãndice de botones del mando:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Añadir acción de entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Borrar evento de acción de entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6398,6 +6526,10 @@ msgid "Already existing" msgstr "Des/activar persistencia" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Añadir acción de entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Error al guardar los ajustes." @@ -6587,6 +6719,10 @@ msgid "New Script" msgstr "Script siguiente" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Crear huesos" @@ -6623,6 +6759,11 @@ msgstr "Bit %d, valor %d." msgid "On" msgstr "Activado" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Añadir elemento vacÃo" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Establecer" @@ -6631,10 +6772,6 @@ msgstr "Establecer" msgid "Properties:" msgstr "Propiedades:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Selecciones:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Seleccionar Propiedad" @@ -7235,6 +7372,10 @@ msgstr "Establecer desde árbol" msgid "Shortcuts" msgstr "Atajos" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Cambiar Radio de Luces" @@ -7284,17 +7425,57 @@ msgstr "Cambiar partÃculas AABB" msgid "Change Probe Extents" msgstr "Cambiar Alcances de Notificadores" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Quitar Punto de ruta" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Copiar a plataforma…" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "Estado:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotecas: " @@ -7367,8 +7548,9 @@ msgid "GridMap Duplicate Selection" msgstr "Duplicar selección" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Floor:" -msgstr "" +msgstr "Piso:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7386,8 +7568,9 @@ msgid "Previous Floor" msgstr "Pestaña anterior" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Next Floor" -msgstr "" +msgstr "Próximo Piso" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7482,8 +7665,9 @@ msgid "Pick Distance:" msgstr "Instancia:" #: modules/mono/editor/mono_bottom_panel.cpp +#, fuzzy msgid "Builds" -msgstr "" +msgstr "Compilaciones" #: modules/visual_script/visual_script.cpp msgid "" @@ -8060,6 +8244,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin necesita un nodo ARVCamera hijo" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Copiando datos de imágenes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Copiando datos de imágenes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Copiando datos de imágenes" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -8097,10 +8300,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Copiando datos de imágenes" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8174,10 +8373,6 @@ msgid "Add current color as a preset" msgstr "Añadir el color actual como predefinido" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancelar" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -8251,6 +8446,28 @@ msgstr "Error al cargar la tipografÃa." msgid "Invalid font size." msgstr "Tamaño de tipografÃa incorrecto." +#~ msgid "Move Add Key" +#~ msgstr "Mover o añadir clave" + +#~ msgid "Create Subscription" +#~ msgstr "Crear suscripción" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Establecer máscara de emisión" + +#~ msgid "Clear Emitter" +#~ msgstr "Borrar emisor" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "Ir a lÃnea" + +#~ msgid "Sections:" +#~ msgstr "Selecciones:" + #~ msgid "Cannot navigate to '" #~ msgstr "No se puede navegar a '" @@ -8806,9 +9023,6 @@ msgstr "Tamaño de tipografÃa incorrecto." #~ msgid "Making BVH" #~ msgstr "Creando BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transfiriendo a «lightmaps»:" - #~ msgid "Allocating Texture #" #~ msgstr "Asignando nº de textura" @@ -8968,9 +9182,6 @@ msgstr "Tamaño de tipografÃa incorrecto." #~ msgid "Del" #~ msgstr "Eliminar" -#~ msgid "Copy To Platform.." -#~ msgstr "Copiar a plataforma…" - #~ msgid "just pressed" #~ msgstr "se presione" diff --git a/editor/translations/es_AR.po b/editor/translations/es_AR.po index 4b84add916..eacbe22f45 100644 --- a/editor/translations/es_AR.po +++ b/editor/translations/es_AR.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-29 03:50+0000\n" +"PO-Revision-Date: 2017-11-30 15:50+0000\n" "Last-Translator: Diego López <diegodario21@gmail.com>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/" "godot-engine/godot/es_AR/>\n" @@ -32,8 +32,9 @@ msgid "All Selection" msgstr "Toda la Selección" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover o Agregar Clave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -44,7 +45,8 @@ msgid "Anim Change Transform" msgstr "Cambiar Transform de Anim" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Cambiar valor de animación" #: editor/animation_editor.cpp @@ -247,7 +249,6 @@ msgid "Animation zoom." msgstr "Zoom de animación." #: editor/animation_editor.cpp -#, fuzzy msgid "Length (s):" msgstr "Duración (seg):" @@ -329,9 +330,8 @@ msgid "Scale Ratio:" msgstr "Ratio de Escala:" #: editor/animation_editor.cpp -#, fuzzy msgid "Call Functions in Which Node?" -msgstr "Llamar Funciones en Cual Nodo?" +msgstr "Llamar Funciones en Cuál Nodo?" #: editor/animation_editor.cpp msgid "Remove invalid keys" @@ -541,8 +541,9 @@ msgid "Connecting Signal:" msgstr "Conectando Señal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crear Subscripción" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Conectar '%s' a '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -558,7 +559,8 @@ msgid "Signals" msgstr "Señales" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crear Nuevo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -573,7 +575,7 @@ msgstr "Recientes:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Buscar:" @@ -612,6 +614,7 @@ msgid "" msgstr "El recurso '%s' está en uso. Los cambios tendrán efecto al recargarlo." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependencias" @@ -716,9 +719,10 @@ msgid "Delete selected files?" msgstr "Eliminar archivos seleccionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Eliminar" @@ -861,6 +865,11 @@ msgid "Rename Audio Bus" msgstr "Renombrar Bus de Audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Act./Desact. Solo de Bus de Audio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Act./Desact. Solo de Bus de Audio" @@ -908,8 +917,8 @@ msgstr "Bypass" msgid "Bus options" msgstr "Opciones de Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicar" @@ -922,6 +931,10 @@ msgid "Delete Effect" msgstr "Eliminar Efecto" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Agregar Bus de Audio" @@ -1078,7 +1091,8 @@ msgstr "Ruta:" msgid "Node Name:" msgstr "Nombre de Nodo:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nombre" @@ -1086,10 +1100,6 @@ msgstr "Nombre" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Actualizando Escena" @@ -1102,6 +1112,15 @@ msgstr "Guardando cambios locales.." msgid "Updating scene.." msgstr "Actualizando escena.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vacÃo)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Por favor elegà un directorio base primero" @@ -1148,9 +1167,24 @@ msgid "File Exists, Overwrite?" msgstr "El Archivo Existe, Sobreescribir?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Crear Carpeta" +msgstr "Seleccionar Carpeta Actual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar Ruta" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar en Gestor de Archivos" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nueva Carpeta.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Refrescar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1199,10 +1233,6 @@ msgid "Go Up" msgstr "Subir" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Refrescar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Act/Desact. Archivos Ocultos" @@ -1382,7 +1412,8 @@ msgstr "Salida:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Limpiar" @@ -1541,14 +1572,12 @@ msgstr "" "este workflow." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Expandir todos" +msgstr "Expandir todas las propiedades" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Colapsar todos" +msgstr "Colapsar todas las propiedades" #: editor/editor_node.cpp msgid "Copy Params" @@ -2341,6 +2370,16 @@ msgstr "Propio" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tiempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Llamar" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Seleccionar dispositivo de la lista" @@ -2483,7 +2522,8 @@ msgstr "Sin respuesta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Solicitud fallida." #: editor/export_template_manager.cpp @@ -2530,7 +2570,8 @@ msgid "Connecting.." msgstr "Conectando.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "No se puede conectar" #: editor/export_template_manager.cpp @@ -2627,6 +2668,11 @@ msgid "Error moving:\n" msgstr "Error al mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error cargando:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "No se pudieron actualizar las dependencias:\n" @@ -2659,6 +2705,16 @@ msgid "Renaming folder:" msgstr "Renombrar carpeta:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renombrar carpeta:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir todos" @@ -2667,10 +2723,6 @@ msgid "Collapse all" msgstr "Colapsar todos" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar Ruta" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renombrar.." @@ -2679,12 +2731,9 @@ msgid "Move To.." msgstr "Mover A.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nueva Carpeta.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar en Gestor de Archivos" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Abrir Escena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2699,6 +2748,11 @@ msgid "View Owners.." msgstr "Ver Dueños.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Directorio Previo" @@ -2711,7 +2765,6 @@ msgid "Re-Scan Filesystem" msgstr "Reexaminar Sistema de Archivos" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Toggle folder status as Favorite" msgstr "Act/Desact. estado de carpeta como Favorito" @@ -2795,6 +2848,16 @@ msgid "Importing Scene.." msgstr "Importando Escena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transferencia a Lightmaps:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generando AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Ejecutando Script Personalizado.." @@ -3042,54 +3105,51 @@ msgstr "Copiar Animación" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activar Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Selecciones:" +msgstr "Direcciones" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Pegar" +msgstr "Pasado" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "CaracterÃsticas" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidad" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 paso" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 pasos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 pasos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Solo Diferencias" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Forzar Modulado a Blanco" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3366,6 +3426,7 @@ msgid "last" msgstr "último" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Todos" @@ -3407,6 +3468,28 @@ msgstr "Testeo" msgid "Assets ZIP File" msgstr "Archivo ZIP de Assets" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transferencia a Lightmaps:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Vista Previa" @@ -3545,7 +3628,6 @@ msgid "Toggles snapping" msgstr "Act/Desact. alineado" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Usar Snap" @@ -3725,16 +3807,6 @@ msgstr "Error al instanciar escena desde %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "No hay padre al que instanciarle un hijo." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Esta operación requiere un solo nodo seleccionado." @@ -3930,6 +4002,22 @@ msgid "Create Navigation Mesh" msgstr "Crear Mesh de Navegación" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "A MeshInstance le falta un Mesh!" @@ -3970,6 +4058,20 @@ msgid "Create Outline Mesh.." msgstr "Crear Outline Mesh.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ver" + +#: 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 "Crear Outline Mesh" @@ -4147,10 +4249,6 @@ msgid "Create Navigation Polygon" msgstr "Crear PolÃgono de Navegación" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpiar Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generando AABB" @@ -4169,10 +4267,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 "Set Emission Mask" -msgstr "Setear Máscara de Emisión" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Generar Rect. de Visibilidad" @@ -4181,6 +4275,10 @@ msgid "Load Emission Mask" msgstr "Cargar Máscara de Emisión" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpiar Máscara de Emisión" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "PartÃculas" @@ -4239,10 +4337,6 @@ msgid "Create Emission Points From Node" msgstr "Crear Puntos de Emisión Desde Nodo" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Limpiar Emisor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crear Emisor" @@ -4527,11 +4621,13 @@ msgstr "Ordenar" #: 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 "Subir" #: 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 "Bajar" @@ -4547,7 +4643,7 @@ msgstr "Script anterior" msgid "File" msgstr "Archivo" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nuevo" @@ -4560,6 +4656,11 @@ msgid "Soft Reload Script" msgstr "Recarga Soft de Script" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar Ruta" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Previo en Historial" @@ -4750,11 +4851,8 @@ msgid "Clone Down" msgstr "Clonar hacia Abajo" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Colapsar LÃnea" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Expandir LÃnea" #: editor/plugins/script_text_editor.cpp @@ -5082,6 +5180,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinear con vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "No hay padre al que instanciarle un hijo." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostrar Normal" @@ -5189,6 +5295,20 @@ msgid "Scale Mode (R)" msgstr "Modo de Escalado (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas Locales" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo de Escalado (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo Snap:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista Inferior" @@ -5261,10 +5381,6 @@ msgid "Configure Snap.." msgstr "Configurar Snap.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenadas Locales" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dialogo de Transformación.." @@ -5306,6 +5422,10 @@ msgid "Settings" msgstr "Configuración" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ajustes de Snap" @@ -5688,6 +5808,11 @@ msgid "Merge from scene?" msgstr "¿Mergear desde escena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crear desde Escena" @@ -5699,6 +5824,10 @@ msgstr "Mergear desde Escena" msgid "Error" msgstr "Error" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" + #: editor/project_export.cpp msgid "Runnable" msgstr "Ejecutable" @@ -5827,10 +5956,6 @@ msgid "Imported Project" msgstr "Proyecto Importado" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "SerÃa buena idea darle un nombre a tu proyecto." @@ -5993,6 +6118,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Actualmente no tenés ningun proyecto.\n" +"Te gustarÃa explorar los ejemplos oficiales en la Biblioteca de Assets?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6100,8 +6227,9 @@ msgid "Joypad Button Index:" msgstr "Indice del Boton del Gamepad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Agregar Acción de Entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Borrar Evento de Acción de Entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6168,6 +6296,10 @@ msgid "Already existing" msgstr "Ya existe" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Agregar Acción de Entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Error al guardar los ajustes." @@ -6344,6 +6476,10 @@ msgid "New Script" msgstr "Nuevo Script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Convertir en Unico" @@ -6375,6 +6511,11 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "On" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Agregar VacÃo" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Setear" @@ -6383,10 +6524,6 @@ msgstr "Setear" msgid "Properties:" msgstr "Propiedades:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Selecciones:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Seleccionar Propiedad" @@ -6955,6 +7092,10 @@ msgstr "Setear Desde Arbol" msgid "Shortcuts" msgstr "Atajos" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Cambiar Radio de Luces" @@ -7003,15 +7144,55 @@ msgstr "Cambiar Particulas AABB" msgid "Change Probe Extents" msgstr "Cambiar Extensión de Sonda" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Quitar Punto de Curva" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Copiar A Plataforma.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteca" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Estado" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotecas: " @@ -7186,13 +7367,12 @@ msgstr "" "documentacion sobre como usar yield correctamente!" #: modules/visual_script/visual_script.cpp -#, fuzzy msgid "" "Node yielded, but did not return a function state in the first working " "memory." msgstr "" -"El nodo rindió (yielded), pero no retornó un estado de función en la primera " -"memoria de trabajo." +"Un nodo ejecutó un «yield» pero no devolvió un estado de función en la " +"memoria de trabajo original." #: modules/visual_script/visual_script.cpp msgid "" @@ -7249,7 +7429,7 @@ msgstr "El nombre no es un identificador válido:" #: modules/visual_script/visual_script_editor.cpp msgid "Name already in use by another func/var/signal:" -msgstr "El nombre ya esta en uso por otra func/var/señal:" +msgstr "El nombre ya está en uso por otra función/variable/señal:" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" @@ -7714,6 +7894,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin requiere un nodo hijo ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Ploteando Meshes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Ploteando Meshes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Terminando Ploteo" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Ploteando Meshes" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7750,10 +7949,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Ploteando Meshes" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Terminando Ploteo" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7819,10 +8014,6 @@ msgid "Add current color as a preset" msgstr "Agregar color actual como preset" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancelar" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -7831,9 +8022,8 @@ msgid "Please Confirm..." msgstr "Confirmá, por favor..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Seleccionar Método" +msgstr "Seleccionar esta Carpeta" #: scene/gui/popup.cpp msgid "" @@ -7895,6 +8085,30 @@ msgstr "Error cargando tipografÃa." msgid "Invalid font size." msgstr "Tamaño de tipografÃa inválido." +#~ msgid "Move Add Key" +#~ msgstr "Mover o Agregar Clave" + +#~ msgid "Create Subscription" +#~ msgstr "Crear Subscripción" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Setear Máscara de Emisión" + +#~ msgid "Clear Emitter" +#~ msgstr "Limpiar Emisor" + +#~ msgid "Fold Line" +#~ msgstr "Colapsar LÃnea" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Selecciones:" + #~ msgid "Cannot navigate to '" #~ msgstr "No se puede navegar a '" @@ -8434,9 +8648,6 @@ msgstr "Tamaño de tipografÃa inválido." #~ msgid "Making BVH" #~ msgstr "Creando BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transferencia a Lightmaps:" - #~ msgid "Allocating Texture #" #~ msgstr "Asignando Textura #" @@ -8588,9 +8799,6 @@ msgstr "Tamaño de tipografÃa inválido." #~ msgid "Del" #~ msgstr "Eliminar" -#~ msgid "Copy To Platform.." -#~ msgstr "Copiar A Plataforma.." - #~ msgid "just pressed" #~ msgstr "recién presionado" diff --git a/editor/translations/fa.po b/editor/translations/fa.po index bcd06f9051..a3ac63f911 100644 --- a/editor/translations/fa.po +++ b/editor/translations/fa.po @@ -31,8 +31,9 @@ msgid "All Selection" msgstr "همه‌ی انتخاب ها" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "کلید Add را جابجا Ú©Ù†" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "مقدار را در انیمیشن تغییر بده" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -43,7 +44,8 @@ msgid "Anim Change Transform" msgstr "انتقال را در انیمیشن تغییر بده" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "مقدار را در انیمیشن تغییر بده" #: editor/animation_editor.cpp @@ -538,8 +540,9 @@ msgid "Connecting Signal:" msgstr "اتصال سیگنال:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "'s%' را به 's%' متصل Ú©Ù†" #: editor/connections_dialog.cpp msgid "Connect.." @@ -555,7 +558,8 @@ msgid "Signals" msgstr "سیگنال‌ها" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "ساختن جدید" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -570,7 +574,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "جستجو:" @@ -611,6 +615,7 @@ msgstr "" "تغییرات با بارگذاری مجدد مؤثر خواهد بود." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "بستگی‌ها" @@ -714,9 +719,10 @@ msgid "Delete selected files?" msgstr "آیا پرونده‌های انتخاب شده ØØ°Ù شود؟" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ØØ°Ù Ú©Ù†" @@ -855,6 +861,11 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "مقدار آرایه را تغییر بده" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -902,8 +913,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -916,6 +927,10 @@ msgid "Delete Effect" msgstr "ØØ°Ù اثر" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1070,7 +1085,8 @@ msgstr "مسیر:" msgid "Node Name:" msgstr "نام گره:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1078,10 +1094,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1094,6 +1106,15 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(خالی)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1144,6 +1165,22 @@ msgstr "ÙØ§ÛŒÙ„ وجود دارد، آیا بازنویسی شود؟" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "ساختن پوشه.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "همه ÛŒ موارد شناخته شده اند" @@ -1191,10 +1228,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1370,7 +1403,8 @@ msgstr "خروجی:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "پاک کردن" @@ -2266,6 +2300,16 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "زمان:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2401,8 +2445,9 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "در ØØ§Ù„ درخواست.." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2449,7 +2494,8 @@ msgid "Connecting.." msgstr "در ØØ§Ù„ اتصال.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "ناتوان در اتصال" #: editor/export_template_manager.cpp @@ -2542,6 +2588,11 @@ msgstr "خطا در بارگذاری:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "خطا در بارگذاری:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "خطا در بارگذاری صØÙ†Ù‡ به دلیل بستگی‌های Ù…Ùقود:" @@ -2576,15 +2627,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "تغییر متغیر" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2596,12 +2652,9 @@ msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "ساختن پوشه.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "باز کردن صØÙ†Ù‡" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2616,6 +2669,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "انتخاب شده را به دو تا تکثیر Ú©Ù†" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2708,6 +2766,14 @@ 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 "" @@ -3275,6 +3341,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "همه" @@ -3316,6 +3383,27 @@ msgstr "آزمودن" msgid "Assets ZIP File" msgstr "ÙØ§ÛŒÙ„ های ZIP‌ منابع بازی" +#: 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 msgid "Preview" msgstr "" @@ -3453,7 +3541,6 @@ msgid "Toggles snapping" msgstr "یک Breakpoint درج Ú©Ù†" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3633,16 +3720,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3837,6 +3914,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3877,6 +3970,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "پرونده:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "" @@ -4053,10 +4160,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4074,15 +4177,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4144,10 +4247,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4435,11 +4534,13 @@ 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 "" @@ -4455,7 +4556,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4468,6 +4569,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "رونوشت مسیر گره" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4659,14 +4765,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "برو به خط" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4994,6 +5096,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5103,6 +5213,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "انتخاب ØØ§Ù„ت" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5176,10 +5299,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5221,6 +5340,10 @@ msgid "Settings" msgstr "ØªØ±Ø¬ÛŒØØ§Øª" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5608,6 +5731,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "صدور مجموعه کاشی" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5619,6 +5747,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "لغو" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5741,10 +5873,6 @@ msgid "Imported Project" msgstr "پروژه واردشده" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6003,8 +6131,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Ø§ÙØ²ÙˆØ¯Ù† عمل ورودی" +#, fuzzy +msgid "Erase Input Action" +msgstr "ØØ°Ù رویداد عمل ورودی" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6071,6 +6200,10 @@ msgid "Already existing" msgstr "پیش از این وجود داشته است" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Ø§ÙØ²ÙˆØ¯Ù† عمل ورودی" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "خطای ذخیرهٔ تنظیمات." @@ -6248,6 +6381,10 @@ msgid "New Script" msgstr "صØÙ†Ù‡ جدید" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6280,6 +6417,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6288,10 +6429,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -6857,6 +6994,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6905,17 +7046,56 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ØØ°Ù نقطهٔ منØÙ†ÛŒ" + +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "صادکردن ÙØ§ÛŒÙ„ کتابخانه ای" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "وضعیت:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7632,6 +7812,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7670,10 +7866,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "یک منبع NavigationMesh باید برای یک گره تنظیم یا ایجاد شود تا کار کند." @@ -7733,10 +7925,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "لغو" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "هشدار!" @@ -7804,6 +7992,9 @@ msgstr "خطای بارگذاری قلم." msgid "Invalid font size." msgstr "اندازهٔ قلم نامعتبر." +#~ msgid "Move Add Key" +#~ msgstr "کلید Add را جابجا Ú©Ù†" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/fi.po b/editor/translations/fi.po index afa22fa263..751c5a9718 100644 --- a/editor/translations/fi.po +++ b/editor/translations/fi.po @@ -3,6 +3,7 @@ # Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# basse <basse@roiske.org>, 2017. # Bastian Salmela <bastian.salmela@gmail.com>, 2017. # ekeimaja <ekeimaja@gmail.com>, 2017. # Jarmo Riikonen <amatrelan@gmail.com>, 2017. @@ -10,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 13:44+0000\n" +"PO-Revision-Date: 2017-12-03 11:31+0000\n" "Last-Translator: Bastian Salmela <bastian.salmela@gmail.com>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/godot-engine/" "godot/fi/>\n" @@ -30,8 +31,8 @@ msgstr "Koko valinta" #: editor/animation_editor.cpp #, fuzzy -msgid "Move Add Key" -msgstr "Siirrä lisäyspainiketta" +msgid "Anim Change Keyframe Time" +msgstr "Animaatio: muuta arvoa" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -39,10 +40,11 @@ msgstr "Vaihda animaation siirtymää" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Vaihda animaation muunnosta" +msgstr "Animaatio: muuta siirtymää" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animaatio: muuta arvoa" #: editor/animation_editor.cpp @@ -493,7 +495,6 @@ msgid "Remove" msgstr "Poista" #: editor/connections_dialog.cpp -#, fuzzy msgid "Add Extra Call Argument:" msgstr "Lisää ylimääräinen argumentti kutsulle:" @@ -544,8 +545,9 @@ msgid "Connecting Signal:" msgstr "Yhdistävä signaali:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Luo tilaus" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Yhdistä '%s' '%s':n" #: editor/connections_dialog.cpp msgid "Connect.." @@ -561,7 +563,8 @@ msgid "Signals" msgstr "Signaalit" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Luo uusi" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -576,7 +579,7 @@ msgstr "Viimeaikaiset:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Hae:" @@ -617,6 +620,7 @@ msgstr "" "Muutokset tulevat voimaan päivitettäessä." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Riippuvuudet" @@ -723,9 +727,10 @@ msgid "Delete selected files?" msgstr "Poista valitut tiedostot?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Poista" @@ -870,6 +875,11 @@ msgid "Rename Audio Bus" msgstr "Nimeä väylä uudelleen" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Ääniväylä sooloksi" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Ääniväylä sooloksi" @@ -917,8 +927,8 @@ msgstr "Ohita" msgid "Bus options" msgstr "Väylän asetukset" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Monista" @@ -931,6 +941,10 @@ msgid "Delete Effect" msgstr "Poista efekti" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Lisää ääniväylä" @@ -1090,7 +1104,8 @@ msgstr "Polku:" msgid "Node Name:" msgstr "Noden nimi:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nimi" @@ -1099,10 +1114,6 @@ msgstr "Nimi" msgid "Singleton" msgstr "Ainokainen" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Päivitetään skeneä" @@ -1115,6 +1126,15 @@ msgstr "Varastoidaan paikalliset muutokset..." msgid "Updating scene.." msgstr "Päivitetään skeneä..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(tyhjä)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Valitse ensin päähakemisto" @@ -1165,6 +1185,22 @@ msgstr "Tiedosto on jo olemassa, korvaa?" msgid "Select Current Folder" msgstr "Luo kansio" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopioi polku" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Näytä tiedostonhallinnassa" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Luo kansio..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Päivitä" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Kaikki tunnistetut" @@ -1212,10 +1248,6 @@ msgid "Go Up" msgstr "Mene ylös" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Päivitä" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Näytä piilotiedostot" @@ -1349,7 +1381,7 @@ msgstr "Animaatiot" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "enum" #: editor/editor_help.cpp #, fuzzy @@ -1411,7 +1443,8 @@ msgstr " Tuloste:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Tyhjennä" @@ -1492,7 +1525,7 @@ msgstr "Resurssin lataaminen epäonnistui." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "MalliKirjastojen yhdistäminen ei onnistunut!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" @@ -1568,8 +1601,7 @@ msgid "" "this workflow." msgstr "" "Tämä on etä-objekti, joten siihen tehtyjä muutoksia ei säilytetä.\n" -"Ole hyvä ja lue ohjeet debuggaamisesta ymmärtääksesi paremmin tämän " -"työnkulun." +"Ole hyvä ja lue ohjeet testaamisesta ymmärtääksesi paremmin tämän työnkulun." #: editor/editor_node.cpp #, fuzzy @@ -1669,9 +1701,8 @@ msgid "Quick Open Script.." msgstr "Nopea skriptin avaus..." #: editor/editor_node.cpp -#, fuzzy msgid "Save & Close" -msgstr "Tallenna tiedosto" +msgstr "Tallenna ja sulje" #: editor/editor_node.cpp #, fuzzy @@ -1683,9 +1714,8 @@ msgid "Save Scene As.." msgstr "Tallenna scene nimellä..." #: editor/editor_node.cpp -#, fuzzy msgid "No" -msgstr "Node" +msgstr "Ei" #: editor/editor_node.cpp msgid "Yes" @@ -1697,25 +1727,23 @@ msgstr "Tätä sceneä ei ole koskaan tallennettu. Tallenna ennen suorittamista? #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Tätä toimintoa ei voi tehdä ilman Sceneä." +msgstr "Tätä toimintoa ei voi tehdä ilman sceneä." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "Tuo Mesh-kirjasto" +msgstr "Vie malli kirjasto" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a root node." -msgstr "Tätä toimintoa ei voi tehdä ilman Sceneä." +msgstr "Tätä toimintoa ei voida suorittaa ilman päänodea." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Tuo tileset" +msgstr "Vie tileset" #: editor/editor_node.cpp -#, fuzzy msgid "This operation can't be done without a selected node." -msgstr "Tätä toimintoa ei voi tehdä ilman Sceneä." +msgstr "Tätä toimintoa ei voi tehdä ilman valittua nodea." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -1746,14 +1774,12 @@ msgid "Exit the editor?" msgstr "Poistu editorista?" #: editor/editor_node.cpp -#, fuzzy msgid "Open Project Manager?" -msgstr "Projektinhallinta" +msgstr "Projektienhallinta" #: editor/editor_node.cpp -#, fuzzy msgid "Save & Quit" -msgstr "Tallenna tiedosto" +msgstr "Tallenna ja lopeta" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" @@ -1779,25 +1805,25 @@ msgstr "Valitse pääscene" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" +msgstr "Lisäosan '%s' aktivointi epäonnistui, virheellinen asetustiedosto." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" #: editor/editor_node.cpp -#, fuzzy msgid "Unable to load addon script from path: '%s'." -msgstr "Virhe ladattaessa skripti %s:stä" +msgstr "Virhe ladattaessa lisäosaa polusta: '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." -msgstr "" +msgstr "Virhe ladattaessa lisäosaa polusta: '%s'. Tyyppi ei ole EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Virhe ladattaessa lisäosaa polusta: '%s'. Skripti ei ole työkalu-tilassa." #: editor/editor_node.cpp msgid "" @@ -1825,17 +1851,16 @@ msgid "Scene '%s' has broken dependencies:" msgstr "Scenellä '%s' on rikkinäisiä riippuvuuksia:" #: editor/editor_node.cpp -#, fuzzy msgid "Clear Recent Scenes" -msgstr "Tyhjennä luut" +msgstr "Tyhjennä viimeiset scenet" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "Tallenna Layout" +msgstr "Tallenna asettelut" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "Poista Layout" +msgstr "Poista asettelu" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp @@ -1847,19 +1872,16 @@ msgid "Switch Scene Tab" msgstr "Vaihda Scenen välilehteä" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files or folders" -msgstr "%d muuta tiedostoa" +msgstr "Vielä %d tiedostoa tai hakemistoa" #: editor/editor_node.cpp -#, fuzzy msgid "%d more folders" -msgstr "%d muuta tiedostoa" +msgstr "Vielä %d hakemistoa" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files" -msgstr "%d muuta tiedostoa" +msgstr "Vielä %d tiedostoa" #: editor/editor_node.cpp msgid "Dock Position" @@ -1874,17 +1896,16 @@ msgid "Toggle distraction-free mode." msgstr "Käytä häiriötöntä tilaa." #: editor/editor_node.cpp -#, fuzzy msgid "Add a new scene." -msgstr "Lisää uusia raitoja." +msgstr "Lisää uusi skene." #: editor/editor_node.cpp msgid "Scene" -msgstr "Näkymä" +msgstr "Skene" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Mene aiemmin avattuun sceneen." +msgstr "Mene aiemmin avattuun skeneen." #: editor/editor_node.cpp msgid "Next tab" @@ -1900,31 +1921,31 @@ msgstr "Suodata tiedostot..." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Toiminnot skene tiedostoille." #: editor/editor_node.cpp msgid "New Scene" -msgstr "Uusi Scene" +msgstr "Uusi skene" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "Uusi peritty Scene..." +msgstr "Uusi peritty skene..." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "Avaa Scene..." +msgstr "Avaa skene..." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "Tallenna scene" +msgstr "Tallenna skene" #: editor/editor_node.cpp msgid "Save all Scenes" -msgstr "Tallenna kaikki scenet" +msgstr "Tallenna kaikki skenet" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "Sulje scene" +msgstr "Sulje skene" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" @@ -1954,11 +1975,11 @@ msgstr "Tee uudelleen" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "Palauta Scene" +msgstr "Palauta skene" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Sekalaiset projekti- tai skenetyökalut." #: editor/editor_node.cpp #, fuzzy @@ -1987,17 +2008,19 @@ msgstr "Lopeta ja palaa projektiluetteloon" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "Testaa" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Julkaise etätestauksen kasnsa" #: 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 "" +"Vietäessä tai julkaistaessa, käynnistystiedosto yrittää ottaa yhteyden tämän " +"tietokoneen IP osoitteeseen testaamista varten." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" @@ -2012,6 +2035,12 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Kun tämä on valittuna, vienti tai julkaisu tuottaa pienimmän mahdollisen " +"käynnistystiedoston.\n" +"Tiedostojärjestelmän tarjoaa projektin editori, verkon kautta. \n" +"Androidilla julkaisu käyttää USB kaapelia nopeamman toimivuuden " +"saavuttamiseksi. Tämä nopeuttaa testaamista varsinkin suurempien pelien " +"kohdalla." #: editor/editor_node.cpp #, fuzzy @@ -2023,8 +2052,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" -"Osuma-alueet ja raycast nodet (2D ja 3D) ovat näkyvillä peliä ajettaessa jos " -"tämä on valittu." +"Osuma-alueet ja raycast nodet (2D ja 3D) ovat näkyvillä peliä ajettaessa " +"tämän ollessa valittuna." #: editor/editor_node.cpp msgid "Visible Navigation" @@ -2035,12 +2064,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" -"Navigaation muodot ja polygonit ovat näkyvillä peliä ajettaessa mikäli tämä " -"on valittu." +"Navigaatiomuodot ja -polygonit ovat näkyvillä peliä ajettaessa tämän ollessa " +"valittuna." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "Synkronoi Scenen muutokset" +msgstr "Synkronoi skenen muutokset" #: editor/editor_node.cpp msgid "" @@ -2049,6 +2078,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Tämän ollessa valittuna, kaikki skeneen tehdyt muutokset toteutetaan myös " +"käynnissä olevassa pelissä.\n" +"Tämä on tehokkainta verkkotiedostojärjestelmän kanssa mikäli käytössä on " +"etälaite." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2211,9 +2244,8 @@ msgid "Object properties." msgstr "Objektin ominaisuudet." #: editor/editor_node.cpp -#, fuzzy msgid "Changes may be lost!" -msgstr "Vaihda säteen muodon pituutta" +msgstr "Muutokset saatetaan menettää!" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp @@ -2274,34 +2306,28 @@ msgid "Select" msgstr "Valitse" #: editor/editor_node.cpp -#, fuzzy msgid "Open 2D Editor" -msgstr "Avaa editorissa" +msgstr "Avaa 2D-editori" #: editor/editor_node.cpp -#, fuzzy msgid "Open 3D Editor" -msgstr "Avaa editorissa" +msgstr "Avaa 3D-editori" #: editor/editor_node.cpp -#, fuzzy msgid "Open Script Editor" -msgstr "Avaa editorissa" +msgstr "Avaa skriptieditori" #: editor/editor_node.cpp editor/project_manager.cpp -#, fuzzy msgid "Open Asset Library" -msgstr "Vie kirjasto" +msgstr "Avaa Asset-kirjasto" #: editor/editor_node.cpp -#, fuzzy msgid "Open the next Editor" -msgstr "Avaa editorissa" +msgstr "Avaa seuraava editori" #: editor/editor_node.cpp -#, fuzzy msgid "Open the previous Editor" -msgstr "Avaa editorissa" +msgstr "Avaa edellinen editori" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" @@ -2378,6 +2404,16 @@ msgstr "Itse" msgid "Frame #:" msgstr "Ruutu #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Aika:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Kutsu" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Valitse laite listasta" @@ -2387,6 +2423,8 @@ msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"Käynnistettävää vientipohjaa ei löytynyt tälle alustalle.\n" +"Lisää sellainen vienti-valikosta." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." @@ -2462,17 +2500,19 @@ msgstr "Poista mallin versio '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Vientipohjien zip-tiedostoa ei voitu avata." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Paketti sisältää viallisen version.txt tiedoston." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Paketti sisältää viallisen version.txt tiedoston. 'Revision' ei ole " +"hyväksytty tunniste." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." @@ -2484,7 +2524,7 @@ msgstr "Virhe luotaessa polkua mallille:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" -msgstr "" +msgstr "Puretaan vientipohjia." #: editor/export_template_manager.cpp msgid "Importing:" @@ -2495,17 +2535,18 @@ msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Tälle versiolle ei löytynyt ladattavia linkkejä. Suora lataaminen on " +"mahdollista vain virallisilla versioilla." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "" +msgstr "Yhdistäminen epäonnistui." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Can't connect." -msgstr "Yhdistä..." +msgstr "Yhdistäminen epäonnistui." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2514,18 +2555,19 @@ msgstr "Ei vastausta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Pyyntö epäonnistui." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Loputon uudelleenohjaus." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Epäonnistui:" #: editor/export_template_manager.cpp #, fuzzy @@ -2559,7 +2601,7 @@ msgstr "Tallennetaan..." #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Yhdistäminen epäonnistui" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2568,7 +2610,8 @@ msgid "Connecting.." msgstr "Yhdistä..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Ei voitu yhdistää" #: editor/export_template_manager.cpp @@ -2631,10 +2674,14 @@ msgstr "Valitse peilipalvelin listasta: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Tiedostoa file_type_cache.cch ei voitu avata kirjoittamista varten. " +"Välimuistia ei tallenneta. " #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" msgstr "" +"Tiedostoa '%s' ei voida avata, koska sitä ei näytä löytyvän " +"tiedostojärjestelmästäsi!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" @@ -2649,15 +2696,16 @@ msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"Tila: Tuonti epäonnistui. Ole hyvä, korjaa tiedosto, ja tuo uudelleen." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Ei voitu siirtää/nimetä uudelleen resurssien päätasoa." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Cannot move a folder into itself.\n" -msgstr "Tiedostoa ei voi tuoda itseensä:" +msgstr "Hakemistoa ei voi siirtää itsensä sisään.\n" #: editor/filesystem_dock.cpp #, fuzzy @@ -2666,6 +2714,11 @@ msgstr "Virhe tuotaessa:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Virhe ladatessa:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Scenellä '%s' on rikkinäisiä riippuvuuksia:" @@ -2704,6 +2757,16 @@ msgid "Renaming folder:" msgstr "Nimeä Node uudelleen" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Monista" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Nimeä Node uudelleen" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Laajenna kaikki" @@ -2712,10 +2775,6 @@ msgid "Collapse all" msgstr "Pienennä kaikki" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Kopioi polku" - -#: editor/filesystem_dock.cpp #, fuzzy msgid "Rename.." msgstr "Nimeä uudelleen" @@ -2725,12 +2784,9 @@ msgid "Move To.." msgstr "Siirrä..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Luo kansio..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Näytä tiedostonhallinnassa" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Avaa scene" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2745,6 +2801,11 @@ msgid "View Owners.." msgstr "Tarkastele omistajia..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Monista" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Edellinen hakemisto" @@ -2762,7 +2823,7 @@ msgstr "Merkitse kansio suosikkeihin" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Luo valituista skeneistä instanssi valitun noden alle." #: editor/filesystem_dock.cpp #, fuzzy @@ -2837,7 +2898,7 @@ msgstr "Tuo 3D Scene" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Tuo useina skeneinä ja materiaaleina" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp @@ -2849,20 +2910,30 @@ msgid "Importing Scene.." msgstr "Tuodaan Scene..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Muunna Lightmapiksi:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Luo AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Suorita valitsemasi skripti..." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Ei voitu ladata tuonnin jälkeistä skriptiä: " #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Viallinen tuonnin jälkeinen skripti (tarkista konsoli) : " #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Virhe ajettaessa tuonnin jälkeistä skriptiä: " #: editor/import/resource_importer_scene.cpp msgid "Saving.." @@ -2885,7 +2956,6 @@ msgid "Import As:" msgstr "Tuo nimellä:" #: editor/import_dock.cpp editor/property_editor.cpp -#, fuzzy msgid "Preset.." msgstr "Esiasetus..." @@ -2903,7 +2973,7 @@ msgstr "Ryhmät" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Valitse node jonka signaaleja ja ryhmiä haluat muokata." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -2917,9 +2987,8 @@ msgid "Edit Poly" msgstr "Muokkaa polygonia" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Insert Point" -msgstr "Poista piste" +msgstr "Lisää piste" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp @@ -2932,9 +3001,8 @@ msgid "Remove Poly And Point" msgstr "Poista polygoni ja piste" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Create a new polygon from scratch" -msgstr "Luo uusi piste tyhjästä." +msgstr "Luo uusi polygoni tyhjästä" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2943,11 +3011,14 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Muokkaa polygonia:\n" +"Vasen hiirenkorva: Siirrä pistettä.\n" +"Ctrl+Vasen hiirenkorva: Puolita segmentti.\n" +"Oikea hiirenkorva: Poista piste." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Delete points" -msgstr "Poista piste" +msgstr "Poista pisteitä" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2994,7 +3065,7 @@ msgstr "Lisää animaatio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Sekoita seuraavaan vaihdettu" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" @@ -3094,50 +3165,47 @@ msgstr "Kopioi animaatio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Onion skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Käytä Onion skinningiä" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Kuvaus:" +msgstr "Suunnat" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Liitä" +msgstr "Mennyt" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Tekstuuri" +msgstr "Tuleva" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Syvyys" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 askel" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 askelta" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 askelta" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Vain eroavaisuudet" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Pakota valkoisen modulaatio" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" @@ -3160,15 +3228,15 @@ msgstr "Virhe!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Sulautusajat:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Seuraava (automaattinen jono):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Lomittautuvien animaatioiden sulautusajat" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -3180,9 +3248,8 @@ msgid "New name:" msgstr "Uusi nimi:" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "Edit Filters" -msgstr "Suodattimet" +msgstr "Muokkaa suodattimia" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp @@ -3199,15 +3266,15 @@ msgstr "Häivytys ulos (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "Sekoita" +msgstr "Sulauta" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Sekoitus" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Automaattinen uudelleenkäynnistys:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" @@ -3228,19 +3295,19 @@ msgstr "Määrä:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Sulautus:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Sulautus 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "Sulautus 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "Ristihäivytyksen aika (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" @@ -3276,7 +3343,7 @@ msgstr "Animaationode" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" -msgstr "OneShot Node" +msgstr "OneShot node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" @@ -3284,7 +3351,7 @@ msgstr "Mix Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "Sulautus2 node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" @@ -3304,7 +3371,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Siirtymänode" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." @@ -3312,7 +3379,7 @@ msgstr "Tuo animaatiot..." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Muokkaa noden suodattimia" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." @@ -3320,12 +3387,11 @@ msgstr "Suodattimet..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Vapauta" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Contents:" -msgstr "Vakiot:" +msgstr "Sisällöt:" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3334,11 +3400,11 @@ msgstr " Tiedostot" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Palvelinta ei löytynyt:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Yhteysvirhe, ole hyvä ja yritä uudelleen." #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3347,7 +3413,7 @@ msgstr "Yhdistä Nodeen:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ei vastausta isännältä: " #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3356,31 +3422,31 @@ msgstr "Pyydetty tiedostomuoto tuntematon:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Pyyntö epäonnistui, liikaa uudelleenohjauksia" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "Latauksessa väärä hash, oletetaan että tiedostoa on näpelöity." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "Oletettiin:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Saatiin:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "sha256 hash-tarkistus epäonnistui" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Assettien latausvirhe:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" -msgstr "" +msgstr "Noudetaan:" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3394,11 +3460,11 @@ msgstr "Virhe tallennettaessa resurssia!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "Toimeton" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Yritä uudelleen" #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy @@ -3407,15 +3473,15 @@ msgstr "Lataa" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Tämän assetin lataus on jo käynnissä!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "ensimmäinen" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "edellinen" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" @@ -3423,16 +3489,17 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "viimeinen" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Kaikki" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Lisäosat" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" @@ -3466,8 +3533,30 @@ msgstr "Testaus" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "Assettien zip-tiedosto" + +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Muunna Lightmapiksi:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Esikatselu" @@ -3479,20 +3568,20 @@ msgstr "Määrittele tarttuminen" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Ruudukon siirtymä:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Ruudukon välistys:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Ruudukon siirtymä:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Kierron välistys:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" @@ -3500,11 +3589,11 @@ msgstr "Siirrä keskikohtaa" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "Siirrä " #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Siirrä pystysuuntaista apuviivaa" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -3533,11 +3622,11 @@ msgstr "Poista virheelliset avaimet" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Luo uudet vaaka- ja pystysuorat apuviivat" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Muokkaa IK ketjua" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" @@ -3559,7 +3648,7 @@ msgstr "Muuta ankkureita" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Liitä asento" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" @@ -3608,10 +3697,9 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "" +msgstr "Asettaa tarttumisen" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Käytä tarttumista" @@ -3634,7 +3722,7 @@ msgstr "Määrittele tarttuminen..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Suhteellinen tarttuminen" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" @@ -3651,7 +3739,7 @@ msgstr "Laajenna Parentiin" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Tartu noden ankkuriin" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -3773,11 +3861,11 @@ msgstr "Aseta piste hiiren kohdalle" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Kerro ruudukon välistys kahdella" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Jaa ruudukon välistys kahdella" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" @@ -3795,22 +3883,12 @@ msgstr "Luo Node" #: 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 -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Asia kunnossa :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" +msgstr "Virhe luotaessa instanssia kohteesta %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Tämä toiminto vaatii yhden valitun noden." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" @@ -3830,7 +3908,7 @@ msgstr "Luo Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "" +msgstr "Aseta kahva" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" @@ -3878,49 +3956,40 @@ msgid "Smoothstep" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Modify Curve Point" -msgstr "Muokkaa käyrää" +msgstr "Muokkaa käyrän pistettä" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Modify Curve Tangent" -msgstr "Muokkaa käyrää" +msgstr "Muokkaa käyrän tangenttia" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load Curve Preset" -msgstr "Lataa resurssi" +msgstr "Lataa käyrän esiasetus" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add point" -msgstr "Lisää syöte" +msgstr "Lisää pistä" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove point" -msgstr "Siirrä pistettä" +msgstr "Poista piste" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Left linear" -msgstr "Lineaarinen" +msgstr "Vasen lineaarinen" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Right linear" -msgstr "Oikea näkymä" +msgstr "Oikea lineaarinen" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Load preset" -msgstr "Lataa resurssi" +msgstr "Lataa esiasetus" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "Siirrä pistettä" +msgstr "Poista käyrän piste" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" @@ -3928,7 +3997,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Pidä shift pohjassa muokataksesi tangentteja yksitellen" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -3936,12 +4005,12 @@ msgstr "" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Lisää/poista väriliukuman piste" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Muokkaa väriliukumaa" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -3960,10 +4029,12 @@ msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"Tälle nodelle ei ole OccluderPolygon2D:tä.\n" +"Luodaanko sellainen?" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "Luo Occluder polygooni" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." @@ -3979,7 +4050,7 @@ msgstr "VHP: Siirrä pistettä." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+Vasen hiirennappi: Puolita osa" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." @@ -4015,6 +4086,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4055,6 +4142,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Näytä/Tarkastele" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Näytä/Tarkastele" + +#: 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 "" @@ -4227,17 +4328,13 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Valmis!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" 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 #, fuzzy msgid "Generating AABB" @@ -4256,26 +4353,25 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -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 "Lataa emissiomaski" + +#: 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 -#, fuzzy msgid "Particles" -msgstr "Ominaisuudet:" +msgstr "Partikkelit" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "Luotujen pisteiden määrä:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4285,7 +4381,7 @@ msgstr "Keskimääräinen aika (sek)" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "" +msgstr "Emission maski" #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy @@ -4294,7 +4390,7 @@ msgstr "Luo Scenestä" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" -msgstr "" +msgstr "Emission väri" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." @@ -4310,7 +4406,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" -msgstr "" +msgstr "Pinnat eivät sisällä aluetta!" #: editor/plugins/particles_editor_plugin.cpp msgid "No faces!" @@ -4329,25 +4425,21 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Tyhjennä säteilijä/lähetin" - -#: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Create Emitter" msgstr "Luo säteilijä/lähetin" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "" +msgstr "Emissiopisteet:" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "Pinnan pisteet" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "Pinnan pisteet+normaali" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" @@ -4355,7 +4447,7 @@ msgstr "Äänenvoimakkuus" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "" +msgstr "Emission lähde:" #: editor/plugins/particles_editor_plugin.cpp #, fuzzy @@ -4401,7 +4493,7 @@ msgstr "Valitse pisteet" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+vedä: Valitse kontrollipisteitä" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4415,7 +4507,7 @@ msgstr "Oikea klikkaus: Poista piste" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Valitse kontrollipisteitä (Shift+vedä)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4425,7 +4517,7 @@ msgstr "Lisää piste (tyhjyydessä)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Puolita osa (käyrässä)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4439,7 +4531,7 @@ msgstr "Sulje käyrä" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Käyrän piste #" #: editor/plugins/path_editor_plugin.cpp #, fuzzy @@ -4458,11 +4550,11 @@ msgstr "Siirrä pistettä" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" -msgstr "" +msgstr "Puolita polku" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Path Point" -msgstr "" +msgstr "Poista polun piste" #: editor/plugins/path_editor_plugin.cpp #, fuzzy @@ -4476,11 +4568,11 @@ msgstr "Poista polygoni ja piste" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" -msgstr "" +msgstr "Luo UV kartta" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "" +msgstr "Muunna UV kartta" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" @@ -4525,11 +4617,11 @@ msgstr "Muokkaa" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" -msgstr "" +msgstr "Polygooni->UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV->Polygon" -msgstr "" +msgstr "UV->Polygooni" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" @@ -4591,6 +4683,8 @@ msgid "" "Close and save changes?\n" "\"" msgstr "" +"Sulje ja tallenna muutokset?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" @@ -4618,7 +4712,7 @@ msgstr "Tallenna teema nimellä..." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " Luokan referenssi" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -4627,11 +4721,13 @@ msgstr "Lajittele:" #: 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 "Siirrä ylös" #: 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 "Siirrä alas" @@ -4647,7 +4743,7 @@ msgstr "Edellinen skripti" msgid "File" msgstr "Tiedosto" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Uusi" @@ -4660,12 +4756,17 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopioi polku" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" -msgstr "" +msgstr "Edellinen historiassa" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "Seuraava historiassa" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -4689,16 +4790,15 @@ msgstr "Sulje kaikki" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "Sulje muut välilehdet" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "Aja" +msgstr "Suorita" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Toggle Scripts Panel" -msgstr "Näytä suosikit" +msgstr "Näytä/piilota skriptipaneeli" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4717,7 +4817,7 @@ msgstr "Ohita" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "" +msgstr "Siirry" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" @@ -4730,16 +4830,15 @@ msgstr "Jatka" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "Pidä debuggeri auki" +msgstr "Pidä testaaja auki" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Debug with external editor" -msgstr "Avaa editorissa" +msgstr "Testaa ulkoisella editorilla" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation" -msgstr "" +msgstr "Avaa Godotin online-dokumentaatio" #: editor/plugins/script_editor_plugin.cpp msgid "Search the class hierarchy." @@ -4747,7 +4846,7 @@ msgstr "Etsi luokkahierarkia." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "Etsi dokumentaatiosta." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." @@ -4783,7 +4882,7 @@ msgstr "Tallenna uudelleen" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "" +msgstr "Debuggeri" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -4807,11 +4906,11 @@ msgstr "Muunnetaan kuvia" #: editor/plugins/script_text_editor.cpp msgid "Uppercase" -msgstr "" +msgstr "Isot kirjaimet" #: editor/plugins/script_text_editor.cpp msgid "Lowercase" -msgstr "" +msgstr "Pienet kirjaimet" #: editor/plugins/script_text_editor.cpp msgid "Capitalize" @@ -4856,24 +4955,20 @@ msgstr "Kloonaa alas" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Mene riville" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +msgid "Fold/Unfold Line" +msgstr "Avaa rivi" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Laskosta kaikki rivit" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "Avaa kaikki rivit" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "Täydennä symbooli" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" @@ -4881,11 +4976,11 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Spaces" -msgstr "" +msgstr "Muuta sisennys välilyönneiksi" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Tabs" -msgstr "" +msgstr "Muuta sisennys sarkaimiksi" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" @@ -5159,7 +5254,7 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "" +msgstr "Animaatioavain lisätty." #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" @@ -5197,6 +5292,14 @@ msgstr "" msgid "Align with view" msgstr "Kohdista näkymään" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Asia kunnossa :(" + +#: 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 msgid "Display Normal" msgstr "Näytä normaali" @@ -5312,6 +5415,20 @@ msgid "Scale Mode (R)" msgstr "Skaalaustila (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Paikalliset koordinaatit" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Skaalaustila (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Tarttumisen tila:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Pohjanäkymä" @@ -5341,7 +5458,7 @@ msgstr "Vaihda perspektiiviseen/ortogonaaliseen näkymään" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "Lisää animaatioavain" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" @@ -5389,10 +5506,6 @@ msgid "Configure Snap.." msgstr "Määrittele tarttuminen..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Paikalliset koordinaatit" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5434,6 +5547,10 @@ msgid "Settings" msgstr "Asetukset" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Tarttumisen asetukset" @@ -5459,11 +5576,11 @@ msgstr "Näkökentän perspektiivi (ast.):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "Minimi etäisyys:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "Maksimi etäisyys:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -5515,11 +5632,11 @@ msgstr "Lisää tyhjä" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Vaihda animaation luuppia" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Vaihda animaation nopeutta" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" @@ -5579,7 +5696,7 @@ msgstr "<Ei mitään>" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Tartu pikseleihin" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" @@ -5587,15 +5704,15 @@ msgstr "Tartu ruudukkoon" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Jaa automaattisesti" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "Offset:" +msgstr "Siirtymä:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Välistys:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" @@ -5625,7 +5742,7 @@ msgstr "Lisää kaikki" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Poista" #: editor/plugins/theme_editor_plugin.cpp #, fuzzy @@ -5633,17 +5750,16 @@ msgid "Remove All Items" msgstr "Poista valitut" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All" -msgstr "Poista" +msgstr "Poista kaikki" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Muokkaa teemaa..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Teeman muokkaus." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" @@ -5654,17 +5770,16 @@ msgid "Remove Class Items" msgstr "" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Create Empty Template" -msgstr "Luo tyhjä Template" +msgstr "Luo tyhjä pohja" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "Luo tyhjä editorin pohja" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Luo nykyisestä editorin teemasta" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -5680,11 +5795,11 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Valinta" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Valittu" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" @@ -5751,18 +5866,16 @@ msgid "Paint TileMap" msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Line Draw" -msgstr "Lineaarinen" +msgstr "Viivan piirto" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Bucket Fill" -msgstr "Sanko" +msgstr "Täyttö" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" @@ -5819,19 +5932,24 @@ msgstr "Tileä ei löytynyt:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Item name or ID:" -msgstr "" +msgstr "Nimi tai ID:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene?" -msgstr "Luo Scenestä?" +msgstr "Luo skenestä?" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "Yhdistä Scenestä?" +msgstr "Yhdistä skenestä?" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Vie tileset" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "Luo Scenestä" +msgstr "Luo skenestä" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" @@ -5841,6 +5959,10 @@ msgstr "" msgid "Error" msgstr "Virhe" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Peru" + #: editor/project_export.cpp msgid "Runnable" msgstr "Suoritettava" @@ -5851,7 +5973,7 @@ msgstr "" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "" +msgstr "Poista esiasetus '%s'?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " @@ -5859,7 +5981,7 @@ msgstr "" #: editor/project_export.cpp msgid "Presets" -msgstr "" +msgstr "Esiasetukset" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add.." @@ -5883,7 +6005,7 @@ msgstr "Vie valitut resurssit (ja riippuvuudet)" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Vientitila:" #: editor/project_export.cpp msgid "Resources to export:" @@ -5893,11 +6015,15 @@ msgstr "Vietävät resurssit:" msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Suodattimet tiedostojen viemiseen jotka eivät ole resursseja (esim. *.json, " +"*.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Suodattimet tiedostoille jotka jätetään projektista pois (esim. *.json, *." +"txt)" #: editor/project_export.cpp msgid "Patches" @@ -5905,7 +6031,7 @@ msgstr "" #: editor/project_export.cpp msgid "Make Patch" -msgstr "" +msgstr "Tee patchi" #: editor/project_export.cpp #, fuzzy @@ -5922,13 +6048,12 @@ msgid "Feature List:" msgstr "Metodilista:" #: editor/project_export.cpp -#, fuzzy msgid "Export PCK/Zip" -msgstr "Vie" +msgstr "Vie PCK/Zip" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Tälle alustalle ei löytynyt vientipohjia:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" @@ -5939,35 +6064,32 @@ msgid "Export With Debug" msgstr "Vie debugaten" #: editor/project_manager.cpp -#, fuzzy msgid "The path does not exist." -msgstr "Tiedostoa ei ole olemassa." +msgstr "Polkua ei ole olemassa." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' file." -msgstr "" +msgstr "Ole hyvä ja valitse 'project.godot' tiedosto." #: editor/project_manager.cpp msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"Projektillesi valitsema hakemisto ei ole tyhjä (ehkä haluaisit luoda uuden " +"hakemiston)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "Ole hyvä ja valitse hakemisto jossa ei ole 'project.godot' tiedostoa." #: editor/project_manager.cpp msgid "Imported Project" msgstr "Tuotu projekti" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Olisi hyvä idea antaa projektillesi nimi." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -5993,9 +6115,8 @@ msgid "The following files failed extraction from package:" msgstr "Seuraavien tiedostojen purku paketista epäonnistui:" #: editor/project_manager.cpp -#, fuzzy msgid "Rename Project" -msgstr "Nimetön projekti" +msgstr "Nimetä projekti" #: editor/project_manager.cpp #, fuzzy @@ -6037,56 +6158,60 @@ msgstr "Selaa" #: editor/project_manager.cpp msgid "That's a BINGO!" -msgstr "" +msgstr "Sehän on BINGO!" #: editor/project_manager.cpp msgid "Unnamed Project" msgstr "Nimetön projekti" #: editor/project_manager.cpp -#, fuzzy msgid "Can't open project" -msgstr "Yhdistä..." +msgstr "Projektia ei voida avata" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" msgstr "Haluatko varmasti avata useamman kuin yhden projektin?" #: 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 "" -"Pääsceneä ei ole määritetty, haluatko valita sen?\n" -"Voit muuttaa sitä myöhemmin projektin asetuksista." +"Projektia ei voida suorittaa: pääsceneä ei ole määritetty.\n" +"Ole hyvä ja muokkaa projektia ja aseta pääscene projektin asetuksista " +"\"Application\" -kategoriasta." #: 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 "" +"Projektia ei voi ajaa: Assetit täytyy tuoda uudelleen.\n" +"Muokkaa projektia käynnistääksesi uudelleentuonnin." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" -msgstr "" +msgstr "Haluatko varmasti suorittaa usemman projektin?" #: editor/project_manager.cpp msgid "Remove project from the list? (Folder contents will not be modified)" -msgstr "" +msgstr "Poista projekti listalta? (Kansion sisältöä ei muuteta)" #: editor/project_manager.cpp msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"Kieli vaihdettu.\n" +"Muutokset astuvat voimaan kun editori tai projektinhallinta käynnistetään " +"uudelleen." #: editor/project_manager.cpp msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" -msgstr "" +msgstr "Olet aikeissa etsiä hakemistosta %s Godot projekteja. Oletko varma?" #: editor/project_manager.cpp msgid "Project List" @@ -6094,20 +6219,19 @@ msgstr "Projektiluettelo" #: editor/project_manager.cpp msgid "Scan" -msgstr "" +msgstr "Tutki" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "Valitse skannattava kansio" +msgstr "Valitse tutkittava kansio" #: editor/project_manager.cpp msgid "New Project" msgstr "Uusi projekti" #: editor/project_manager.cpp -#, fuzzy msgid "Templates" -msgstr "Poista malli" +msgstr "Mallit" #: editor/project_manager.cpp msgid "Exit" @@ -6128,6 +6252,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Sinulla ei ole tällä hetkellä yhtään projekteja.\n" +"Haluaisitko selata virallisia malliprojekteja Asset-kirjastosta?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6135,43 +6261,43 @@ msgstr "Näppäin... " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "Joystick-painike" +msgstr "Ohjaimen painike" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "" +msgstr "Ohjaimen akseli" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Hiiren painike" #: editor/project_settings_editor.cpp msgid "Invalid action (anything goes but '/' or ':')." -msgstr "" +msgstr "Virheellinen tapahtuma (muut käy, paitsi '/' tai ':')." #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" -msgstr "" +msgstr "Tapahtuma '%s' on jo olemassa!" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" -msgstr "" +msgstr "Nimeä syöttötapahtuma uudelleen" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" -msgstr "" +msgstr "Lisää syöttötapahtuma" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Shift+" -msgstr "" +msgstr "Shift+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Alt+" -msgstr "" +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.." @@ -6179,7 +6305,7 @@ msgstr "Paina näppäintä..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "Hiiren painikkeen indeksi:" #: editor/project_settings_editor.cpp msgid "Left Button" @@ -6224,7 +6350,7 @@ msgstr "Muuta" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "Ohjaimen akselin indeksi:" #: editor/project_settings_editor.cpp msgid "Axis" @@ -6232,15 +6358,16 @@ msgstr "Akseli" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "Ohjaimen painikkeen indeksi:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Lisää syöttötapahtuma" +#, fuzzy +msgid "Erase Input Action" +msgstr "Tyhjennä syöttötapahtuma" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "" +msgstr "Tyhjennä syöttötapahtuma" #: editor/project_settings_editor.cpp #, fuzzy @@ -6277,7 +6404,7 @@ msgstr "Rulla alas." #: editor/project_settings_editor.cpp msgid "Add Global Property" -msgstr "" +msgstr "Lisää yleinen ominaisuus" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" @@ -6285,7 +6412,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "" +msgstr "Ominaisuutta '%s' ei löytynyt." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." @@ -6306,6 +6433,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Lisää syöttötapahtuma" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Virhe tallennettaessa asetuksia." @@ -6365,7 +6496,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/property_editor.cpp msgid "Property:" -msgstr "" +msgstr "Ominaisuus:" #: editor/project_settings_editor.cpp msgid "Override For.." @@ -6377,27 +6508,27 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Action:" -msgstr "" +msgstr "Toiminto:" #: editor/project_settings_editor.cpp msgid "Device:" -msgstr "" +msgstr "Laite:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "" +msgstr "Indeksi:" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "Kääntäminen" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "Käännökset" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "Käännökset:" #: editor/project_settings_editor.cpp msgid "Remaps" @@ -6405,7 +6536,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Resources:" -msgstr "" +msgstr "Resurssit:" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" @@ -6413,34 +6544,31 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "Kieli" #: editor/project_settings_editor.cpp msgid "Locales Filter" -msgstr "" +msgstr "Kielten suodatus" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show all locales" -msgstr "Näytä luut" +msgstr "Näytä kaikki kielet" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "Näytä vain valitut kielet" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Filter mode:" -msgstr "Suodattimet" +msgstr "Suodatustila:" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Locales:" -msgstr "Skaalaus:" +msgstr "Kielet:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "" +msgstr "Lataa automaattisesti" #: editor/property_editor.cpp msgid "Pick a Viewport" @@ -6468,11 +6596,11 @@ msgstr "" #: editor/property_editor.cpp msgid "File.." -msgstr "" +msgstr "Tiedosto..." #: editor/property_editor.cpp msgid "Dir.." -msgstr "" +msgstr "Hakemisto..." #: editor/property_editor.cpp msgid "Assign" @@ -6485,6 +6613,10 @@ msgstr "Valitse Node" #: editor/property_editor.cpp msgid "New Script" +msgstr "Uusi skripti" + +#: editor/property_editor.cpp +msgid "New %s" msgstr "" #: editor/property_editor.cpp @@ -6494,16 +6626,15 @@ msgstr "Tee luut" #: editor/property_editor.cpp msgid "Show in File System" -msgstr "" +msgstr "Näytä tiedostojärjestelmässä" #: editor/property_editor.cpp -#, fuzzy msgid "Convert To %s" -msgstr "Muunna..." +msgstr "Muunna muotoon %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "Virhe ladattaessa tiedostoa: Ei ole resurssi!" #: editor/property_editor.cpp #, fuzzy @@ -6512,7 +6643,7 @@ msgstr "Valitse tuotava(t) node(t)" #: editor/property_editor.cpp msgid "Pick a Node" -msgstr "Poimi Node" +msgstr "Poimi node" #: editor/property_editor.cpp msgid "Bit %d, val %d." @@ -6520,28 +6651,28 @@ msgstr "" #: editor/property_editor.cpp msgid "On" -msgstr "" +msgstr "Päällä" + +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Lisää tyhjä" #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" -msgstr "" +msgstr "Aseta" #: editor/property_editor.cpp msgid "Properties:" msgstr "Ominaisuudet:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Valitse ominaisuus" #: editor/property_selector.cpp -#, fuzzy msgid "Select Virtual Method" -msgstr "Valitse metodi" +msgstr "Valitse virtuaalinen metodi" #: editor/property_selector.cpp msgid "Select Method" @@ -6557,11 +6688,11 @@ msgstr "" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" -msgstr "" +msgstr "Vaihda noden isäntää" #: editor/reparent_dialog.cpp msgid "Reparent Location (Select new Parent):" -msgstr "" +msgstr "Valitse uusi isäntä:" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" @@ -6569,7 +6700,7 @@ msgstr "" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent" -msgstr "" +msgstr "Uusi isäntä" #: editor/run_settings_dialog.cpp msgid "Run Mode:" @@ -6577,15 +6708,15 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Nykyinen skene" #: editor/run_settings_dialog.cpp msgid "Main Scene" -msgstr "" +msgstr "Pääskene" #: editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "" +msgstr "Pääskenen argumentit:" #: editor/run_settings_dialog.cpp msgid "Scene Run Settings" @@ -7100,6 +7231,10 @@ msgstr "" msgid "Shortcuts" msgstr "Pikakuvakkeet" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Muuta valon sädettä" @@ -7148,17 +7283,56 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Poista käyrän piste" + +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "Vie kirjasto" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "Vie kirjasto" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "Vie kirjasto" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "Tila:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7374,9 +7548,8 @@ msgid "Change Argument Type" msgstr "Vaihda taulukon arvon tyyppiä" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Argument name" -msgstr "Vaihda syötteen nimi" +msgstr "Vaihda argumentin nimi" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" @@ -7839,6 +8012,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7867,10 +8056,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7924,10 +8109,6 @@ msgid "Add current color as a preset" msgstr "Lisää nykyinen väri esiasetukseksi" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Peru" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Huomio!" @@ -8001,6 +8182,32 @@ msgstr "Virhe fontin latauksessa." msgid "Invalid font size." msgstr "Virheellinen fonttikoko." +#, fuzzy +#~ msgid "Move Add Key" +#~ msgstr "Siirrä lisäyspainiketta" + +#~ msgid "Create Subscription" +#~ msgstr "Luo tilaus" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Aseta emissiomaski" + +#~ msgid "Clear Emitter" +#~ msgstr "Tyhjennä säteilijä/lähetin" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "Mene riville" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Osiot:" + #~ msgid "Cannot navigate to '" #~ msgstr "Ei voida navigoida '" @@ -8351,9 +8558,6 @@ msgstr "Virheellinen fonttikoko." #~ msgid "Import Languages:" #~ msgstr "Tuo kielet:" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Muunna Lightmapiksi:" - #~ msgid "Zoom (%):" #~ msgstr "Lähennä (%):" diff --git a/editor/translations/fr.po b/editor/translations/fr.po index ddc6039dcc..dcfa996ee5 100644 --- a/editor/translations/fr.po +++ b/editor/translations/fr.po @@ -34,8 +34,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-27 16:46+0000\n" -"Last-Translator: anonymous <>\n" +"PO-Revision-Date: 2017-12-07 06:46+0000\n" +"Last-Translator: LL <lu.lecocq@free.fr>\n" "Language-Team: French <https://hosted.weblate.org/projects/godot-engine/" "godot/fr/>\n" "Language: fr\n" @@ -54,8 +54,9 @@ msgid "All Selection" msgstr "Toute la sélection" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mouvement Ajouter une clé" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animation Changer la valeur" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -66,7 +67,8 @@ msgid "Anim Change Transform" msgstr "Animation Changer la transformation" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animation Changer la valeur" #: editor/animation_editor.cpp @@ -562,8 +564,9 @@ msgid "Connecting Signal:" msgstr "Connecter un signal :" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Créer une connexion" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Connecter « %s » à « %s »" #: editor/connections_dialog.cpp msgid "Connect.." @@ -579,7 +582,8 @@ msgid "Signals" msgstr "Signaux" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Créer un nouveau" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -594,7 +598,7 @@ msgstr "Récents :" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Rechercher :" @@ -631,10 +635,11 @@ msgid "" "Resource '%s' is in use.\n" "Changes will take effect when reloaded." msgstr "" -"Le ressource « %s » est utilisée.\n" +"La ressource « %s » est utilisée.\n" "Les changements n'auront pas d'effet avant un rechargement." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dépendances" @@ -739,9 +744,10 @@ msgid "Delete selected files?" msgstr "Supprimer les fichiers sélectionnés ?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Supprimer" @@ -884,6 +890,11 @@ msgid "Rename Audio Bus" msgstr "Renommer bus audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Basculer vers transport audio solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Basculer vers transport audio solo" @@ -931,8 +942,8 @@ msgstr "Contournement" msgid "Bus options" msgstr "Options de tranport" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Dupliquer" @@ -945,6 +956,10 @@ msgid "Delete Effect" msgstr "Supprimer l'effet" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Ajouter un transport audio" @@ -1101,7 +1116,8 @@ msgstr "Chemin :" msgid "Node Name:" msgstr "Nom de nÅ“ud :" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nom" @@ -1109,10 +1125,6 @@ msgstr "Nom" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Liste :" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Mise à jour de la scène" @@ -1125,6 +1137,15 @@ msgstr "Stockage des modifications locales…" msgid "Updating scene.." msgstr "Mise à jour de la scène…" +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vide)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Veuillez sélectionner un répertoire de base en premier" @@ -1171,9 +1192,24 @@ msgid "File Exists, Overwrite?" msgstr "Le fichier existe, l'écraser ?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Créer un dossier" +msgstr "Selectionner le dossier actuel" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copier le chemin" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Montrer dans le gestionnaire de fichiers" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nouveau dossier.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Rafraîchir" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1222,10 +1258,6 @@ msgid "Go Up" msgstr "Monter" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Rafraîchir" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Basculer les fichiers cachés" @@ -1376,8 +1408,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Il n'y a pour l'instant aucune description de cette propriété. Aidez-nous en " -"en [color=$color][url=$url]ajoutant une[/url][/color]!" +"Pas de description disponible pour cette propriété. [color=$color][url=" +"$url]Contribuez[/url][/color] pour nous aider!" #: editor/editor_help.cpp msgid "Methods" @@ -1405,7 +1437,8 @@ msgstr "Sortie :" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Effacer" @@ -1554,7 +1587,6 @@ msgstr "" "mieux comprendre ce déroulement." #: editor/editor_node.cpp -#, fuzzy 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 " @@ -1562,7 +1594,7 @@ msgid "" msgstr "" "Ceci est un objet distant, les changements ne seront donc pas conservés.\n" "Veuillez lire la documentation concernant le débogage afin de mieux " -"comprendre ce déroulement." +"comprendre ce fonctionnement." #: editor/editor_node.cpp #, fuzzy @@ -1706,7 +1738,7 @@ msgstr "Exporter un ensemble de tuiles" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "Cette opération ne peut être réalisée sans noeud sélectionné." +msgstr "Cette opération ne peut être réalisée sans nÅ“ud sélectionné." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" @@ -1828,7 +1860,7 @@ msgstr "La scène « %s » a des dépendences cassées :" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "Retirer les scènes récentes." +msgstr "Retirer les scènes récentes" #: editor/editor_node.cpp msgid "Save Layout" @@ -2372,6 +2404,16 @@ msgstr "Soi" msgid "Frame #:" msgstr "Frame # :" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Temps :" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Appel" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Sélectionner appareil depuis la liste" @@ -2450,7 +2492,7 @@ msgstr "(Actuel)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "Récupération des miroirs, veuillez patienter…" +msgstr "Récupération des miroirs, veuillez patienter.." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" @@ -2514,7 +2556,8 @@ msgstr "Pas de réponse." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Req. a Échoué." #: editor/export_template_manager.cpp @@ -2537,11 +2580,11 @@ msgstr "Téléchargement terminé." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "Erreur lors de la requête de l’URL :" +msgstr "Erreur lors de la requête de l’URL : " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "Connexion au miroir…" +msgstr "Connexion au miroir" #: editor/export_template_manager.cpp msgid "Disconnected" @@ -2562,7 +2605,8 @@ msgid "Connecting.." msgstr "Connexion en cours.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Connexion impossible" #: editor/export_template_manager.cpp @@ -2658,6 +2702,11 @@ msgid "Error moving:\n" msgstr "Erreur lors du déplacement :\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Erreur au chargement :" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Impossible de mettre à jour les dépendences :\n" @@ -2690,6 +2739,16 @@ msgid "Renaming folder:" msgstr "Renommer le dossier :" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Dupliquer" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renommer le dossier :" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Développer tout" @@ -2698,10 +2757,6 @@ msgid "Collapse all" msgstr "Réduire tout" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copier le chemin" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renommer.." @@ -2710,12 +2765,9 @@ msgid "Move To.." msgstr "Déplacer vers…" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nouveau dossier.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Montrer dans le gestionnaire de fichiers" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Ouvrir une scène" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2730,6 +2782,11 @@ msgid "View Owners.." msgstr "Voir les propriétaires…" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Dupliquer" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Répertoire précédent" @@ -2826,6 +2883,16 @@ msgid "Importing Scene.." msgstr "Importation de la scène…" #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transfert vers des lightmaps :" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Générer AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Lancement du script personnalisé…" @@ -3073,16 +3140,15 @@ msgstr "Copier l'animation" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Effet pelure d'oignon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Activer l'effet pelure d'oignon" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Sections :" +msgstr "Directions" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3090,29 +3156,28 @@ msgid "Past" msgstr "Coller" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Fonctionnalités" +msgstr "Futur" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profondeur" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 étape" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 étapes" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 étapes" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "seul les différence" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3120,7 +3185,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inclure les Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3397,6 +3462,7 @@ msgid "last" msgstr "dern" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Tout" @@ -3438,6 +3504,28 @@ msgstr "En test" msgid "Assets ZIP File" msgstr "Fichier ZIP de données" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transfert vers des lightmaps :" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Aperçu" @@ -3576,7 +3664,6 @@ msgid "Toggles snapping" msgstr "Active le magnétisme" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Aligner sur la grille" @@ -3757,16 +3844,6 @@ msgstr "Erreur d'instanciation de la scène depuis %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Pas de parent dans lequel instancier l'enfant." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" "Cette opération ne peut être réalisée uniquement avec un seul nÅ“ud " @@ -3823,19 +3900,16 @@ msgid "Flat1" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease in" -msgstr "Ease in" +msgstr "Lent sur le début" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease out" -msgstr "Ease out" +msgstr "Lent sur la fin" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Smoothstep" -msgstr "Pas lisse" +msgstr "Progression douce" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" @@ -3883,7 +3957,7 @@ msgstr "Maintenez l'appui sur Maj pour éditer les tangentes individuellement" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "Créer sonde IG (Illumination Globale)" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3966,6 +4040,22 @@ msgid "Create Navigation Mesh" msgstr "Créer un maillage de navigation" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Le MeshInstance n'a pas de maillage !" @@ -4007,6 +4097,20 @@ msgid "Create Outline Mesh.." msgstr "Créer un maillage de contour…" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Affichage" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Affichage" + +#: 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 "Créer un maillage de contour" @@ -4126,7 +4230,7 @@ msgstr "Calculer !" #: editor/plugins/navigation_mesh_editor_plugin.cpp #, fuzzy msgid "Bake the navigation mesh.\n" -msgstr "Créer un maillage de navigation" +msgstr "Créer un maillage de navigation\n" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." @@ -4183,7 +4287,7 @@ msgstr "Paramétrage du générateur de navigation dans la grille :" #: editor/plugins/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "Analyse de la géométrie" +msgstr "Analyse de la géométrie..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" @@ -4194,10 +4298,6 @@ msgid "Create Navigation Polygon" msgstr "Créer Polygone de Navigation" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Effacer Masque d'Émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Générer AABB" @@ -4216,10 +4316,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 "Set Emission Mask" -msgstr "Définir le masque d'émission" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Générer Rect de Visibilité" @@ -4228,6 +4324,10 @@ msgid "Load Emission Mask" msgstr "Charger Masque d'Émission" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Effacer Masque d'Émission" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Particules" @@ -4286,10 +4386,6 @@ msgid "Create Emission Points From Node" msgstr "Créer Points d'Émission Depuis Noeud" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Effacer l'Émetteur" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Créer Émetteur" @@ -4573,11 +4669,13 @@ msgstr "Trier" #: 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 "Déplacer vers le haut" #: 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 "Déplacer vers le bas" @@ -4593,7 +4691,7 @@ msgstr "Script précédent" msgid "File" msgstr "Fichier" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nouveau" @@ -4606,6 +4704,11 @@ msgid "Soft Reload Script" msgstr "Recharger le script (mode doux)" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copier le chemin" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Précédent dans l'historique" @@ -4797,11 +4900,7 @@ msgstr "Cloner en dessous" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Aller à la ligne" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "Dérouler la ligne" #: editor/plugins/script_text_editor.cpp @@ -5038,9 +5137,8 @@ msgid "Scaling: " msgstr "Échelle : " #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translating: " -msgstr "Traductions : " +msgstr "Traduction : " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." @@ -5130,6 +5228,14 @@ msgstr "Images par secondes" msgid "Align with view" msgstr "Aligner avec la vue" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Pas de parent dans lequel instancier l'enfant." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Affichage normal" @@ -5237,6 +5343,20 @@ msgid "Scale Mode (R)" msgstr "Mode de mise à l'échelle (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordonnées locales" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Mode de mise à l'échelle (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Mode d'aimantation :" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vue de dessous" @@ -5309,10 +5429,6 @@ msgid "Configure Snap.." msgstr "Configurer la grille…" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordonnées locales" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dialogue de transformation…" @@ -5354,6 +5470,10 @@ msgid "Settings" msgstr "Paramètres" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Paramètres d'alignement" @@ -5738,6 +5858,11 @@ msgid "Merge from scene?" msgstr "Fusionner depuis la scène ?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet…" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Créer depuis la scène" @@ -5749,6 +5874,10 @@ msgstr "Fusionner depuis la scène" msgid "Error" msgstr "Erreur" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annuler" + #: editor/project_export.cpp msgid "Runnable" msgstr "Activable" @@ -5873,10 +6002,6 @@ msgid "Imported Project" msgstr "Projet importé" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Ce serait une bonne idée de donner un nom à votre projet." @@ -6040,6 +6165,9 @@ 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 ?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6147,8 +6275,9 @@ msgid "Joypad Button Index:" msgstr "Index de bouton de la manette de jeu :" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Ajouter une action d'entrée" +#, fuzzy +msgid "Erase Input Action" +msgstr "Effacer l'événement d'action d'entrée" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6216,6 +6345,10 @@ msgid "Already existing" msgstr "Existe déjà " #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Ajouter une action d'entrée" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Erreur d'enregistrement des paramètres." @@ -6392,6 +6525,10 @@ msgid "New Script" msgstr "Nouveau script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Rendre unique" @@ -6423,6 +6560,11 @@ msgstr "Bit %d, valeur %d." msgid "On" msgstr "Activé" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Ajouter vide" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Définir" @@ -6431,10 +6573,6 @@ msgstr "Définir" msgid "Properties:" msgstr "Propriétés :" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Sections :" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Sélectionnez une propriété" @@ -7003,6 +7141,10 @@ msgstr "Définir depuis l'arbre" msgid "Shortcuts" msgstr "Raccourcis" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Changer le rayon d'une lumière" @@ -7051,16 +7193,56 @@ msgstr "Changer particules AABB" msgid "Change Probe Extents" msgstr "Changer les ampleurs de la sonde" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Supprimer point de courbe" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Copier vers la plate-forme…" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Bibliothèque" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Bibliothèque" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "État :" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliothèques: " @@ -7771,6 +7953,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin requiert un nÅ“ud enfant ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Tracer les maillages" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Tracer les maillages" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Finalisation du tracer" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Tracer les maillages" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7805,10 +8006,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Tracer les maillages" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Finalisation du tracer" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7877,10 +8074,6 @@ msgid "Add current color as a preset" msgstr "Ajouter la couleur courante comme pré-réglage" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annuler" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerte !" @@ -7889,9 +8082,8 @@ msgid "Please Confirm..." msgstr "Veuillez confirmer…" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Sélectionner une méthode" +msgstr "Sélectionnez ce dossier" #: scene/gui/popup.cpp msgid "" @@ -7954,6 +8146,30 @@ msgstr "Erreur lors du chargement de la police." msgid "Invalid font size." msgstr "Taille de police invalide." +#~ msgid "Move Add Key" +#~ msgstr "Mouvement Ajouter une clé" + +#~ msgid "Create Subscription" +#~ msgstr "Créer une connexion" + +#~ msgid "List:" +#~ msgstr "Liste :" + +#~ msgid "Set Emission Mask" +#~ msgstr "Définir le masque d'émission" + +#~ msgid "Clear Emitter" +#~ msgstr "Effacer l'Émetteur" + +#~ msgid "Fold Line" +#~ msgstr "Masquer la ligne" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Sections :" + #~ msgid "Cannot navigate to '" #~ msgstr "Ne peux pas acceder à '" @@ -8496,9 +8712,6 @@ msgstr "Taille de police invalide." #~ msgid "Making BVH" #~ msgstr "Création du BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transfert vers des lightmaps :" - #~ msgid "Allocating Texture #" #~ msgstr "Allocation de la texture #" @@ -8652,9 +8865,6 @@ msgstr "Taille de police invalide." #~ msgid "Del" #~ msgstr "Supprimer" -#~ msgid "Copy To Platform.." -#~ msgstr "Copier vers la plate-forme…" - #~ msgid "just pressed" #~ msgstr "vient d'être appuyé" diff --git a/editor/translations/he.po b/editor/translations/he.po index 5599828bfd..b4fbcb9123 100644 --- a/editor/translations/he.po +++ b/editor/translations/he.po @@ -3,13 +3,14 @@ # Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# Ben Golan <golanben4@gmail.com>, 2017. # Luc Stepniewski <lior@gradstein.info>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-24 09:47+0000\n" -"Last-Translator: Luc Stepniewski <lior@gradstein.info>\n" +"PO-Revision-Date: 2017-12-10 12:47+0000\n" +"Last-Translator: Ben Golan <golanben4@gmail.com>\n" "Language-Team: Hebrew <https://hosted.weblate.org/projects/godot-engine/" "godot/he/>\n" "Language: he\n" @@ -24,10 +25,10 @@ msgstr "מושבת" #: editor/animation_editor.cpp msgid "All Selection" -msgstr "" +msgstr "כל ×”××œ×ž× ×˜×™× ×©× ×‘×—×¨×•" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -39,7 +40,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -531,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -548,7 +549,7 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +msgid "Create New %s" msgstr "" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -563,7 +564,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -600,6 +601,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -700,9 +702,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -841,6 +844,10 @@ 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 "" @@ -888,8 +895,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -902,6 +909,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1052,7 +1063,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1060,10 +1072,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1076,6 +1084,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1125,6 +1141,22 @@ msgstr "" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1172,10 +1204,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1351,7 +1379,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2241,6 +2270,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2376,7 +2413,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2423,7 +2460,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2514,6 +2551,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2546,31 +2587,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2586,6 +2627,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2678,6 +2723,14 @@ 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 "" @@ -3240,6 +3293,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3281,6 +3335,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3415,7 +3490,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3595,16 +3669,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3796,6 +3860,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3836,6 +3916,18 @@ 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 "" @@ -4012,10 +4104,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4033,15 +4121,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4103,10 +4191,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4389,11 +4473,13 @@ 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 "" @@ -4409,7 +4495,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4422,6 +4508,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4608,11 +4698,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4940,6 +5026,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5044,6 +5138,18 @@ 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 "" @@ -5116,10 +5222,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5161,6 +5263,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5543,6 +5649,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5554,6 +5664,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5671,10 +5785,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5931,7 +6041,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -5999,6 +6109,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6175,6 +6289,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6206,6 +6324,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6214,10 +6336,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6767,6 +6885,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6815,15 +6937,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7472,6 +7630,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7500,10 +7674,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7556,10 +7726,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" diff --git a/editor/translations/hi.po b/editor/translations/hi.po index c5177b4aa8..4b77c00e83 100644 --- a/editor/translations/hi.po +++ b/editor/translations/hi.po @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "सà¤à¥€ खंड" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ निधि" #: editor/animation_editor.cpp #, fuzzy @@ -42,7 +43,8 @@ msgid "Anim Change Transform" msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ परिणत" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "à¤à¤¨à¥€à¤®à¥‡à¤¶à¤¨ परिवरà¥à¤¤à¤¨ निधि" #: editor/animation_editor.cpp @@ -545,8 +547,8 @@ msgstr "कनेकà¥à¤Ÿ करने के लिठसंकेत:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" +msgid "Disconnect '%s' from '%s'" +msgstr "जà¥à¤¡à¤¿à¤¯à¥‡ '%s' to '%s'" #: editor/connections_dialog.cpp #, fuzzy @@ -563,7 +565,8 @@ msgid "Signals" msgstr "संकेत" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "à¤à¤• नया बनाà¤à¤‚" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -578,7 +581,7 @@ msgstr "हाल ही में किया:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp #, fuzzy msgid "Search:" msgstr "खोज कर:" @@ -621,6 +624,7 @@ msgstr "" "पà¥à¤¨à¤ƒ लोड होने पर परिवरà¥à¤¤à¤¨ पà¥à¤°à¤à¤¾à¤µà¥€ होंगे।" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Dependencies" msgstr "निरà¥à¤à¤°à¤¤à¤¾" @@ -726,9 +730,10 @@ msgid "Delete selected files?" msgstr "चयनित फ़ाइलें हटाà¤à¤‚?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "को हटा दें" @@ -874,6 +879,11 @@ msgid "Rename Audio Bus" msgstr "ऑडियो बस का नाम बदलें" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "ऑडियो बस सोलो टॉगल करें" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "ऑडियो बस सोलो टॉगल करें" @@ -924,8 +934,8 @@ msgstr "उपमारà¥à¤—" msgid "Bus options" msgstr "बस विकलà¥à¤ª" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" @@ -938,6 +948,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1088,7 +1102,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1096,10 +1111,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1112,6 +1123,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1161,6 +1180,22 @@ msgstr "" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1208,10 +1243,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1387,7 +1418,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2277,6 +2309,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2412,7 +2452,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2459,8 +2499,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "जà¥à¤¡à¤¿à¤¯à¥‡" #: editor/export_template_manager.cpp msgid "Connected" @@ -2550,6 +2591,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "लोड होने मे तà¥à¤°à¥à¤Ÿà¤¿:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2582,31 +2628,33 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2622,6 +2670,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2714,6 +2767,14 @@ 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 "" @@ -3277,6 +3338,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3318,6 +3380,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3452,7 +3535,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3632,16 +3714,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3833,6 +3905,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3873,6 +3961,18 @@ 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 "" @@ -4049,10 +4149,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4070,15 +4166,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4140,10 +4236,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4426,11 +4518,13 @@ 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 "" @@ -4446,7 +4540,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4459,6 +4553,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4645,11 +4743,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4977,6 +5071,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5081,6 +5183,18 @@ 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 "" @@ -5153,10 +5267,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5198,6 +5308,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5580,6 +5694,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5591,6 +5709,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5708,10 +5830,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5968,7 +6086,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6036,6 +6154,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6212,6 +6334,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6243,6 +6369,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6251,10 +6381,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6804,6 +6930,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6852,15 +6982,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7509,6 +7675,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7537,10 +7719,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7593,10 +7771,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7655,3 +7829,7 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "गलत फॉणà¥à¤Ÿ का आकार |" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "सदसà¥à¤¯à¤¤à¤¾ बनाà¤à¤‚" diff --git a/editor/translations/hu.po b/editor/translations/hu.po index 4bd241b809..aec0003e77 100644 --- a/editor/translations/hu.po +++ b/editor/translations/hu.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" -"Last-Translator: Nagy Lajos <neutron9707@gmail.com>\n" +"PO-Revision-Date: 2017-12-01 05:47+0000\n" +"Last-Translator: Sandor Domokos <sandor.domokos@gmail.com>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/godot-engine/" "godot/hu/>\n" "Language: hu\n" @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "Mind kiválaszt" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Hozzáadás kulcs mozgatása" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animáció érték váltás" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +42,8 @@ msgid "Anim Change Transform" msgstr "Animáció átalakÃtó váltás" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animáció érték váltás" #: editor/animation_editor.cpp @@ -139,7 +141,7 @@ msgstr "Kiválasztás átméretezése" #: editor/animation_editor.cpp msgid "Scale From Cursor" -msgstr "" +msgstr "Kijelölés a kurzortól" #: editor/animation_editor.cpp msgid "Goto Next Step" @@ -188,11 +190,11 @@ msgstr "Animáció megtisztÃtása" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "" +msgstr "ÚJ útvonal létrehozása %s -hez és kulcs beillesztése?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "" +msgstr "Létrehoz %d ÚJ útvonalat és beilleszti a kulcsokat?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -209,19 +211,19 @@ msgstr "Animáció létrehozása és beillesztése" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "" +msgstr "Animáció útvonal & kulcs beillesztése" #: editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "" +msgstr "Animáció kulcs beillesztése" #: editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "" +msgstr "Csak animáció változtatása" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "" +msgstr "Animáció hurok változtatása" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" @@ -534,7 +536,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -551,7 +553,8 @@ msgid "Signals" msgstr "Jelzések" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Új létrehozása" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -566,7 +569,7 @@ msgstr "Legutóbbi:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Keresés:" @@ -603,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "FüggÅ‘ségek" @@ -703,9 +707,10 @@ msgid "Delete selected files?" msgstr "Törli a kiválasztott fájlokat?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Töröl" @@ -848,6 +853,11 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Tömb értékének megváltoztatása" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -895,8 +905,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -909,6 +919,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1059,7 +1073,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1067,10 +1082,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1083,6 +1094,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1132,6 +1151,22 @@ msgstr "" msgid "Select Current Folder" msgstr "" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Útvonal másolása" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1179,10 +1214,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1358,7 +1389,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2248,6 +2280,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2383,7 +2423,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2430,8 +2470,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Kapcsolódás..." #: editor/export_template_manager.cpp msgid "Connected" @@ -2521,6 +2562,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Hiba betöltéskor:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2553,31 +2599,32 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Kiválasztás megkettÅ‘zése" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Útvonal másaolása" +msgid "Expand all" +msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2593,6 +2640,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Animáció kulcs megkettÅ‘zése" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2685,6 +2737,14 @@ 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 "" @@ -2933,9 +2993,8 @@ msgid "Enable Onion Skinning" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "LeÃrás:" +msgstr "Irányok" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" @@ -3248,6 +3307,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3289,6 +3349,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3423,7 +3504,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3603,16 +3683,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3804,6 +3874,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3844,6 +3930,18 @@ 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 "" @@ -4020,10 +4118,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4041,15 +4135,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4111,10 +4205,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4397,11 +4487,13 @@ 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 "" @@ -4417,7 +4509,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4430,6 +4522,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Útvonal másolása" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4616,11 +4713,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4948,6 +5041,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5052,6 +5153,18 @@ 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 "" @@ -5124,10 +5237,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5169,6 +5278,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5551,6 +5664,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5562,6 +5679,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Mégse" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5679,10 +5800,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5939,7 +6056,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6007,6 +6124,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6183,6 +6304,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6214,6 +6339,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6222,10 +6351,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6775,6 +6900,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6823,15 +6952,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Jelenlegi nyomvonal felfelé mozgatása." + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7480,6 +7646,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7508,10 +7690,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7564,10 +7742,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Mégse" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Figyelem!" @@ -7595,7 +7769,7 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "(Másik)" +msgstr "(Más)" #: scene/main/scene_tree.cpp msgid "" @@ -7631,3 +7805,6 @@ msgstr "Hiba a betűtÃpus betöltésekor." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "Érvénytelen betűtÃpus méret." + +#~ msgid "Move Add Key" +#~ msgstr "Hozzáadás kulcs mozgatása" diff --git a/editor/translations/id.po b/editor/translations/id.po index ad3ddb7862..137e404750 100644 --- a/editor/translations/id.po +++ b/editor/translations/id.po @@ -9,6 +9,7 @@ # Damar Inderajati <damarind@gmail.com>, 2017. # Damar S. M <the.last.walla@gmail.com>, 2017. # Khairul Hidayat <khairulcyber4rt@gmail.com>, 2016. +# Romi Kusuma Bakti <romikusumab@gmail.com>, 2017. # Sofyan Sugianto <sofyanartem@gmail.com>, 2017. # Tom My <tom.asadinawan@gmail.com>, 2017. # yursan9 <rizal.sagi@gmail.com>, 2016. @@ -16,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-23 18:47+0000\n" -"Last-Translator: Damar Inderajati <damarind@gmail.com>\n" +"PO-Revision-Date: 2017-12-11 10:47+0000\n" +"Last-Translator: Romi Kusuma Bakti <romikusumab@gmail.com>\n" "Language-Team: Indonesian <https://hosted.weblate.org/projects/godot-engine/" "godot/id/>\n" "Language: id\n" @@ -35,8 +36,9 @@ msgid "All Selection" msgstr "Semua pilihan" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Pindahkan Kunci Tambah" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Ubah Nilai Animasi" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -47,7 +49,8 @@ msgid "Anim Change Transform" msgstr "Ubah Transformasi Animasi" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Ubah Nilai Animasi" #: editor/animation_editor.cpp @@ -59,9 +62,8 @@ msgid "Anim Add Track" msgstr "Tambah Trek Anim" #: editor/animation_editor.cpp -#, fuzzy msgid "Anim Duplicate Keys" -msgstr "Duplikat Tombol Anim" +msgstr "Tombol Duplikat Anim" #: editor/animation_editor.cpp msgid "Move Anim Track Up" @@ -372,7 +374,7 @@ msgstr "Pergi ke Baris" #: editor/code_editor.cpp msgid "Line Number:" -msgstr "Baris Nomor:" +msgstr "Nomor Baris:" #: editor/code_editor.cpp msgid "No Matches" @@ -385,11 +387,11 @@ msgstr "Diganti kejadian (kejadian-kejadian) %d." #: editor/code_editor.cpp msgid "Replace" -msgstr "Ubah" +msgstr "Ganti" #: editor/code_editor.cpp msgid "Replace All" -msgstr "Ubah Semua" +msgstr "Ganti Semua" #: editor/code_editor.cpp msgid "Match Case" @@ -544,8 +546,9 @@ msgid "Connecting Signal:" msgstr "Menyambungkan Sinyal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Buat Subskribsi" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Sambungkan '%s' ke '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -561,7 +564,8 @@ msgid "Signals" msgstr "Sinyal-sinyal" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Buat Baru" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -576,7 +580,7 @@ msgstr "Saat ini:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Cari:" @@ -617,6 +621,7 @@ msgstr "" "Perubahan-perubahan akan terjadi ketika dimuat ulang." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Ketergantungan" @@ -722,9 +727,10 @@ msgid "Delete selected files?" msgstr "Hapus file yang dipilih?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Hapus" @@ -872,6 +878,11 @@ msgid "Rename Audio Bus" msgstr "Namai kembali Autoload" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alih Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Alih Audio Bus Solo" @@ -920,8 +931,8 @@ msgstr "Jalan Lingkar" msgid "Bus options" msgstr "Opsi Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Gandakan" @@ -936,6 +947,10 @@ msgid "Delete Effect" msgstr "Hapus yang Dipilih" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Tambah Suara Bus" @@ -1094,7 +1109,8 @@ msgstr "Path:" msgid "Node Name:" msgstr "Nama Node:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nama" @@ -1102,10 +1118,6 @@ msgstr "Nama" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Daftar:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Memperbaharui Scene" @@ -1118,6 +1130,14 @@ msgstr "Menyimpan perubahan-perubahan lokal.." msgid "Updating scene.." msgstr "Memperbaharui scene.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1169,6 +1189,23 @@ msgstr "File telah ada, Overwrite?" msgid "Select Current Folder" msgstr "Buat Folder" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Tampilkan di Manajer Berkas" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "Buat Folder" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Segarkan" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Semua diakui" @@ -1219,10 +1256,6 @@ msgid "Go Up" msgstr "Naik" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Segarkan" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Beralih File Tersembunyi" @@ -1415,7 +1448,8 @@ msgstr " Keluaran:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Bersihkan" @@ -2393,6 +2427,16 @@ msgstr "Diri" msgid "Frame #:" msgstr "Bingkai #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Waktu:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Panggil" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Pilih perangkat pada daftar" @@ -2532,8 +2576,9 @@ msgstr "Tidak ada respon." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Menguji" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2585,7 +2630,7 @@ msgstr "Menyambungkan.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Menyambungkan.." #: editor/export_template_manager.cpp @@ -2687,6 +2732,11 @@ msgstr "Error memuat:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "Error saat memuat:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "Scene '%s' memiliki dependensi yang rusak:" @@ -2722,15 +2772,21 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Gandakan" #: editor/filesystem_dock.cpp -msgid "Collapse all" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Gandakan" + +#: editor/filesystem_dock.cpp +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2744,12 +2800,8 @@ msgstr "Pindah Ke.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "Buat Folder" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Tampilkan di Manajer Berkas" +msgid "Open Scene(s)" +msgstr "Buka Scene" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2764,6 +2816,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Gandakan" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Direktori Sebelumnya" @@ -2860,6 +2917,14 @@ 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 "" @@ -3436,6 +3501,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Semua" @@ -3477,6 +3543,28 @@ msgstr "Menguji" msgid "Assets ZIP File" msgstr "Aset-aset File ZIP" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Ganti Radius Lampu" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3616,7 +3704,6 @@ msgid "Toggles snapping" msgstr "Beralih Breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3798,16 +3885,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -4005,6 +4082,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4045,6 +4138,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "File:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "File:" + +#: 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 "" @@ -4222,10 +4329,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4243,15 +4346,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4313,10 +4416,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4604,11 +4703,13 @@ msgstr "Sortir:" #: 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 "" @@ -4624,7 +4725,7 @@ msgstr "" msgid "File" msgstr "Berkas" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Baru" @@ -4637,6 +4738,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Salin Resource" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4828,14 +4934,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Pergi ke Baris" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5164,6 +5266,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5276,6 +5386,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Metode Publik:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5350,10 +5473,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5395,6 +5514,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5782,6 +5905,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5793,6 +5921,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Batal" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5917,10 +6049,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6189,8 +6317,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Beri Skala Seleksi" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6262,6 +6391,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6442,6 +6575,10 @@ msgid "New Script" msgstr "Scene Baru" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Membuat sub-Resource Unik" @@ -6478,6 +6615,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6486,10 +6627,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -7062,6 +7199,10 @@ msgstr "Menyetel Dari Keturunan" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Ganti Radius Lampu" @@ -7112,16 +7253,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Hapus Sinyal" + +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "Ekspor Pustaka" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "Ekspor Pustaka" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "Ekspor Pustaka" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7846,6 +8026,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7884,10 +8080,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7952,10 +8144,6 @@ msgid "Add current color as a preset" msgstr "Tambah warna sekarang sebagai preset" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Batal" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Peringatan!" @@ -8028,6 +8216,15 @@ msgstr "Error memuat font." msgid "Invalid font size." msgstr "Ukuran font tidak sah." +#~ msgid "Move Add Key" +#~ msgstr "Pindahkan Kunci Tambah" + +#~ msgid "Create Subscription" +#~ msgstr "Buat Subskribsi" + +#~ msgid "List:" +#~ msgstr "Daftar:" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/is.po b/editor/translations/is.po new file mode 100644 index 0000000000..56baed878b --- /dev/null +++ b/editor/translations/is.po @@ -0,0 +1,7791 @@ +# Icelandic translation of the Godot Engine editor +# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur +# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# This file is distributed under the same license as the Godot source code. +# +# Jóhannes G. Þorsteinsson <johannesg@johannesg.com>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2017-12-05 21:47+0000\n" +"Last-Translator: Jóhannes G. Þorsteinsson <johannesg@johannesg.com>\n" +"Language-Team: Icelandic <https://hosted.weblate.org/projects/godot-engine/" +"godot/is/>\n" +"Language: is\n" +"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 2.18-dev\n" + +#: editor/animation_editor.cpp +msgid "Disabled" +msgstr "Óvirkt" + +#: editor/animation_editor.cpp +msgid "All Selection" +msgstr "Allt Val" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Hreyfimynd Breyta Gildi" + +#: editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "Hreyfimynd Breyta Stöðuskiptum" + +#: editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "Hreyfimynd Breyta Ummyndun" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Hreyfimynd Breyta Gildi" + +#: editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "Hreyfimynd Breyta Kalli" + +#: editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "Hreyfimynd Bæta Við Rás" + +#: editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Hreyfimynd Tvöfalda Lykla" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "Færa Hreyfimynda Rás Upp" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "Færa Hreyfimynda Rás Niður" + +#: editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "Fjarlægja Hreyfimynda Rás" + +#: editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "Sitja Stöðuskipti á:" + +#: editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "Endurnefna Hreyfimyndarás" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "Breyta Brúun á Hreyfimyndarás" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Wrap Mode" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp +#: editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: editor/animation_editor.cpp editor/create_dialog.cpp +#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +#: editor/plugins/mesh_instance_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Select an AnimationPlayer from the Scene Tree to edit animations." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replaced %d occurrence(s)." +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: editor/code_editor.cpp 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/project_settings_editor.cpp +msgid "Search" +msgstr "" + +#: editor/code_editor.cpp editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom In" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom Out" +msgstr "" + +#: editor/code_editor.cpp +msgid "Reset Zoom" +msgstr "" + +#: editor/code_editor.cpp editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: editor/code_editor.cpp +msgid "Col:" +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/plugins/animation_tree_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/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 "Connecting Signal:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect '%s' from '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: editor/connections_dialog.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp +msgid "Signals" +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/editor_node.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Search:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp +#: editor/script_editor_debugger.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_manager.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.cpp editor/editor_node.cpp editor/filesystem_dock.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.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 +msgid "Cannot remove:\n" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Scene failed to load 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/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 "Thanks!" +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 editor/project_manager.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 editor/project_manager.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/tile_map_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 "Create a new Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.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 +#: editor/plugins/animation_player_editor_plugin.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_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 "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 +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 editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp +msgid "Path:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp +msgid "Name" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: editor/editor_data.cpp +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 +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 "Packing" +msgstr "" + +#: editor/editor_export.cpp platform/javascript/export/export.cpp +msgid "Template file not found:\n" +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 Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_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/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 scene/gui/file_dialog.cpp +msgid "Go to parent folder" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/script_editor_debugger.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/editor_node.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: editor/editor_help.cpp editor/property_editor.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 "Members" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Members:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items:" +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 "Description" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Property Description:" +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 "Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this method. Please help us by [color=" +"$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: editor/editor_log.cpp +msgid "Output:" +msgstr "" + +#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/property_editor.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_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Save Resource As.." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "I see.." +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 +msgid "Can't open '%s'." +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 "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: editor/editor_node.cpp +msgid "Failed to load resource." +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 "Expand all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Collapse all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open in Help" +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 "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' 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 editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Ugh" +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 +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 +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 +msgid "Run Script" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.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 editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/editor_node.cpp +msgid "Help" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Classes" +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 +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 "Spins when the editor window repaints!" +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 +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: editor/editor_node.cpp +msgid "Changes may be lost!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: editor/editor_node.cpp +msgid "Node" +msgstr "" + +#: editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.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 "Installed Plugins:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Start Profiling" +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 editor/script_editor_debugger.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_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_settings.cpp +msgid "Default (Same as Editor)" +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 +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." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"Invalid version.txt format inside templates. Revision is not a valid " +"identifier." +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:\n" +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 "Can't write file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Complete." +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: " +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 "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 "" +"\n" +"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.\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error moving:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Unable to update dependencies:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Provided name contains invalid characters" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided." +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 "Expand all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Collapse all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Rename.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move To.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Open Scene(s)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View Owners.." +msgstr "" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Hreyfimynd Tvöfalda Lykla" + +#: 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 folder status as Favorite" +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.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Rename" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Remove from Group" +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/cube_grid_theme_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/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Create a new polygon from scratch" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "" +"Edit existing polygon:\n" +"LMB: Move Point.\n" +"Ctrl+LMB: Split Segment.\n" +"RMB: Erase Point." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Delete points" +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 "ERROR: Invalid animation name!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: 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 +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add 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 "ERROR: No animation to copy!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: 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 "ERROR: 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 "Create new animation in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +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 "Edit Target Blend Times" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +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 "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/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_player_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Free" +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 "Fetching:" +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 "prev" +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 +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 +msgid "Preview" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_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 Pivot" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +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 "Edit IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +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 "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 +#: 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 "Toggles 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 +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 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 "Make Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +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 +#: 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 "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" +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 "Drag pivot from mouse position" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set pivot at mouse position" +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 +#: 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 +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +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 Poly3D" +msgstr "" + +#: editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +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 "Add/Remove Color Ramp Point" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +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 "" +"No OccluderPolygon2D resource on this node.\n" +"Create and assign one?" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "RMB: Erase Point." +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 +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 "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/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_mesh_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Bake the navigation mesh.\n" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Done!" +msgstr "" + +#: editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generating AABB" +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 "Generate Visibility Rect" +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 "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 "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 "A processor material of type 'ParticlesMaterial' is required." +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 "Generate AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Mesh" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Node" +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 "Generate Visibility AABB" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Out-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove In-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "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 +#: 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 "Split Segment (in curve)" +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_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/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +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 +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit" +msgstr "" + +#: editor/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 +#: 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/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 +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: editor/plugins/resource_preloader_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 "Paste" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Files" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"Close and save changes?\n" +"\"" +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 "Import Theme" +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 "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 "New" +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 Prev" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Next" +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 "Save Theme As" +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.." +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 "Search the class hierarchy." +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 "Create Script" +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 "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Only resources from filesystem can be dropped." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Pick Color" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Case" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Capitalize" +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 +#: 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/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 "Clone Down" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold/Unfold Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Unfold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Complete Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "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 "Goto Next Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find Previous" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Replace.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Function.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Line.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Contextual Help" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp +msgid "Shader" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +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 "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +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 "Rear" +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 "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 "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 "Objects Drawn" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Material Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Shader Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Surface Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Draw Calls" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Vertices" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 +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 "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 "preview" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Select Mode (Q)\n" +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 "Configure Snap.." +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 "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 "Skeleton Gizmo visibility" +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/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 Loop" +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 "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/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Region Rect" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.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 "Separation:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +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 +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +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 "Has" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +msgid "Options" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,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 editor/project_settings_editor.cpp +#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp +msgid "Type:" +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 +msgid "Style" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase 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 "Erase selection" +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 "Rotate 0 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +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 "Tile Set" +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 editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +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 "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 "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 "Export PCK/Zip" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing/corrupted:" +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 "Please choose a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Your project will be created in a non empty folder (you might want to create " +"a new folder)." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a folder that does not contain a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +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 get project.godot in project path." +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 "Couldn't get project.godot in the project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install Project:" +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 "Browse" +msgstr "" + +#: editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't open project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to open more than one project?" +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 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 (anything goes but '/' 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 "Add Input Action Event" +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 "Button 6" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 7" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 8" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 9" +msgstr "" + +#: editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Change" +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 "Device" +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 "Can't 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 editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override For.." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Input Map" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action:" +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 "Pick a Viewport" +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 "New Script" +msgstr "" + +#: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/property_editor.cpp +msgid "Show in File System" +msgstr "" + +#: editor/property_editor.cpp +msgid "Convert To %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Selected node is not a Viewport!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: editor/property_editor.cpp +msgid "On" +msgstr "" + +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + +#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp +msgid "Set" +msgstr "" + +#: editor/property_editor.cpp +msgid "Properties:" +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/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 editor/script_create_dialog.cpp +#: scene/gui/dialogs.cpp +msgid "OK" +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 "Ok" +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 "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 "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 "Editable Children" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Load As Placeholder" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Discard Instancing" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Makes Sense!" +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 "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 editor/scene_tree_editor.cpp +msgid "Open in Editor" +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 "Instance Child Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: editor/scene_tree_dock.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 "Filter nodes" +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_dock.cpp +msgid "Clear!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem 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 +msgid "Instance:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Open script" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is locked.\n" +"Click to unlock" +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 "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 "Path 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 "Warning" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Pick one or more items from the list to display the graph." +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Child Process Connected" +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 "Variable" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +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 "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 Sphere Shape Radius" +msgstr "" + +#: editor/spatial_editor_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 Ray Shape Length" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +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 +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +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 "GridMap Delete Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Duplicate Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Floor:" +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 "Previous Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Floor" +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 "GridMap Settings" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance:" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "Builds" +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 "Functions:" +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 "Add Node" +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 "Condition" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Sequence" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Switch" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Iterator" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "While" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Return" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Call" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Get" +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 "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 "Edit Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Variable:" +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 "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_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 "" + +#: 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:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not open template for export:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Invalid export template:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read custom HTML shell:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read boot splash image file:\n" +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_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/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 scene/3d/particles.cpp +msgid "" +"A material to process the particles is not assigned, so no behavior is " +"imprinted." +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 overriden " +"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/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 "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_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/gi_probe.cpp +msgid "Plotting Meshes" +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 "" +"Nothing is visible because meshes have not been assigned to draw passes." +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "" +"Size changes to RigidBody (in character or rigid modes) will be overriden 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/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +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/gui/color_picker.cpp +msgid "Raw Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Add current color as a preset" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Select this 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/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 Setings (Rendering -> Viewport -" +"> 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 "" + +#~ msgid "Move Add Key" +#~ msgstr "Hreyfa Viðbótar Lykil" diff --git a/editor/translations/it.po b/editor/translations/it.po index 5b0d9a4154..251c29c110 100644 --- a/editor/translations/it.po +++ b/editor/translations/it.po @@ -11,13 +11,14 @@ # Marco Melorio <m.melorio@icloud.com>, 2017. # Myself <whatamidoing.wt@gmail.com>, 2017. # RealAquilus <JamesHeller@live.it>, 2017. +# Sean Bone <seanbone@zumguy.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-25 22:47+0000\n" -"Last-Translator: Myself <whatamidoing.wt@gmail.com>\n" +"PO-Revision-Date: 2017-12-14 12:48+0000\n" +"Last-Translator: anonymous <>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" "godot/it/>\n" "Language: it\n" @@ -36,8 +37,9 @@ msgid "All Selection" msgstr "Seleziona Tutto" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Sposta Aggiunta Key" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Cambia Valore" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -48,7 +50,8 @@ msgid "Anim Change Transform" msgstr "Anim Cambia Transform" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Cambia Valore" #: editor/animation_editor.cpp @@ -543,8 +546,9 @@ msgid "Connecting Signal:" msgstr "Connessione Segnali:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Crea Sottoscrizione" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Connetti '%s' a '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -560,7 +564,8 @@ msgid "Signals" msgstr "Segnali" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Crea Nuovo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -575,7 +580,7 @@ msgstr "Recenti:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Cerca:" @@ -616,6 +621,7 @@ msgstr "" "I cambiamenti avranno effetto quando sarà ricaricata." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dipendenze" @@ -719,9 +725,10 @@ msgid "Delete selected files?" msgstr "Eliminare i file selezionati?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Elimina" @@ -864,6 +871,11 @@ msgid "Rename Audio Bus" msgstr "Rinomina Bus Audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Imposta Bus Audio su Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Imposta Bus Audio su Solo" @@ -911,8 +923,8 @@ msgstr "Bypassa" msgid "Bus options" msgstr "Opzioni bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "duplica" @@ -925,6 +937,10 @@ msgid "Delete Effect" msgstr "Elimina Effetto" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Aggiungi Bus Audio" @@ -1081,7 +1097,8 @@ msgstr "Percorso:" msgid "Node Name:" msgstr "Nome Nodo:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nome" @@ -1089,10 +1106,6 @@ msgstr "Nome" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Aggiornamento Scena" @@ -1105,6 +1118,15 @@ msgstr "Memorizzando i cambiamenti locali.." msgid "Updating scene.." msgstr "Aggiornando la scena.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vuoto)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Si prega di selezionare prima una directory di base" @@ -1151,9 +1173,24 @@ msgid "File Exists, Overwrite?" msgstr "File Esistente, Sovrascrivere?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Crea Cartella" +msgstr "Seleziona Cartella Attuale" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copia Percorso" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostra nel File Manager" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nuova Cartella.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Aggiorna" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1202,10 +1239,6 @@ msgid "Go Up" msgstr "Vai Su" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Aggiorna" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Abilita File Nascosti" @@ -1385,7 +1418,8 @@ msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Rimuovi" @@ -1546,14 +1580,12 @@ msgstr "" "scene per comprendere al meglio questa procedura." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Espandi tutto" +msgstr "Espandi tutte le proprietà " #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Comprimi tutto" +msgstr "Comprimi tutte le proprietà " #: editor/editor_node.cpp msgid "Copy Params" @@ -1829,7 +1861,6 @@ msgid "%d more folders" msgstr "%d altre cartelle" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files" msgstr "%d altri file" @@ -2327,7 +2358,7 @@ msgstr "Frame %" #: editor/editor_profiler.cpp #, fuzzy msgid "Physics Frame %" -msgstr "Frame Fisso %" +msgstr "Frame Fisico %" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp msgid "Time:" @@ -2345,6 +2376,16 @@ msgstr "Se stesso" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Chiama" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Seleziona il dispositivo dall'elenco" @@ -2487,7 +2528,8 @@ msgstr "Nessuna risposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Rich. Fall." #: editor/export_template_manager.cpp @@ -2521,14 +2563,12 @@ msgid "Disconnected" msgstr "Disconnesso" #: editor/export_template_manager.cpp -#, fuzzy msgid "Resolving" -msgstr "Risolvendo.." +msgstr "Risolvendo" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't Resolve" -msgstr "Impossibile risolvete." +msgstr "Impossibile risolvere" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2537,8 +2577,8 @@ msgstr "Connettendo.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" -msgstr "Impossibile connettersi." +msgid "Can't Connect" +msgstr "Impossibile connettersi" #: editor/export_template_manager.cpp msgid "Connected" @@ -2550,19 +2590,17 @@ msgid "Requesting.." msgstr "Richiedendo.." #: editor/export_template_manager.cpp -#, fuzzy msgid "Downloading" -msgstr "Scarica" +msgstr "Download in corso" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connection Error" -msgstr "Connettendo.." +msgstr "Errore di connessione" #: editor/export_template_manager.cpp #, fuzzy msgid "SSL Handshake Error" -msgstr "Carica Errori" +msgstr "Errore nell'Handshake SSL" #: editor/export_template_manager.cpp msgid "Current Version:" @@ -2593,9 +2631,8 @@ msgid "Download Templates" msgstr "Scarica Templates" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select mirror from list: " -msgstr "Seleziona il dispositivo dall'elenco" +msgstr "Seleziona mirror dall'elenco " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" @@ -2638,6 +2675,11 @@ msgid "Error moving:\n" msgstr "Errore spostamento:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Errore in caricamento:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Impossibile aggiornare le dipendenze:\n" @@ -2670,6 +2712,16 @@ msgid "Renaming folder:" msgstr "Rinomina cartella:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "duplica" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Rinomina cartella:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Espandi tutto" @@ -2678,10 +2730,6 @@ msgid "Collapse all" msgstr "Comprimi tutto" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copia Percorso" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Rinomina.." @@ -2690,12 +2738,9 @@ msgid "Move To.." msgstr "Sposta in.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nuova Cartella.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostra nel File Manager" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Apri Scena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2710,6 +2755,11 @@ msgid "View Owners.." msgstr "Vedi Proprietari.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "duplica" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Directory Precedente" @@ -2775,9 +2825,8 @@ msgid "Import with Separate Objects+Materials" msgstr "Importa con Oggetti Separati+Materiali" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Objects+Animations" -msgstr "Importa con Oggetti Separati+Animazioni" +msgstr "Importa con Oggetti Separati e Animazioni" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" @@ -2805,6 +2854,16 @@ msgid "Importing Scene.." msgstr "Importando Scena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Trasferisci a Lightmap:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generando AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Eseguendo Script Personalizzato.." @@ -2830,7 +2889,7 @@ msgstr "Imposta come Default per '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Elimina Default per '%s'" #: editor/import_dock.cpp msgid " Files" @@ -2886,9 +2945,8 @@ msgid "Remove Poly And Point" msgstr "Rimuovi Poligono e Punto" #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Create a new polygon from scratch" -msgstr "Crea un nuovo poligono dal nulla." +msgstr "Crea un nuovo poligono da zero" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -3056,42 +3114,41 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Attiva Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Sezioni:" +msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Incolla" +msgstr "Passato" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Texture" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profondità " #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 Passo" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "2 steps" -msgstr "" +msgstr "2 Passi" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "3 steps" -msgstr "" +msgstr "3 Passi" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Solo Differenze" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3376,6 +3433,7 @@ msgid "last" msgstr "ultimo" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Tutti" @@ -3417,6 +3475,28 @@ msgstr "Testing" msgid "Assets ZIP File" msgstr "ZIP File degli Asset" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Trasferisci a Lightmap:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Anteprima" @@ -3456,27 +3536,22 @@ msgid "Move vertical guide" msgstr "Muovi guida verticale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new vertical guide" msgstr "Crea nuova guida verticale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove vertical guide" msgstr "Rimuovi guida verticale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move horizontal guide" msgstr "Sposta guida orizzontale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new horizontal guide" msgstr "Crea nuova guida orizzontale" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" msgstr "Rimuovi guida orizzontale" @@ -3558,22 +3633,19 @@ msgstr "Modalità di Pan" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Toggles snapping" -msgstr "Abilita Breakpoint" +msgstr "Abilita snapping" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Usa lo Snap" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snapping options" msgstr "Opzioni snapping" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to grid" -msgstr "Modalità Snap:" +msgstr "Allinea alla griglia" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" @@ -3599,16 +3671,17 @@ msgstr "Snapping intelligente" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to parent" -msgstr "Espandi a Genitore" +msgstr "Allinea a Genitore" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Snap to node anchor" -msgstr "" +msgstr "Allinea ad ancora nodo" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to node sides" -msgstr "Snap ai lati del nodo" +msgstr "Allinea ai lati del nodo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" @@ -3617,7 +3690,7 @@ msgstr "Snap ad altri nodi" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy msgid "Snap to guides" -msgstr "Modalità Snap:" +msgstr "Allinea alle guide" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3753,16 +3826,6 @@ msgstr "Errore istanziamento scena da %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Nessun genitore del quale istanziare un figlio." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Questa operazione richiede un solo nodo selezionato." @@ -3873,12 +3936,13 @@ msgid "Remove Curve Point" msgstr "Rimuovi Punto Percorso" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "Aziona Tangente di Curva Lineare" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Tenere Premuto Shift per modificare le tangenti singolarmente" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -3967,6 +4031,22 @@ msgid "Create Navigation Mesh" msgstr "Crea Mesh di Navigazione" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance manca di una Mesh!" @@ -4007,6 +4087,20 @@ msgid "Create Outline Mesh.." msgstr "Crea Mesh di Outline.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vista" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vista" + +#: 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 "Crea Mesh di Outline" @@ -4177,8 +4271,9 @@ msgid "Converting to native navigation mesh..." msgstr "Convertendo a Mesh do Navigazione nativa..." #: editor/plugins/navigation_mesh_generator.cpp +#, fuzzy msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "Impostazioni Generatore Rete di Navigazione" #: editor/plugins/navigation_mesh_generator.cpp #, fuzzy @@ -4194,10 +4289,6 @@ msgid "Create Navigation Polygon" msgstr "Crea Poligono di Navigazione" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Cancella Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generando AABB" @@ -4217,10 +4308,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 "Set Emission Mask" -msgstr "Imposta Maschera Emissione" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Genera Rect Visibilità " @@ -4229,6 +4316,10 @@ msgid "Load Emission Mask" msgstr "Carica Maschera Emissione" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Cancella Maschera Emissione" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "Particelle" @@ -4287,10 +4378,6 @@ msgid "Create Emission Points From Node" msgstr "Crea Punti Emissione Da Nodo" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Cancella Emitter" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Crea Emitter" @@ -4536,10 +4623,13 @@ msgid "Clear Recent Files" msgstr "Elimina File recenti" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "" "Close and save changes?\n" "\"" msgstr "" +"Chiudere e salvare i cambiamenti?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" @@ -4566,8 +4656,9 @@ msgid "Save Theme As.." msgstr "Salva Tema Come.." #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid " Class Reference" -msgstr "" +msgstr " Riferimento di Classe" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -4576,11 +4667,13 @@ msgstr "Ordina:" #: 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 "Sposta Su" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" msgstr "Sposta giù" @@ -4596,7 +4689,7 @@ msgstr "Script Precedente" msgid "File" msgstr "File" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nuovo" @@ -4609,6 +4702,11 @@ msgid "Soft Reload Script" msgstr "Ricarica Script Soft" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copia Percorso" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Cronologia Succ." @@ -4637,8 +4735,9 @@ msgid "Close All" msgstr "Chiudi Tutto" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy msgid "Close Other Tabs" -msgstr "" +msgstr "Chiudi le Altre Schede" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -4741,8 +4840,9 @@ msgstr "" "cui appartengono è caricata" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "Solo le risorse del filesystem possono essere liberate." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -4803,20 +4903,17 @@ msgstr "Clona Sotto" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Vai alla Linea" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +msgid "Fold/Unfold Line" +msgstr "Svolgere Linea" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Piegare Tutte le Linee" #: editor/plugins/script_text_editor.cpp +#, fuzzy msgid "Unfold All Lines" -msgstr "" +msgstr "Svolgere Tutte le Linee" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" @@ -5131,12 +5228,20 @@ msgstr "Vertici" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "" +msgstr "FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" msgstr "Allinea a vista" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Nessun genitore del quale istanziare un figlio." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Mostra Normale" @@ -5247,6 +5352,20 @@ msgid "Scale Mode (R)" msgstr "Modalità Scala (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordinate locali" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modalità Scala (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modalità Snap:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Vista dal Basso" @@ -5320,10 +5439,6 @@ msgid "Configure Snap.." msgstr "Configura Snap..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordinate locali" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Finestra di Transform.." @@ -5365,6 +5480,10 @@ msgid "Settings" msgstr "Impostazioni" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Impostazioni Snap" @@ -5568,11 +5687,11 @@ msgstr "Rimuovi" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Modifica Tema…" #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Menu di modifica dei temi." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" @@ -5757,6 +5876,11 @@ msgid "Merge from scene?" msgstr "Unisci da scena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Crea da Scena" @@ -5768,6 +5892,10 @@ msgstr "Unisci da Scena" msgid "Error" msgstr "Errore" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annulla" + #: editor/project_export.cpp msgid "Runnable" msgstr "Eseguibile" @@ -5847,7 +5975,7 @@ msgstr "Texture" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "Personalizzato (separati da virgola):" #: editor/project_export.cpp #, fuzzy @@ -5886,22 +6014,21 @@ msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"Il tuo progetto verrà creato in una cartella già esistente (forse vorresti " +"creare una nuova cartella?)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." msgstr "" +"Per favore seleziona una cartella che non contiene un file 'project.godot'." #: editor/project_manager.cpp msgid "Imported Project" msgstr "Progetto Importato" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Sarebbe una buona idea dare un nome al tuo progetto." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -6001,6 +6128,8 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"Impossibile eseguire il progetto: le Risorse devono essere importate.\n" +"Per favore modifica il progetto per azionare l'importo iniziale." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" @@ -6017,6 +6146,9 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"Lingua cambiata.\n" +"L'interfaccia utente sarà aggiornata la prossima volta che l'editor o il " +"project manager si avvia." #: editor/project_manager.cpp msgid "" @@ -6059,10 +6191,13 @@ msgid "Can't run project" msgstr "Impossibile connettersi." #: 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?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6170,8 +6305,9 @@ msgid "Joypad Button Index:" msgstr "Indice Pulsante Joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Aggiungi azione di input" +#, fuzzy +msgid "Erase Input Action" +msgstr "Elimina Evento di Azione Input" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6216,7 +6352,7 @@ msgstr "Aggiungi Proprietà Getter" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "Prima seleziona un oggetto di impostazione!" #: editor/project_settings_editor.cpp #, fuzzy @@ -6225,7 +6361,7 @@ msgstr "Proprietà :" #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "L'impostazione '%s' è interna e non può essere rimossa." #: editor/project_settings_editor.cpp #, fuzzy @@ -6243,6 +6379,10 @@ msgid "Already existing" msgstr "Attiva Persistenza" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Aggiungi azione di input" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Errore nel salvare le impostazioni." @@ -6252,7 +6392,7 @@ msgstr "Impostazioni salvate OK." #: editor/project_settings_editor.cpp msgid "Override for Feature" -msgstr "" +msgstr "Sovrascrivi per Caratteristica" #: editor/project_settings_editor.cpp msgid "Add Translation" @@ -6305,7 +6445,7 @@ msgstr "Proprietà :" #: editor/project_settings_editor.cpp msgid "Override For.." -msgstr "" +msgstr "Sovrascrivi Per.." #: editor/project_settings_editor.cpp msgid "Input Map" @@ -6363,7 +6503,7 @@ msgstr "Mostra Ossa" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "Mostra solo le lingue selezionate" #: editor/project_settings_editor.cpp #, fuzzy @@ -6425,6 +6565,10 @@ msgid "New Script" msgstr "Nuovo Script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Crea Ossa" @@ -6459,6 +6603,11 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "On" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Aggiungi vuoto" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Set" @@ -6467,10 +6616,6 @@ msgstr "Set" msgid "Properties:" msgstr "Proprietà :" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Sezioni:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Seleziona Proprietà " @@ -6845,7 +6990,7 @@ msgstr "Percorso di base invalido" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" -msgstr "" +msgstr "Una cartella con lo stesso nome esiste già " #: editor/script_create_dialog.cpp #, fuzzy @@ -6943,7 +7088,7 @@ msgstr "Funzione:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "Scegli uno o più oggetti dalla lista per mostrare il grafico." #: editor/script_editor_debugger.cpp msgid "Errors" @@ -7045,13 +7190,17 @@ msgstr "Imposta da Tree" msgid "Shortcuts" msgstr "Scorciatoie" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Cambia Raggio Luce" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "Cambia l'Angolo di Emissione AudioStreamPlayer3D" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" @@ -7093,23 +7242,63 @@ msgstr "Cambia AABB Particelle" msgid "Change Probe Extents" msgstr "Cambia Estensione Probe" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Rimuovi Punto Percorso" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Copia A Piattaforma.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "Stato:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "Librerie: " #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -7158,7 +7347,7 @@ msgstr "Istanza invalida formato dizionario (sottoclassi invalide)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "L'oggetto non può fornire una lunghezza." #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7172,7 +7361,7 @@ msgstr "Duplica Selezione" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "Piano:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7191,7 +7380,7 @@ msgstr "Scheda precedente" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "Prossimo Piano" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7199,24 +7388,26 @@ msgid "Clip Disabled" msgstr "Disabilitato" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Above" -msgstr "" +msgstr "Allinea Sopra" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Clip Below" -msgstr "" +msgstr "Allinea Sotto" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "Modifica l'Asse X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Modifica l'Asse Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Modifica l'Asse Z" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7234,20 +7425,24 @@ msgid "Cursor Rotate Z" msgstr "Ctrl: Ruota" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate X" -msgstr "" +msgstr "Rotazione all'indietro del Cursore X" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "Rotazione all'indietro del Cursore Y" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "Rotazione all'indietro del Cursore Z" #: modules/gridmap/grid_map_editor_plugin.cpp +#, fuzzy msgid "Cursor Clear Rotation" -msgstr "" +msgstr "Rimuovi Rotazione Cursore" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7280,8 +7475,9 @@ msgid "Pick Distance:" msgstr "Istanza:" #: modules/mono/editor/mono_bottom_panel.cpp +#, fuzzy msgid "Builds" -msgstr "" +msgstr "Costruzioni" #: modules/visual_script/visual_script.cpp msgid "" @@ -7503,7 +7699,7 @@ msgstr "Get" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "Lo Script ha già la funzione '%s'" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -7795,11 +7991,15 @@ msgstr "" "Path2D." #: scene/2d/physics_body_2d.cpp +#, fuzzy msgid "" "Size changes to RigidBody2D (in character or rigid modes) will be overriden " "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." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -7816,31 +8016,55 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "" +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" -msgstr "" +msgstr "ARVRController deve avere un nodo ARVROrigin come suo genitore" #: 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 "" +"L'id del controller non deve essere 0 o questo controller non sarà legato ad " +"un vero controller" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRAnchor deve avere un nodo ARVROrigin come suo genitore" #: 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 "" +"L'id dell'ancora non deve essere 0 o questa ancora non sarà legata ad una " +"vera ancora" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node" -msgstr "" +msgstr "ARVROrigin necessita di un nodo figlio ARVRCamera" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Bliting Immagini" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Bliting Immagini" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +#, fuzzy +msgid "Finishing Plot" +msgstr "Finalizzazione del Plot" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Bliting Immagini" #: scene/3d/collision_polygon.cpp msgid "" @@ -7880,10 +8104,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Bliting Immagini" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7909,6 +8129,9 @@ msgid "" "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." #: scene/3d/remote_transform.cpp msgid "Path property must point to a valid Spatial node to work." @@ -7936,6 +8159,8 @@ msgid "" "VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " "it as a child of a VehicleBody." msgstr "" +"VehicleWheel serve a provvedere un sistema di ruote a VehicleBody. Per " +"favore usalo come figlio di VehicleBody." #: scene/gui/color_picker.cpp #, fuzzy @@ -7947,10 +8172,6 @@ msgid "Add current color as a preset" msgstr "Aggiungi colore attuale come preset" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annulla" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Attenzione!" @@ -7985,7 +8206,7 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(Altro)" #: scene/main/scene_tree.cpp msgid "" @@ -8023,6 +8244,31 @@ msgstr "Errore caricamento font." msgid "Invalid font size." msgstr "Dimensione font Invalida." +#~ msgid "Move Add Key" +#~ msgstr "Sposta Aggiunta Key" + +#~ msgid "Create Subscription" +#~ msgstr "Crea Sottoscrizione" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Imposta Maschera Emissione" + +#~ msgid "Clear Emitter" +#~ msgstr "Cancella Emitter" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "Vai alla Linea" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Sezioni:" + #~ msgid "Cannot navigate to '" #~ msgstr "Impossibile navigare a '" @@ -8563,9 +8809,6 @@ msgstr "Dimensione font Invalida." #~ msgid "Making BVH" #~ msgstr "Creazione BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Trasferisci a Lightmap:" - #~ msgid "Allocating Texture #" #~ msgstr "Allocazione Texture #" @@ -8706,9 +8949,6 @@ msgstr "Dimensione font Invalida." #~ msgid "Del" #~ msgstr "Elim." -#~ msgid "Copy To Platform.." -#~ msgstr "Copia A Piattaforma.." - #~ msgid "just pressed" #~ msgstr "appena premuto" diff --git a/editor/translations/ja.po b/editor/translations/ja.po index dd7f1d468b..f440ad85f4 100644 --- a/editor/translations/ja.po +++ b/editor/translations/ja.po @@ -6,23 +6,26 @@ # akirakido <achts.y@gmail.com>, 2016-2017. # D_first <dntk.daisei@gmail.com>, 2017. # Daisuke Saito <d.saito@coriginate.com>, 2017. +# h416 <shinichiro.hirama@gmail.com>, 2017. # hopping tappy (ãŸã£ã´ã•ã‚“) <hopping.tappy@gmail.com>, 2016-2017. +# Jun Shiozawa <haresecret@gmail.com>, 2017. # Lexi Grafen <shfeedly@gmail.com>, 2017. +# NoahDigital <taku_58@hotmail.com>, 2017. # Tetsuji Ochiai <ochiaixp@gmail.com>, 2017. # Tohru Ike (rokujyouhitoma) <rokujyouhitomajp@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-26 10:47+0000\n" -"Last-Translator: D_first <dntk.daisei@gmail.com>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: NoahDigital <taku_58@hotmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/" "godot/ja/>\n" "Language: ja\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -33,8 +36,9 @@ msgid "All Selection" msgstr "ã™ã¹ã¦é¸æŠž" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "è¿½åŠ ã—ãŸã‚ーを移動" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim 値を変更" #: editor/animation_editor.cpp #, fuzzy @@ -47,8 +51,9 @@ msgid "Anim Change Transform" msgstr "Anim 変形(トランスフォーム)" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "値を変更" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Anim 値を変更" #: editor/animation_editor.cpp #, fuzzy @@ -90,13 +95,14 @@ msgid "Anim Track Change Interpolation" msgstr "Anim トラック補間ã®å¤‰æ›´" #: editor/animation_editor.cpp +#, fuzzy msgid "Anim Track Change Value Mode" -msgstr "Anim トラック値モード変更" +msgstr "Anim トラック 値モードã®å¤‰æ›´" #: editor/animation_editor.cpp #, fuzzy msgid "Anim Track Change Wrap Mode" -msgstr "Anim トラック値モード変更" +msgstr "Anim トラック ラップモードã®å¤‰æ›´" #: editor/animation_editor.cpp msgid "Edit Node Curve" @@ -167,31 +173,24 @@ msgid "Linear" msgstr "ç‰é€Ÿ" #: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Constant" -msgstr "一定" +msgstr "コンスタント" #: editor/animation_editor.cpp -#, fuzzy msgid "In" -msgstr "トランジションイン" +msgstr "イン" #: editor/animation_editor.cpp msgid "Out" -msgstr "トランジションアウト" +msgstr "アウト" #: editor/animation_editor.cpp -#, fuzzy msgid "In-Out" -msgstr "" -"最åˆã«æ–°ã—ã„è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ã—ã¦ã‹ã‚‰ç¾åœ¨ã®è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¢ã‚¦ãƒˆ" -"ã™ã‚‹" +msgstr "イン - アウト" #: editor/animation_editor.cpp msgid "Out-In" -msgstr "" -"最åˆã«ç¾åœ¨ã®è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¢ã‚¦ãƒˆã—ã¦ã‹ã‚‰æ–°ã—ã„è¦ç´ ãŒãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ã‚¤ãƒ³" -"ã™ã‚‹" +msgstr "アウト - イン" #: editor/animation_editor.cpp #, fuzzy @@ -591,8 +590,8 @@ msgstr "シグナルを接続:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "サブスクリプションã®ç”Ÿæˆ" +msgid "Disconnect '%s' from '%s'" +msgstr "'%s' ã‚’ '%s' ã«æŽ¥ç¶š" #: editor/connections_dialog.cpp #, fuzzy @@ -611,7 +610,8 @@ msgid "Signals" msgstr "シグナル" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "æ–°è¦ã«ç”Ÿæˆ" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -627,7 +627,7 @@ msgstr "最近ã®:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp #, fuzzy msgid "Search:" msgstr "検索:" @@ -675,6 +675,7 @@ msgstr "" "変更ã¯å†èªè¾¼æ™‚ã«é©ç”¨ã•れã¾ã™" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ä¾å˜é–¢ä¿‚" @@ -794,9 +795,10 @@ msgid "Delete selected files?" msgstr "é¸æŠžã—ãŸãƒ•ァイルを消去ã—ã¾ã™ã‹?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp #, fuzzy msgid "Delete" msgstr "消去" @@ -895,6 +897,9 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" +"Godot Engineã¯ã€MITライセンスã¨äº’æ›æ€§ã®ã‚ã‚‹ã€å¤šæ•°ã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製ã®ãƒ•リーãŠ" +"よã³ã‚ªãƒ¼ãƒ—ンソースã®ãƒ©ã‚¤ãƒ–ラリã«ä¾å˜ã—ã¦ã„ã¾ã™ã€‚ 以下ã¯ã€ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製コン" +"ãƒãƒ¼ãƒãƒ³ãƒˆã®è‘—作権ãŠã‚ˆã³ãƒ©ã‚¤ã‚»ãƒ³ã‚¹æ¡é …ã®å®Œå…¨ãªãƒªã‚¹ãƒˆã§ã™ã€‚" #: editor/editor_about.cpp #, fuzzy @@ -947,37 +952,37 @@ msgid "Speakers" msgstr "スピーカー" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add Effect" -msgstr "ã‚¤ãƒ™ãƒ³ãƒˆã‚’è¿½åŠ " +msgstr "ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’è¿½åŠ " #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Rename Audio Bus" -msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" +msgstr "オーディオãƒã‚¹åを変更" #: editor/editor_audio_buses.cpp #, fuzzy +msgid "Change Audio Bus Volume" +msgstr "オーディオãƒã‚¹ã‚’ソãƒã«åˆ‡ã‚Šæ›¿ãˆ" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" +msgstr "オーディオãƒã‚¹ã‚’ソãƒã«åˆ‡ã‚Šæ›¿ãˆ" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Toggle Audio Bus Mute" -msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" +msgstr "オーディオãƒã‚¹ã‚’ミュートã«åˆ‡ã‚Šæ›¿ãˆ" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "" +msgstr "オーディオãƒã‚¹ã®ãƒã‚¤ãƒ‘スエフェクト切り替ãˆ" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "" +msgstr "オーディオãƒã‚¹ã®é€ä¿¡å…ˆã‚’é¸æŠž" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Add Audio Bus Effect" -msgstr "オーディオãƒã‚¹ã‚¨ãƒ•ェクトã®è¿½åŠ " +msgstr "オーディオãƒã‚¹ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã‚’è¿½åŠ " #: editor/editor_audio_buses.cpp #, fuzzy @@ -985,45 +990,46 @@ msgid "Move Bus Effect" msgstr "ãƒã‚¹ã‚¨ãƒ•ェクトã®ç§»å‹•" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Delete Bus Effect" -msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»" +msgstr "ãƒã‚¹ã‚¨ãƒ•ェクトを消去" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "" +msgstr "オーディオãƒã‚¹ã‚’ドラッグ・アンド・ドãƒãƒƒãƒ—ã§(å†)整列." #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "ソãƒ" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "" +msgstr "ミュート" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "ãƒã‚¤ãƒ‘ス" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Bus options" -msgstr "サブシーンã®ã‚ªãƒ—ション" +msgstr "ãƒã‚¹ã‚ªãƒ—ション" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "複製" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Reset Volume" -msgstr "ズームをリセット" +msgstr "音é‡ã‚’リセット" #: editor/editor_audio_buses.cpp #, fuzzy msgid "Delete Effect" -msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»" +msgstr "エフェクトを消去" + +#: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" #: editor/editor_audio_buses.cpp #, fuzzy @@ -1032,27 +1038,23 @@ msgstr "ãƒã‚¹ã‚’è¿½åŠ ã™ã‚‹" #: editor/editor_audio_buses.cpp msgid "Master bus can't be deleted!" -msgstr "" +msgstr "マスターãƒã‚¹ã¯å‰Šé™¤ã§ãã¾ã›ã‚“!" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Delete Audio Bus" -msgstr "ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã®æ¶ˆåŽ»" +msgstr "オーディオãƒã‚¹ã®æ¶ˆåŽ»" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Duplicate Audio Bus" -msgstr "アニメーションを複製" +msgstr "オーディオãƒã‚¹ã‚’複製" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Reset Bus Volume" -msgstr "ズームをリセット" +msgstr "ãƒã‚¹ãƒœãƒªãƒ¥ãƒ¼ãƒ をリセット" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Move Audio Bus" -msgstr "移動動作" +msgstr "オーディオãƒã‚¹ã‚’移動" #: editor/editor_audio_buses.cpp #, fuzzy @@ -1060,9 +1062,8 @@ msgid "Save Audio Bus Layout As.." msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’別åã§ä¿å˜" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Location for New Layout.." -msgstr "æ–°ã—ã„レイアウトã®ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³.." +msgstr "æ–°ã—ã„レイアウトã®å ´æ‰€.." #: editor/editor_audio_buses.cpp #, fuzzy @@ -1071,14 +1072,11 @@ msgstr "オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’é–‹ã" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "" +msgstr "'res://default_bus_layout.tres' ファイルãŒã‚りã¾ã›ã‚“." #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Invalid file, not an audio bus layout." -msgstr "" -"ファイル拡張åãŒä¸æ£ã§ã™.\n" -" .fontを使ã£ã¦ãã ã•ã„." +msgstr "䏿£ãªãƒ•ァイルã§ã™.オーディオãƒã‚¹ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã§ã¯ã‚りã¾ã›ã‚“." #: editor/editor_audio_buses.cpp #, fuzzy @@ -1086,9 +1084,8 @@ msgid "Add Bus" msgstr "ãƒã‚¹ã‚’è¿½åŠ ã™ã‚‹" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Create a new Bus Layout." -msgstr "æ–°ã—ã„リソースを生æˆ" +msgstr "æ–°ã—ã„ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’生æˆ." #: editor/editor_audio_buses.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp @@ -1097,9 +1094,8 @@ msgid "Load" msgstr "èªã¿è¾¼ã‚€" #: editor/editor_audio_buses.cpp -#, fuzzy msgid "Load an existing Bus Layout." -msgstr "æ—¢å˜ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’ディスクã‹ã‚‰èªã¿è¾¼ã¿ç·¨é›†ã™ã‚‹" +msgstr "æ—¢å˜ã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’èªã¿è¾¼ã‚€." #: editor/editor_audio_buses.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1118,7 +1114,7 @@ msgstr "標準(既定)" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "" +msgstr "デフォルトã®ãƒã‚¹ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚" #: editor/editor_autoload_settings.cpp #, fuzzy @@ -1209,7 +1205,8 @@ msgstr "Path:" msgid "Node Name:" msgstr "ノードã®åå‰:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp #, fuzzy msgid "Name" msgstr "åå‰" @@ -1219,11 +1216,6 @@ msgstr "åå‰" msgid "Singleton" msgstr "シングルトン" -#: editor/editor_autoload_settings.cpp -#, fuzzy -msgid "List:" -msgstr "リスト:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "シーンを更新" @@ -1237,6 +1229,15 @@ msgstr "ãƒãƒ¼ã‚«ãƒ«ç’°å¢ƒã®å¤‰æ›´ã‚’ä¿å˜ã™ã‚‹.." msgid "Updating scene.." msgstr "シーンを更新ã—ã¦ã„ã¾ã™.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(空)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1293,6 +1294,23 @@ msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚上書ãã—ã¾ã™ã‹ï¼Ÿ" msgid "Select Current 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 "Show In File Manager" +msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "フォルダを作æˆã™ã‚‹.." + +#: editor/editor_file_dialog.cpp +#, fuzzy +msgid "Refresh" +msgstr "å†èªè¾¼" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp #, fuzzy msgid "All Recognized" @@ -1345,11 +1363,6 @@ msgstr "上ã«å‘ã‹ã†" #: editor/editor_file_dialog.cpp #, fuzzy -msgid "Refresh" -msgstr "å†èªè¾¼" - -#: editor/editor_file_dialog.cpp -#, fuzzy msgid "Toggle Hidden Files" msgstr "éš ã—ファイルを切り替ãˆã‚‹" @@ -1471,9 +1484,8 @@ msgid "Public Methods:" msgstr "公開メソッド:" #: editor/editor_help.cpp -#, fuzzy msgid "GUI Theme Items" -msgstr "GUIテーマã®éƒ¨å“:" +msgstr "GUIテーマã®éƒ¨å“" #: editor/editor_help.cpp #, fuzzy @@ -1486,18 +1498,16 @@ msgid "Signals:" msgstr "シグナル:" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations" -msgstr "アニメーション" +msgstr "列挙型" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations:" -msgstr "アニメーション" +msgstr "列挙型:" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "列挙型 " #: editor/editor_help.cpp #, fuzzy @@ -1529,6 +1539,8 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" +"ç¾åœ¨ã€ã“ã®ãƒ—ãƒãƒ‘ティã®èª¬æ˜Žã¯ã‚りã¾ã›ã‚“。[color=$color][url=$url]貢献[/url][/" +"color]ã—ã¦ç§ãŸã¡ã‚’助ã‘ã¦ãã ã•ã„!" #: editor/editor_help.cpp #, fuzzy @@ -1545,6 +1557,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" +"ç¾åœ¨ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®èª¬æ˜Žã¯ã‚りã¾ã›ã‚“。[color=$color][url=$url]貢献[/url][/" +"color]ã—ã¦ç§ãŸã¡ã‚’助ã‘ã¦ãã ã•ã„!" #: editor/editor_help.cpp #, fuzzy @@ -1558,7 +1572,8 @@ msgstr " 出力:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "削除" @@ -1605,7 +1620,7 @@ msgstr "ä¿å˜ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒèµ·ãã¾ã—ãŸ." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "予期ã—ãªã„ファイル終了 '%s'." #: editor/editor_node.cpp #, fuzzy @@ -1694,18 +1709,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚·ãƒ¼ãƒ³ã«æ‰€å±žã—ã¦ã„ã‚‹ãŸã‚ã€ç·¨é›†ã™ã‚‹ã“ã¨ãŒã§ãã¾" +"ã›ã‚“。\n" +"ã“ã®æ‰‹ç¶šãã«ã¤ã„ã¦ã‚ˆã‚Šè‰¯ã„ç†è§£ãŒå¿…è¦ãªã‚‰ã‚·ãƒ¼ãƒ³ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«é–¢ã™ã‚‹ãƒ‰ã‚ュメン" +"トを確èªã—ã¦ä¸‹ã•ã„。" #: 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 "" +"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•れãŸã‹ç¶™æ‰¿ã•れãŸã‚·ãƒ¼ãƒ³ã«æ‰€å±žã—ã¦ã„ã¾ã™ã€‚\n" +"ç¾åœ¨ã®ã‚·ãƒ¼ãƒ³ã‚’ä¿å˜ã™ã‚‹ã¨ã€å¤‰æ›´ãŒç ´æ£„ã•れã¾ã™ã€‚" #: editor/editor_node.cpp msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" +"ã“ã®ãƒªã‚½ãƒ¼ã‚¹ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚‚ã®ã§ã€ç·¨é›†ã§ãã¾ã›ã‚“。インãƒãƒ¼ãƒˆãƒ‘ãƒãƒ«ã®è¨å®š" +"を変更ã—ã€ã‚‚ã†ä¸€åº¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp msgid "" @@ -1714,6 +1737,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"ã“ã®ã‚·ãƒ¼ãƒ³ã¯ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•れãŸã‚‚ã®ã§ã€å¤‰æ›´ãŒä¿å˜ã•れã¾ã›ã‚“。\n" +"インスタンス化ã™ã‚‹ã‹ç¶™æ‰¿ã—ã¦ãã ã•ã„。ドã‚ュメントã®ã‚·ãƒ¼ãƒ³ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«é–¢ã™" +"る部分をå‚ç…§ã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp msgid "" @@ -1721,6 +1747,8 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"リモートオブジェクトã®ãŸã‚ã€å¤‰æ›´ãŒä¿å˜ã•れã¾ã›ã‚“。\n" +"ドã‚ュメントã®ãƒ‡ãƒãƒƒã‚°ã«é–¢ã™ã‚‹éƒ¨åˆ†ã‚’å‚ç…§ã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp #, fuzzy @@ -1840,7 +1868,7 @@ msgstr "ファイルをä¿å˜" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "終了ã™ã‚‹å‰ã«ã€'%s' ã¸ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp #, fuzzy @@ -1930,17 +1958,19 @@ msgstr "ファイルをä¿å˜" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "終了ã™ã‚‹å‰ã«ã€ä»¥ä¸‹ã®ã‚·ãƒ¼ãƒ³ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "" +msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚’é–‹ãå‰ã«ã€ä»¥ä¸‹ã®ã‚·ãƒ¼ãƒ³ã®å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã‹ï¼Ÿ" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"ã“ã®ã‚ªãƒ—ションã¯éžæŽ¨å¥¨ã§ã™ã€‚リフレッシュを強制ã—ãªã‘れã°ãªã‚‰ãªã„状æ³ã¯ãƒã‚°ã¨" +"ã¿ãªã•れã¾ã™ã€‚å ±å‘Šã—ã¦ãã ã•ã„。" #: editor/editor_node.cpp #, fuzzy @@ -1950,10 +1980,14 @@ msgstr "メインシーンを指定" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" +"アドオンプラグインを有効ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: '%s' è¨å®šã®è§£æžã«å¤±æ•—ã—ã¾ã—" +"ãŸã€‚" #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" +"アドオンプラグインã®ã‚¹ã‚¯ãƒªãƒ—トフィールドを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: 'res://" +"addons/%s'." #: editor/editor_node.cpp #, fuzzy @@ -1964,10 +1998,13 @@ msgstr "フォントèªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã€‚" msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"アドオンスクリプトをèªã¿è¾¼ã‚ã¾ã›ã‚“: '%s' エディタプラグインã§ã¯ã‚りã¾ã›ã‚“。" #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"アドオンスクリプトをèªã¿è¾¼ã‚ã¾ã›ã‚“: '%s' スクリプトãŒãƒ„ールモードã§ã¯ã‚りã¾" +"ã›ã‚“。" #: editor/editor_node.cpp msgid "" @@ -2039,7 +2076,7 @@ msgstr "%d 多ã„ファイル" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "ドックã®ä½ç½®" #: editor/editor_node.cpp msgid "Distraction Free Mode" @@ -2363,12 +2400,11 @@ msgstr "ã‚·ãƒ¼ãƒ³ã‚’ä¸€æ™‚åœæ¢" #: editor/editor_node.cpp #, fuzzy msgid "Stop the scene." -msgstr "シーンをæ¢ã‚ã‚‹" +msgstr "ã‚·ãƒ¼ãƒ³ã‚’åœæ¢" #: editor/editor_node.cpp -#, fuzzy msgid "Stop" -msgstr "æ¢ã‚ã‚‹" +msgstr "åœæ¢" #: editor/editor_node.cpp #, fuzzy @@ -2468,18 +2504,16 @@ msgid "Node" msgstr "ノード" #: editor/editor_node.cpp -#, fuzzy msgid "FileSystem" msgstr "ファイルシステム" #: editor/editor_node.cpp -#, fuzzy msgid "Output" msgstr "出力" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "ä¿å˜ã—ãªã„" #: editor/editor_node.cpp #, fuzzy @@ -2519,39 +2553,33 @@ msgstr "èªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "é¸æŠž" #: editor/editor_node.cpp -#, fuzzy msgid "Open 2D Editor" msgstr "2Dエディタを開ã" #: editor/editor_node.cpp -#, fuzzy msgid "Open 3D Editor" -msgstr "ディレクトリを開ã" +msgstr "3Dエディタを開ã" #: editor/editor_node.cpp -#, fuzzy msgid "Open Script Editor" msgstr "スクリプトエディタを開ã" #: editor/editor_node.cpp editor/project_manager.cpp -#, fuzzy msgid "Open Asset Library" -msgstr "アセット ライブラリを開ã" +msgstr "アセットライブラリを開ã" #: editor/editor_node.cpp msgid "Open the next Editor" msgstr "次ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã" #: editor/editor_node.cpp -#, fuzzy msgid "Open the previous Editor" msgstr "å‰ã®ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é–‹ã" #: editor/editor_plugin.cpp -#, fuzzy msgid "Creating Mesh Previews" msgstr "メッシュライブラリを生æˆ" @@ -2569,22 +2597,18 @@ msgstr "アップデート" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Version:" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Author:" msgstr "作者:" #: editor/editor_plugin_settings.cpp -#, fuzzy msgid "Status:" msgstr "ステータス:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Stop Profiling" msgstr "プãƒãƒ•ã‚¡ã‚¤ãƒªãƒ³ã‚°åœæ¢" @@ -2593,32 +2617,26 @@ msgid "Start Profiling" msgstr "プãƒãƒ•ァイリング開始" #: editor/editor_profiler.cpp -#, fuzzy msgid "Measure:" msgstr "測定:" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (sec)" msgstr "フレーム時間(秒)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (sec)" msgstr "平凿™‚間(秒)" #: editor/editor_profiler.cpp -#, fuzzy msgid "Frame %" msgstr "フレーム%" #: editor/editor_profiler.cpp -#, fuzzy msgid "Physics Frame %" msgstr "固定フレーム%" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp -#, fuzzy msgid "Time:" msgstr "時間:" @@ -2637,20 +2655,31 @@ msgstr "セルフ" msgid "Frame #:" msgstr "フレーム#:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "時間:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "呼ã³å‡ºã—" + #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "リストã‹ã‚‰ãƒ‡ãƒã‚¤ã‚¹ã‚’é¸æŠžã—ã¦ãã ã•ã„" #: editor/editor_run_native.cpp msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the export menu." msgstr "" +"ã“ã®ãƒ—ラットフォームã§å®Ÿè¡Œå¯èƒ½ãªã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ—リセットãŒã‚りã¾ã›ã‚“。\n" +"エクスãƒãƒ¼ãƒˆãƒ¡ãƒ‹ãƒ¥ãƒ¼ã«å®Ÿè¡Œå¯èƒ½ãªãƒ—ãƒªã‚»ãƒƒãƒˆã‚’è¿½åŠ ã—ã¦ãã ã•ã„。" #: editor/editor_run_script.cpp -#, fuzzy msgid "Write your logic in the _run() method." -msgstr "ã‚ãªãŸã®ãƒã‚¸ãƒƒã‚¯ã‚’_run() メソッドã«è¨˜è¿°ã—ã¦ãã ã•ã„" +msgstr "ã‚ãªãŸã®ãƒã‚¸ãƒƒã‚¯ã‚’_run() メソッドã«è¨˜è¿°ã—ã¦ãã ã•ã„." #: editor/editor_run_script.cpp #, fuzzy @@ -2658,57 +2687,46 @@ msgid "There is an edited scene already." msgstr "æ—¢ã«ç·¨é›†ã—ãŸã‚·ãƒ¼ãƒ³ãŒã‚りã¾ã™" #: editor/editor_run_script.cpp -#, fuzzy msgid "Couldn't instance script:" msgstr "スクリプトをインスタンス化ã§ãã¾ã›ã‚“ã§ã—ãŸ:" #: editor/editor_run_script.cpp -#, fuzzy msgid "Did you forget the 'tool' keyword?" msgstr "ã‚ーワード'tool'を忘れã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ" #: editor/editor_run_script.cpp -#, fuzzy msgid "Couldn't run script:" msgstr "スクリプトを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:" #: editor/editor_run_script.cpp -#, fuzzy msgid "Did you forget the '_run' method?" msgstr "'_run'メソッドを忘れã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ" #: editor/editor_settings.cpp -#, fuzzy msgid "Default (Same as Editor)" msgstr "既定(エディタã¨åŒã˜ï¼‰" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Select Node(s) to Import" msgstr "インãƒãƒ¼ãƒˆã™ã‚‹ãƒŽãƒ¼ãƒ‰ã‚’é¸æŠžã™ã‚‹" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Scene Path:" msgstr "シーンã®ãƒ‘ス:" #: editor/editor_sub_scene.cpp -#, fuzzy msgid "Import From Node:" msgstr "ノードã‹ã‚‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆ:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Re-Download" msgstr "å†ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰" #: editor/export_template_manager.cpp -#, fuzzy msgid "Uninstall" msgstr "アンインストール" #: editor/export_template_manager.cpp -#, fuzzy msgid "(Installed)" msgstr "(インストール済)" @@ -2721,17 +2739,14 @@ msgid "(Missing)" msgstr "(見ã¤ã‹ã‚Šã¾ã›ã‚“)" #: editor/export_template_manager.cpp -#, fuzzy msgid "(Current)" msgstr "(ç¾åœ¨ã®ï¼‰" #: editor/export_template_manager.cpp -#, fuzzy msgid "Retrieving mirrors, please wait.." -msgstr "接続失敗 å†è©¦è¡Œã‚’" +msgstr "ミラーサイトをå–å¾—ã—ã¦ã„ã¾ã™ã€‚ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„.." #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove template version '%s'?" msgstr "テンプレート ãƒãƒ¼ã‚¸ãƒ§ãƒ³'%s'を除去ã—ã¾ã™ã‹ï¼Ÿ" @@ -2740,12 +2755,10 @@ msgid "Can't open export templates zip." msgstr "エクスãƒãƒ¼ãƒˆã€€ãƒ†ãƒ³ãƒ—レート(ZIP)ファイルを確èªã§ãã¾ã›ã‚“." #: editor/export_template_manager.cpp -#, fuzzy msgid "Invalid version.txt format inside templates." -msgstr "テンプレート内ã®version.txt フォーマットãŒä¸æ£ã§ã™" +msgstr "テンプレート内ã®version.txt フォーマットãŒä¸æ£ã§ã™." #: editor/export_template_manager.cpp -#, fuzzy msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." @@ -2754,12 +2767,10 @@ msgstr "" "ã¯ã‚りã¾ã›ã‚“." #: editor/export_template_manager.cpp -#, fuzzy msgid "No version.txt found inside templates." -msgstr "テンプレート内ã«version.txtãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" +msgstr "テンプレート内ã«version.txtãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error creating path for templates:\n" msgstr "テンプレートã®ãƒ‘ス生æˆã‚¨ãƒ©ãƒ¼\n" @@ -2778,6 +2789,8 @@ 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 @@ -2793,124 +2806,104 @@ msgstr "接続失敗." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "No response." msgstr "応ç”ãŒã‚りã¾ã›ã‚“." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp #, fuzzy -msgid "Req. Failed." +msgid "Request Failed." msgstr "リクエスト失敗." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Redirect Loop." msgstr "リダイレクトã®ãƒ«ãƒ¼ãƒ—." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Failed:" msgstr "失敗:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't write file." -msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“ã§ã—ãŸ:\n" +msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“ã§ã—ãŸ." #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Complete." -msgstr "ダウンãƒãƒ¼ãƒ‰å¤±æ•—" +msgstr "ダウンãƒãƒ¼ãƒ‰å®Œäº†." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting url: " -msgstr "アトラスã®ä¿å˜ã«å¤±æ•—ã—ã¾ã—ãŸ:" +msgstr "urlã®è¦æ±‚ã«å¤±æ•—ã—ã¾ã—ãŸ: " #: editor/export_template_manager.cpp -#, fuzzy msgid "Connecting to Mirror.." -msgstr "接続ä¸.." +msgstr "ãƒŸãƒ©ãƒ¼ã‚µã‚¤ãƒˆã«æŽ¥ç¶šä¸.." #: editor/export_template_manager.cpp #, fuzzy msgid "Disconnected" -msgstr "切æ–" +msgstr "切æ–ã•れã¾ã—ãŸ" #: editor/export_template_manager.cpp -#, fuzzy msgid "Resolving" -msgstr "解決ä¸.." +msgstr "解決ä¸" #: editor/export_template_manager.cpp -#, fuzzy msgid "Can't Resolve" -msgstr "解決ã§ãã¾ã›ã‚“." +msgstr "解決ã§ãã¾ã›ã‚“" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Connecting.." msgstr "接続ä¸.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" -msgstr "接続失敗." +msgid "Can't Connect" +msgstr "接続失敗" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connected" -msgstr "接続" +msgstr "接続ã—ã¾ã—ãŸ" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Requesting.." msgstr "リクエストä¸.." #: editor/export_template_manager.cpp -#, fuzzy msgid "Downloading" -msgstr "ダウンãƒãƒ¼ãƒ‰" +msgstr "ダウンãƒãƒ¼ãƒ‰ä¸" #: editor/export_template_manager.cpp -#, fuzzy msgid "Connection Error" -msgstr "接続ä¸.." +msgstr "接続エラー" #: editor/export_template_manager.cpp -#, fuzzy msgid "SSL Handshake Error" -msgstr "èªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼" +msgstr "SSLãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ã‚¨ãƒ©ãƒ¼" #: editor/export_template_manager.cpp -#, fuzzy msgid "Current Version:" msgstr "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Installed Versions:" msgstr "インストールã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #: editor/export_template_manager.cpp -#, fuzzy msgid "Install From File" msgstr "ファイルã‹ã‚‰ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove Template" -msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除" +msgstr "テンプレートを削除" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select template file" -msgstr "ã™ã¹ã¦é¸æŠž" +msgstr "ãƒ†ãƒ³ãƒ—ãƒ¬ãƒ¼ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠž" #: editor/export_template_manager.cpp #, fuzzy @@ -2918,13 +2911,12 @@ msgid "Export Template Manager" msgstr "エクスãƒãƒ¼ãƒˆã€€ãƒ†ãƒ³ãƒ—レート マãƒãƒ¼ã‚¸ãƒ£ãƒ¼" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "é¸æŠžã—ã¦ã„ã‚‹ã‚‚ã®ã‚’削除" +msgstr "テンプレートをダウンãƒãƒ¼ãƒ‰" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "リストã‹ã‚‰ãƒŸãƒ©ãƒ¼ã‚’é¸æŠž: " #: editor/file_type_cache.cpp #, fuzzy @@ -2935,21 +2927,24 @@ msgstr "" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "ファイルシステムã«è¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€'%s' ã«ç§»å‹•ã§ãã¾ã›ã‚“!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "サムãƒã‚¤ãƒ«è¡¨ç¤º" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "リスト表示" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"状æ³: ファイルã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ファイルを修æ£ã—ã¦æ‰‹å‹•ã§å†ã‚¤ãƒ³ãƒãƒ¼" +"トã—ã¦ä¸‹ã•ã„。" #: editor/filesystem_dock.cpp #, fuzzy @@ -2968,83 +2963,78 @@ msgstr "エラーをインãƒãƒ¼ãƒˆä¸:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "èªã¿è¾¼ã¿å¤±æ•—:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "シーン'%s' ã¯ä¾å˜é–¢ä¿‚ãŒå£Šã‚Œã¦ã„ã¾ã™:" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "åå‰ãŒã‚りã¾ã›ã‚“" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "åå‰ãŒä½¿ç”¨ä¸å¯èƒ½ãªæ–‡å—ã‚’å«ã‚“ã§ã„ã¾ã™" #: editor/filesystem_dock.cpp -#, fuzzy msgid "No name provided." -msgstr "åå‰ã‚’変ãˆã‚‹ã‹ç§»å‹•ã—ã¦ãã ã•ã„.." +msgstr "åå‰ãŒã‚りã¾ã›ã‚“." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Name contains invalid characters." -msgstr "使用å¯èƒ½ãªæ–‡å—:" +msgstr "åå‰ãŒä½¿ç”¨ä¸å¯èƒ½ãªæ–‡å—ã‚’å«ã‚“ã§ã„ã¾ã™." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "åŒåã®ãƒ•ァイルã¾ãŸã¯ãƒ•ォルダãŒã‚りã¾ã™ã€‚" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming file:" -msgstr "変数ã®åå‰ã‚’変ãˆã‚‹" +msgstr "ファイルåを変更:" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming folder:" -msgstr "ノードã®åå‰ã‚’変更" +msgstr "フォルダåを変更:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "複製" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "フォルダåを変更:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "ã™ã¹ã¦å±•é–‹ã™ã‚‹" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Collapse all" msgstr "ã™ã¹ã¦æŠ˜ã‚ŠãŸãŸã‚€" #: editor/filesystem_dock.cpp -#, fuzzy -msgid "Copy Path" -msgstr "パスをコピーã™ã‚‹" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Rename.." -msgstr "åå‰ã‚’変更ã™ã‚‹" +msgstr "åå‰ã‚’変更ã™ã‚‹.." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Move To.." msgstr "~ã¸ç§»å‹•ã™ã‚‹.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "フォルダを作æˆã™ã‚‹" - -#: editor/filesystem_dock.cpp -#, fuzzy -msgid "Show In File Manager" -msgstr "ファイルマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã§è¡¨ç¤º" +msgid "Open Scene(s)" +msgstr "シーンを開ã" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Instance" msgstr "インスタンス" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Edit Dependencies.." msgstr "ä¾å˜é–¢ä¿‚を編集.." @@ -3054,16 +3044,19 @@ msgid "View Owners.." msgstr "オーナーを見る.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "複製" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "最後ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" +msgstr "å‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Next Directory" msgstr "次ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Re-Scan Filesystem" msgstr "ファイルシステムをå†èµ°æŸ»" @@ -3082,6 +3075,8 @@ msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"ファイルをスã‚ャンã—ã¦ã„ã¾ã™\n" +"ã—ã°ã‚‰ããŠå¾…ã¡ä¸‹ã•ã„..." #: editor/filesystem_dock.cpp #, fuzzy @@ -3115,27 +3110,27 @@ msgstr "アニメーションをインãƒãƒ¼ãƒˆ.." #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "別ã®ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "別ã®ãƒžãƒ†ãƒªã‚¢ãƒ«ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "別ã®ã‚ªãƒ–ジェクトã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã€ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp #, fuzzy @@ -3144,7 +3139,7 @@ msgstr "3Dシーンをインãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "複数ã®ã‚·ãƒ¼ãƒ³ã€ãƒžãƒ†ãƒªã‚¢ãƒ«ã¨ã—ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp @@ -3159,6 +3154,16 @@ msgstr "シーンをインãƒãƒ¼ãƒˆä¸.." #: editor/import/resource_importer_scene.cpp #, fuzzy +msgid "Generating Lightmaps" +msgstr "ライトマップã¸ã®è»¢å†™:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "軸平行境界ボックス(AABB)を生æˆ" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Running Custom Script.." msgstr "カスタムスクリプトを実行ä¸" @@ -3185,11 +3190,11 @@ msgstr "ä¿å˜ä¸.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "'%s'ã®ãƒ‡ãƒ•ォルトã¨ã—ã¦è¨å®š" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "'%s'ã®ãƒ‡ãƒ•ォルトを消去" #: editor/import_dock.cpp #, fuzzy @@ -3262,6 +3267,10 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"ãƒãƒªã‚´ãƒ³ã‚’編集:\n" +"LMB: ãƒã‚¤ãƒ³ãƒˆã‚’移動.\n" +"Ctrl+LMB: セグメント分割.\n" +"RMB: ãƒã‚¤ãƒ³ãƒˆé™¤åŽ»." #: editor/plugins/abstract_polygon_2d_editor.cpp #, fuzzy @@ -3444,11 +3453,11 @@ msgstr "アニメーションを複製ã™ã‚‹" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "オニオンスã‚ン" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "オニオンスã‚ンを有効ã«ã™ã‚‹" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3467,31 +3476,31 @@ msgstr "テクスãƒãƒ£" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "奥行ã" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1ステップ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2ステップ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3ステップ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "差分ã®ã¿" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "白色調整" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "ギズモ(3D)ã‚’å«ã‚€" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3784,184 +3793,175 @@ msgid "Idle" msgstr "待機ä¸" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Retry" msgstr "å†è©¦è¡Œ" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Download Error" -msgstr "ダウンãƒãƒ¼ãƒ‰å¤±æ•—" +msgstr "ダウンãƒãƒ¼ãƒ‰ã‚¨ãƒ©ãƒ¼" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Download for this asset is already in progress!" msgstr "ã“ã®ã‚¢ã‚»ãƒƒãƒˆã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã¯æ—¢ã«é€²è¡Œä¸ï¼" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "first" -msgstr "最åˆã®" +msgstr "最åˆ" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "prev" -msgstr "å‰ã®" +msgstr "å‰" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "next" -msgstr "次ã®" +msgstr "次" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "last" -msgstr "最後ã®" +msgstr "最後" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "ã™ã¹ã¦ã®" +msgstr "ã™ã¹ã¦" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp -#, fuzzy msgid "Plugins" msgstr "プラグイン" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Sort:" msgstr "ä¸¦ã¹æ›¿ãˆ:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Reverse" msgstr "逆" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp -#, fuzzy msgid "Category:" msgstr "カテゴリー:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Site:" msgstr "サイト:" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." msgstr "サãƒãƒ¼ãƒˆ.." #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Official" msgstr "å…¬å¼" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" msgstr "テストä¸" #: editor/plugins/asset_library_editor_plugin.cpp -#, fuzzy msgid "Assets ZIP File" msgstr "アセットã®zipファイル" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ライトマップã¸ã®è»¢å†™:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "プレビュー" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Configure Snap" -msgstr "スナップ機能ã®è¨å®š" +msgstr "スナップã®è¨å®š" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Offset:" msgstr "グリッドã®ã‚ªãƒ•セット:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Grid Step:" msgstr "グリッドã®ã‚¹ãƒ†ãƒƒãƒ—:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotation Offset:" msgstr "回転ã®ã‚ªãƒ•セット:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Rotation Step:" msgstr "回転ã®ã‚¹ãƒ†ãƒƒãƒ—:" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Pivot" msgstr "ピボット移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move Action" msgstr "移動動作" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "垂直ガイドを移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new vertical guide" -msgstr "フォルダを作æˆ" +msgstr "垂直ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove vertical guide" -msgstr "無効ãªã‚ーを削除" +msgstr "垂直ガイドを削除" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Move horizontal guide" -msgstr "曲線ã®ãƒã‚¤ãƒ³ãƒˆã‚’移動" +msgstr "水平ガイドを移動" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Create new horizontal guide" -msgstr "フォルダを作æˆ" +msgstr "水平ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" -msgstr "無効ãªã‚ーを削除" +msgstr "水平ガイドを削除" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "水平垂直ガイドを作æˆ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Edit IK Chain" msgstr "IK(インãƒãƒ¼ã‚¹ ã‚ãƒãƒžãƒ†ã‚£ã‚¯ã‚¹ï¼‰ãƒã‚§ãƒ¼ãƒ³ã®ç·¨é›†" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Edit CanvasItem" msgstr "ã‚ャンãƒã‚¹ã‚¢ã‚¤ãƒ†ãƒ ã®ç·¨é›†" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Anchors only" -msgstr "アンカー" +msgstr "アンカーã®ã¿" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Change Anchors and Margins" -msgstr "アンカーを変更ã™ã‚‹" +msgstr "アンカーã¨ãƒžãƒ¼ã‚¸ãƒ³ã‚’変更ã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4033,7 +4033,6 @@ msgid "Toggles snapping" msgstr "ブレークãƒã‚¤ãƒ³ãƒˆã‚’切替" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Use Snap" msgstr "スナップ機能を使ã†" @@ -4070,24 +4069,23 @@ msgstr "ピクセルå˜ä½ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart snapping" -msgstr "" +msgstr "スマートスナップ" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Snap to parent" -msgstr "親ã¾ã§å±•é–‹ã™ã‚‹" +msgstr "親ã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "ノードアンカーã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "ノードå´é¢ã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "ä»–ã®ãƒŽãƒ¼ãƒ‰ã«ã‚¹ãƒŠãƒƒãƒ—" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4207,7 +4205,7 @@ msgstr "ãƒãƒ¼ã‚ºã‚’クリアã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" -msgstr "" +msgstr "マウスä½ç½®ã‹ã‚‰ãƒ”ボットをドラッグ" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4216,11 +4214,11 @@ msgstr "曲線ã®Out-ãƒãƒ³ãƒ‰ãƒ«ã®ä½ç½®ã‚’指定" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "グリッドステップを2å€ã«ã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "グリッドステップをåŠåˆ†ã«ã™ã‚‹" #: editor/plugins/canvas_item_editor_plugin.cpp #, fuzzy @@ -4246,17 +4244,6 @@ msgstr "%sシーンã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–エラー" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ãŠãƒ¼ã‘ー :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -#, fuzzy -msgid "No parent to instance a child at." -msgstr "åインスタンスを生æˆã™ã‚‹ãŸã‚ã®è¦ªãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "This operation requires a single selected node." msgstr "一ã¤ãƒŽãƒ¼ãƒ‰ã‚’指定ã—ãªã„ã¨ã€ã“ã®æ“作ã¯ã§ãã¾ã›ã‚“" @@ -4307,11 +4294,11 @@ msgstr "シーンã‹ã‚‰ã‚¢ãƒƒãƒ—デート" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "フラット0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "フラット1" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy @@ -4325,7 +4312,7 @@ msgstr "イージング(Ease Out)" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "スムーズステップ" #: editor/plugins/curve_editor_plugin.cpp #, fuzzy @@ -4371,15 +4358,15 @@ msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "直線曲線を切り替ãˆã‚‹" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "接線を個別ã«ç·¨é›†ã™ã‚‹ã«ã¯ã‚·ãƒ•トを押ã™" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "ã‚°ãƒãƒ¼ãƒãƒ«ã‚¤ãƒ«ãƒŸãƒãƒ¼ã‚·ãƒ§ãƒ³ã®äº‹å‰è¨ˆç®—" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -4407,6 +4394,8 @@ msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"ã“ã®ãƒŽãƒ¼ãƒ‰ã«OccluderPolygon2DリソースãŒã‚りã¾ã›ã‚“。\n" +"作æˆã—ã¦ã€å‰²ã‚Šå½“ã¦ã¾ã™ã‹ ?" #: editor/plugins/light_occluder_2d_editor_plugin.cpp #, fuzzy @@ -4469,6 +4458,22 @@ msgid "Create Navigation Mesh" msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp #, fuzzy msgid "MeshInstance lacks a Mesh!" msgstr "メッシュインスタンスã®ãƒ¡ãƒƒã‚·ãƒ¥ãŒå˜åœ¨ã—ã¾ã›ã‚“" @@ -4515,6 +4520,20 @@ msgid "Create Outline Mesh.." msgstr "アウトラインメッシュを生æˆ.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "ビュー" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "アウトラインメッシュを生æˆ" @@ -4658,35 +4677,32 @@ msgid "Bake the navigation mesh.\n" msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" #: editor/plugins/navigation_mesh_editor_plugin.cpp -#, fuzzy msgid "Clear the navigation mesh." -msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" +msgstr "ãƒŠãƒ“ãƒ¡ãƒƒã‚·ãƒ¥ï¼ˆãƒŠãƒ“ã‚²ãƒ¼ã‚·ãƒ§ãƒ³ãƒ¡ãƒƒã‚·ãƒ¥ï¼‰ã®æ¶ˆåŽ»." #: editor/plugins/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "è¨å®šä¸..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "グリッドサイズ計算ä¸..." #: editor/plugins/navigation_mesh_generator.cpp -#, fuzzy msgid "Creating heightfield..." -msgstr "照明ã®å…«åˆ†æœ¨ã‚’生æˆ" +msgstr "ãƒã‚¤ãƒˆãƒ•ィールド生æˆä¸..." #: editor/plugins/navigation_mesh_generator.cpp -#, fuzzy msgid "Marking walkable triangles..." -msgstr "ãƒãƒ¼ã‚«ãƒ«ç’°å¢ƒã®å¤‰æ›´ã‚’ä¿å˜ã™ã‚‹.." +msgstr "移動å¯èƒ½ãªãƒãƒªã‚´ãƒ³ã‚’記録ä¸..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "ãƒã‚¤ãƒˆãƒ•ィールド圧縮ä¸..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "移動å¯èƒ½ãªé ˜åŸŸã‚’作æˆä¸..." #: editor/plugins/navigation_mesh_generator.cpp #, fuzzy @@ -4710,7 +4726,7 @@ msgstr "ナビメッシュ(ナビゲーションメッシュ)ã®ç”Ÿæˆ" #: editor/plugins/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "ナビメッシュ(ナビゲーションメッシュ)生æˆè¨å®š:" #: editor/plugins/navigation_mesh_generator.cpp #, fuzzy @@ -4719,18 +4735,13 @@ msgstr "ジオメトリーをパース" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "完了!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" msgstr "ナビゲーションãƒãƒªã‚´ãƒ³ã‚’生æˆ" #: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy -msgid "Clear Emission Mask" -msgstr "発光(Emission)マスクをクリア" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Generating AABB" @@ -4752,11 +4763,6 @@ msgstr "イメージ内ã«é€æ˜Žåº¦>128ã®ãƒ”クセルãŒã‚りã¾ã›ã‚“.." #: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy -msgid "Set Emission Mask" -msgstr "発光(Emission)マスクをè¨å®š" - -#: editor/plugins/particles_2d_editor_plugin.cpp -#, fuzzy msgid "Generate Visibility Rect" msgstr "å¯è¦–性ã®çŸ©å½¢ã‚’生æˆ" @@ -4766,6 +4772,11 @@ msgid "Load Emission Mask" msgstr "発光(Emission)マスクをèªã¿è¾¼ã‚€" #: editor/plugins/particles_2d_editor_plugin.cpp +#, fuzzy +msgid "Clear Emission Mask" +msgstr "発光(Emission)マスクをクリア" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp #, fuzzy msgid "Particles" @@ -4807,7 +4818,7 @@ msgstr "ノードã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªãƒ¼(é¢ï¼‰ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“." #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "パーティクルマテリアルãŒå¿…è¦ã§ã™." #: editor/plugins/particles_editor_plugin.cpp #, fuzzy @@ -4835,11 +4846,6 @@ msgstr "ノードã‹ã‚‰ã®ç™ºå…‰ç‚¹ã‚’生æˆ" #: editor/plugins/particles_editor_plugin.cpp #, fuzzy -msgid "Clear Emitter" -msgstr "発光物をクリア" - -#: editor/plugins/particles_editor_plugin.cpp -#, fuzzy msgid "Create Emitter" msgstr "発光物を生æˆ" @@ -4983,7 +4989,6 @@ msgid "Split Path" msgstr "パスを分割" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Remove Path Point" msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" @@ -4996,7 +5001,6 @@ msgid "Remove In-Control Point" msgstr "曲線ã®In-ãƒãƒ³ãƒ‰ãƒ«ã‚’除去" #: editor/plugins/polygon_2d_editor_plugin.cpp -#, fuzzy msgid "Create UV Map" msgstr "UVマップを生æˆ" @@ -5128,6 +5132,8 @@ msgid "" "Close and save changes?\n" "\"" msgstr "" +"変更をä¿å˜ã—ã¦é–‰ã˜ã¾ã™ã‹?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5157,7 +5163,7 @@ msgstr "テーマをåå‰ã‚’ã¤ã‘ã¦ä¿å˜.." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " クラスリファレンス" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5166,11 +5172,13 @@ 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 "下ã«ç§»å‹•" @@ -5187,7 +5195,7 @@ msgstr "ç›´å‰ã®ã‚¹ã‚¯ãƒªãƒ—ト" msgid "File" msgstr "ファイル" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "æ–°ã—ã„" @@ -5197,7 +5205,12 @@ msgstr "ã™ã¹ã¦ä¿å˜" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "スクリプトをソフトリãƒãƒ¼ãƒ‰" + +#: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "パスをコピーã™ã‚‹" #: editor/plugins/script_editor_plugin.cpp #, fuzzy @@ -5229,11 +5242,11 @@ msgstr "é–‰ã˜ã‚‹" #: editor/plugins/script_editor_plugin.cpp #, fuzzy msgid "Close All" -msgstr "é–‰ã˜ã‚‹" +msgstr "ã™ã¹ã¦é–‰ã˜ã‚‹" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "ã»ã‹ã®ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -5343,7 +5356,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "ファイルシステムã®ãƒªã‚½ãƒ¼ã‚¹ã®ã¿ãƒ‰ãƒãƒƒãƒ—ã§ãã¾ã™." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" @@ -5406,14 +5419,10 @@ msgstr "複製ã—ã¦ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "行ã«ç§»å‹•" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5532,7 +5541,7 @@ msgstr "RGB演算åを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Toggle Rot Only" -msgstr "" +msgstr "回転ã®ã¿å¤‰æ›´" #: editor/plugins/shader_graph_editor_plugin.cpp #, fuzzy @@ -5546,15 +5555,15 @@ msgstr "ベクトル関数を変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Uniform" -msgstr "" +msgstr "スカラUniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Uniform" -msgstr "" +msgstr "ベクトルUniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Uniform" -msgstr "" +msgstr "RGB Uniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" @@ -5562,15 +5571,15 @@ msgstr "è¦å®šå€¤ã‚’変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" -msgstr "" +msgstr "XForm Uniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Texture Uniform" -msgstr "" +msgstr "テクスãƒãƒ£Uniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Cubemap Uniform" -msgstr "" +msgstr "ã‚ューブマップUniformを変更" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Comment" @@ -5757,12 +5766,21 @@ msgstr "é ‚ç‚¹" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "" +msgstr "フレームレート" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" msgstr "シーンビューã«ã‚«ãƒ¡ãƒ©ã‚’åˆã‚ã›ã‚‹ï¼ˆAlign With View)" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "ãŠãƒ¼ã‘ー :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +#, fuzzy +msgid "No parent to instance a child at." +msgstr "åインスタンスを生æˆã™ã‚‹ãŸã‚ã®è¦ªãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "通常表示" @@ -5784,7 +5802,7 @@ msgstr "シェーディングãªã—ã§è¡¨ç¤º" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "環境表示" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -5808,7 +5826,7 @@ msgstr "縮尺(Scale)ã®é¸æŠž" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "オーディオリスナー" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -5879,6 +5897,20 @@ msgid "Scale Mode (R)" msgstr "スケール(拡大縮å°ï¼‰ãƒ¢ãƒ¼ãƒ‰(R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "ãƒãƒ¼ã‚«ãƒ«åº§æ¨™ç³»" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "スケール(拡大縮å°ï¼‰ãƒ¢ãƒ¼ãƒ‰(R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Snapモード:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "底é¢å›³" @@ -5914,15 +5946,15 @@ msgstr "アニメーションã‚ーを挿入" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "原点ã«ãƒ•ォーカス" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "é¸æŠžã«ãƒ•ォーカス" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "é¸æŠžã‚’ãƒ“ãƒ¥ãƒ¼ã«æ•´åˆ—" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Select" @@ -5959,10 +5991,6 @@ msgid "Configure Snap.." msgstr "スナップ機能ã®è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "ãƒãƒ¼ã‚«ãƒ«åº§æ¨™ç³»" - -#: editor/plugins/spatial_editor_plugin.cpp #, fuzzy msgid "Transform Dialog.." msgstr "トランスフォームã®ãƒ€ã‚¤ã‚¢ãƒã‚°.." @@ -5993,7 +6021,7 @@ msgstr "4 ビューãƒãƒ¼ãƒˆ" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "原点を見る" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" @@ -6006,18 +6034,20 @@ msgid "Settings" msgstr "è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "Snapã®è¨å®š" +msgstr "スナップã®è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translate Snap:" -msgstr "Snapを移動:" +msgstr "スナップを移動:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "Snapã®å›žè»¢ï¼ˆåº¦ï¼‰:" +msgstr "スナップã®å›žè»¢ï¼ˆåº¦ï¼‰:" #: editor/plugins/spatial_editor_plugin.cpp #, fuzzy @@ -6030,7 +6060,7 @@ msgstr "ビューãƒãƒ¼ãƒˆã®è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "視野角(度):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" @@ -6092,7 +6122,7 @@ msgstr "フレームを張り付ã‘" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "ç©ºã‚’è¿½åŠ " #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" @@ -6220,19 +6250,19 @@ msgstr "削除" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "テーマを編集..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "テーマ編集メニュー." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "ã‚¯ãƒ©ã‚¹ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ " #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "クラスアイテム削除" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -6331,7 +6361,7 @@ msgstr "é¸æŠžã‚’æ¶ˆåŽ»" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "タイルマップを塗る" #: editor/plugins/tile_map_editor_plugin.cpp #, fuzzy @@ -6344,7 +6374,7 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "塗りã¤ã¶ã—" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" @@ -6374,14 +6404,13 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "タイルを塗る" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "ã‚¿ã‚¤ãƒ«ã‚’é¸æŠž" #: editor/plugins/tile_map_editor_plugin.cpp -#, fuzzy msgid "Rotate 0 degrees" msgstr "0度回転" @@ -6418,6 +6447,11 @@ msgid "Merge from scene?" msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸ã—ã¾ã™ã‹ï¼Ÿ" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "タイルセット.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "シーンã‹ã‚‰ç”Ÿæˆ" @@ -6429,6 +6463,10 @@ msgstr "シーンã‹ã‚‰ãƒžãƒ¼ã‚¸" msgid "Error" msgstr "エラー" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ã‚ャンセル" + #: editor/project_export.cpp msgid "Runnable" msgstr "実行å¯èƒ½" @@ -6515,7 +6553,7 @@ msgstr "テクスãƒãƒ£" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "カスタム(コンマ区切り):" #: editor/project_export.cpp #, fuzzy @@ -6550,29 +6588,27 @@ msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' file." -msgstr "" +msgstr "'project.godot' ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦ãã ã•ã„." #: editor/project_manager.cpp msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"空ã§ãªã„フォルダã«ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãŒä½œæˆã•れã¾ã™(æ–°ã—ã„フォルダを作æˆã™ã‚‹ã“ã¨ãŒã§" +"ãã¾ã™)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "'project.godot'ãŒãªã„ãƒ•ã‚©ãƒ«ãƒ€ã‚’é¸æŠžã—ã¦ãã ã•ã„." #: editor/project_manager.cpp msgid "Imported Project" msgstr "インãƒãƒ¼ãƒˆã•れãŸãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆ" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆã«åå‰ã‚’付ã‘ã¦ãã ã•ã„." #: editor/project_manager.cpp #, fuzzy @@ -6641,7 +6677,7 @@ msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‘ス:" #: editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "ブラウズ" #: editor/project_manager.cpp msgid "That's a BINGO!" @@ -6693,6 +6729,8 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"言語ãŒå¤‰æ›´ã•れã¾ã—ãŸ.\n" +"エディタã¾ãŸã¯ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãƒžãƒã‚¸ãƒ£ãƒ¼å†é–‹æ™‚ã«UIãŒæ›´æ–°ã•れã¾ã™." #: editor/project_manager.cpp msgid "" @@ -6796,7 +6834,7 @@ msgstr "ã‚ーを押ã—ã¦ãã ã•ã„.." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "マウスボタンインデックス:" #: editor/project_settings_editor.cpp msgid "Left Button" @@ -6858,8 +6896,8 @@ msgstr "ジョイパッドã®ãƒœã‚¿ãƒ³ã®Index:" #: editor/project_settings_editor.cpp #, fuzzy -msgid "Add Input Action" -msgstr "å…¥åŠ›ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ " +msgid "Erase Input Action" +msgstr "入力アクションイベントを消去" #: editor/project_settings_editor.cpp #, fuzzy @@ -6906,7 +6944,7 @@ msgstr "プãƒãƒ‘ティã«getter(get method)を作る" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "è¨å®šé …目をè¨å®šã—ã¦ãã ã•ã„!" #: editor/project_settings_editor.cpp #, fuzzy @@ -6934,6 +6972,10 @@ msgstr "アクション'%s'ã¯æ—¢ã«ã‚りã¾ã™!" #: editor/project_settings_editor.cpp #, fuzzy +msgid "Add Input Action" +msgstr "å…¥åŠ›ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ " + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "è¨å®šã‚’ä¿å˜ã§ãã¾ã›ã‚“ã§ã—ãŸ." @@ -6994,7 +7036,7 @@ msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆè¨å®š (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "一般" #: editor/project_settings_editor.cpp editor/property_editor.cpp msgid "Property:" @@ -7053,16 +7095,15 @@ msgstr "ãƒã‚±ãƒ¼ãƒ«" #: editor/project_settings_editor.cpp #, fuzzy msgid "Locales Filter" -msgstr "ãƒã‚±ãƒ¼ãƒ«" +msgstr "ãƒã‚±ãƒ¼ãƒ«ãƒ•ィルタ" #: editor/project_settings_editor.cpp -#, fuzzy msgid "Show all locales" -msgstr "ボーンを表示ã™ã‚‹" +msgstr "ã™ã¹ã¦ã®ãƒã‚±ãƒ¼ãƒ«ã‚’表示ã™ã‚‹" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "é¸æŠžã—ãŸãƒã‚±ãƒ¼ãƒ«ã®ã¿è¡¨ç¤º" #: editor/project_settings_editor.cpp #, fuzzy @@ -7126,13 +7167,17 @@ msgid "New Script" msgstr "æ–°è¦ã‚¹ã‚¯ãƒªãƒ—ト" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "ボーンを生æˆ" #: editor/property_editor.cpp msgid "Show in File System" -msgstr "" +msgstr "ファイルシステム上ã§è¡¨ç¤º" #: editor/property_editor.cpp #, fuzzy @@ -7156,26 +7201,26 @@ msgstr "ノードã¸ã®ãƒ‘ス:" #: editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "ビット %d, 値 %d." #: editor/property_editor.cpp msgid "On" -msgstr "" +msgstr "オン" + +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "ç©ºã‚’è¿½åŠ " #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" -msgstr "" +msgstr "è¨å®š" #: editor/property_editor.cpp #, fuzzy msgid "Properties:" msgstr "プãƒãƒ‘ティ:" -#: editor/property_editor.cpp -#, fuzzy -msgid "Sections:" -msgstr "セクション:" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -7193,7 +7238,7 @@ msgstr "ã™ã¹ã¦é¸æŠž" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" -msgstr "" +msgstr "PVRTCツールを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" @@ -7217,7 +7262,7 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Run Mode:" -msgstr "" +msgstr "実行モード:" #: editor/run_settings_dialog.cpp msgid "Current Scene" @@ -7241,7 +7286,7 @@ msgstr "シーン実行ã®è¨å®š" #: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "決定" +msgstr "OK" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." @@ -7592,7 +7637,7 @@ msgstr "䏿£ãªãƒ™ãƒ¼ã‚¹ï¼ˆbase)パス" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" -msgstr "" +msgstr "åŒã˜åå‰ã®ãƒ•ォルダãŒã‚りã¾ã™" #: editor/script_create_dialog.cpp #, fuzzy @@ -7601,11 +7646,11 @@ msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™ã€‚上書ãã—ã¾ã™ã‹ï¼Ÿ" #: editor/script_create_dialog.cpp msgid "Invalid extension" -msgstr "" +msgstr "ç„¡åŠ¹ãªæ‹¡å¼µåã§ã™" #: editor/script_create_dialog.cpp msgid "Wrong extension chosen" -msgstr "" +msgstr "æ‹¡å¼µåãŒèª¤ã£ã¦ã„ã¾ã™" #: editor/script_create_dialog.cpp #, fuzzy @@ -7697,7 +7742,7 @@ msgstr "関数:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "グラフ表示ã™ã‚‹ã«ã¯ãƒªã‚¹ãƒˆã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸ã‚“ã§ãã ã•ã„." #: editor/script_editor_debugger.cpp msgid "Errors" @@ -7803,6 +7848,10 @@ msgstr "" msgid "Shortcuts" msgstr "ショートカット" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "å…‰æºã®åŠå¾„を変更" @@ -7855,19 +7904,59 @@ msgstr "パーティクルã®è»¸å¹³è¡Œå¢ƒç•Œãƒœãƒƒã‚¯ã‚¹ã‚’変更" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "パスã®ãƒã‚¤ãƒ³ãƒˆã‚’除去" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "プラットフォームã¸ã‚³ãƒ”ー.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "メッシュライブラリ.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "メッシュライブラリ.." + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "メッシュライブラリ.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Status" msgstr "ステータス:" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " -msgstr "" +msgstr "ライブラリ: " #: modules/gdnative/register_types.cpp msgid "GDNative" @@ -7923,7 +8012,7 @@ msgstr "無効ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹è¾žæ›¸ã§ã™ (無効ãªã‚µãƒ–クラス)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "オブジェクトã«é•·ã•ãŒã‚りã¾ã›ã‚“." #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7937,7 +8026,7 @@ msgstr "é¸æŠžç¯„å›²ã‚’è¤‡è£½" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "床é¢:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7950,13 +8039,12 @@ msgid "Snap View" msgstr "上é¢å›³" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Previous Floor" -msgstr "以å‰ã®ã‚¿ãƒ–" +msgstr "å‰ã®åºŠé¢" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "次ã®åºŠé¢" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7973,15 +8061,15 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "X軸を編集" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Y軸を編集" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Z軸を編集" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -8046,7 +8134,7 @@ msgstr "インスタンス:" #: modules/mono/editor/mono_bottom_panel.cpp msgid "Builds" -msgstr "" +msgstr "ビルド" #: modules/visual_script/visual_script.cpp #, fuzzy @@ -8291,7 +8379,7 @@ msgstr "Getメソッド" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "スクリプトã«é–¢æ•° '%s'ãŒæ—¢ã«ã‚りã¾ã™" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -8378,7 +8466,7 @@ msgstr "é¸æŠžç¯„å›²ã‚’æ¶ˆåŽ»" #: modules/visual_script/visual_script_editor.cpp msgid "Find Node Type" -msgstr "" +msgstr "ノードタイプを探ã™" #: modules/visual_script/visual_script_editor.cpp #, fuzzy @@ -8625,11 +8713,11 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRCameraã¯ARVROriginãƒŽãƒ¼ãƒ‰ã‚’è¦ªã«æŒã¤å¿…è¦ãŒã‚りã¾ã™" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRControllerã¯ARVROriginãƒŽãƒ¼ãƒ‰ã‚’è¦ªã«æŒã¤å¿…è¦ãŒã‚りã¾ã™" #: scene/3d/arvr_nodes.cpp msgid "" @@ -8639,7 +8727,7 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRAnchorã¯ARVROriginã‚’è¦ªã«æŒã¤å¿…è¦ãŒã‚りã¾ã™" #: scene/3d/arvr_nodes.cpp msgid "" @@ -8649,7 +8737,26 @@ msgstr "" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node" -msgstr "" +msgstr "ARVROriginã¯ARVRCameraåノードãŒå¿…è¦ã§ã™" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "イメージをé…ç½®(Blit)" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "イメージをé…ç½®(Blit)" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "プãƒãƒƒãƒˆå®Œäº†" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "イメージをé…ç½®(Blit)" #: scene/3d/collision_polygon.cpp #, fuzzy @@ -8689,10 +8796,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "イメージをé…ç½®(Blit)" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8760,10 +8863,6 @@ msgid "Add current color as a preset" msgstr "ã“ã®è‰²ã‚’åˆæœŸè¨å®šå€¤ã¨ã—ã¦è¿½åŠ ã™ã‚‹" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ã‚ャンセル" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -8839,6 +8938,32 @@ msgstr "フォントèªã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã€‚" msgid "Invalid font size." msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚" +#~ msgid "Move Add Key" +#~ msgstr "è¿½åŠ ã—ãŸã‚ーを移動" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "サブスクリプションã®ç”Ÿæˆ" + +#, fuzzy +#~ msgid "List:" +#~ msgstr "リスト:" + +#, fuzzy +#~ msgid "Set Emission Mask" +#~ msgstr "発光(Emission)マスクをè¨å®š" + +#, fuzzy +#~ msgid "Clear Emitter" +#~ msgstr "発光物をクリア" + +#~ msgid " " +#~ msgstr " " + +#, fuzzy +#~ msgid "Sections:" +#~ msgstr "セクション:" + #, fuzzy #~ msgid "Cannot navigate to '" #~ msgstr "~ã«ç§»å‹•ã§ãã¾ã›ã‚“" @@ -9482,10 +9607,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚" #~ msgstr "BVHデータを生æˆ" #, fuzzy -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ライトマップã¸ã®è»¢å†™:" - -#, fuzzy #~ msgid "Allocating Texture #" #~ msgstr "テクスãƒãƒ£ã‚’(メモリ上ã§ï¼‰ç¢ºä¿#" @@ -9642,10 +9763,6 @@ msgstr "無効ãªãƒ•ォント サイズã§ã™ã€‚" #~ msgstr "deleteã‚ー" #, fuzzy -#~ msgid "Copy To Platform.." -#~ msgstr "プラットフォームã¸ã‚³ãƒ”ー.." - -#, fuzzy #~ msgid "just pressed" #~ msgstr "押ã—ãŸ" diff --git a/editor/translations/ko.po b/editor/translations/ko.po index 01f8f2823d..249f8bff9e 100644 --- a/editor/translations/ko.po +++ b/editor/translations/ko.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-27 12:48+0000\n" +"PO-Revision-Date: 2017-12-11 00:48+0000\n" "Last-Translator: 박한얼 <volzhs@gmail.com>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/godot-engine/" "godot/ko/>\n" @@ -30,8 +30,9 @@ msgid "All Selection" msgstr "ëª¨ë“ ì„ íƒ" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "키 ì´ë™" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "ê°’ 변경" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -42,7 +43,8 @@ msgid "Anim Change Transform" msgstr "ì†ì„± 변경" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "ê°’ 변경" #: editor/animation_editor.cpp @@ -536,8 +538,9 @@ msgid "Connecting Signal:" msgstr "ì‹œê·¸ë„ ì—°ê²°:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "ì—°ê²° í•´ì œ" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "'%s'를 '%s'ì— ì—°ê²°" #: editor/connections_dialog.cpp msgid "Connect.." @@ -553,7 +556,8 @@ msgid "Signals" msgstr "시그ë„" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "새로 만들기" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -568,7 +572,7 @@ msgstr "최근:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "검색:" @@ -609,6 +613,7 @@ msgstr "" "다시 로드 í• ë•Œ 변경 사í•ì´ ì ìš©ë©ë‹ˆë‹¤." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ì¢…ì† ê´€ê³„" @@ -711,9 +716,10 @@ msgid "Delete selected files?" msgstr "ì„ íƒëœ 파ì¼ë“¤ì„ ì‚ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ì‚ì œ" @@ -771,19 +777,19 @@ msgstr "미니 스í°ì„œ" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "골드 기ì¦ìž" +msgstr "골드 기부ìž" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "ë¸Œë¡ ì¦ˆ 기ì¦ìž" +msgstr "실버 기부ìž" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "ë¸Œë¡ ì¦ˆ 기ì¦ìž" +msgstr "ë¸Œë¡ ì¦ˆ 기부ìž" #: editor/editor_about.cpp msgid "Donors" -msgstr "기ì¦ìž" +msgstr "기부ìž" #: editor/editor_about.cpp msgid "License" @@ -855,6 +861,11 @@ msgid "Rename Audio Bus" msgstr "오디오 버스 ì´ë¦„ 변경" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "오디오 버스 솔로 í† ê¸€" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "오디오 버스 솔로 í† ê¸€" @@ -902,8 +913,8 @@ msgstr "ë°”ì´íŒ¨ìФ" msgid "Bus options" msgstr "버스 옵션" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "ë³µì œ" @@ -916,6 +927,10 @@ msgid "Delete Effect" msgstr "ì´íŽ™íŠ¸ ì‚ì œ" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "오디오 버스 추가" @@ -1037,7 +1052,7 @@ msgstr "ìžë™ë¡œë“œì— '%s'ì´(ê°€) ì´ë¯¸ 존재합니다!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "ìžë™ 로드 ì´ë¦„ 변경" +msgstr "ì˜¤í† ë¡œë“œ ì´ë¦„ 변경" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" @@ -1045,11 +1060,11 @@ msgstr "ìžë™ë¡œë“œ 글로벌 í† ê¸€" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "ìžë™ 로드 ì´ë™" +msgstr "ì˜¤í† ë¡œë“œ ì´ë™" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "ìžë™ 로드 ì‚ì œ" +msgstr "ì˜¤í† ë¡œë“œ ì‚ì œ" #: editor/editor_autoload_settings.cpp msgid "Enable" @@ -1057,7 +1072,7 @@ msgstr "활성화" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "ìžë™ 로드 위치 변경" +msgstr "ì˜¤í† ë¡œë“œ ìž¬ì •ë ¬" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: scene/gui/file_dialog.cpp @@ -1068,7 +1083,8 @@ msgstr "경로:" msgid "Node Name:" msgstr "노드 ì´ë¦„:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "ì´ë¦„" @@ -1076,10 +1092,6 @@ msgstr "ì´ë¦„" msgid "Singleton" msgstr "싱글톤" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "목ë¡:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "씬 ì—…ë°ì´íЏ 중" @@ -1092,6 +1104,15 @@ msgstr "로컬 변경사í•ì„ ì €ìž¥ 중.." msgid "Updating scene.." msgstr "씬 ì—…ë°ì´íЏ 중.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(비었ìŒ)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "ë¨¼ì € 기본 ë””ë ‰í† ë¦¬ë¥¼ ì„ íƒí•´ì£¼ì„¸ìš”" @@ -1138,9 +1159,24 @@ msgid "File Exists, Overwrite?" msgstr "파ì¼ì´ 존재합니다. ë®ì–´ì“°ì‹œê² 습니까?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "í´ë” ìƒì„±" +msgstr "현재 í´ë” ì„ íƒ" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "경로 복사" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "ìƒˆë¡œê³ ì¹¨" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1189,10 +1225,6 @@ msgid "Go Up" msgstr "위로 가기" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "ìƒˆë¡œê³ ì¹¨" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "숨김 íŒŒì¼ í† ê¸€" @@ -1372,7 +1404,8 @@ msgstr "ì¶œë ¥:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "지우기" @@ -1528,14 +1561,12 @@ msgstr "" "ëžë‹ˆë‹¤." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "ëª¨ë‘ í™•ìž¥" +msgstr "ëª¨ë“ ì†ì„± 펼치기" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "ëª¨ë‘ ì ‘ê¸°" +msgstr "ëª¨ë“ ì†ì„± ì ‘ê¸°" #: editor/editor_node.cpp msgid "Copy Params" @@ -1923,7 +1954,7 @@ msgstr "ë„구" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "ì¢…ë£Œí•˜ê³ í”„ë¡œì 트 목ë¡ìœ¼ë¡œ ëŒì•„가기" +msgstr "종료 후 프로ì 트 ëª©ë¡ ì—´ê¸°" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" @@ -2315,6 +2346,16 @@ msgstr "ìžì‹ " msgid "Frame #:" msgstr "í”„ë ˆìž„ #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "시간:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "호출" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "목ë¡ì—서 기기를 ì„ íƒí•˜ì„¸ìš”" @@ -2456,7 +2497,8 @@ msgstr "ì‘답 ì—†ìŒ." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "ìš”ì² ì‹¤íŒ¨." #: editor/export_template_manager.cpp @@ -2503,7 +2545,8 @@ msgid "Connecting.." msgstr "연결중.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "ì—°ê²°í• ìˆ˜ ì—†ìŒ" #: editor/export_template_manager.cpp @@ -2596,6 +2639,11 @@ msgid "Error moving:\n" msgstr "ì´ë™ ì—러:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "로드 중 ì—러:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "종ì†í•ëª©ì„ ì—…ë°ì´íЏ í• ìˆ˜ 없습니다:\n" @@ -2628,6 +2676,16 @@ msgid "Renaming folder:" msgstr "í´ë”명 변경:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "ë³µì œ" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "í´ë”명 변경:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "ëª¨ë‘ í™•ìž¥" @@ -2636,10 +2694,6 @@ msgid "Collapse all" msgstr "ëª¨ë‘ ì ‘ê¸°" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "경로 복사" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "ì´ë¦„ 변경.." @@ -2648,12 +2702,9 @@ msgid "Move To.." msgstr "ì´ë™.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "새 í´ë”.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "íŒŒì¼ ë§¤ë‹ˆì €ì—서 보기" +#, fuzzy +msgid "Open Scene(s)" +msgstr "씬 열기" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2668,6 +2719,11 @@ msgid "View Owners.." msgstr "ì†Œìœ ìž ë³´ê¸°.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ë³µì œ" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "ì´ì „ ë””ë ‰í† ë¦¬" @@ -2762,6 +2818,16 @@ msgid "Importing Scene.." msgstr "씬 ê°€ì ¸ì˜¤ëŠ” 중.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ë¼ì´íŠ¸ë§µìœ¼ë¡œ ì „ì†¡:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "AABB ìƒì„± 중" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "ì‚¬ìš©ìž ì •ì˜ ìŠ¤í¬ë¦½íЏ 실행중.." @@ -2992,7 +3058,7 @@ msgstr "ì• ë‹ˆë©”ì´ì…˜ ëª©ë¡ í‘œì‹œ." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "로드 시 ìžë™ 시작" +msgstr "로드 시 ìžë™ í”Œë ˆì´" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" @@ -3008,46 +3074,43 @@ msgstr "ì• ë‹ˆë©”ì´ì…˜ 복사" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "어니언 스키ë‹" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "어니언 ìŠ¤í‚¤ë‹ í™œì„±í™”" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "부문:" +msgstr "ë°©í–¥" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "붙여넣기" +msgstr "과거" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "기능" +msgstr "미래" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "깊ì´" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 단계" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 단계" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 단계" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "변경사í•ë§Œ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3055,7 +3118,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "기즈모 í¬í•¨ (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3332,6 +3395,7 @@ msgid "last" msgstr "마지막" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "모ë‘" @@ -3373,6 +3437,28 @@ msgstr "테스팅" msgid "Assets ZIP File" msgstr "ì—ì…‹ ZIP 파ì¼" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ë¼ì´íŠ¸ë§µìœ¼ë¡œ ì „ì†¡:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "미리보기" @@ -3509,7 +3595,6 @@ msgid "Toggles snapping" msgstr "스냅 í† ê¸€" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "스냅 사용" @@ -3519,7 +3604,7 @@ msgstr "스냅 옵션" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "ê·¸ë¦¬ë“œì— ë§žì¶¤" +msgstr "ê·¸ë¦¬ë“œì— ìŠ¤ëƒ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" @@ -3543,7 +3628,7 @@ msgstr "스마트 스냅" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "ë¶€ëª¨ì— ë§žì¶¤" +msgstr "ë¶€ëª¨ì— ìŠ¤ëƒ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" @@ -3559,7 +3644,7 @@ msgstr "다른 ë…¸ë“œì— ìŠ¤ëƒ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "ê°€ì´ë“œì— 맞춤" +msgstr "ê°€ì´ë“œì— 스냅" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3607,7 +3692,7 @@ msgstr "보기" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "그리드 ë³´ì´ê¸°" +msgstr "그리드 보기" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" @@ -3689,16 +3774,6 @@ msgstr "'%s' 로부터 씬 ì¸ìŠ¤í„´ìŠ¤ 중 ì—러" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "넹 :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ì„ íƒëœ 부모 노드가 없어서 ìžì‹ë…¸ë“œë¥¼ ì¸ìŠ¤í„´ìŠ¤í• ìˆ˜ 없습니다." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "ì´ ìž‘ì—…ì€ í•˜ë‚˜ì˜ ì„ íƒëœ 노드를 필요로 합니다." @@ -3810,7 +3885,7 @@ msgstr "쉬프트키를 ëˆ„ë¥´ê³ ìžˆìœ¼ë©´ 탄ì 트를 개별ì 으로 편집 #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "GI Probe 굽기" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3894,6 +3969,22 @@ msgid "Create Navigation Mesh" msgstr "네비게ì´ì…˜ 메쉬 만들기" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstanceì— ë©”ì‰¬ê°€ 없습니다!" @@ -3934,6 +4025,20 @@ msgid "Create Outline Mesh.." msgstr "ì™¸ê³½ì„ ë©”ì‰¬ 만들기.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "보기" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "ì™¸ê³½ì„ ë©”ì‰¬ 만들기" @@ -4110,10 +4215,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "AABB ìƒì„± 중" @@ -4131,10 +4232,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "ì´ë¯¸ì§€ì— 투명ë„ê°€ 128보다 í° í”½ì…€ì´ ì—†ìŠµë‹ˆë‹¤.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "ì—미션 ë§ˆìŠ¤í¬ ì„¤ì •" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "" @@ -4143,6 +4240,10 @@ 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 "Particles" msgstr "파티í´" @@ -4201,10 +4302,6 @@ msgid "Create Emission Points From Node" msgstr "노드로부터 ì—미터 í¬ì¸íЏ 만들기" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ì—미터 ì •ë¦¬" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "ì—미터 만들기" @@ -4489,11 +4586,13 @@ 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 "아래로 ì´ë™" @@ -4509,7 +4608,7 @@ msgstr "ì´ì „ 스í¬ë¦½íЏ" msgid "File" msgstr "파ì¼" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "새로운" @@ -4522,6 +4621,11 @@ msgid "Soft Reload Script" msgstr "스í¬ë¦½íЏ 다시 로드" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "경로 복사" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "ì´ì „ ížˆìŠ¤í† ë¦¬" @@ -4710,11 +4814,8 @@ msgid "Clone Down" msgstr "아래로 ë³µì œ" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "ë¼ì¸ ì ‘ìŒ" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "ë¼ì¸ 펼치기" #: editor/plugins/script_text_editor.cpp @@ -5042,6 +5143,14 @@ msgstr "초당 í”„ë ˆìž„" msgid "Align with view" msgstr "ë·°ì— ì •ë ¬" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "Normal 표시" @@ -5149,6 +5258,20 @@ msgid "Scale Mode (R)" msgstr "í¬ê¸°ì¡°ì ˆ 모드 (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "로컬 좌표" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "í¬ê¸°ì¡°ì ˆ 모드 (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "스냅 모드:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "하단 ë·°" @@ -5221,10 +5344,6 @@ msgid "Configure Snap.." msgstr "스냅 ì„¤ì •.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "로컬 좌표" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "변환 다ì´ì–¼ë¡œê·¸.." @@ -5266,6 +5385,10 @@ msgid "Settings" msgstr "ì„¤ì •" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "스냅 ì„¤ì •" @@ -5291,11 +5414,11 @@ msgstr "ì›ê·¼ 시야 (ë„):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "Zì¶• ê°€ê¹Œì´ ë³´ê¸°:" +msgstr "Z-근경 보기:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "Zì¶• 멀리 보기:" +msgstr "Z-ì›ê²½ 보기:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -5648,6 +5771,11 @@ msgid "Merge from scene?" msgstr "씬으로부터 ë³‘í•©í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "íƒ€ì¼ ì…‹.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "씬으로부터 만들기" @@ -5659,6 +5787,10 @@ msgstr "씬으로부터 병합하기" msgid "Error" msgstr "ì—러" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "취소" + #: editor/project_export.cpp msgid "Runnable" msgstr "실행가능" @@ -5731,7 +5863,7 @@ msgstr "기능" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "커스텀 (콤마로 구분):" #: editor/project_export.cpp msgid "Feature List:" @@ -5743,11 +5875,11 @@ msgstr "PCK/Zip 내보내기" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ìŒ:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "ì´ í”Œëž«í¼ì— 대한 내보내기 í…œí”Œë¦¿ì´ ì—†ê±°ë‚˜ ì†ìƒë¨:" #: editor/project_export.cpp msgid "Export With Debug" @@ -5766,22 +5898,19 @@ msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"비어있지 ì•Šì€ í´ë”ì— í”„ë¡œì 트가 ìƒì„±ë©ë‹ˆë‹¤ (새 í´ë”를 만드는 ê²ƒì„ ê¶Œí•©ë‹ˆë‹¤)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "'project.godot' 파ì¼ì´ 없는 í´ë”를 ì„ íƒ í•˜ì‹ì‹œì˜¤." #: editor/project_manager.cpp msgid "Imported Project" msgstr "ê°€ì ¸ì˜¨ 프로ì 트" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "프로ì 트 ì´ë¦„ì„ ì •í•˜ëŠ” ê²ƒì„ ê¶Œí•©ë‹ˆë‹¤." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." @@ -5874,6 +6003,8 @@ msgid "" "Can't run project: Assets need to be imported.\n" "Please edit the project to trigger the initial import." msgstr "" +"프로ì 트 실행 불가: ì–´ì…‹ë“¤ì„ ê°€ì ¸ì™€ì•¼ 합니다.\n" +"프로ì 트를 편집하여 최초 ê°€ì ¸ì˜¤ê¸°ê°€ 실행ë˜ë„ë¡ í•˜ì„¸ìš”." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" @@ -5889,6 +6020,8 @@ msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"언어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.\n" +"UI는 ì—디터나 프로ì 트 ë§¤ë‹ˆì €ê°€ ë‹¤ìŒ ë²ˆì— ì‹¤í–‰ë 때 ì—…ë°ì´íЏ ë©ë‹ˆë‹¤." #: editor/project_manager.cpp msgid "" @@ -5933,6 +6066,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"프로ì 트가 현재 í•˜ë‚˜ë„ ì—†ìŠµë‹ˆë‹¤.\n" +"어쎗 ë¼ì´ë¸ŒëŸ¬ë¦¬ì—서 ê³µì‹ ì˜ˆì œ 프로ì 트를 ì°¾ì•„ë³´ì‹œê² ìŠµë‹ˆê¹Œ?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6040,8 +6175,9 @@ msgid "Joypad Button Index:" msgstr "ì¡°ì´íŒ¨ë“œ 버튼 ì¸ë±ìФ:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "ìž…ë ¥ ì•¡ì…˜ 추가" +#, fuzzy +msgid "Erase Input Action" +msgstr "ìž…ë ¥ ì•¡ì…˜ ì´ë²¤íЏ ì‚ì œ" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6081,11 +6217,11 @@ msgstr "íœ ì•„ëž˜ë¡œ." #: editor/project_settings_editor.cpp msgid "Add Global Property" -msgstr "" +msgstr "글로벌 ì†ì„± 추가" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "ë¨¼ì € ì„¤ì • í•ëª©ì„ ì„ íƒí•˜ì„¸ìš”!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." @@ -6093,7 +6229,7 @@ msgstr "'%s' ì†ì„±ì´ 존재하지 않습니다." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "'%s' ì„¤ì •ì€ ë‚´ë¶€ì ì¸ ê²ƒìž…ë‹ˆë‹¤, ì‚ì œê°€ 불가합니다." #: editor/project_settings_editor.cpp msgid "Delete Item" @@ -6108,6 +6244,10 @@ msgid "Already existing" msgstr "ì´ë¯¸ 존재함" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "ìž…ë ¥ ì•¡ì…˜ 추가" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "ì„¤ì • ì €ìž¥ 중 ì—러." @@ -6153,7 +6293,7 @@ msgstr "ë¡œì¼€ì¼ í•„í„° 변경ë¨" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "ë¡œì¼€ì¼ í•„í„° 모드 변경" #: editor/project_settings_editor.cpp msgid "Project Settings (project.godot)" @@ -6225,7 +6365,7 @@ msgstr "ëª¨ë“ ë¡œì¼€ì¼ ë³´ê¸°" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "ì„ íƒí•œ 로케ì¼ë§Œ 표시" #: editor/project_settings_editor.cpp msgid "Filter mode:" @@ -6237,7 +6377,7 @@ msgstr "로케ì¼:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "ìžë™ 로드" +msgstr "ì˜¤í† ë¡œë“œ" #: editor/property_editor.cpp msgid "Pick a Viewport" @@ -6284,6 +6424,10 @@ msgid "New Script" msgstr "새 스í¬ë¦½íЏ" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "ê³ ìœ í•˜ê²Œ 만들기" @@ -6315,6 +6459,11 @@ msgstr "비트 %d, ê°’ %d." msgid "On" msgstr "사용" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "빈 í”„ë ˆìž„ 추가" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "ì„¤ì •" @@ -6323,10 +6472,6 @@ msgstr "ì„¤ì •" msgid "Properties:" msgstr "ì†ì„±:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "부문:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "ì†ì„± ì„ íƒ" @@ -6523,7 +6668,7 @@ msgstr "스í¬ë¦½íЏ ì œê±°" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "다른 씬과 병합" +msgstr "다른 씬ì—서 ê°€ì ¸ì˜¤ê¸°" #: editor/scene_tree_dock.cpp msgid "Save Branch as Scene" @@ -6878,6 +7023,10 @@ msgstr "트리로부터 ì„¤ì •" msgid "Shortcuts" msgstr "단축키" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Light 반경 변경" @@ -6926,15 +7075,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "프로브 범위 변경" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "커프 í¬ì¸íЏ ì‚ì œ" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "플랫í¼ìœ¼ë¡œ 복사.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "ìƒíƒœ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7608,6 +7797,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ì´ë¯¸ì§€ 병합 중" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ì´ë¯¸ì§€ 병합 중" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ì´ë¯¸ì§€ 병합 중" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7645,10 +7853,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ì´ë¯¸ì§€ 병합 중" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7708,10 +7912,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "취소" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "ê²½ê³ !" @@ -7778,6 +7978,27 @@ msgstr "í°íЏ 로딩 ì—러." msgid "Invalid font size." msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." +#~ msgid "Move Add Key" +#~ msgstr "키 ì´ë™" + +#~ msgid "Create Subscription" +#~ msgstr "ì—°ê²° í•´ì œ" + +#~ msgid "List:" +#~ msgstr "목ë¡:" + +#~ msgid "Set Emission Mask" +#~ msgstr "ì—미션 ë§ˆìŠ¤í¬ ì„¤ì •" + +#~ msgid "Clear Emitter" +#~ msgstr "ì—미터 ì •ë¦¬" + +#~ msgid "Fold Line" +#~ msgstr "ë¼ì¸ ì ‘ìŒ" + +#~ msgid "Sections:" +#~ msgstr "부문:" + #~ msgid "" #~ "\n" #~ "Source: " @@ -8298,9 +8519,6 @@ msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." #~ msgid "Making BVH" #~ msgstr "BVH 만드는 중" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ë¼ì´íŠ¸ë§µìœ¼ë¡œ ì „ì†¡:" - #~ msgid "Allocating Texture #" #~ msgstr "í…ìŠ¤ì³ í• ë‹¹ 중 #" @@ -8443,9 +8661,6 @@ msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." #~ msgid "Del" #~ msgstr "ì‚ì œ" -#~ msgid "Copy To Platform.." -#~ msgstr "플랫í¼ìœ¼ë¡œ 복사.." - #, fuzzy #~ msgid "" #~ "Couldn't read the certificate file. Are the path and password both " diff --git a/editor/translations/lt.po b/editor/translations/lt.po index af752e728f..f51aeb7e23 100644 --- a/editor/translations/lt.po +++ b/editor/translations/lt.po @@ -29,8 +29,9 @@ msgid "All Selection" msgstr "Visas Pasirinkimas" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animacija: Pakeisti ReikÅ¡mÄ™" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +42,8 @@ msgid "Anim Change Transform" msgstr "Animacija: Pakeisti TransformacijÄ…" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animacija: Pakeisti ReikÅ¡mÄ™" #: editor/animation_editor.cpp @@ -537,8 +539,9 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Prijungti '%s' prie '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -554,7 +557,8 @@ msgid "Signals" msgstr "Signalai" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Sukurti NaujÄ…" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -569,7 +573,7 @@ msgstr "Naujausi:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -606,6 +610,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -706,9 +711,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -847,6 +853,10 @@ 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 "" @@ -894,8 +904,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplikuoti" @@ -908,6 +918,10 @@ msgid "Delete Effect" msgstr "IÅ¡trinti EfektÄ…" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1058,7 +1072,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1066,10 +1081,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1082,6 +1093,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1131,6 +1150,22 @@ msgstr "" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1178,10 +1213,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1357,7 +1388,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2247,6 +2279,15 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "TrukmÄ—:" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2382,7 +2423,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2429,7 +2470,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2520,6 +2561,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2552,15 +2597,21 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplikuoti" #: editor/filesystem_dock.cpp -msgid "Collapse all" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Duplikuoti" + +#: editor/filesystem_dock.cpp +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2572,11 +2623,7 @@ msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2592,6 +2639,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplikuoti" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2684,6 +2736,14 @@ 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 "" @@ -3249,6 +3309,7 @@ msgid "last" msgstr "paskutinis" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Visi" @@ -3290,6 +3351,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3424,7 +3506,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3604,16 +3685,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3805,6 +3876,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3845,6 +3932,18 @@ 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 "" @@ -4021,10 +4120,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4042,15 +4137,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4112,10 +4207,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4398,11 +4489,13 @@ 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 "" @@ -4418,7 +4511,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4431,6 +4524,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4617,11 +4714,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4949,6 +5042,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5053,6 +5154,18 @@ 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 "" @@ -5125,10 +5238,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5170,6 +5279,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5552,6 +5665,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5563,6 +5680,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "AtÅ¡aukti" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5680,10 +5801,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5940,7 +6057,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6008,6 +6125,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6184,6 +6305,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6215,6 +6340,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6223,10 +6352,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6776,6 +6901,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6824,15 +6953,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7481,6 +7646,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7509,10 +7690,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7567,10 +7744,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "AtÅ¡aukti" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Ä®spÄ—jimas!" diff --git a/editor/translations/nb.po b/editor/translations/nb.po index ff238a5a85..b64f7bcf09 100644 --- a/editor/translations/nb.po +++ b/editor/translations/nb.po @@ -7,13 +7,14 @@ # Anonymous <GentleSaucepan@protonmail.com>, 2017. # flesk <eivindkn@gmail.com>, 2017. # Jørgen Aarmo Lund <jorgen.aarmo@gmail.com>, 2016. +# NicolaiF <nico-fre@hotmail.com>, 2017. # Norwegian Disaster <stian.furu.overbye@gmail.com>, 2017. # passeride <lukas@passeride.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" +"PO-Revision-Date: 2017-12-05 23:48+0000\n" "Last-Translator: flesk <eivindkn@gmail.com>\n" "Language-Team: Norwegian BokmÃ¥l <https://hosted.weblate.org/projects/godot-" "engine/godot/nb/>\n" @@ -29,11 +30,12 @@ msgstr "Deaktivert" #: editor/animation_editor.cpp msgid "All Selection" -msgstr "Hele utvalget" +msgstr "Alle valg" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Flytt Legg til Nøkkel" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Forandre Verdi" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,10 +43,11 @@ msgstr "Anim Forandre Overgang" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Endre Transformering" +msgstr "Anim Forandre Omforming" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Forandre Verdi" #: editor/animation_editor.cpp @@ -96,8 +99,9 @@ msgid "Edit Node Curve" msgstr "Forandre Nodekurve" #: editor/animation_editor.cpp +#, fuzzy msgid "Edit Selection Curve" -msgstr "Forandre Utvalgskurve" +msgstr "Forandre utvalgskurve" #: editor/animation_editor.cpp msgid "Anim Delete Keys" @@ -150,7 +154,7 @@ msgstr "GÃ¥ til Neste Steg" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "GÃ¥til Forrige Steg" +msgstr "GÃ¥ til Forrige Steg" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -187,7 +191,7 @@ msgstr "Optimaliser Animasjon" #: editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "Rengjør Animasjon" +msgstr "Rydd-Opp-Animasjon" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" @@ -212,7 +216,7 @@ msgstr "Anim Lag og Sett Inn" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Sett inn Spor og Nøkkel" +msgstr "Anim Sett Inn Spor & Nøkkel" #: editor/animation_editor.cpp msgid "Anim Insert Key" @@ -243,7 +247,6 @@ msgid "Anim Add Call Track" msgstr "Anim Legg Til Call Track" #: editor/animation_editor.cpp -#, fuzzy msgid "Animation zoom." msgstr "Animasjons-zoom." @@ -265,7 +268,7 @@ msgstr "Pekersteghopp (i sekunder)." #: editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "Aktiver/Deaktiver løkke i animasjon." +msgstr "Aktiver/Deaktiver animasjonsløkke." #: editor/animation_editor.cpp msgid "Add new tracks." @@ -285,7 +288,7 @@ msgstr "Fjern valgt spor." #: editor/animation_editor.cpp msgid "Track tools" -msgstr "Sporverktøy" +msgstr "Spoor verktøy" #: editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." @@ -312,9 +315,8 @@ msgid "Optimize" msgstr "Optimaliser" #: editor/animation_editor.cpp -#, fuzzy msgid "Select an AnimationPlayer from the Scene Tree to edit animations." -msgstr "Marker en AnimationPlayer fra scenetreet for Ã¥ endre animasjoner." +msgstr "Velg en AnimationPlayer fra scenetreet for Ã¥ endre animasjoner." #: editor/animation_editor.cpp msgid "Key" @@ -536,13 +538,13 @@ msgid "Connect '%s' to '%s'" msgstr "Koble '%s' til '%s'" #: editor/connections_dialog.cpp -#, fuzzy msgid "Connecting Signal:" msgstr "Kobler Til Signal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Lag Abonnement" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Koble '%s' til '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -558,7 +560,8 @@ msgid "Signals" msgstr "Signaler" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Lag Ny" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -573,7 +576,7 @@ msgstr "Nylige:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Søk:" @@ -614,6 +617,7 @@ msgstr "" "Endringer vil tre i kraft nÃ¥r den lastes inn pÃ¥ nytt." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Avhengigheter" @@ -678,7 +682,7 @@ msgstr "Feil ved innlasting:" #: editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" -msgstr "Scenen kunne ikke lastes, pÃ¥ grunn av manglende avhengigheter:" +msgstr "Scenen kunne ikke lastes pÃ¥ grunn av manglende avhengigheter:" #: editor/dependency_editor.cpp editor/editor_node.cpp msgid "Open Anyway" @@ -698,7 +702,7 @@ msgstr "Feil ved lasting!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Slett %d ting for godt? (kan ikke angres)" +msgstr "Slett %d elementer for godt? (kan ikke angres)" #: editor/dependency_editor.cpp msgid "Owns" @@ -717,22 +721,24 @@ msgid "Delete selected files?" msgstr "Slett valgte filer?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Slett" #: editor/dictionary_property_edit.cpp +#, fuzzy msgid "Change Dictionary Key" msgstr "Endre Ordboksnøkkel" #: editor/dictionary_property_edit.cpp +#, fuzzy msgid "Change Dictionary Value" msgstr "Endre Ordboksverdi" #: editor/editor_about.cpp -#, fuzzy msgid "Thanks from the Godot community!" msgstr "Takk fra Godot-samfunnet!" @@ -742,7 +748,7 @@ msgstr "Takk!" #: editor/editor_about.cpp msgid "Godot Engine contributors" -msgstr "Godot Engines bidragsytere" +msgstr "Godot Engine sine bidragsytere" #: editor/editor_about.cpp msgid "Project Founders" @@ -863,6 +869,11 @@ msgid "Rename Audio Bus" msgstr "Gi nytt navn til Audio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Veksle Audio Bus Solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Veksle Audio Bus Solo" @@ -900,7 +911,7 @@ msgstr "Solo" #: editor/editor_audio_buses.cpp msgid "Mute" -msgstr "Mute" +msgstr "Demp" #: editor/editor_audio_buses.cpp #, fuzzy @@ -911,8 +922,8 @@ msgstr "OmgÃ¥" msgid "Bus options" msgstr "Bus valg" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplisér" @@ -925,6 +936,10 @@ msgid "Delete Effect" msgstr "Fjern Effekt" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Legg til Audio Bus" @@ -1059,160 +1074,176 @@ msgstr "Flytt Autoload" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "" +msgstr "Fjern Autoload" #: editor/editor_autoload_settings.cpp msgid "Enable" -msgstr "" +msgstr "Aktiver" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "" +msgstr "Omorganiser Autoloads" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: scene/gui/file_dialog.cpp msgid "Path:" -msgstr "" +msgstr "Bane:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Nodenavn:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Navn" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" +msgstr "Singleton" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "Oppdaterer Scene" #: editor/editor_data.cpp msgid "Storing local changes.." -msgstr "" +msgstr "Lagrer lokale endringer.." #: editor/editor_data.cpp msgid "Updating scene.." +msgstr "Oppdaterer scene.." + +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "" +msgstr "Venligst velg en basemappe først" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Velg en Mappe" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Lag mappe" #: 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 "Navn:" #: 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 "Kunne ikke opprette mappe." #: editor/editor_dir_dialog.cpp msgid "Choose" -msgstr "" +msgstr "Velg" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "" +msgstr "Lagrer Fil:" #: editor/editor_export.cpp msgid "Packing" -msgstr "" +msgstr "Pakking" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "" +msgstr "Malfil ble ikke funnet:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Filen finnes, overskriv?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Kutt Noder" +msgstr "Velg Gjeldende Mappe" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopier Sti" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Vis I Filutforsker" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Ny Mappe.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Oppdater" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" -msgstr "" +msgstr "Alle gjenkjente" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "Alle filer (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Ã…pne en fil" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Ã…pne fil(er)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Ã…pne ei mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Ã…pne ei fil eller mappe" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp scene/gui/file_dialog.cpp msgid "Save" -msgstr "" +msgstr "Lagre" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Save a File" -msgstr "" +msgstr "Lagre ei fil" #: editor/editor_file_dialog.cpp msgid "Go Back" -msgstr "" +msgstr "GÃ¥ tilbake" #: editor/editor_file_dialog.cpp msgid "Go Forward" -msgstr "" +msgstr "GÃ¥ framover" #: editor/editor_file_dialog.cpp msgid "Go Up" -msgstr "" - -#: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" +msgstr "GÃ¥ oppover" #: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Veksle visning av skjulte filer" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "Veksle favorittmerkering" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "" +msgstr "Veksle modus" #: editor/editor_file_dialog.cpp msgid "Focus Path" @@ -1220,32 +1251,32 @@ msgstr "" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" -msgstr "" +msgstr "Flytt favoritt oppover" #: editor/editor_file_dialog.cpp msgid "Move Favorite Down" -msgstr "" +msgstr "Flytt favoritt nedover" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Go to parent folder" -msgstr "" +msgstr "GÃ¥ til overnevnt mappe" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "" +msgstr "Mapper og filer:" #: editor/editor_file_dialog.cpp msgid "Preview:" -msgstr "" +msgstr "ForhÃ¥ndsvisning:" #: editor/editor_file_dialog.cpp editor/script_editor_debugger.cpp #: scene/gui/file_dialog.cpp msgid "File:" -msgstr "" +msgstr "Fil:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "MÃ¥ ha en gyldig filutvidelse." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1258,35 +1289,35 @@ msgstr "" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp msgid "Search Help" -msgstr "" +msgstr "Søk hjelp" #: editor/editor_help.cpp msgid "Class List:" -msgstr "" +msgstr "Klasseliste:" #: editor/editor_help.cpp msgid "Search Classes" -msgstr "" +msgstr "Søk i klasser" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" -msgstr "" +msgstr "Topp" #: editor/editor_help.cpp editor/property_editor.cpp msgid "Class:" -msgstr "" +msgstr "Klasse:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp msgid "Inherits:" -msgstr "" +msgstr "Arver:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "Arvet av:" #: editor/editor_help.cpp msgid "Brief Description:" -msgstr "" +msgstr "Kort beskrivelse:" #: editor/editor_help.cpp msgid "Members" @@ -1298,193 +1329,200 @@ msgstr "Medlemmer:" #: editor/editor_help.cpp msgid "Public Methods" -msgstr "" +msgstr "Offentlige metoder" #: editor/editor_help.cpp msgid "Public Methods:" -msgstr "" +msgstr "Offentlige metoder:" #: editor/editor_help.cpp msgid "GUI Theme Items" -msgstr "" +msgstr "GUI Tema Elementer" #: editor/editor_help.cpp msgid "GUI Theme Items:" -msgstr "" +msgstr "GUI Tema Elementer:" #: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp msgid "Signals:" msgstr "Signaler:" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations" -msgstr "Funksjoner:" +msgstr "Nummereringer" #: editor/editor_help.cpp -#, fuzzy msgid "Enumerations:" -msgstr "Funksjoner:" +msgstr "Nummereringer:" #: editor/editor_help.cpp msgid "enum " -msgstr "" +msgstr "num " #: editor/editor_help.cpp msgid "Constants" -msgstr "" +msgstr "Konstanter" #: editor/editor_help.cpp msgid "Constants:" -msgstr "" +msgstr "Konstanter:" #: editor/editor_help.cpp msgid "Description" -msgstr "" +msgstr "Beskrivelse" #: editor/editor_help.cpp msgid "Properties" -msgstr "" +msgstr "Egenskaper" #: editor/editor_help.cpp msgid "Property Description:" -msgstr "" +msgstr "Egenskapsbeskrivelse:" #: 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 "" +"Det finnes i øyeblikket ingen beskrivelse av denne egenskapen. Hjelp til ved " +"Ã¥ [colour=$color][url=$url]bidra med en[/url][/color]!" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Metoder" #: editor/editor_help.cpp msgid "Method Description:" -msgstr "" +msgstr "Metodebeskrivelse:" #: 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 "" +"Det finnes i øyeblikket ingen beskrivelse av denne metoden. Hjelp til ved Ã¥ " +"[colour=$color][url=$url]bidra med en[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" -msgstr "" +msgstr "Søk Tekst" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" -msgstr "" +msgstr "Tøm" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "" +msgstr "Feil ved lagring av ressurs!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." -msgstr "" +msgstr "Lagre Ressurs Som.." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +#, fuzzy msgid "I see.." -msgstr "" +msgstr "Jeg ser.." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Kan ikke Ã¥pne fil for skriving:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "Forespurte filformat ukjent:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Feil under lagring." #: editor/editor_node.cpp msgid "Can't open '%s'." -msgstr "" +msgstr "Kan ikke Ã¥pne '%s'." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "" +msgstr "Error ved parsing av '%s'." #: editor/editor_node.cpp +#, fuzzy msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "Uventet ende av fil '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "Mangler '%s' eller dens avhengigheter." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "" +msgstr "Feil ved lasting av '%s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Lagrer Scene" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Analyserer" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Lager Thumbnail" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." -msgstr "" +msgstr "Denne operasjonen kan ikke gjennomføres uten en trerot." #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"Kunne ikke lagre scene. Sannsynligvis avhengigheter (instanser) ikke kunne " +"oppfylles." #: editor/editor_node.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Kunne ikke laste ressurs." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "Kan ikke laste MeshLibrary for sammenslÃ¥ing!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Error ved lagring av MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "Kan ikke laste TileSet for sammenslÃ¥ing!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Error ved lagring av TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Error ved lagring av layout!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Standard editor layout overskrevet." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Layoutnavn ikke funnet!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Gjenoppretter standard layout til grunninnstillinger." #: editor/editor_node.cpp msgid "" @@ -1492,18 +1530,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Denne ressursen tilhører en scene som ble importert, sÃ¥ den er ikke " +"redigerbar.\n" +"Les dokumentasjonen om import av scener for Ã¥ bedre forstÃ¥ denne " +"arbeidsflyten." #: 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 "" +"Denne ressursen tilhører en scene som ble instansert eller arvet.\n" +"Endringer vil ikke bli beholdt ved lagring av scenen." #: 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 "" +"Denne ressursen ble importert, sÃ¥ det ikke er redigerbar. Endre " +"innstillingene i import-panelet og importer deretter pÃ¥ nytt." #: editor/editor_node.cpp msgid "" @@ -1512,6 +1558,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Denne scenen er importert, sÃ¥ endringer vil ikke bli lagret.\n" +"Instansere eller arving vil tillate endringer i den.\n" +"Vennligst les dokumentasjonen nÃ¥r det gjelder import av scener for Ã¥ bedre " +"forstÃ¥ denne arbeidsflyten." #: editor/editor_node.cpp msgid "" @@ -1519,46 +1569,51 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"Dette er et eksternt objekt sÃ¥ endringer vil ikke beholdes.\n" +"Vennligst les dokumentasjonen relevant til debugging for Ã¥ forstÃ¥ denne " +"arbeidsflyten." #: editor/editor_node.cpp msgid "Expand all properties" -msgstr "" +msgstr "Utvid alle egenskaper" #: editor/editor_node.cpp msgid "Collapse all properties" -msgstr "" +msgstr "Kollaps alle egenskaper" #: editor/editor_node.cpp msgid "Copy Params" -msgstr "" +msgstr "Kopier Parametre" #: editor/editor_node.cpp msgid "Paste Params" -msgstr "" +msgstr "Lim inn Parametre" #: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "" +msgstr "Lim inn Ressurs" #: editor/editor_node.cpp msgid "Copy Resource" -msgstr "" +msgstr "Kopier Ressurs" #: editor/editor_node.cpp +#, fuzzy msgid "Make Built-In" -msgstr "" +msgstr "Lag Innebygd" #: editor/editor_node.cpp +#, fuzzy msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "Gjør Underressurs Unik" #: editor/editor_node.cpp msgid "Open in Help" -msgstr "" +msgstr "Ã…pne i Hjelp" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "Det er ingen definert scene Ã¥ kjøre." #: editor/editor_node.cpp msgid "" @@ -1566,13 +1621,20 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Ingen hovedscene har blitt definert, velg en?\n" +"Du kan endre dette senere under \"Prosjekt Innstilliner\" i kategorien " +"'applikasjon'." #: editor/editor_node.cpp +#, fuzzy 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 "" +"Valgte scene '%s' finnes ikke, velg en gyldig en?\n" +"Du kan endre dette senere under \"Prosjekt Innstillinger\" under kategorien " +"'applikasjon'." #: editor/editor_node.cpp msgid "" @@ -1583,15 +1645,15 @@ msgstr "" #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "" +msgstr "Gjeldende scene ble aldri lagret, vennligst lagre før kjøring." #: editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "" +msgstr "Kunne ikke starta subprosess!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "Ã…pne Scene" #: editor/editor_node.cpp msgid "Open Base Scene" @@ -1599,121 +1661,124 @@ msgstr "" #: editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "HurtigÃ¥pne Scene.." #: editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "HurtigÃ¥pne Skript.." #: editor/editor_node.cpp msgid "Save & Close" -msgstr "" +msgstr "Lagre og Lukk" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "Lagre endringer til '%s' før lukking?" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Lagre Scene Som.." #: editor/editor_node.cpp msgid "No" -msgstr "" +msgstr "Nei" #: editor/editor_node.cpp msgid "Yes" -msgstr "" +msgstr "Ja" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "" +msgstr "Denne scene har aldri blitt lagret. Lagre før kjøring?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "" +msgstr "Denne operasjonen kan ikke gjøres uten en scene." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "Eksporter MeshBibliotek" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "" +msgstr "Denne operasjonen kan ikke gjennomføres uten en rotnode." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "" +msgstr "Eksporter Tile Set" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "" +msgstr "Denne operasjonen kan ikke gjøres uten en valgt node." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "" +msgstr "Gjeldende scene er ikke lagret. Ã…pne likevel?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "" +msgstr "Kan ikke laste en scene som aldri ble lagret." #: editor/editor_node.cpp msgid "Revert" -msgstr "" +msgstr "GÃ¥ tilbake" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "" +msgstr "Denne handlingen kan ikke angres. GÃ¥ tilbake likevel?" #: editor/editor_node.cpp msgid "Quick Run Scene.." -msgstr "" +msgstr "Hurtigkjør Scene.." #: editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Avslutt" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "Avslutt editoren?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "" +msgstr "Ã…pne ProsjektManager?" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "" +msgstr "Lagre & Avslutt" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "Lagre endring til følgende scene(r) før avslutting?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" -msgstr "" +msgstr "Lagre endringer til følgende scene(r) før Ã¥pning av Prosjekt-Manager?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" +"Dette alternativet er foreldet. Situasjoner der oppdatering mÃ¥ bli tvunget " +"regnes nÃ¥ som en feil. Vennligst rapporter." #: editor/editor_node.cpp msgid "Pick a Main Scene" -msgstr "" +msgstr "Velg en HovedScene" #: editor/editor_node.cpp +#, fuzzy msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" +msgstr "Kan ikke aktivere addon-plugin pÃ¥: '%s' parsing av konfig feilet." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "" +msgstr "Kunne ikke finne skriptfelt for addon-plugin i: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "Kan ikke laste addon-skript fra bane: '%s'." #: editor/editor_node.cpp msgid "" @@ -1729,194 +1794,205 @@ 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 "" +"Scene '%s' var automatisk importert, sÃ¥ den kan ikke modifiseres.\n" +"For Ã¥ gjøre endringer i den, kan du opprette en ny arvet scene." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Ugh" -msgstr "" +msgstr "Æsj" #: 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 "" +"Feil ved lasting av scene, den mÃ¥ være i prosjektbanen. Bruk \"Importer\" " +"for Ã¥ Ã¥pne scenen, sÃ¥ lagre den i prosjektbanen." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "" +msgstr "Scene '%s' har ødelagte avhengigheter:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "" +msgstr "Fjern Nylige Scener" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "Lagre Layout" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "" +msgstr "Slett Layout" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "" +msgstr "Standard" #: editor/editor_node.cpp msgid "Switch Scene Tab" -msgstr "" +msgstr "Bytt Scenefane" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "" +msgstr "%d flere filer eller mapper" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "" +msgstr "%d flere mapper" #: editor/editor_node.cpp msgid "%d more files" -msgstr "" +msgstr "%d flere filer" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "Dock-posisjon" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Distraksjonsfri Modus" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Vis/skjul distraksjonsfri modus." #: editor/editor_node.cpp msgid "Add a new scene." -msgstr "" +msgstr "Legg til ny scene." #: editor/editor_node.cpp msgid "Scene" -msgstr "" +msgstr "Scene" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "" +msgstr "GÃ¥ til forrige Ã¥pne scene." #: editor/editor_node.cpp msgid "Next tab" -msgstr "" +msgstr "Neste fane" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "" +msgstr "Forrige fane" #: editor/editor_node.cpp msgid "Filter Files.." -msgstr "" +msgstr "Filtrer Filer.." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Operasjoner med scene-filer." #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Ny Scene" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Ny Arvet Scene.." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "Ã…pne Scene.." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Lagre Scene" #: editor/editor_node.cpp msgid "Save all Scenes" -msgstr "" +msgstr "Lagre alle Scener" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Lukk Scene" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "Ã…pne Nylig" #: editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Konverter Til.." #: editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "" +msgstr "MeshBibliotek.." #: editor/editor_node.cpp +#, fuzzy msgid "TileSet.." -msgstr "" +msgstr "TileSet.." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "" +msgstr "Angre" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp msgid "Redo" -msgstr "" +msgstr "Gjenta" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "" +msgstr "Tilbakestille Scene" #: editor/editor_node.cpp +#, fuzzy msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Diverse prosjekt- eller scene-relaterte verktøy" #: editor/editor_node.cpp msgid "Project" -msgstr "" +msgstr "Prosjekt" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "" +msgstr "Prosjektinnstillinger" #: editor/editor_node.cpp msgid "Run Script" -msgstr "" +msgstr "Kjør Skript" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "Eksporter" #: editor/editor_node.cpp msgid "Tools" -msgstr "" +msgstr "Verktøy" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Avslutt til Prosjektliste" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "Debug" #: editor/editor_node.cpp +#, fuzzy msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Deploy med Ekstern Debug" #: editor/editor_node.cpp +#, fuzzy msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"Ved eksportering eller deploying, den følgende kjørbare filen vil prøve Ã¥ " +"koble til IP'en til denne datamaskinen for Ã¥ bli debugget." #: editor/editor_node.cpp +#, fuzzy msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Liten Deploy med Network FS" #: editor/editor_node.cpp msgid "" @@ -1929,28 +2005,33 @@ msgid "" msgstr "" #: editor/editor_node.cpp +#, fuzzy msgid "Visible Collision Shapes" -msgstr "" +msgstr "Synlige Kollisjons-Former" #: 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 "" +"Kollisjons-former eller raycast-noder (for 2D og 3D) vil være synlige under " +"kjøring av spill om denne innstillingen er aktivert." #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "" +msgstr "Synlig Navigasjon" #: editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Navigasjons-maske og polygoner vil være synlig under kjøring av spill om " +"denne innstillingen er aktivert." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Synkroniser Sceneforandringer" #: editor/editor_node.cpp msgid "" @@ -1959,18 +2040,27 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"NÃ¥r denne innstillingen er aktivert, alle endringer gjort til scenen i " +"editoren vil bli replikert i det kjørende spillet.\n" +"NÃ¥r det brukes eksternt pÃ¥ en enhet, dette er mer effektivt med et " +"nettverksfilsystem." #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "" +msgstr "Synkroniser Skriptforandringer" #: editor/editor_node.cpp +#, fuzzy 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 "" +"NÃ¥r denne innstillingen er aktivert, alle skript som er lagret vil lastes " +"inn pÃ¥ nytt i det kjørende spillet.\n" +"NÃ¥r det brukes ekstert pÃ¥ en enhet, dette er mer effektivt med et " +"nettverksfilsystem." #: editor/editor_node.cpp #, fuzzy @@ -1987,23 +2077,24 @@ msgstr "" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Skru av/pÃ¥ Fullskjerm" #: editor/editor_node.cpp editor/project_export.cpp +#, fuzzy msgid "Manage Export Templates" -msgstr "" +msgstr "HÃ¥ndter Eksportmaler" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "Hjelp" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" -msgstr "" +msgstr "Klasser" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Online Dokumentasjon" #: editor/editor_node.cpp msgid "Q&A" @@ -2011,83 +2102,84 @@ msgstr "" #: editor/editor_node.cpp msgid "Issue Tracker" -msgstr "" +msgstr "Problemtracker" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Fellesskap" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Om" #: editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "Spill prosjektet." #: editor/editor_node.cpp msgid "Play" -msgstr "" +msgstr "Spill" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "" +msgstr "Pause scenen" #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "" +msgstr "Pause Scene" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "" +msgstr "Stopp scenen." #: editor/editor_node.cpp msgid "Stop" -msgstr "" +msgstr "Stopp" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Spill den redigerte scenen." #: editor/editor_node.cpp msgid "Play Scene" -msgstr "" +msgstr "Spill Scene" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Spill tilpasset scene" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "" +msgstr "Spill av Tilpasset Scene" #: editor/editor_node.cpp +#, fuzzy msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "Snurrer nÃ¥r editorvinduet rendrer om!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "" +msgstr "Oppdater Alltid" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "" +msgstr "Oppdater Endringer" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Deaktiver Oppdateringsspinner" #: editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "Inspektør" #: editor/editor_node.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "Lag en ny ressurs i minnet og endre den." #: editor/editor_node.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "Last inn en eksisterende ressurs fra disk og rediger den." #: editor/editor_node.cpp msgid "Save the currently edited resource." @@ -2095,285 +2187,303 @@ msgstr "" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "" +msgstr "Lagre Som.." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "GÃ¥ til det forrige redigerte objektet i historikken." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "GÃ¥ til det neste redigerte objektet i historikken." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "Historikk av nylige redigerte objekter." #: editor/editor_node.cpp msgid "Object properties." -msgstr "" +msgstr "Objektegenskaper." #: editor/editor_node.cpp msgid "Changes may be lost!" -msgstr "" +msgstr "Endringer kan bli tapt!" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Importer" #: editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "Node" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "" +msgstr "FilSystem" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Output" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "Ikke Lagre" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Importer Mal Fra ZIP-Fil" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "" +msgstr "Eksporter Prosjekt" #: editor/editor_node.cpp msgid "Export Library" -msgstr "" +msgstr "Eksporter Bibliotek" #: editor/editor_node.cpp msgid "Merge With Existing" -msgstr "" +msgstr "SlÃ¥ sammen Med Eksisterende" #: editor/editor_node.cpp msgid "Password:" -msgstr "" +msgstr "Passord:" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "" +msgstr "Ã…pne & Kjør et Skript" #: editor/editor_node.cpp +#, fuzzy msgid "New Inherited" -msgstr "" +msgstr "Ny Arvet" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "Last Errors" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "Velg" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "" +msgstr "Ã…pne 2D Editor" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "" +msgstr "Ã…pne 3D Editor" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "" +msgstr "Ã…pne SkriptEditor" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "Ã…pne Assets-Bibliotek" #: editor/editor_node.cpp msgid "Open the next Editor" -msgstr "" +msgstr "Ã…pne den neste Editoren" #: editor/editor_node.cpp msgid "Open the previous Editor" -msgstr "" +msgstr "Ã…pne den forrige Editoren" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "Lager ForhÃ¥ndsvisning av Mesh" #: editor/editor_plugin.cpp msgid "Thumbnail.." -msgstr "" +msgstr "Miniatyrbilde.." #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Installerte Plugins:" #: editor/editor_plugin_settings.cpp msgid "Update" -msgstr "" +msgstr "Oppdater" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "Versjon:" #: editor/editor_plugin_settings.cpp msgid "Author:" -msgstr "" +msgstr "Forfatter:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "Status:" #: editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Stopp Profilering" #: editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Start Profilering" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "MÃ¥l:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "Frame Tid (sek)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Gjennomsnittstid (sek)" #: editor/editor_profiler.cpp +#, fuzzy msgid "Frame %" -msgstr "" +msgstr "Frame %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "Fysikk-Frame %" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp msgid "Time:" -msgstr "" +msgstr "Tid:" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Inklusiv" #: editor/editor_profiler.cpp +#, fuzzy msgid "Self" -msgstr "" +msgstr "Selv" #: editor/editor_profiler.cpp +#, fuzzy msgid "Frame #:" -msgstr "" +msgstr "Frame #:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tid:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Ring" #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "Velg enhet fra listen" #: 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 "" +"Ingen kjørbar eksport-preset funnet for denne plattformen.\n" +"Vennligst legg til en kjørbar preset i eksportmenyen." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "Skriv logikken din i _run() metoden." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Det er en redigert scene allerede." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Kunne ikke innstansiere skript:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "Glemte du nøkkelordet 'tool'?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Kunne ikke kjøre skript:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "" +msgstr "Glemte du '_run'-metoden?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "" +msgstr "Standard (Samme som Editor)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Velg Node(r) for Importering" #: editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Scene-Sti:" #: editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Importer Fra Node:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "" +msgstr "Last Ned PÃ¥ Nytt" #: editor/export_template_manager.cpp msgid "Uninstall" -msgstr "" +msgstr "Avinstaller" #: editor/export_template_manager.cpp msgid "(Installed)" -msgstr "" +msgstr "(Installert)" #: editor/export_template_manager.cpp msgid "Download" -msgstr "" +msgstr "Last ned" #: editor/export_template_manager.cpp msgid "(Missing)" -msgstr "" +msgstr "(Mangler)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "" +msgstr "(Gjeldende)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "" +msgstr "Henter fillager, vennligst vent.." #: editor/export_template_manager.cpp +#, fuzzy msgid "Remove template version '%s'?" -msgstr "" +msgstr "Fjern mal versjon '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "Kan ikke Ã¥pne eksportmalzip." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "" +msgstr "Ugyldig version.txt format i mal." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Ugyldig version.txt format i mal. Revisjon er ikke en gyldig identifikator." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Ingen version.txt funnet i mal." #: editor/export_template_manager.cpp msgid "Error creating path for templates:\n" -msgstr "" +msgstr "Feil ved laging av sti for mal:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -2381,59 +2491,64 @@ msgstr "" #: editor/export_template_manager.cpp msgid "Importing:" -msgstr "" +msgstr "Importerer:" #: editor/export_template_manager.cpp msgid "" "No download links found for this version. Direct download is only available " "for official releases." msgstr "" +"Ingen nedlastningslink funnet for denne versjonen. Direkte nedlastning er " +"kun mulig for offisielle utvigelser." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Can't resolve." -msgstr "" +msgstr "Kan ikke løse." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "" +msgstr "Kan ikke koble til." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response." -msgstr "" +msgstr "Ingen respons." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +msgstr "Forespørsel Feilet." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Redirect Loop." -msgstr "" +msgstr "Omdirigerings-Loop." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed:" -msgstr "" +msgstr "Feilet:" #: editor/export_template_manager.cpp msgid "Can't write file." -msgstr "" +msgstr "Kan ikke skrive fil." #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "Nedlastning fullført." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Error ved forespørsel av url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "" +msgstr "Kobler til Fillager.." #: editor/export_template_manager.cpp msgid "Disconnected" @@ -2441,20 +2556,21 @@ msgstr "Frakoblet" #: editor/export_template_manager.cpp msgid "Resolving" -msgstr "" +msgstr "Løser" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "" +msgstr "Kan ikke Løses" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connecting.." -msgstr "" +msgstr "Kobler til.." #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Kan ikke koble til" #: editor/export_template_manager.cpp msgid "Connected" @@ -2462,335 +2578,370 @@ msgstr "Tilkoblet" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Requesting.." -msgstr "" +msgstr "Ber om.." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "Laster ned" #: editor/export_template_manager.cpp msgid "Connection Error" msgstr "Tilkoblingsfeil" #: editor/export_template_manager.cpp +#, fuzzy msgid "SSL Handshake Error" -msgstr "" +msgstr "SSL Handshake Error" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "" +msgstr "Gjeldende Versjon:" #: editor/export_template_manager.cpp msgid "Installed Versions:" -msgstr "" +msgstr "Installerte Versjoner:" #: editor/export_template_manager.cpp msgid "Install From File" -msgstr "" +msgstr "Installer Fra Fil" #: editor/export_template_manager.cpp msgid "Remove Template" -msgstr "" +msgstr "Fjern Mal" #: editor/export_template_manager.cpp msgid "Select template file" -msgstr "" +msgstr "Velg malfil" #: editor/export_template_manager.cpp +#, fuzzy msgid "Export Template Manager" -msgstr "" +msgstr "Eksporter Mal-Manager" #: editor/export_template_manager.cpp msgid "Download Templates" -msgstr "" +msgstr "Last ned Mal" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Velg fillager fra liste: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Kan ikke Ã¥pne fyle_type_cache.cch for skriving, lagrer ikke file type cache!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "Kan ikke navigere til '%s' for den ble ikke funnet pÃ¥ filsystemet!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" -msgstr "" +msgstr "Vis elementer som et rutenett av miniatyrbilder" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "Vis elementer som liste" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"Status: Import av fil feilet. Vennligst reparer filen eller reimporter " +"manuelt." #: editor/filesystem_dock.cpp +#, fuzzy msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Kan ikke flytte/endre navn ressursrot" #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself.\n" -msgstr "" +msgstr "Kan ikke flytte mappe inn i seg selv.\n" #: editor/filesystem_dock.cpp msgid "Error moving:\n" -msgstr "" +msgstr "Error ved flytting:\n" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Feil ved innlasting:" #: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "" +msgstr "Kan ikke oppdatere av avhengigheter:\n" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "Ingen navn gitt" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Gitt navn inneholder ugyldige tegn" #: editor/filesystem_dock.cpp msgid "No name provided." -msgstr "" +msgstr "Ingen navn gitt." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Navn inneholder ugyldige tegn." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "En fil eller mappe med dette navnet eksisterer allerede." #: editor/filesystem_dock.cpp msgid "Renaming file:" -msgstr "" +msgstr "Endrer filnavn:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "Ender mappenavn:" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplisér" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "Ender mappenavn:" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" +msgid "Expand all" +msgstr "Utvid alle" #: editor/filesystem_dock.cpp -msgid "Rename.." -msgstr "" +msgid "Collapse all" +msgstr "Kollaps alle" #: editor/filesystem_dock.cpp -msgid "Move To.." -msgstr "" +msgid "Rename.." +msgstr "Endre Navn.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "" +msgid "Move To.." +msgstr "Flytt Til.." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Ã…pne Scene" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "Instans" #: editor/filesystem_dock.cpp msgid "Edit Dependencies.." -msgstr "" +msgstr "Endre Avhengigheter.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "Vis Eiere.." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplisér" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Forrige Katalog" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "Neste Katalog" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Re-Skann Filsystem" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Vis/skjul mappestatus som Favoritt" #: editor/filesystem_dock.cpp +#, fuzzy msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Instanser den valgte scene(r) som barn av den valgte noden." #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"Skanner Filer,\n" +"Vennligst Vent.." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "Flytt" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "" +msgstr "Endre navn" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Legg til i Gruppe" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Fjern fra Gruppe" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "Importer som Enkel Scene" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Importer med Separerte Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Importer med Separerte Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Importer med Separerte Objekter" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Importer med Separerte Objekter+Materialer" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Importer med Separerte Objekter+Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Importer med Separerte Materialer+Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Importer med Separerte Objekter+Materialer+Animasjoner" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Importer som Flere Scener" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Importer som Flere Scener+Materialer" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Importer Scene" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene.." +msgstr "Importerer Scene.." + +#: editor/import/resource_importer_scene.cpp +msgid "Generating Lightmaps" msgstr "" #: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script.." +msgid "Generating for Mesh: " msgstr "" #: editor/import/resource_importer_scene.cpp +msgid "Running Custom Script.." +msgstr "Kjører Tilpasser Skript.." + +#: editor/import/resource_importer_scene.cpp +#, fuzzy msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Kunne ikke laste post-importert skript:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Ugyldig/ødelagt skript for post-import (sjekk konsoll):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Error ved kjøring av post-import script:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." -msgstr "" +msgstr "Lagrer.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Sett som Standard for '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "Fjern Standard for '%s'" #: editor/import_dock.cpp msgid " Files" -msgstr "" +msgstr " Filer" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Importer Som:" #: editor/import_dock.cpp editor/property_editor.cpp +#, fuzzy msgid "Preset.." -msgstr "" +msgstr "Preset.." #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Reimporter" #: editor/multi_node_edit.cpp +#, fuzzy msgid "MultiNode Set" -msgstr "" +msgstr "MultiNode Set" #: editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Grupper" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Velg en Node for Ã¥ endre Signaler og Grupper." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Lag Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Rediger Poly" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Sett inn Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Rediger Poly (Fjern Punkt)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Poly And Point" -msgstr "" +msgstr "Fjern Poly Og Punkt" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "" +msgstr "Lag en ny polygon fra bunnen" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2799,238 +2950,246 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Endre eksisterende polygon:\n" +"Venstreklikk: Flytt Punkt.\n" +"Ctrl+Venstreklikk: Splitt Segment.\n" +"Høyreklikk: Fjern Punkt." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Delete points" msgstr "Slett punkter" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Toggle Autoplay" -msgstr "" +msgstr "SlÃ¥ av/pÃ¥ Autoavspilling" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Nytt Animasjonsnavn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Ny Anim" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Endre Animasjonsnavn:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "Fjern Animasjon?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Fjern Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "" +msgstr "ERROR: Ugyldig animasjonsnavn!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "" +msgstr "ERROR: Animasjonsnavnet finnes allerede!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Endre navn pÃ¥ Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "Legg til Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Blend Neste Endret" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Endre Blend-Tid" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "Last Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Dupliser Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "" +msgstr "ERROR: Ingen animasjon Ã¥ kopiere!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "ERROR: Ingen animasjonsressurs pÃ¥ utklippstavlen!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Limt inn Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Lim inn Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "" +msgstr "ERROR: Ingen animasjon Ã¥ endre!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "Spill av valgte animasjon baklengs fra gjeldende posisjon. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Spill av valgte animasjon baklengs fra slutten. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Stopp avspilling av animasjon. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Spill av valgte animasjon fra start. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Spill av valgte animasjon fra gjeldende posisjon. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "Animasjonsposisjon (i sekunder)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Skaler animasjonsavspilling globalt for noden." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Lag ny animasjon i avspiller." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "" +msgstr "Last animasjon fra disk." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Last en animasjon fra disk." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Lagre den gjeldene animasjonen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Vis liste av animasjoner i avspiller." #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Autoplay on Load" -msgstr "" +msgstr "Autoavspill ved Lasting" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" -msgstr "" +msgstr "Endre Blend-Tid-MÃ¥l" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "Animasjonsverktøy" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Kopier Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Løk-lag" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Aktiver Løk-Lag" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Beskrivelse:" +msgstr "Retninger" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "Fortid" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Framtid" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Dybde" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 steg" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 steg" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 steg" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Kun Forskjeller" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Tving Hvit-Modulat" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inkluder Gizmoer (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Lag Ny Animasjon" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Animasjonsnavn:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "Error!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Blend-Tid:" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Next (Auto Queue):" -msgstr "" +msgstr "Neste (Automatisk Kø):" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Kryss-Animasjon Blend-Tid" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animasjon" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Nytt navn:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Filters" @@ -3039,52 +3198,54 @@ msgstr "Rediger Filtre" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "Skala:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" -msgstr "" +msgstr "Fade Inn (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "" +msgstr "Fade Ut (s):" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend" -msgstr "" +msgstr "Blend" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Bland" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Start Om Igjen Automatisk:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "Omstart (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "Tilfeldig Omstart (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Start!" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "Mengde:" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend:" -msgstr "" +msgstr "Blend:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Blend 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" @@ -3092,39 +3253,41 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "X-Fade Tid (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Gjeldende:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Legg til Input" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Clear Auto-Advance" -msgstr "" +msgstr "Fjern Auto-Avansering" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Set Auto-Advance" -msgstr "" +msgstr "Sett Auto-Avansering" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Slett Input" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Animasjonstre er gyldig." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Animasjonstre er ugyldig." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Animasjonsnode" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" @@ -3132,47 +3295,50 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Miks-Node" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend2 Node" -msgstr "" +msgstr "Blend2 Node" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend3 Node" -msgstr "" +msgstr "Blend3 Node" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Blend4 Node" -msgstr "" +msgstr "Blend4 Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "TidSkala Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "" +msgstr "TidSøk Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Overgang Node" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Importer Animasjoner.." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Rediger Node-Filtre" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Filtre.." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Frigjør" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" @@ -3180,191 +3346,217 @@ msgstr "Innhold:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "Vis Filer" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Kan ikke løse tjenernavn:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Tilkoblingsfeil, vennligst prøv igjen." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "Kan ikke koble til tjener:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ingen respons fra tjener:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Forespørsel feilet, returneringskode:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Forespørsel feilet, for mange omdirigeringer" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "DÃ¥rlig nedlastningshash, antar at filen har blitt tuklet med." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "Forventet:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Fikk:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "Feilet sha256 hash-sjekk" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Asset Nedlasting Error:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" -msgstr "" +msgstr "Henter:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "Løser.." #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Error making request" -msgstr "" +msgstr "Feil ved forespørsel" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "Inaktiv" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Prøv pÃ¥ nytt" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Nedlastningserror" #: editor/plugins/asset_library_editor_plugin.cpp +#, fuzzy msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Nedlastning for denne asset'en er allerede i gang!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "første" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "forrige" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" -msgstr "" +msgstr "neste" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "siste" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Alle" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp +#, fuzzy msgid "Plugins" -msgstr "" +msgstr "Plugins" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Sorter:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Reverser" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "Kategori:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Side:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support.." -msgstr "" +msgstr "Support.." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Offisiell" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" -msgstr "" +msgstr "Tester" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "Assets ZIP-Fil" + +#: 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 msgid "Preview" -msgstr "" +msgstr "ForhÃ¥ndsvis" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "Konfigurer Snap" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Rutenett Offset:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Rutenett Steg:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Rotasjon Offset:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Rotasjon Steg:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" -msgstr "" +msgstr "Flytt Pivot" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "Flytt Handling" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Flytt vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "Lag ny vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove vertical guide" -msgstr "" +msgstr "Fjern vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "Flytt horisontal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "Lag ny horisontal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove horizontal guide" @@ -3372,211 +3564,217 @@ msgstr "Fjern horisontal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Lag ny horisontal og vertikal veileder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Endre IK Kjede" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" -msgstr "" +msgstr "Endre CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "Kun anker" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "Endre Anker og Marginer" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Endre Anker" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Lim Inn Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Velg Modus" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "" +msgstr "Dra: Roter" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+Dra: Flytt" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" +"Trykk 'v' for Ã¥ Endre Pivot, 'Shift+v' for Ã¥ Dra Privot (under flytting)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+Høyreklikk: Dybdelisteutvalg" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Flytt Modus" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Roter Modus" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Vis en liste av elementer pÃ¥ posisjonen du klikker\n" +"(samme som Alt+Høyreklikk i velg-modus)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Klikk for Ã¥ endre objektets rotasjonspivot." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Panorerings-Modus" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "" +msgstr "SlÃ¥ av/pÃ¥ snapping" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Bruk Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "" +msgstr "Snapping innstillinger" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Snap til rutenett" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Bruk Rotasjons-Snap" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "Konfigurer Snap..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Snap Relativt" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Bruk Piksel Snap" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Smart snapping" -msgstr "" +msgstr "Smart snapping" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "Snap til foreldre" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Snap til nodeanker" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "Snap til nodesider" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "Snap til andre noder" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "" +msgstr "Snap til veiledere" #: 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 "LÃ¥s fast det valgte objektet (kan ikke flyttes)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "LÃ¥s opp det valgte objektet (kan flyttes)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Vær sikker at objektets barn ikke er valgbar." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "Gjenopprett objektets barn sin mulighet for Ã¥ bli valgt." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Lag Ben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "Fjern Ben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Vis Ben" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Lag IK Kjede" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "Fjern IK Kjede" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Vis" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Vis Rutenett" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" -msgstr "" +msgstr "Vis hjelpere" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show rulers" -msgstr "" +msgstr "Vis linjaler" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show guides" -msgstr "" +msgstr "Vis veiledere" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Center Selection" -msgstr "" +msgstr "Plasser Utvalg I Midten" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Layout" -msgstr "" +msgstr "Layout" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys" -msgstr "" +msgstr "Sett inn Nøkler" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Sett inn Nøkkel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" @@ -3584,130 +3782,123 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "Kopier Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "Fjern Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" -msgstr "" +msgstr "Dra pivot fra musposisjon" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Set pivot at mouse position" -msgstr "Fjern Funksjon" +msgstr "Sett pivot pÃ¥ musposisjon" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Multipliser rutenett-steg med 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Del rutenett-steg med 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "Legg til %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "Legger til %s.." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "Lag Node" #: 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 -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" +msgstr "Error ved instansiering av scene fra %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Denne operasjonen krever én valgt node." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "Endre standard type" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Dra & Slipp + Shift: Legg til node som søsken\n" +"Dra & Slipp + Alft: Endre nodetype" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Lag Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp +#, fuzzy msgid "Set Handle" -msgstr "" +msgstr "Sett Handle" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Fjern element %d?" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Legg til Element" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Fjern Valgte Element" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Importer fra Scene" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Oppdater fra Scene" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Flat0" -msgstr "" +msgstr "Flat0" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Flat1" -msgstr "" +msgstr "Flat1" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Ease in" -msgstr "Fjern Utvalg" +msgstr "Gli inn" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Gli ut" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "Smooth-steg" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "Modifiser Kurvepunkt" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "Modifiser Kurvetangent" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" @@ -3715,29 +3906,27 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "Legg til punkt" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove point" -msgstr "Fjern Funksjon" +msgstr "Fjern punkt" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" -msgstr "" +msgstr "Venstrelineær" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "Høyrelineær" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" msgstr "" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "Fjern Funksjon" +msgstr "Fjern Kurvepunkt" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" @@ -3745,28 +3934,28 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Hold Shift for Ã¥ endre tangenter individuelt" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "Bak GI Probe" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Legg til/Fjern Farge-Rampe-Punkt" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Modifiser Farge-Rampe" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Element %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Elementer" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" @@ -3784,23 +3973,23 @@ msgstr "" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Lag en ny polygon fra bunnen." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Rediger eksisterende polygon:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "Venstreklikk: Flytt Punkt." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+Venstreklikk: Splitt Segment." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "Høyreklikk: Slett Punkt." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" @@ -3816,7 +4005,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Dette virker ikke pÃ¥ sceneroten!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -3831,6 +4020,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3840,11 +4045,11 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "Kunne ikke lage omriss!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "Lag Omriss" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" @@ -3871,6 +4076,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Vis" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Vis" + +#: 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 "" @@ -3948,15 +4167,15 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" -msgstr "" +msgstr "X-Akse" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Y-Axis" -msgstr "" +msgstr "Y-Akse" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "" +msgstr "Z-Akse" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" @@ -3964,15 +4183,15 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Tilfeldig Rotasjon:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Tilfeldig Tilt:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Tilfeldig Skala:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" @@ -4016,11 +4235,11 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Partitioning..." -msgstr "" +msgstr "Partisjonerer..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "Lager konturer..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." @@ -4040,17 +4259,13 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Ferdig!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4065,24 +4280,24 @@ msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "" +msgstr "Ingen piksler med gjennomsiktighet > 128 i bilde.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "" +msgstr "Partikler" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" @@ -4138,10 +4353,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4159,7 +4370,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Volum" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " @@ -4184,11 +4395,11 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Legg til Punkt pÃ¥ Kurve" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "Flytt Punkt pÃ¥ Kurve" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" @@ -4201,50 +4412,50 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Velg Punkter" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+Dra: Velg Kontrollpunkter" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Klikk: Legg til Punkt" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Høyreklikk: Fjern Punkt" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Velg Kontrollpunkter (Shift+Dra)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Legg til Punkt (i tomt rom)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Split Segment (i kurve)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Fjern Punkt" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Lukk Kurve" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Kurvepunkt #" #: editor/plugins/path_editor_plugin.cpp #, fuzzy @@ -4292,31 +4503,31 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "Flytt Punkt" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl: Roter" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: Flytt Alle" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" -msgstr "" +msgstr "Shift+Ctrl: Skaler" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "Flytt Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Roter Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "Skaler Polygon" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4336,7 +4547,7 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" -msgstr "" +msgstr "Fjern UV" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -4349,24 +4560,24 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" -msgstr "" +msgstr "Rutenett" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "ERROR: Kunne ikke laste ressurs!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "Legg til Ressurs" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Gi nytt navn til Ressurs" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "Fjern Ressurs" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" @@ -4382,59 +4593,63 @@ msgstr "" #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Paste" -msgstr "" +msgstr "Lim inn" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "" +msgstr "Fjern Nylige Filer" #: editor/plugins/script_editor_plugin.cpp msgid "" "Close and save changes?\n" "\"" msgstr "" +"Lukk og lagre endringer?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Error ved lasting av tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "Error ved lagring" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" -msgstr "" +msgstr "Error ved importering av tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing" -msgstr "" +msgstr "Error ved importering" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "Importer Tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As.." -msgstr "" +msgstr "Lagre Tema Som.." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " Klassereferanse" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" -msgstr "" +msgstr "Sorter" #: 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 "" +msgstr "Flytt Opp" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" -msgstr "" +msgstr "Flytt Ned" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" @@ -4448,7 +4663,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4461,6 +4676,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopier Sti" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4503,12 +4723,12 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find.." -msgstr "" +msgstr "Finn.." #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "" +msgstr "Finn neste" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" @@ -4525,7 +4745,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/script_editor_debugger.cpp msgid "Continue" -msgstr "" +msgstr "Fortsett" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" @@ -4561,7 +4781,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "" +msgstr "Opprett skript" #: editor/plugins/script_editor_plugin.cpp msgid "" @@ -4592,7 +4812,7 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "" +msgstr "Velg farge" #: editor/plugins/script_text_editor.cpp msgid "Convert Case" @@ -4613,13 +4833,13 @@ msgstr "" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "Klipp ut" #: 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 "" +msgstr "Lim inn" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -4649,14 +4869,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Slett Valgte" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4711,11 +4927,11 @@ msgstr "" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "" +msgstr "Finn forrige" #: editor/plugins/script_text_editor.cpp msgid "Replace.." -msgstr "" +msgstr "Erstatt.." #: editor/plugins/script_text_editor.cpp msgid "Goto Function.." @@ -4982,6 +5198,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Ingen foreldre Ã¥ instansere et barn pÃ¥." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5086,6 +5310,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Snap til veiledere" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5159,10 +5396,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5204,6 +5437,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5589,6 +5826,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5600,6 +5842,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5717,10 +5963,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5977,8 +6219,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Fjern Utvalg" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6046,6 +6289,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6224,6 +6471,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6256,6 +6507,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Sett" @@ -6264,10 +6519,6 @@ msgstr "Sett" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6822,6 +7073,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6870,15 +7125,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Fjern Kurvepunkt" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7549,6 +7841,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7577,10 +7885,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7633,10 +7937,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7697,6 +7997,18 @@ msgstr "" msgid "Invalid font size." msgstr "Ugyldig fontstørrelse." +#~ msgid "Move Add Key" +#~ msgstr "Flytt Legg-Til-Nøkkel" + +#~ msgid "Create Subscription" +#~ msgstr "Lag Abonnement" + +#~ msgid "List:" +#~ msgstr "Liste:" + +#~ msgid " " +#~ msgstr " " + #, fuzzy #~ msgid "Selection -> Clear" #~ msgstr "Forandre Utvalgskurve" diff --git a/editor/translations/nl.po b/editor/translations/nl.po index 3f6243e5bd..f80b7e1dac 100644 --- a/editor/translations/nl.po +++ b/editor/translations/nl.po @@ -3,28 +3,33 @@ # Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) # This file is distributed under the same license as the Godot source code. # +# aelspire <aelspire@gmail.com>, 2017. # Aram Nap <xyphex.aram@gmail.com>, 2017. # Arjan219 <arjannugteren1@gmail.com>, 2017. +# Christophe Swolfs <swolfschristophe@gmail.com>, 2017. # Cornee Traas <corneetraas@hotmail.com>, 2017. # Daeran Wereld <daeran@gmail.com>, 2017. +# Dzejkop <jakubtrad@gmail.com>, 2017. +# Maikel <maikel_martens_1@hotmail.com>, 2017. # Pieter-Jan Briers <pieterjan.briers@gmail.com>, 2017. # Robin Arys <robinarys@hotmail.com>, 2017. # Senno Kaasjager <senno.kaasjager@gmail.com>, 2017. # Uxilo <jmolendijk93@gmail.com>, 2017. # Wout Standaert <wout@blobkat.com>, 2017. +# Zatherz <zatherz@linux.pl>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-24 20:45+0000\n" -"Last-Translator: Daeran Wereld <daeran@gmail.com>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: Christophe Swolfs <swolfschristophe@gmail.com>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/" "nl/>\n" "Language: nl\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 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -35,8 +40,9 @@ msgid "All Selection" msgstr "Alle Selectie" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Verplaats Key Toevoegen" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Wijzig Waarde" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -47,7 +53,8 @@ msgid "Anim Change Transform" msgstr "Anim Wijzig Transform" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Wijzig Waarde" #: editor/animation_editor.cpp @@ -543,8 +550,8 @@ msgstr "Signaal aan het Verbinden:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "Subscriptie Maken" +msgid "Disconnect '%s' from '%s'" +msgstr "Verbind '%s' met '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -560,7 +567,8 @@ msgid "Signals" msgstr "Signalen" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Nieuwe Maken" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -575,7 +583,7 @@ msgstr "Recente:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Zoeken:" @@ -616,6 +624,7 @@ msgstr "" "Wijzigingen zullen effect hebben wanneer herladen." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Afhankelijkheden" @@ -721,9 +730,10 @@ msgid "Delete selected files?" msgstr "Verwijder geselecteerde bestanden?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Verwijder" @@ -866,6 +876,11 @@ msgid "Rename Audio Bus" msgstr "Hernoem audiobus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Verander audiobus solo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Verander audiobus solo" @@ -914,8 +929,8 @@ msgstr "Omleiden" msgid "Bus options" msgstr "Audiobusopties" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Dupliceren" @@ -928,6 +943,10 @@ msgid "Delete Effect" msgstr "Effect Verwijderen" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Audiobus Toevoegen" @@ -1081,7 +1100,8 @@ msgstr "Pad:" msgid "Node Name:" msgstr "Node Naam:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Naam" @@ -1089,10 +1109,6 @@ msgstr "Naam" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lijst:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Scene aan het Updaten" @@ -1105,6 +1121,14 @@ msgstr "Lokale wijziging aan het opslaan.." msgid "Updating scene.." msgstr "Scene aan het updaten.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Kies eerst een basisfolder" @@ -1151,9 +1175,24 @@ msgid "File Exists, Overwrite?" msgstr "Bestand Bestaat, Overschrijven?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Map Maken" +msgstr "Selecteer Huidige Map" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Kopieer Pad" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Weergeven in Bestandsbeheer" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nieuwe Map.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Verversen" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1202,10 +1241,6 @@ msgid "Go Up" msgstr "Ga Omhoog" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Verversen" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Toggle Verborgen Bestanden" @@ -1385,7 +1420,8 @@ msgstr "Uitvoer:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Leegmaken" @@ -1499,17 +1535,16 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Dit bestand hoort bij een scene die geïmporteerd werd, dus het is niet " -"bewerkbaar.\n" -"Lees de documentatie over scenes importeren om deze workflow beter te " -"begrijpen." +"Dit bestand hoort bij een scene die geïmporteerd werd. Het is momenteel dus " +"onbewerkbaar. Lees de documentatie over scenes importeren om deze workflow " +"beter te begrijpen." #: 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 "" -"Dit bestand hoort bij een scene die werd geïnstantieerd of overgeërfd.\n" +"Dit bestand hoort bij een scene die geïnstantieerd of overgeërfd werd.\n" "Aanpassingen zullen niet worden bijgehouden bij het opslaan van de huidige " "scene." @@ -2347,6 +2382,16 @@ msgstr "Zelf" msgid "Frame #:" msgstr "Frame #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tijd:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Aanroep" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Selecteer apparaat uit de lijst" @@ -2384,7 +2429,6 @@ msgid "Did you forget the '_run' method?" msgstr "Ben je de '_run' methode vergeten?" #: editor/editor_settings.cpp -#, fuzzy msgid "Default (Same as Editor)" msgstr "Standaard (Dezelfde als Editor)" @@ -2489,7 +2533,8 @@ msgstr "Geen antwoord." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Aanv. Mislukt." #: editor/export_template_manager.cpp @@ -2536,7 +2581,8 @@ msgid "Connecting.." msgstr "Verbinden.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Kan niet verbinden" #: editor/export_template_manager.cpp @@ -2577,9 +2623,8 @@ msgid "Remove Template" msgstr "Verwijder Sjabloon" #: editor/export_template_manager.cpp -#, fuzzy msgid "Select template file" -msgstr "Verwijder geselecteerde bestanden?" +msgstr "Selecteer sjabloonbestand" #: editor/export_template_manager.cpp msgid "Export Template Manager" @@ -2635,6 +2680,11 @@ msgid "Error moving:\n" msgstr "Fout bij het verplaatsen:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Error bij het laden van:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Kon afhankelijkheden niet verversen:\n" @@ -2668,6 +2718,16 @@ msgstr "Hernoemen folder:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "Dupliceren" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Hernoemen folder:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Expand all" msgstr "Klap alles uit" @@ -2677,10 +2737,6 @@ msgid "Collapse all" msgstr "Klap alles in" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Kopieer Pad" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Hernoemen.." @@ -2689,27 +2745,28 @@ msgid "Move To.." msgstr "Verplaats Naar.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nieuwe Map.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Weergeven in Bestandsbeheer" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Scene Openen" #: editor/filesystem_dock.cpp msgid "Instance" msgstr "Instantie" #: editor/filesystem_dock.cpp -#, fuzzy msgid "Edit Dependencies.." -msgstr "Afhankelijkheden aanpassen." +msgstr "Afhankelijkheden aanpassen.." #: editor/filesystem_dock.cpp msgid "View Owners.." msgstr "Bekijk eigenaren.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Dupliceren" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Vorige Map" @@ -2757,9 +2814,8 @@ msgid "Remove from Group" msgstr "Verwijderen uit Groep" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import as Single Scene" -msgstr "Scene aan het Updaten" +msgstr "Importeer als Enkele Scene" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" @@ -2807,10 +2863,18 @@ msgid "Importing Scene.." msgstr "Scene Importeren.." #: editor/import/resource_importer_scene.cpp -msgid "Running Custom Script.." +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 "Aangepast script uitvoeren .." + +#: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" msgstr "Kon post-import script niet laden:" @@ -2847,9 +2911,8 @@ msgid "Preset.." msgstr "Voorinstelling.." #: editor/import_dock.cpp -#, fuzzy msgid "Reimport" -msgstr "Aan Het Herimporteren" +msgstr "Herimporteer" #: editor/multi_node_edit.cpp msgid "MultiNode Set" @@ -2952,12 +3015,14 @@ msgid "Add Animation" msgstr "Voeg Animatie Toe" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Meng Volgende Aangepast" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Change Blend Time" -msgstr "" +msgstr "Wijzig Meng Tijd" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -3013,7 +3078,7 @@ msgstr "Animatie positie (in seconden)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Schaal het afspelen van animaties globaal voor de Node." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." @@ -3058,7 +3123,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "\"Onion Skinning\" Inschakelen" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3072,27 +3137,27 @@ msgstr "Plakken" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Toekomst" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Diepte" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 stap" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 stappen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 stappen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Alleen verschillen" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" @@ -3100,7 +3165,7 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Inclusief Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3119,15 +3184,15 @@ msgstr "Foutmelding!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Mengtijden:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Volgende (Auto wachtrij):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Cross-animatie mixtijden" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -3157,23 +3222,25 @@ msgstr "Fade-Out (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "Vochtigheid vermenging ruis" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Mengen" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Automatische herstart:" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Restart (s):" -msgstr "" +msgstr "Herstart (en):" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Random Restart (s):" -msgstr "" +msgstr "Willekeurige herstart (en):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" @@ -3186,7 +3253,7 @@ msgstr "Hoeveelheid:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Mengen" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" @@ -3206,7 +3273,7 @@ msgstr "Huidig:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Voeg invoer toe" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" @@ -3218,7 +3285,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Invoer verwijderen" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." @@ -3338,7 +3405,7 @@ msgstr "Ophalen:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "Oplossen .." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" @@ -3377,6 +3444,7 @@ msgid "last" msgstr "laatste" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alle" @@ -3419,6 +3487,27 @@ msgstr "Testen" msgid "Assets ZIP File" msgstr "Assets ZIP Bestand" +#: 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 msgid "Preview" msgstr "Voorbeeld" @@ -3556,7 +3645,6 @@ msgid "Toggles snapping" msgstr "Breekpunt Aan- of Uitschakelen" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3738,16 +3826,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3942,6 +4020,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3982,6 +4076,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Weergeven" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Weergeven" + +#: 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 "" @@ -4159,10 +4267,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4180,15 +4284,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4250,10 +4354,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4541,11 +4641,13 @@ msgstr "Sorteren:" #: 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 "" @@ -4561,7 +4663,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4574,6 +4676,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopieer Pad" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4765,14 +4872,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Ga naar Regel" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5101,6 +5204,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5212,6 +5323,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Op hulplijnen uitlijnen" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5286,10 +5410,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5331,6 +5451,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5718,6 +5842,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5729,6 +5858,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Annuleren" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5852,10 +5985,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6117,8 +6246,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Schaal Selectie" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6188,6 +6318,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6366,6 +6500,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6399,6 +6537,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Zet" @@ -6407,10 +6549,6 @@ msgstr "Zet" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6975,6 +7113,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -7023,15 +7165,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Verwijder Signaal" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7755,6 +7934,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7791,10 +7986,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7849,15 +8040,11 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Raw Mode" -msgstr "" +msgstr "Raw-modus" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Annuleren" +msgstr "Huidige kleur als een preset toevoegen" #: scene/gui/dialogs.cpp msgid "Alert!" @@ -7929,6 +8116,16 @@ msgstr "Fout bij het laden van lettertype." msgid "Invalid font size." msgstr "Ongeldige lettertype grootte." +#~ msgid "Move Add Key" +#~ msgstr "Verplaats Key Toevoegen" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "Subscriptie Maken" + +#~ msgid "List:" +#~ msgstr "Lijst:" + #, fuzzy #~ msgid "" #~ "\n" diff --git a/editor/translations/pl.po b/editor/translations/pl.po index e4a19998a7..498b06136a 100644 --- a/editor/translations/pl.po +++ b/editor/translations/pl.po @@ -8,6 +8,8 @@ # Adrian WÄ™cÅ‚awski <weclawskiadrian@gmail.com>, 2016. # aelspire <aelspire@gmail.com>, 2017. # Daniel Lewan <vision360.daniel@gmail.com>, 2016-2017. +# heya10 <igor.gielzak@gmail.com>, 2017. +# holistyczny interlokutor <jakubowesmieci@gmail.com>, 2017. # Kajetan KuszczyÅ„ski <kajetanek99@gmail.com>, 2016. # Kamil Lewan <lewan.kamil@gmail.com>, 2016. # Karol Walasek <coreconviction@gmail.com>, 2016. @@ -23,8 +25,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-26 22:48+0000\n" -"Last-Translator: Sebastian Pasich <sebastian.pasich@gmail.com>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: RafaÅ‚ Ziemniak <synaptykq@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/" "godot/pl/>\n" "Language: pl\n" @@ -32,7 +34,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\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 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -43,8 +45,9 @@ msgid "All Selection" msgstr "Wszystkie zaznaczenia" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Przemieszczono/Dodano klucz" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "ZmieÅ„ wartość" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -55,8 +58,9 @@ msgid "Anim Change Transform" msgstr "Animacja transformacji" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Animacja wartoÅ›ci" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "ZmieÅ„ wartość" #: editor/animation_editor.cpp msgid "Anim Change Call" @@ -99,9 +103,8 @@ msgid "Anim Track Change Value Mode" msgstr "ZmieÅ„ tryb wartoÅ›ci animacji" #: editor/animation_editor.cpp -#, fuzzy msgid "Anim Track Change Wrap Mode" -msgstr "ZmieÅ„ tryb wartoÅ›ci animacji" +msgstr "Åšcieżka Animacji - ZmieÅ„ Tryb Zawijania" #: editor/animation_editor.cpp msgid "Edit Node Curve" @@ -388,7 +391,7 @@ msgstr "Nie znaleziono" #: editor/code_editor.cpp msgid "Replaced %d occurrence(s)." -msgstr "Ilość zastÄ…pionych wystÄ…pieÅ„: %d" +msgstr "Zamieniono %d wystÄ…pieÅ„." #: editor/code_editor.cpp msgid "Replace" @@ -550,8 +553,9 @@ msgid "Connecting Signal:" msgstr "Połączony sygnaÅ‚:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Utwórz subskrypcjÄ™" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Połącz '%s' z '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -567,7 +571,8 @@ msgid "Signals" msgstr "SygnaÅ‚y" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Utwórz nowy" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -582,7 +587,7 @@ msgstr "Ostatnie:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Szukaj:" @@ -623,6 +628,7 @@ msgstr "" "Zmiany zajdÄ… dopiero po jego przeÅ‚adowaniu." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ZależnoÅ›ci" @@ -725,9 +731,10 @@ msgid "Delete selected files?" msgstr "Usunąć zaznaczone pliki?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "UsuÅ„" @@ -787,19 +794,19 @@ msgstr "Mini-sponsorzy" #: editor/editor_about.cpp msgid "Gold Donors" -msgstr "ZÅ‚oci dawcy" +msgstr "ZÅ‚oci darczyÅ„cy" #: editor/editor_about.cpp msgid "Silver Donors" -msgstr "Srebrni dawcy" +msgstr "Srebrni darczyÅ„cy" #: editor/editor_about.cpp msgid "Bronze Donors" -msgstr "BrÄ…zowi dawcy" +msgstr "BrÄ…zowi darczyÅ„cy" #: editor/editor_about.cpp msgid "Donors" -msgstr "Dawcy" +msgstr "DarczyÅ„cy" #: editor/editor_about.cpp msgid "License" @@ -872,6 +879,11 @@ msgid "Rename Audio Bus" msgstr "ZmieÅ„ nazwÄ™ magistrali audio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Przełącz tryb solo magistrali audio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Przełącz tryb solo magistrali audio" @@ -920,8 +932,8 @@ msgstr "OmiÅ„" msgid "Bus options" msgstr "Opcje magistrali" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplikuj" @@ -934,6 +946,10 @@ msgid "Delete Effect" msgstr "UsuÅ„ efekt" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Dodaj magistralÄ™ audio" @@ -1086,7 +1102,8 @@ msgstr "Åšcieżka:" msgid "Node Name:" msgstr "Nazwa wÄ™zÅ‚a:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nazwa" @@ -1094,10 +1111,6 @@ msgstr "Nazwa" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Aktualizowanie Sceny" @@ -1110,6 +1123,15 @@ msgstr "Zachowywanie lokalnych zmian.." msgid "Updating scene.." msgstr "Aktualizacja sceny .." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(pusty)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Najpierw wybierz katalog podstawowy" @@ -1160,6 +1182,22 @@ msgstr "Plik istnieje, nadpisać?" msgid "Select Current Folder" msgstr "Utwórz katalog" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Skopiuj ÅšcieżkÄ™" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Pokaż w menadżerze plików" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Utwórz katalog..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "OdÅ›wież" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "Wszystkie rozpoznane" @@ -1207,10 +1245,6 @@ msgid "Go Up" msgstr "W górÄ™" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "OdÅ›wież" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Przełącz ukryte pliki" @@ -1390,7 +1424,8 @@ msgstr "WyjÅ›cie:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Wyczyść" @@ -1678,7 +1713,7 @@ msgstr "Eksportuj bibliotekÄ™ Meshów" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "Ta operacja nie może zostać wykonana bez sceny." +msgstr "Ta operacja nie może zostać wykonana bez wÄ™zÅ‚a głównego." #: editor/editor_node.cpp msgid "Export Tile Set" @@ -1777,7 +1812,7 @@ 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 "" -"Scena '%s' zostaÅ‚a automatycznie zaimportowana, i nie może być " +"Scena '%s' zostaÅ‚a automatycznie zaimportowana, wiÄ™c nie może być " "zmodyfikowana.\n" "Aby dokonać na niej zmian, można utworzyć nowÄ… odziedziczonÄ… scenÄ™." @@ -1854,7 +1889,7 @@ msgstr "Scena" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Idź do poprzednio otwartej sceny." +msgstr "Wróć do poprzednio otwartej sceny." #: editor/editor_node.cpp msgid "Next tab" @@ -2343,6 +2378,16 @@ msgstr "Ten obiekt" msgid "Frame #:" msgstr "Klatka #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Czas:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "WywoÅ‚anie" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Wybierz urzÄ…dzenie z listy" @@ -2485,7 +2530,8 @@ msgstr "Brak odpowiedzi." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Żądanie nie powiodÅ‚o siÄ™." #: editor/export_template_manager.cpp @@ -2507,9 +2553,8 @@ msgid "Download Complete." msgstr "Pobieranie zakoÅ„czone." #: editor/export_template_manager.cpp -#, fuzzy msgid "Error requesting url: " -msgstr "Błąd podczas wczytywania adresu url: " +msgstr "Błąd podczas żądania adresu url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." @@ -2534,7 +2579,8 @@ msgid "Connecting.." msgstr "ÅÄ…czenie.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Nie można połączyć" #: editor/export_template_manager.cpp @@ -2630,6 +2676,11 @@ msgid "Error moving:\n" msgstr "Błąd przenoszenia:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Błąd Å‚adowania:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Nie można zaktualizować zależnoÅ›ci:\n" @@ -2662,6 +2713,16 @@ msgid "Renaming folder:" msgstr "Zmiana nazwy folderu:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplikuj" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Zmiana nazwy folderu:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "RozwiÅ„ foldery" @@ -2670,10 +2731,6 @@ msgid "Collapse all" msgstr "ZwiÅ„ foldery" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Skopiuj ÅšcieżkÄ™" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "ZmieÅ„ nazwÄ™..." @@ -2682,12 +2739,9 @@ msgid "Move To.." msgstr "PrzenieÅ› Do..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Utwórz katalog..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Pokaż w menadżerze plików" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Otwórz scenÄ™" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2702,6 +2756,11 @@ msgid "View Owners.." msgstr "Pokaż wÅ‚aÅ›cicieli.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplikuj" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Poprzedni katalog" @@ -2797,6 +2856,16 @@ msgid "Importing Scene.." msgstr "Importowanie Sceny.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Generowanie AABB" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Generowanie AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Uruchamiam skrypt..." @@ -2943,8 +3012,9 @@ msgid "Add Animation" msgstr "Dodaj animacjÄ™" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Blend Next Changed" -msgstr "" +msgstr "Zmienione nastÄ™pne przejÅ›cie animacji" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" @@ -3031,8 +3101,9 @@ msgid "Autoplay on Load" msgstr "Auto odtwarzanie po zaÅ‚adowaniu" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Edit Target Blend Times" -msgstr "" +msgstr "Edytuj Czas Trwania PrzejÅ›cia Celu" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" @@ -3043,12 +3114,14 @@ msgid "Copy Animation" msgstr "Skopiuj animacje" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Onion Skinning" -msgstr "" +msgstr "Tryb Å‚usek cebuli" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Enable Onion Skinning" -msgstr "" +msgstr "Włącz tryb Å‚usek cebuli" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3067,31 +3140,33 @@ msgstr "Funkcje" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Głębokość" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 krok" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 kroki" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 kroki" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Tylko różnice" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Force White Modulate" -msgstr "" +msgstr "WymuÅ› BiaÅ‚e Cieniowanie" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Dołącz Gizmo (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3110,7 +3185,7 @@ msgstr "Błąd!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Czasy przejÅ›cia:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" @@ -3118,7 +3193,7 @@ msgstr "NastÄ™pny (automatyczna kolejka):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Czas PrzejÅ›cia MiÄ™dzy Animacjami" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp @@ -3201,12 +3276,14 @@ msgid "Add Input" msgstr "Dodaj WejÅ›cie" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Clear Auto-Advance" -msgstr "" +msgstr "Wyczyść Auto-Progres" #: editor/plugins/animation_tree_editor_plugin.cpp +#, fuzzy msgid "Set Auto-Advance" -msgstr "" +msgstr "Ustaw Auto-Progres" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" @@ -3230,23 +3307,23 @@ msgstr "Jednorazowy WÄ™zeÅ‚" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "WezeÅ‚ Mieszania" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Blend2" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Blend3" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Blend4" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "WÄ™zeÅ‚ Skalowania Czasu" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" @@ -3254,7 +3331,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "WÄ™zeÅ‚ PrzejÅ›cia" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." @@ -3374,6 +3451,7 @@ msgid "last" msgstr "ostatni" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Wszystko" @@ -3415,6 +3493,28 @@ msgstr "Testowanie" msgid "Assets ZIP File" msgstr "Plik ZIP assetów" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ZmieÅ„ promień światÅ‚a" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "PodglÄ…d" @@ -3447,11 +3547,11 @@ msgstr "PrzesuÅ„ pivot" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "PrzesuÅ„ DziaÅ‚anie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "PrzesuÅ„ PionowÄ… ProwadnicÄ™" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" @@ -3475,7 +3575,7 @@ msgstr "UsuÅ„ prowadnicÄ™ poziomÄ…" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Utwórz nowe poziome i pionowe prowadnice" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" @@ -3520,8 +3620,9 @@ msgstr "" "poruszania)." #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+PPM: Lista wyboru głębi" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" @@ -3553,7 +3654,6 @@ msgid "Toggles snapping" msgstr "PrzyciÄ…ganie" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Użyj przyciÄ…gania" @@ -3575,19 +3675,20 @@ msgstr "Konfiguruj przyciÄ…ganie.." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "PrzyciÄ…gaj wzglÄ™dnie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" msgstr "Użyj krokowania na poziomie pikseli" #: editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Smart snapping" -msgstr "" +msgstr "Inteligentne przyciÄ…ganie" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "PrzyciÄ…gaj do rodzica" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" @@ -3599,7 +3700,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "PrzyciÄ…gaj do innych wÄ™złów" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" @@ -3687,7 +3788,7 @@ msgstr "Wstaw Klucz" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Wstaw Klucz (IstniejÄ…ce Åšcieżki)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" @@ -3733,16 +3834,6 @@ msgstr "Błąd instancjacji sceny z %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Brak elementu nadrzÄ™dnego do stworzenia instancji." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Ta operacja wymaga pojedynczego wybranego wÄ™zÅ‚a." @@ -3760,7 +3851,7 @@ msgstr "" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Stwórz Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" @@ -3802,11 +3893,12 @@ msgstr "Ease in" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Ease out" #: editor/plugins/curve_editor_plugin.cpp +#, fuzzy msgid "Smoothstep" -msgstr "" +msgstr "PÅ‚ynny Krok" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" @@ -3853,7 +3945,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Przytrzymaj Shift aby edytować styczne indywidualnie" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" @@ -3939,6 +4031,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3948,7 +4056,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "Nie udaÅ‚o siÄ™ utworzyć zarysu!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" @@ -3979,6 +4087,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Widok" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Widok" + +#: 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 "" @@ -4139,11 +4261,11 @@ msgstr "Rozdzielenie" #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "Tworzenie konturów..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "Tworzenie polymesh'a..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." @@ -4166,10 +4288,6 @@ msgid "Create Navigation Polygon" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "UsuÅ„ maskÄ™ emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Generowanie AABB" @@ -4188,10 +4306,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 "Set Emission Mask" -msgstr "Ustaw maskÄ™ emisji" - -#: editor/plugins/particles_2d_editor_plugin.cpp #, fuzzy msgid "Generate Visibility Rect" msgstr "Wygeneruj widzialność prostokÄ…ta" @@ -4201,6 +4315,10 @@ msgid "Load Emission Mask" msgstr "Wczytaj maskÄ™ emisji" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "UsuÅ„ maskÄ™ emisji" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "CzÄ…steczki" @@ -4259,10 +4377,6 @@ msgid "Create Emission Points From Node" msgstr "Twórz punkty emisji z wÄ™zÅ‚a" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Wyczyść Emiter" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Utwórz Emiter" @@ -4554,11 +4668,13 @@ msgstr "Sortuj:" #: 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 "PrzesuÅ„ w górÄ™" #: 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 "PrzesuÅ„ w dół" @@ -4574,7 +4690,7 @@ msgstr "Poprzedni skrypt" msgid "File" msgstr "Plik" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Nowy" @@ -4587,6 +4703,11 @@ msgid "Soft Reload Script" msgstr "MiÄ™kkie przeÅ‚adowania skryptu" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Skopiuj ÅšcieżkÄ™" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Poprzedni plik" @@ -4787,14 +4908,10 @@ msgstr "Duplikuj liniÄ™" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Idź do lini" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5135,6 +5252,14 @@ msgstr "Klatki na sekundÄ™" msgid "Align with view" msgstr "Wyrównaj z widokiem" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Brak elementu nadrzÄ™dnego do stworzenia instancji." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Widok normalny" @@ -5253,6 +5378,20 @@ msgid "Scale Mode (R)" msgstr "Tryb skalowania (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Koordynaty lokalne" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Tryb skalowania (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Tryb przyciÄ…gania:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Widok z doÅ‚u" @@ -5330,10 +5469,6 @@ msgid "Configure Snap.." msgstr "Konfiguruj krokowanie.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Koordynaty lokalne" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Okno transformowania.." @@ -5375,6 +5510,10 @@ msgid "Settings" msgstr "Ustawienia" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Ustawienia przyciÄ…gania" @@ -5775,6 +5914,11 @@ msgid "Merge from scene?" msgstr "Połącz ze sceny?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Utwórz ze sceny" @@ -5786,6 +5930,10 @@ msgstr "Połącz ze sceny" msgid "Error" msgstr "Błąd" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Anuluj" + #: editor/project_export.cpp msgid "Runnable" msgstr "Uruchamiany" @@ -5909,10 +6057,6 @@ msgid "Imported Project" msgstr "Zaimportowano projekt" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Dobrym pomysÅ‚em byÅ‚oby nazwanie swojego projektu." @@ -6179,8 +6323,9 @@ msgid "Joypad Button Index:" msgstr "Indeks przycisku joysticka:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Dodawanie akcji WejÅ›cia" +#, fuzzy +msgid "Erase Input Action" +msgstr "Wyczyść zdarzenie akcji wejÅ›cia" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6250,6 +6395,10 @@ msgid "Already existing" msgstr "Już istnieje" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Dodawanie akcji WejÅ›cia" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Błąd zapisu ustawieÅ„." @@ -6427,6 +6576,10 @@ msgid "New Script" msgstr "Nowy skrypt" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp #, fuzzy msgid "Make Unique" msgstr "Utwórz unikatowy zasób" @@ -6459,6 +6612,11 @@ msgstr "" msgid "On" msgstr "Włącz" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Dodaj pusty" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Ustaw" @@ -6467,10 +6625,6 @@ msgstr "Ustaw" msgid "Properties:" msgstr "WÅ‚aÅ›ciwoÅ›ci:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Kategorie:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Wybierz wÅ‚aÅ›ciwość" @@ -7037,6 +7191,10 @@ msgstr "Ustaw z drzewa" msgid "Shortcuts" msgstr "Skróty" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "ZmieÅ„ promień światÅ‚a" @@ -7086,15 +7244,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "ZmieÅ„ rozmiar Box Shape" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "UsuÅ„ punkt krzywej" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Kopiuj na platformÄ™..." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteka" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteka" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Status" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Biblioteki: " @@ -7791,6 +7989,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7827,10 +8041,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7891,10 +8101,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Anuluj" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alarm!" @@ -7903,9 +8109,8 @@ msgid "Please Confirm..." msgstr "ProszÄ™ potwierdzić..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Wybierz metodÄ™" +msgstr "Wybierz ten Folder" #: scene/gui/popup.cpp msgid "" @@ -7913,9 +8118,9 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" -"Popup bÄ™dzie domyÅ›lnie ukryty dopóki nie wywoÅ‚asz popup() lub dowolnej " -"funkcji popup*(). Ustawienie go jako widoczny jest przydatne do edycji, ale " -"zostanie ukryty po uruchomieniu." +"WyskakujÄ…ce okna bÄ™dÄ… domyÅ›lnie ukryte dopóki nie wywoÅ‚asz popup() lub " +"dowolnej funkcji popup*(). Ustawienie ich jako widocznych jest przydatne do " +"edycji, ale zostanÄ… ukryte po uruchomieniu." #: scene/gui/scroll_container.cpp msgid "" @@ -7930,13 +8135,15 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "Inne" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" +"DomyÅ›lne Åšrodowisko okreÅ›lone w Ustawieniach Projektu (Renderowanie -> " +"Viewport -> DomyÅ›lne Åšrodowisko) nie mogÅ‚o zostać zaÅ‚adowane." #: scene/main/viewport.cpp msgid "" @@ -7956,7 +8163,7 @@ msgstr "Błąd przy inicjalizacji FreeType." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "Nieznany format fontu." +msgstr "Nieznany format czcionki." #: scene/resources/dynamic_font.cpp msgid "Error loading font." @@ -7966,6 +8173,27 @@ msgstr "Błąd Å‚adowania fonta." msgid "Invalid font size." msgstr "Niepoprawny rozmiar fonta." +#~ msgid "Move Add Key" +#~ msgstr "Przemieszczono/Dodano klucz" + +#~ msgid "Create Subscription" +#~ msgstr "Utwórz subskrypcjÄ™" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Ustaw maskÄ™ emisji" + +#~ msgid "Clear Emitter" +#~ msgstr "Wyczyść Emiter" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Kategorie:" + #~ msgid "Cannot navigate to '" #~ msgstr "Nie można przejść do '" @@ -8616,9 +8844,6 @@ msgstr "Niepoprawny rozmiar fonta." #~ msgid "Del" #~ msgstr "UsuÅ„" -#~ msgid "Copy To Platform.." -#~ msgstr "Kopiuj na platformÄ™..." - #, fuzzy #~ msgid "Error creating the signature object." #~ msgstr "Błąd przy eksporcie projektu!" diff --git a/editor/translations/pr.po b/editor/translations/pr.po index 6e5ceeadc1..ba0b466386 100644 --- a/editor/translations/pr.po +++ b/editor/translations/pr.po @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "All yer Booty" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Move yer Add Key" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Change yer Anim Value" #: editor/animation_editor.cpp #, fuzzy @@ -43,7 +44,7 @@ msgstr "Change yer Anim Transform" #: editor/animation_editor.cpp #, fuzzy -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "Change yer Anim Value" #: editor/animation_editor.cpp @@ -536,7 +537,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -553,7 +554,7 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +msgid "Create New %s" msgstr "" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -568,7 +569,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -605,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -705,9 +707,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -847,6 +850,11 @@ msgid "Rename Audio Bus" msgstr "Rename Function" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Rename Function" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -895,8 +903,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -910,6 +918,10 @@ msgid "Delete Effect" msgstr "Yar, Blow th' Selected Down!" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1060,7 +1072,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1068,10 +1081,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1084,6 +1093,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1134,6 +1151,22 @@ msgstr "" msgid "Select Current Folder" msgstr "Slit th' Node" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1181,10 +1214,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1363,7 +1392,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2256,6 +2286,15 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Call" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2392,7 +2431,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2439,8 +2478,9 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Slit th' Node" #: editor/export_template_manager.cpp #, fuzzy @@ -2534,6 +2574,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2567,31 +2611,32 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Rename Variable" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2607,6 +2652,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2699,6 +2748,14 @@ 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 "" @@ -3264,6 +3321,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3305,6 +3363,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3442,7 +3521,6 @@ msgid "Toggles snapping" msgstr "Toggle ye Breakpoint" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3623,16 +3701,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3827,6 +3895,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3867,6 +3951,18 @@ 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 "" @@ -4043,10 +4139,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4064,15 +4156,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4134,10 +4226,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4424,11 +4512,13 @@ 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 "" @@ -4444,7 +4534,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4457,6 +4547,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Forge yer Node!" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4645,14 +4740,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "Yar, Blow th' Selected Down!" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4978,6 +5069,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5082,6 +5181,18 @@ 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 "" @@ -5156,10 +5267,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5201,6 +5308,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5586,6 +5697,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5597,6 +5712,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5714,10 +5833,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5976,7 +6091,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6046,6 +6161,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6224,6 +6343,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6256,6 +6379,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Set" @@ -6264,10 +6391,6 @@ msgstr "Set" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6825,6 +6948,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6873,15 +7000,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Discharge ye' Signal" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7566,6 +7730,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7594,10 +7774,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7650,10 +7826,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7714,6 +7886,9 @@ msgstr "Error loading yer Calligraphy Pen." msgid "Invalid font size." msgstr "Yer Calligraphy be wrongly sized." +#~ msgid "Move Add Key" +#~ msgstr "Move yer Add Key" + #~ msgid "just pressed" #~ msgstr "just smashed" diff --git a/editor/translations/pt_BR.po b/editor/translations/pt_BR.po index eed8439995..73dd892eda 100644 --- a/editor/translations/pt_BR.po +++ b/editor/translations/pt_BR.po @@ -24,8 +24,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2017-11-25 01:23+0000\n" -"Last-Translator: anonymous <>\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: Guilherme Felipe C G Silva <guilhermefelipecgs@gmail.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" "godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" @@ -33,7 +33,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 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -44,8 +44,9 @@ msgid "All Selection" msgstr "Toda a Seleção" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover Adicionar Chave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Mudar Valor da Anim" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -56,7 +57,8 @@ msgid "Anim Change Transform" msgstr "Mudar Transformação da Anim" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Mudar Valor da Anim" #: editor/animation_editor.cpp @@ -550,8 +552,9 @@ msgid "Connecting Signal:" msgstr "Conectando Sinal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Criar Conexão" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Conectar \"%s\" a \"%s\"" #: editor/connections_dialog.cpp msgid "Connect.." @@ -567,7 +570,8 @@ msgid "Signals" msgstr "Sinais" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Criar Novo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -582,7 +586,7 @@ msgstr "Recente:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Pesquisar:" @@ -623,6 +627,7 @@ msgstr "" "As mudanças não terão efeito a menos que seja recarregado." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependências" @@ -726,9 +731,10 @@ msgid "Delete selected files?" msgstr "Excluir os arquivos selecionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Excluir" @@ -871,6 +877,11 @@ msgid "Rename Audio Bus" msgstr "Renomear Canal de Ãudio" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alternar Solo do Canal de Ãudio" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Alternar Solo do Canal de Ãudio" @@ -918,8 +929,8 @@ msgstr "Ignorar" msgid "Bus options" msgstr "Opções da pista" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicar" @@ -932,6 +943,10 @@ msgid "Delete Effect" msgstr "Excluir Efeito" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Adicionar Canal de Ãudio" @@ -1085,7 +1100,8 @@ msgstr "Caminho:" msgid "Node Name:" msgstr "Nome do Nó:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nome" @@ -1093,10 +1109,6 @@ msgstr "Nome" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Atualizando Cena" @@ -1109,6 +1121,15 @@ msgstr "Armazenando mudanças locais..." msgid "Updating scene.." msgstr "Atualizando Cena..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vazio)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Por favor selecione um diretório base primeiro" @@ -1155,9 +1176,24 @@ msgid "File Exists, Overwrite?" msgstr "O arquivo existe. Sobrescrever?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Criar Pasta" +msgstr "Selecione a Pasta Atual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar Caminho" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar no Gerenciador de Arquivos" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nova Pasta..." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Atualizar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1206,10 +1242,6 @@ msgid "Go Up" msgstr "Acima" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Atualizar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Alternar Arquivos Ocultos" @@ -1389,7 +1421,8 @@ msgstr "SaÃda:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Limpar" @@ -1546,14 +1579,12 @@ msgstr "" "esse procedimento." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Expandir tudo" +msgstr "Expandir todas as propriedades" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Recolher tudo" +msgstr "Recolher todas as propriedades" #: editor/editor_node.cpp msgid "Copy Params" @@ -2029,7 +2060,7 @@ msgstr "" #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "Sincronizar Mudanças no Script" +msgstr "Sincronizar Alterações no Script" #: editor/editor_node.cpp msgid "" @@ -2341,6 +2372,16 @@ msgstr "Mesmo" msgid "Frame #:" msgstr "Frame nº:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Chamar" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Selecione um dispositivo da lista" @@ -2483,13 +2524,14 @@ msgstr "Sem resposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Sol. Falhou." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "Redirecionar Loop." +msgstr "Loop de Redirecionamento." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2530,7 +2572,8 @@ msgid "Connecting.." msgstr "Conectando.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Não foi possÃvel conectar" #: editor/export_template_manager.cpp @@ -2626,6 +2669,11 @@ msgid "Error moving:\n" msgstr "Erro ao mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Erro ao carregar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Não foi possÃvel atualizar dependências:\n" @@ -2658,6 +2706,16 @@ msgid "Renaming folder:" msgstr "Renomear pasta:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renomear pasta:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Expandir tudo" @@ -2666,10 +2724,6 @@ msgid "Collapse all" msgstr "Recolher tudo" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar Caminho" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renomear..." @@ -2678,12 +2732,9 @@ msgid "Move To.." msgstr "Mover Para..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nova Pasta..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar no Gerenciador de Arquivos" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Abrir Cena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2698,6 +2749,11 @@ msgid "View Owners.." msgstr "Visualizar Proprietários..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicar" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Diretório Anterior" @@ -2792,6 +2848,16 @@ msgid "Importing Scene.." msgstr "Importando Cena..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Transferir para Mapas de Luz:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Gerando AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Rodando Script Personalizado..." @@ -3040,54 +3106,51 @@ msgstr "Copiar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Papel Vegetal" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Ativar Papel Vegetal" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Seções:" +msgstr "Direções" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Colar" +msgstr "Passado" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Funcionalidades" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidade" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 passo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Apenas Diferenças" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Forçar Módulo Branco" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir Gizmos (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3364,6 +3427,7 @@ msgid "last" msgstr "ult" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Todos" @@ -3405,6 +3469,28 @@ msgstr "Em teste" msgid "Assets ZIP File" msgstr "Arquivo ZIP de Assets" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Transferir para Mapas de Luz:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Visualização" @@ -3543,7 +3629,6 @@ msgid "Toggles snapping" msgstr "Alternar Encaixar" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Usar Snap" @@ -3723,16 +3808,6 @@ msgstr "Erro ao instanciar cena de %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Sem pai onde instanciar um filho." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Essa operação requer um único nó selecionado." @@ -3928,6 +4003,22 @@ msgid "Create Navigation Mesh" msgstr "Criar Mesh de Navegação" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Falta uma Mesh na MeshInstance!" @@ -3968,6 +4059,20 @@ msgid "Create Outline Mesh.." msgstr "Criar Mesh de Contorno.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Visualizar" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Visualizar" + +#: 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 "Criar Mesh de Contorno" @@ -4145,10 +4250,6 @@ msgid "Create Navigation Polygon" msgstr "Criar PolÃgono de Navegação" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Limpar Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "Gerando AABB" @@ -4167,10 +4268,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 "Set Emission Mask" -msgstr "Definir Máscara de Emissão" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Gerar Retângulo de Visibilidade" @@ -4179,6 +4276,10 @@ msgid "Load Emission Mask" msgstr "Carregar Máscara de Emissão" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpar Máscara de Emissão" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "PartÃculas" @@ -4237,10 +4338,6 @@ msgid "Create Emission Points From Node" msgstr "Criar Pontos de Emissão a Partir do Nó" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Limpar Emissor" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Criar Emissor" @@ -4525,11 +4622,13 @@ msgstr "Ordenar" #: 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 "Mover para Cima" #: 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 "Mover para Baixo" @@ -4545,7 +4644,7 @@ msgstr "Script anterior" msgid "File" msgstr "Arquivo" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Novo" @@ -4558,6 +4657,11 @@ msgid "Soft Reload Script" msgstr "Recarregar Script (suave)" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar Caminho" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Anterior no Histórico" @@ -4748,11 +4852,8 @@ msgid "Clone Down" msgstr "Clonar Abaixo" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Esconder Linha" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Mostrar Linha" #: editor/plugins/script_text_editor.cpp @@ -5080,6 +5181,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Alinhar com Visão" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Sem pai onde instanciar um filho." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "Exibição Normal" @@ -5187,6 +5296,20 @@ msgid "Scale Mode (R)" msgstr "Modo Escala (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas Locais" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo Escala (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo Snap:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Visão inferior" @@ -5259,10 +5382,6 @@ msgid "Configure Snap.." msgstr "Configurar Snap..." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Coordenadas Locais" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Diálogo Transformação..." @@ -5304,6 +5423,10 @@ msgid "Settings" msgstr "Configurações" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Configurações do Snap" @@ -5686,6 +5809,11 @@ msgid "Merge from scene?" msgstr "Fundir a partir de cena?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Criar a partir de Cena" @@ -5697,6 +5825,10 @@ msgstr "Fundir a partir de Cena" msgid "Error" msgstr "Erro" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" + #: editor/project_export.cpp msgid "Runnable" msgstr "Executável" @@ -5825,10 +5957,6 @@ msgid "Imported Project" msgstr "Projeto Importado" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Seria uma boa ideia nomear o seu projeto." @@ -5988,6 +6116,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Você não tem nenhum projeto atualmente.\n" +"Gostaria de explorar os projetos de exemplo oficiais na Biblioteca de Assets?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6095,8 +6225,9 @@ msgid "Joypad Button Index:" msgstr "Ãndice de Botão do Joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Adicionar Ação de Entrada" +#, fuzzy +msgid "Erase Input Action" +msgstr "Apagar Evento Ação de Entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6163,6 +6294,10 @@ msgid "Already existing" msgstr "Já existe" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Adicionar Ação de Entrada" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Erro ao salvar as configurações." @@ -6339,6 +6474,10 @@ msgid "New Script" msgstr "Novo Script" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Tornar Único" @@ -6370,6 +6509,11 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "Ativo" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Adicionar Vazio" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Definir" @@ -6378,10 +6522,6 @@ msgstr "Definir" msgid "Properties:" msgstr "Propriedades:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Seções:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Selecionar Propriedade" @@ -6947,6 +7087,10 @@ msgstr "Definir a partir da árvore" msgid "Shortcuts" msgstr "Atalhos" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Mudar Raio da Luz" @@ -6995,15 +7139,55 @@ msgstr "Mudar o AABB das PartÃculas" msgid "Change Probe Extents" msgstr "Alterar a Extensão da Sonda" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Remover Ponto da Curva" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Copiar para a Plataforma..." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Biblioteca" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Estado" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Bibliotecas: " @@ -7705,6 +7889,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin necessita um nó ARVRCamera como filho" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Planejando Malhas" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Planejando Malhas" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Terminando de Plotar" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Planejando Malhas" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7741,10 +7944,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Planejando Malhas" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Terminando de Plotar" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7811,10 +8010,6 @@ msgid "Add current color as a preset" msgstr "Adicionar cor atual como uma predefinição" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Cancelar" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Alerta!" @@ -7823,9 +8018,8 @@ msgid "Please Confirm..." msgstr "Confirme Por Favor..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Selecionar Mtéodo" +msgstr "Selecionar esta Pasta" #: scene/gui/popup.cpp msgid "" @@ -7887,6 +8081,30 @@ msgstr "Erro ao carregar fonte." msgid "Invalid font size." msgstr "Tamanho de fonte inválido." +#~ msgid "Move Add Key" +#~ msgstr "Mover Adicionar Chave" + +#~ msgid "Create Subscription" +#~ msgstr "Criar Conexão" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Definir Máscara de Emissão" + +#~ msgid "Clear Emitter" +#~ msgstr "Limpar Emissor" + +#~ msgid "Fold Line" +#~ msgstr "Esconder Linha" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Seções:" + #~ msgid "Cannot navigate to '" #~ msgstr "Não é possÃvel navegar para '" @@ -8425,9 +8643,6 @@ msgstr "Tamanho de fonte inválido." #~ msgid "Making BVH" #~ msgstr "Fazendo BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Transferir para Mapas de Luz:" - #~ msgid "Allocating Texture #" #~ msgstr "Alocando Textura nº" @@ -8583,9 +8798,6 @@ msgstr "Tamanho de fonte inválido." #~ msgid "Del" #~ msgstr "Del" -#~ msgid "Copy To Platform.." -#~ msgstr "Copiar para a Plataforma..." - #~ msgid "" #~ "Couldn't read the certificate file. Are the path and password both " #~ "correct?" diff --git a/editor/translations/pt_PT.po b/editor/translations/pt_PT.po index 9e89358ac8..cd254a8170 100644 --- a/editor/translations/pt_PT.po +++ b/editor/translations/pt_PT.po @@ -6,6 +6,7 @@ # António Sarmento <antonio.luis.sarmento@gmail.com>, 2016. # Carlos Vieira <carlos.vieira@gmail.com>, 2017. # João Graça <jgraca95@gmail.com>, 2017. +# João Lopes <linux-man@hotmail.com>, 2017. # Miguel Gomes <miggas09@gmail.com>, 2017. # Pedro Gomes <pedrogomes1698@gmail.com>, 2017. # Rueben Stevens <supercell03@gmail.com>, 2017. @@ -15,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-25 18:50+0000\n" -"Last-Translator: Carlos Vieira <carlos.vieira@gmail.com>\n" +"PO-Revision-Date: 2017-12-05 04:49+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" "Language: pt_PT\n" @@ -34,68 +35,70 @@ msgid "All Selection" msgstr "Toda Selecção" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Mover Adicionar Chave" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Mudar valor da Animação" #: editor/animation_editor.cpp msgid "Anim Change Transition" -msgstr "Anim Mudar Transição" +msgstr "Mudar transição da Animação" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Anim Mudar o Transform" +msgstr "Mudar transformação da Animação" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Anim Mudar Valor" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Mudar valor da Animação" #: editor/animation_editor.cpp msgid "Anim Change Call" -msgstr "Anim Mudar Chamada" +msgstr "Mudar chamada da Animação" #: editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "Anim Adicionar Pista" +msgstr "Adicionar pista de Animação" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Anim Duplicar Chaves" +msgstr "Duplicar chaves da Animação" #: editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "Mover Anim Subir Pista" +msgstr "Subir pista de Animação" #: editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "Mover Anim Descer Pista" +msgstr "Descer pista de Animação" #: editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "Remover Anim Pista" +msgstr "Remover pista de Animação" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "Definir Transições para:" +msgstr "Definir transições para:" #: editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Anim Renomear Pista" +msgstr "Renomear pista de Animação" #: editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Anim Pista Mudar Interpolação" +msgstr "Mudar interpolação da pista de Animação" #: editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Anim Pista Mudar Modo do Valor" +msgstr "Mudar modo do valor da pista de Animação" #: editor/animation_editor.cpp msgid "Anim Track Change Wrap Mode" -msgstr "Anim Pista Mudar Modo de Embrulho" +msgstr "Mudar modo de embrulho da pista de Animação" #: editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "Editar Curva do Node" +msgstr "Editar curva do Nó" #: editor/animation_editor.cpp msgid "Edit Selection Curve" @@ -103,7 +106,7 @@ msgstr "Editar Curva da Seleção" #: editor/animation_editor.cpp msgid "Anim Delete Keys" -msgstr "Anim Eliminar Chaves" +msgstr "Eliminar Pontos da Animação" #: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp @@ -132,11 +135,11 @@ msgstr "Gatilho" #: editor/animation_editor.cpp msgid "Anim Add Key" -msgstr "Anim Adicionar Chave" +msgstr "Adicionar Pontos de Animação" #: editor/animation_editor.cpp msgid "Anim Move Keys" -msgstr "Anim Mover Chaves" +msgstr "Mover Pontos de Animação" #: editor/animation_editor.cpp msgid "Scale Selection" @@ -210,39 +213,39 @@ msgstr "Criar" #: editor/animation_editor.cpp msgid "Anim Create & Insert" -msgstr "Anim Criar & Inserir" +msgstr "Criar e inserir Animação" #: editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "Anim Inserir Pista & Chave" +msgstr "Inserir pista e Ponto na Animação" #: editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "Anim Inserir Chave" +msgstr "Inserir Ponto de Animação" #: editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "Mudar Duração da Anim" +msgstr "Mudar duração da Animação" #: editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "Mudar Laço da Anim" +msgstr "Mudar ciclo da Animação" #: editor/animation_editor.cpp msgid "Anim Create Typed Value Key" -msgstr "Anim Criar Valor Chave Escrito" +msgstr "Criar Ponto de valor digitado na Animação" #: editor/animation_editor.cpp msgid "Anim Insert" -msgstr "Anim Inserir" +msgstr "Inserir Animação" #: editor/animation_editor.cpp msgid "Anim Scale Keys" -msgstr "Anim Escalar Chaves" +msgstr "Escalar Pontos da Animação" #: editor/animation_editor.cpp msgid "Anim Add Call Track" -msgstr "Anim Adicionar Chamada de Pista" +msgstr "Adicionar chamada de pista de Animação" #: editor/animation_editor.cpp msgid "Animation zoom." @@ -254,7 +257,7 @@ msgstr "Duração (s):" #: editor/animation_editor.cpp msgid "Animation length (in seconds)." -msgstr "Duração da animação (em segundos)." +msgstr "Duração da Animação (em segundos)." #: editor/animation_editor.cpp msgid "Step (s):" @@ -262,11 +265,11 @@ msgstr "Passos (s):" #: editor/animation_editor.cpp msgid "Cursor step snap (in seconds)." -msgstr "Passo Rápido do Cursor (em segundos)." +msgstr "Ajuste do Cursor (em segundos)." #: editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "Ativar/Desativar repetição na animação." +msgstr "Ativar/Desativar repetição na Animação." #: editor/animation_editor.cpp msgid "Add new tracks." @@ -294,7 +297,7 @@ msgstr "Ativar edição de chaves individuais ao clicar nelas." #: editor/animation_editor.cpp msgid "Anim. Optimizer" -msgstr "Optimizador da Animação" +msgstr "Optimizador de Animações" #: editor/animation_editor.cpp msgid "Max. Linear Error:" @@ -314,7 +317,7 @@ msgstr "Otimizar" #: editor/animation_editor.cpp msgid "Select an AnimationPlayer from the Scene Tree to edit animations." -msgstr "Selecionar um AnimationPlayer da Scene Tree para editar animações." +msgstr "Selecionar um AnimationPlayer da Scene Tree para editar Animações." #: editor/animation_editor.cpp msgid "Key" @@ -330,7 +333,7 @@ msgstr "Taxa de Escala:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "Chamar Funções em Qual Node?" +msgstr "Chamar funções em que Nó?" #: editor/animation_editor.cpp msgid "Remove invalid keys" @@ -342,11 +345,11 @@ msgstr "Remover pistas vazias ou não resolvidas" #: editor/animation_editor.cpp msgid "Clean-up all animations" -msgstr "Limpar todas as animações" +msgstr "Limpar todas as Animações" #: editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "Limpar animação(ções) (DEFINITIVO!)" +msgstr "Limpar Animação(ções) (DEFINITIVO!)" #: editor/animation_editor.cpp msgid "Clean-Up" @@ -358,11 +361,11 @@ msgstr "Redimensionar Array" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Alterar tipo de valor do Array" +msgstr "Mudar tipo de valor do Array" #: editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "Alterar valor do Array" +msgstr "Mudar valor do Array" #: editor/code_editor.cpp msgid "Go to Line" @@ -425,9 +428,8 @@ msgid "Replace By" msgstr "Substituir por" #: editor/code_editor.cpp -#, fuzzy msgid "Case Sensitive" -msgstr "Case Sensitive" +msgstr "SensÃvel a maiúsculas" #: editor/code_editor.cpp msgid "Backwards" @@ -435,11 +437,11 @@ msgstr "Para trás" #: editor/code_editor.cpp msgid "Prompt On Replace" -msgstr "Solicitar em substituir" +msgstr "Perguntar ao substituir" #: editor/code_editor.cpp msgid "Skip" -msgstr "Passar" +msgstr "Ignorar" #: editor/code_editor.cpp msgid "Zoom In" @@ -447,11 +449,11 @@ msgstr "Zoom In" #: editor/code_editor.cpp msgid "Zoom Out" -msgstr "Zoom out" +msgstr "Zoom Out" #: editor/code_editor.cpp msgid "Reset Zoom" -msgstr "Reset zoom" +msgstr "Repor Zoom" #: editor/code_editor.cpp editor/script_editor_debugger.cpp msgid "Line:" @@ -463,19 +465,19 @@ msgstr "Coluna:" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "Método no Node alvo deve ser especificado!" +msgstr "Método no Nó alvo deve ser especificado!" #: editor/connections_dialog.cpp msgid "" "Target method not found! Specify a valid method or attach a script to target " "Node." msgstr "" -"Método alvo não encontrado! Especifique um método válido ou anexe um script " -"ao Node de destino." +"Método alvo não encontrado! Especifique um Método válido ou anexe um Script " +"ao Nó de destino." #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Conectar ao Node:" +msgstr "Conectar ao Nó:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -500,18 +502,17 @@ msgstr "Argumentos de chamada extra:" #: editor/connections_dialog.cpp msgid "Path to Node:" -msgstr "Caminho para Node:" +msgstr "Caminho para Nó:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Fazer função" +msgstr "Criar Função" #: editor/connections_dialog.cpp msgid "Deferred" msgstr "Deferido" #: editor/connections_dialog.cpp -#, fuzzy msgid "Oneshot" msgstr "Oneshot" @@ -542,8 +543,9 @@ msgid "Connecting Signal:" msgstr "Ligar sinal:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Criar subscrição" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Ligar '%s' a '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -559,7 +561,8 @@ msgid "Signals" msgstr "Sinais" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Criar Novo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -574,16 +577,15 @@ msgstr "Recente:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Procurar:" #: editor/create_dialog.cpp editor/editor_help.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp #: editor/quick_open.cpp -#, fuzzy msgid "Matches:" -msgstr "Matches:" +msgstr "Correspondências:" #: editor/create_dialog.cpp editor/editor_help.cpp #: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp @@ -604,8 +606,8 @@ msgid "" "Scene '%s' is currently being edited.\n" "Changes will not take effect unless reloaded." msgstr "" -"A Cena '%s' esta a ser editada.\n" -"As alterações não terão efeito ate recarregar." +"A Cena '%s' está a ser editada.\n" +"As alterações não terão efeito até recarregar." #: editor/dependency_editor.cpp msgid "" @@ -613,9 +615,10 @@ msgid "" "Changes will take effect when reloaded." msgstr "" "Recurso '%s' em uso.\n" -"Alterações terão efeito apos reenicio." +"Alterações terão efeito após reinÃcio." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "Dependências" @@ -658,7 +661,7 @@ msgstr "Proprietários de:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Remover arquivos selecionados do projeto? (sem desfazer)" +msgstr "Remover arquivos selecionados do Projeto? (sem desfazer)" #: editor/dependency_editor.cpp msgid "" @@ -700,7 +703,7 @@ msgstr "Erros ao carregar!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "Eliminar permanentemente o item (ns) %d? (Sem desfazer!)" +msgstr "Apagar permanentemente %d itens? (Sem desfazer!)" #: editor/dependency_editor.cpp msgid "Owns" @@ -719,20 +722,20 @@ msgid "Delete selected files?" msgstr "Apagar arquivos selecionados?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" -msgstr "Eliminar" +msgstr "Apagar" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "Alterar chave de dicionário" +msgstr "Mudar chave de dicionário" #: editor/dictionary_property_edit.cpp -#, fuzzy msgid "Change Dictionary Value" -msgstr "Alterar o valor do dicionário" +msgstr "Mudar o valor do dicionário" #: editor/editor_about.cpp msgid "Thanks from the Godot community!" @@ -748,7 +751,7 @@ msgstr "Contribuidores da engine Godot" #: editor/editor_about.cpp msgid "Project Founders" -msgstr "Fundadores do projeto" +msgstr "Fundadores do Projeto" #: editor/editor_about.cpp msgid "Lead Developer" @@ -756,7 +759,7 @@ msgstr "Desenvolvedor-chefe" #: editor/editor_about.cpp editor/project_manager.cpp msgid "Project Manager" -msgstr "Gestor de Projecto" +msgstr "Gestor de Projeto" #: editor/editor_about.cpp msgid "Developers" @@ -809,11 +812,10 @@ msgid "" "is an exhaustive list of all such thirdparty components with their " "respective copyright statements and license terms." msgstr "" -"O Godot Engine conta com várias bibliotecas de bibliotecas abertas e " -"gratuitas de terceiros, todas compatÃveis com os termos de sua licença MIT. " -"A lista seguinte, é uma lista exaustiva de todos esses componentes de " -"terceiros com suas respectivas declarações de direitos autorais e termos de " -"licença." +"O Godot Engine conta com várias Bibliotecas abertas e gratuitas de " +"terceiros, todas compatÃveis com os termos da sua licença MIT. A lista " +"seguinte é uma lista exaustiva de todos esses Componentes de terceiros com " +"suas respetivas declarações de direitos autorais e termos de licença." #: editor/editor_about.cpp msgid "All Components" @@ -829,11 +831,11 @@ msgstr "Licenças" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Error opening package file, not in zip format." -msgstr "Error ao abrir ficheiro comprimido, não está no formato zip." +msgstr "Error ao abrir Ficheiro comprimido, não está no formato zip." #: editor/editor_asset_installer.cpp msgid "Uncompressing Assets" -msgstr "Descompactando Activos" +msgstr "Descompactando Ativos" #: editor/editor_asset_installer.cpp editor/project_manager.cpp msgid "Package Installed Successfully!" @@ -863,23 +865,28 @@ msgstr "Adicionar Efeito" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" -msgstr "Alterar Barramento de Ãudio" +msgstr "Mudar Barramento de Ãudio" + +#: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Alternar solo do canal áudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" -msgstr "" +msgstr "Alternar solo do canal áudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Mute" -msgstr "" +msgstr "Alternar silêncio do canal áudio" #: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Bypass Effects" -msgstr "" +msgstr "Alternar efeitos do canal áudio" #: editor/editor_audio_buses.cpp msgid "Select Audio Bus Send" -msgstr "" +msgstr "Selecionar envio do canal áudio" #: editor/editor_audio_buses.cpp msgid "Add Audio Bus Effect" @@ -895,7 +902,7 @@ msgstr "Apagar Efeito de Barramento" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "" +msgstr "Canal áudio, arrastar e largar para reorganizar." #: editor/editor_audio_buses.cpp msgid "Solo" @@ -913,8 +920,8 @@ msgstr "Ignorar" msgid "Bus options" msgstr "Opções de barramento" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicado" @@ -927,6 +934,10 @@ msgid "Delete Effect" msgstr "Apagar Efeito" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Adicionar Barramento de Ãudio" @@ -964,11 +975,11 @@ msgstr "Abrir Modelo de Barramento de Ãudio" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "O ficheiro 'res://default_bus_layout.tres' não existe." +msgstr "O Ficheiro 'res://default_bus_layout.tres' não existe." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "Ficheiro inválido, não é um modelo válido de barramento de áudio." +msgstr "Ficheiro inválido, não é um Modelo válido de barramento de áudio." #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -994,7 +1005,7 @@ msgstr "Guardar Como" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "Guardar este Modelo de Barramento para um ficheiro." +msgstr "Guardar este Modelo de Barramento para um Ficheiro." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" @@ -1002,7 +1013,7 @@ msgstr "Carregar Padrão" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Carregar o Modelo padrão de Barramento." +msgstr "Carregar o Modelo padrão de barramento." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1010,12 +1021,12 @@ msgstr "Nome inválido." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "Caracteres válidos:" +msgstr "Carateres válidos:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" -"Nome inválido. Não pode coincidir com um nome de uma classe do motor, já " +"Nome inválido. Não pode coincidir com um nome de classe do motor já " "existente." #: editor/editor_autoload_settings.cpp @@ -1032,15 +1043,15 @@ msgstr "" #: editor/editor_autoload_settings.cpp msgid "Invalid Path." -msgstr "Caminho Inválido." +msgstr "Caminho inválido." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "O ficheiro não existe." +msgstr "O Ficheiro não existe." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." -msgstr "Não está no caminho do recurso." +msgstr "Não está no Caminho do recurso." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" @@ -1056,7 +1067,7 @@ msgstr "Renomear Carregamento Automático" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "" +msgstr "Alternar Globals de carregamento automático" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" @@ -1083,22 +1094,18 @@ msgstr "Caminho:" msgid "Node Name:" msgstr "Nome do Nó:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Nome" #: editor/editor_autoload_settings.cpp -#, fuzzy msgid "Singleton" -msgstr "Filho Único" - -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" +msgstr "Instância única" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "Actualizando a Cena" +msgstr "Atualizando a Cena" #: editor/editor_data.cpp msgid "Storing local changes.." @@ -1106,20 +1113,29 @@ msgstr "Armazenando alterações locais.." #: editor/editor_data.cpp msgid "Updating scene.." -msgstr "Actualizando a cena.." +msgstr "Atualizando a Cena.." + +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(vazio)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "Por favor, seleccione a directoria base primeiro" +msgstr "Por favor, selecione a diretoria base primeiro" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "Escolha uma Directoria" +msgstr "Escolha uma Diretoria" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Criar Pasta/Directoria" +msgstr "Criar Pasta/Diretoria" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp @@ -1147,16 +1163,31 @@ msgstr "Empacotamento" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "Ficheiro modelo não encontrado:\n" +msgstr "Ficheiro Modelo não encontrado:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "O ficheiro existe, sobrescrever?" +msgstr "O Ficheiro existe, sobrescrever?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Criar Pasta/Directoria" +msgstr "Selecionar pasta atual" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Copiar Caminho" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Mostrar no Gestor de Ficheiros" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Nova Diretoria.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Atualizar" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1176,11 +1207,11 @@ msgstr "Abrir Ficheiro(s)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Abrir uma Directoria" +msgstr "Abrir uma Diretoria" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "Abrir um Ficheiro ou Directoria" +msgstr "Abrir um Ficheiro ou Diretoria" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1205,24 +1236,20 @@ msgid "Go Up" msgstr "Subir" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Actualizar" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" -msgstr "" +msgstr "Alternar Ficheiros escondidos" #: editor/editor_file_dialog.cpp msgid "Toggle Favorite" -msgstr "" +msgstr "Alternar favorito" #: editor/editor_file_dialog.cpp msgid "Toggle Mode" -msgstr "" +msgstr "Alternar modo" #: editor/editor_file_dialog.cpp msgid "Focus Path" -msgstr "" +msgstr "Focar Caminho" #: editor/editor_file_dialog.cpp msgid "Move Favorite Up" @@ -1238,7 +1265,7 @@ msgstr "Ir para a pasta acima" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Directories & Files:" -msgstr "Directorias e Ficheiros:" +msgstr "Diretorias e Ficheiros:" #: editor/editor_file_dialog.cpp msgid "Preview:" @@ -1255,11 +1282,11 @@ msgstr "Deve usar uma extensão válida." #: editor/editor_file_system.cpp msgid "ScanSources" -msgstr "" +msgstr "Analisar fontes" #: editor/editor_file_system.cpp msgid "(Re)Importing Assets" -msgstr "Importar Activos" +msgstr "Importar Ativos" #: editor/editor_help.cpp editor/editor_node.cpp #: editor/plugins/script_editor_plugin.cpp @@ -1312,11 +1339,11 @@ msgstr "Métodos Públicos:" #: editor/editor_help.cpp msgid "GUI Theme Items" -msgstr "" +msgstr "Itens do tema GUI" #: editor/editor_help.cpp msgid "GUI Theme Items:" -msgstr "" +msgstr "Itens do tema GUI:" #: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp msgid "Signals:" @@ -1359,7 +1386,7 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Actualmente não existe descrição para esta propriedade. Por favor ajude-nos " +"Atualmente não existe descrição para esta Propriedade. Por favor ajude-nos " "[color=$color][url=$url]contribuindo com uma[/url][/color]!" #: editor/editor_help.cpp @@ -1375,8 +1402,8 @@ msgid "" "There is currently no description for this method. Please help us by [color=" "$color][url=$url]contributing one[/url][/color]!" msgstr "" -"Actualmente não existe descrição para este método. Por favor ajude-nos " -"[color=$color][url=$url]contribuindo com uma[/url][/color]!" +"Atualmente não existe descrição para este Método. Por favor ajude-nos [color=" +"$color][url=$url]contribuindo com uma[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" @@ -1388,7 +1415,8 @@ msgstr "SaÃda:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Limpar" @@ -1407,11 +1435,11 @@ msgstr "Eu vejo.." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "Não é possÃvel abrir o ficheiro para escrita:" +msgstr "ImpossÃvel abrir o Ficheiro para escrita:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "Formato do ficheiro solicitado desconhecido:" +msgstr "Formato do Ficheiro solicitado desconhecido:" #: editor/editor_node.cpp msgid "Error while saving." @@ -1419,16 +1447,15 @@ msgstr "Erro ao guardar." #: editor/editor_node.cpp msgid "Can't open '%s'." -msgstr "Não foi possÃvel abrir '%s'." +msgstr "ImpossÃvel abrir '%s'." #: editor/editor_node.cpp -#, fuzzy msgid "Error while parsing '%s'." msgstr "Erro ao analisar '%s'." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "Fim de ficheiro '%s' inesperado." +msgstr "Fim de Ficheiro '%s' inesperado." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." @@ -1458,7 +1485,7 @@ msgstr "Esta operação não pode ser feita sem uma raiz da árvore." msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" -"Não foi possÃvel guardar cena. Provavelmente, as dependências (instâncias) " +"Não foi possÃvel guardar Cena. Provavelmente, as dependências (instâncias) " "não puderam ser satisfeitas." #: editor/editor_node.cpp @@ -1467,7 +1494,7 @@ msgstr "Falha ao carregar recurso." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "Não foi possÃvel carregar MeshLibrary para fundir!" +msgstr "ImpossÃvel carregar MeshLibrary para fundir!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" @@ -1475,7 +1502,7 @@ msgstr "Erro ao guardar MeshLibrary!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "Não foi possÃvel carregar TileSet para fundir!" +msgstr "ImpossÃvel carregar TileSet para fundir!" #: editor/editor_node.cpp msgid "Error saving TileSet!" @@ -1483,15 +1510,15 @@ msgstr "Erro ao guardar TileSet!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "Erro ao tentar guardar o modelo!" +msgstr "Erro ao tentar guardar o Modelo!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "O modelo do editor padrão foi substituÃdo." +msgstr "O Modelo do Editor padrão foi substituÃdo." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "Nome do modelo não encontrado!" +msgstr "Nome do Modelo não encontrado!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." @@ -1503,9 +1530,9 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Este recurso pertence a uma cena que foi importado, portanto, não é " +"Este recurso pertence a uma Cena que foi importado, portanto, não é " "editável.\n" -"Por favor, leia a documentação relevante sobre importação de cenas, para um " +"Por favor, leia a documentação relevante sobre importação de Cenas, para um " "melhor entendimento deste fluxo de trabalho." #: editor/editor_node.cpp @@ -1513,8 +1540,8 @@ 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 "" -"Este recurso pertence a uma cena que foi instanciada ou herdada.\n" -"As alterações ao mesmo não serão mantidas, ao guardar a cena actual." +"Este recurso pertence a uma Cena que foi instanciada ou herdada.\n" +"As alterações ao mesmo não serão mantidas, ao guardar a Cena atual." #: editor/editor_node.cpp msgid "" @@ -1531,10 +1558,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" -"Esta cena foi importada, portanto, as alterações à mesma não serão " +"Esta Cena foi importada, portanto, as alterações à mesma não serão " "mantidas.\n" -"Instanciando-a ou herdando-a vai permitir efectuar alterções à mesma.\n" -"Por favor, leia a documentação relevante sobre importação de cenas, para um " +"Instanciando-a ou herdando-a vai permitir efetuar alterções à mesma.\n" +"Por favor, leia a documentação relevante sobre importação de Cenas, para um " "melhor entendimento do fluxo de trabalho." #: editor/editor_node.cpp @@ -1543,20 +1570,18 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" -"Este é um objecto remoto, portanto, as alterações ao mesmo não serão " +"Este é um Objeto remoto, portanto, as alterações ao mesmo não serão " "mantidas.\n" "Por favor, leia a documentação relevante sobre depuração para um melhor " "entendimento deste fluxo de trabalho." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" msgstr "Expandir tudo" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Colapsar tudo" +msgstr "Colapsar todas as Propriedades" #: editor/editor_node.cpp msgid "Copy Params" @@ -1575,9 +1600,8 @@ msgid "Copy Resource" msgstr "Copiar Recurso" #: editor/editor_node.cpp -#, fuzzy msgid "Make Built-In" -msgstr "Tornar Embutido" +msgstr "Tornar incorporado" #: editor/editor_node.cpp msgid "Make Sub-Resources Unique" @@ -1589,7 +1613,7 @@ msgstr "Abrir em Ajuda" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "Não existe nenhuma cena definida para executar." +msgstr "Não existe nenhuma Cena definida para executar." #: editor/editor_node.cpp msgid "" @@ -1597,8 +1621,8 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"Não foi definida nenhuma cena principal. Seleccionar uma?\n" -"Poderá alterá-la depois nas \"Definições de Projecto\", na categoria " +"Não foi definida nenhuma Cena principal. Selecionar uma?\n" +"Poderá alterá-la depois nas \"Definições do Projeto\", na categoria " "'aplicação'." #: editor/editor_node.cpp @@ -1607,8 +1631,8 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"A cena seleccionada '%s' não existe, seleccionar uma válida?\n" -"Poderá alterá-la depois em \"Configurações de Projecto\", na categoria de " +"A Cena selecionada '%s' não existe, selecionar uma válida?\n" +"Poderá alterá-la depois em \"Configurações de Projeto\", na categoria de " "'aplicação'." #: editor/editor_node.cpp @@ -1617,15 +1641,14 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" -"A cena seleccionada '%s' não é um ficheiro de cena, seleccionar um ficheiro " +"A Cena selecionada '%s' não é um Ficheiro de Cena, selecione um Ficheiro " "válido?\n" -"Poderá alterá-la depois em \"Configurações de Projecto\", na categoria de " +"Poderá alterá-la depois em \"Configurações de Projeto\", na categoria " "'aplicação'." #: editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "" -"A cena actual nunca foi guardada, por favor guarde-a antes de executar." +msgstr "A Cena atual nunca foi guardada, por favor guarde-a antes de executar." #: editor/editor_node.cpp msgid "Could not start subprocess!" @@ -1669,11 +1692,11 @@ msgstr "Sim" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "Esta cena nunca foi guardada. Guardar antes de executar?" +msgstr "Esta Cena nunca foi guardada. Guardar antes de executar?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "Esta operação não pode ser efectuada sem uma cena." +msgstr "Esta operação não pode ser efetuada sem uma Cena." #: editor/editor_node.cpp msgid "Export Mesh Library" @@ -1681,23 +1704,23 @@ msgstr "Exportar Biblioteca de Mesh" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "Esta operação não pode ser efectuada sem um nó raÃz." +msgstr "Esta operação não pode ser efetuada sem um Nó raiz." #: editor/editor_node.cpp msgid "Export Tile Set" -msgstr "Exportar Tile Set" +msgstr "Exportar conjunto de tiles" #: editor/editor_node.cpp msgid "This operation can't be done without a selected node." -msgstr "Esta operação não pode ser efectuada sem um nó seleccionado." +msgstr "Esta operação não pode ser efetuada sem um Nó selecionado." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "A cena actual não foi guardada. Abrir na mesma?" +msgstr "A Cena atual não foi guardada. Abrir na mesma?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "Não é possÃvel recarregar uma cena que nunca foi guardada." +msgstr "ImpossÃvel recarregar uma Cena que nunca foi guardada." #: editor/editor_node.cpp msgid "Revert" @@ -1717,11 +1740,11 @@ msgstr "Sair" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "Sair do editor?" +msgstr "Sair do Editor?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "Abrir Gestor de Projecto?" +msgstr "Abrir Gestor de Projeto?" #: editor/editor_node.cpp msgid "Save & Quit" @@ -1729,20 +1752,20 @@ msgstr "Guardar & Sair" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "Guardar alterações da(s) seguinte(s) cena(s) antes de sair?" +msgstr "Guardar alterações da(s) seguinte(s) Cena(s) antes de sair?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" msgstr "" -"Guardar alterações da(s) seguinte(s) cena(s) antes de abrir o Gestor de " -"Projecto?" +"Guardar alterações da(s) seguinte(s) Cena(s) antes de abrir o Gestor de " +"Projeto?" #: editor/editor_node.cpp msgid "" "This option is deprecated. Situations where refresh must be forced are now " "considered a bug. Please report." msgstr "" -"Esta opção foi descontinuada. Situações onde a actualização tem que ser " +"Esta opção foi descontinuada. Situações onde a atualização tem que ser " "forçada, são agora consideras um defeito. Por favor, reporte." #: editor/editor_node.cpp @@ -1751,30 +1774,36 @@ msgstr "Escolha a Cena Principal" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." -msgstr "" +msgstr "Incapaz de ativar plugin em: '%s' falha de análise ou configuração." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." -msgstr "" +msgstr "Incapaz de encontrar campo Script para plugin em: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "Incapaz de carregar Script addon do Caminho: '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"Incapaz de carregar Script addon do Caminho: '%s' Tipo base não é " +"EditorPlugin." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Incapaz de carregar Script addon do Caminho: '%s' Script não está no modo " +"ferramenta." #: 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 "" +"Cena '%s' foi importada automaticamente, não podendo ser alterada.\n" +"Para fazer alterações, pode ser criada uma nova Cena herdada." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -1786,6 +1815,8 @@ 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 "" +"Erro ao carregar a Cena, tem de estar no Caminho do Projeto. Use 'Importar' " +"para abrir a Cena, e guarde-a dentro do Caminho do Projeto." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -1806,7 +1837,7 @@ msgstr "Apagar Modelo" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "Por defeito" +msgstr "Padrão" #: editor/editor_node.cpp msgid "Switch Scene Tab" @@ -1814,15 +1845,15 @@ msgstr "Trocar Tab de Cena" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "%d mais ficheiros ou directorias" +msgstr "%d mais Ficheiros ou diretorias" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "%d mais directorias" +msgstr "%d mais diretorias" #: editor/editor_node.cpp msgid "%d more files" -msgstr "%d mais ficheiros" +msgstr "%d mais Ficheiros" #: editor/editor_node.cpp msgid "Dock Position" @@ -1830,16 +1861,15 @@ msgstr "Posição do Painel" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Modo livre de distrações" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Alternar modo livre de distrações." #: editor/editor_node.cpp -#, fuzzy msgid "Add a new scene." -msgstr "Adicionar novas bandas." +msgstr "Adicionar nova Cena." #: editor/editor_node.cpp msgid "Scene" @@ -1847,7 +1877,7 @@ msgstr "Cena" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Ir para cena aberta anteriormente." +msgstr "Ir para Cena aberta anteriormente." #: editor/editor_node.cpp msgid "Next tab" @@ -1863,7 +1893,7 @@ msgstr "Filtrar Ficheiro.." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "Operações com ficheiros de cena." +msgstr "Operações com Ficheiros de Cena." #: editor/editor_node.cpp msgid "New Scene" @@ -1921,15 +1951,15 @@ msgstr "Reverter Cena" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "Ferramentas diversas atuantes no projeto ou cena." +msgstr "Ferramentas diversas atuantes no Projeto ou Cena." #: editor/editor_node.cpp msgid "Project" -msgstr "Projecto" +msgstr "Projeto" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "Configurações de Projecto" +msgstr "Configurações de Projeto" #: editor/editor_node.cpp msgid "Run Script" @@ -1945,7 +1975,7 @@ msgstr "Ferramentas" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "Sair para a lista de Projectos" +msgstr "Sair para a lista de Projetos" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" @@ -1960,10 +1990,12 @@ msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"Ao exportar ou distribuir, o executável vai tentar ligar-se ao IP deste " +"computador para depuração." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Pequena distribuição com Network FS" #: editor/editor_node.cpp msgid "" @@ -1974,6 +2006,11 @@ msgid "" "On Android, deploy will use the USB cable for faster performance. This " "option speeds up testing for games with a large footprint." msgstr "" +"Quando esta opção está ativa, exportação ou distribuição criará um " +"executável mÃnimo.\n" +"O Sistema de Ficheiros será fornecido ao Projeto pelo Editor sobre a rede.\n" +"Em Android, a distribuição irá usar a ligação USB para melhor performance. " +"Esta opção acelera o teste de jogos pesados." #: editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1984,6 +2021,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Com esta opção ativada, formas de colisão e Nós raycast (para 2D e 3D) " +"serão visÃveis no jogo em execução." #: editor/editor_node.cpp msgid "Visible Navigation" @@ -1994,6 +2033,7 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Com esta opção ativa, Meshes e PolÃgonos serão visÃveis no jogo em execução." #: editor/editor_node.cpp msgid "Sync Scene Changes" @@ -2006,6 +2046,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Com esta opção ativa, alterações da Cena no Editor serão replicadas no jogo " +"em execução.\n" +"Quando usada num dispositivo remoto, é mais eficiente com um Sistema de " +"Ficheiros em rede." #: editor/editor_node.cpp msgid "Sync Script Changes" @@ -2018,11 +2062,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Com esta opção ativa, qualquer Script guardado será recarregado no jogo em " +"execução.\n" +"Quando usada num dispositivo remoto, é mais eficiente com um Sistema de " +"Ficheiros em rede." #: editor/editor_node.cpp -#, fuzzy msgid "Editor" -msgstr "Editar" +msgstr "Editor" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" @@ -2034,7 +2081,7 @@ msgstr "Apresentação do Editor" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Alternar ecrã completo" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" @@ -2070,7 +2117,7 @@ msgstr "Sobre" #: editor/editor_node.cpp msgid "Play the project." -msgstr "Executar o projecto." +msgstr "Executar o projeto." #: editor/editor_node.cpp msgid "Play" @@ -2078,7 +2125,7 @@ msgstr "Executar" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "Pausar a cena" +msgstr "Pausar a Cena" #: editor/editor_node.cpp msgid "Pause Scene" @@ -2086,7 +2133,7 @@ msgstr "Pausar a Cena" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "Para a cena." +msgstr "Para a Cena." #: editor/editor_node.cpp msgid "Stop" @@ -2094,7 +2141,7 @@ msgstr "Parar" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "Executar a cena editada." +msgstr "Executar a Cena editada." #: editor/editor_node.cpp msgid "Play Scene" @@ -2102,7 +2149,7 @@ msgstr "Executar a Cena" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "Executar a cena customizada" +msgstr "Executar a Cena customizada" #: editor/editor_node.cpp msgid "Play Custom Scene" @@ -2110,23 +2157,23 @@ msgstr "Executar Cena Customizada" #: editor/editor_node.cpp msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "Roda quando a janela do Editor atualiza!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "Actualizar Sempre" +msgstr "Atualizar Sempre" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "Actualizar Alterações" +msgstr "Atualizar Alterações" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Desativar a roleta de atualização" #: editor/editor_node.cpp msgid "Inspector" -msgstr "Inspector" +msgstr "Inspetor" #: editor/editor_node.cpp msgid "Create a new resource in memory and edit it." @@ -2146,19 +2193,19 @@ msgstr "Guardar Como.." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "Ir para o objecto editado anteriormente no histórico." +msgstr "Ir para o Objeto editado anteriormente no histórico." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "Ir para o próximo objecto editado no histórico." +msgstr "Ir para o próximo Objeto editado no histórico." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "Histórico de objectos recentemente editados." +msgstr "Histórico de Objetos recentemente editados." #: editor/editor_node.cpp msgid "Object properties." -msgstr "Propriedades do objecto." +msgstr "Propriedades do Objeto." #: editor/editor_node.cpp msgid "Changes may be lost!" @@ -2187,11 +2234,11 @@ msgstr "Não Guardar" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "Importar Modelos a partir de um ficheiro ZIP" +msgstr "Importar Modelos a partir de um Ficheiro ZIP" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "Exportar Projecto" +msgstr "Exportar Projeto" #: editor/editor_node.cpp msgid "Export Library" @@ -2219,7 +2266,7 @@ msgstr "Carregar Erros" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "Seleccionar" +msgstr "Selecionar" #: editor/editor_node.cpp msgid "Open 2D Editor" @@ -2235,7 +2282,7 @@ msgstr "Abrir Editor de Scripts" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "Abrir Biblioteca de Activos" +msgstr "Abrir Biblioteca de Ativos" #: editor/editor_node.cpp msgid "Open the next Editor" @@ -2247,7 +2294,7 @@ msgstr "Abrir o Editor anterior" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "A criar pré-visualizações de Mesh" #: editor/editor_plugin.cpp msgid "Thumbnail.." @@ -2259,7 +2306,7 @@ msgstr "Plugins Instalados:" #: editor/editor_plugin_settings.cpp msgid "Update" -msgstr "Actualizar" +msgstr "Atualizar" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2276,11 +2323,11 @@ msgstr "Estado:" #: editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Parar análise" #: editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Começar análise" #: editor/editor_profiler.cpp msgid "Measure:" @@ -2318,27 +2365,39 @@ msgstr "Auto" msgid "Frame #:" msgstr "# quadro:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tempo:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Chamar" + #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "Seleccionar dispositivo da lista" +msgstr "Selecionar dispositivo da 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 "" +"Não foi encontrado um executável de exportação para esta plataforma.\n" +"Adicione um executável pré-definido no menu de exportação." #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "Escreva a sua lógica no método _run()." +msgstr "Escreva a sua lógica no Método _run()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "Já existe uma cena editada." +msgstr "Já existe uma Cena editada." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "Não foi possÃvel instanciar o script:" +msgstr "Não foi possÃvel instanciar o Script:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" @@ -2346,7 +2405,7 @@ msgstr "Esqueceu-se da palavra chave 'tool'?" #: editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "Não foi possÃvel executar o script:" +msgstr "Não foi possÃvel executar o Script:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" @@ -2354,11 +2413,11 @@ msgstr "Esqueceu-se do médodo '_run'?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "Por defeito (Mesmo que o Editor)" +msgstr "Padrão (mesmo que o Editor)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "Seleccionar Nó(s) para Importar" +msgstr "Selecionar Nó(s) para importar" #: editor/editor_sub_scene.cpp msgid "Scene Path:" @@ -2370,7 +2429,7 @@ msgstr "Importar do Nó:" #: editor/export_template_manager.cpp msgid "Re-Download" -msgstr "" +msgstr "Transferir novamente" #: editor/export_template_manager.cpp msgid "Uninstall" @@ -2390,39 +2449,39 @@ msgstr "(Em Falta)" #: editor/export_template_manager.cpp msgid "(Current)" -msgstr "(Actual)" +msgstr "(Atual)" #: editor/export_template_manager.cpp msgid "Retrieving mirrors, please wait.." -msgstr "" +msgstr "A readquirir servidores, espere por favor..." #: editor/export_template_manager.cpp msgid "Remove template version '%s'?" -msgstr "Remover versão de modelo '%s'?" +msgstr "Remover versão de Modelo '%s'?" #: editor/export_template_manager.cpp msgid "Can't open export templates zip." -msgstr "Não foi possÃvel abrir o zip de modelos." +msgstr "ImpossÃvel abrir o zip de Modelos." #: editor/export_template_manager.cpp msgid "Invalid version.txt format inside templates." -msgstr "Formato de version.txt inválido, dentro dos modelos." +msgstr "Formato de version.txt inválido, dentro dos Modelos." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" -"Formato de version.txt inválido, dentro dos modelos. Revisão não é um " +"Formato de version.txt inválido, dentro dos Modelos. Revisão não é um " "identificador válido." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "Não foi encontrado version.txt dentro dos modelos." +msgstr "Não foi encontrado version.txt dentro dos Modelos." #: editor/export_template_manager.cpp msgid "Error creating path for templates:\n" -msgstr "Erro ao criar o caminho para os modelos:\n" +msgstr "Erro ao criar o Caminho para os Modelos:\n" #: editor/export_template_manager.cpp msgid "Extracting Export Templates" @@ -2438,17 +2497,17 @@ msgid "" "for official releases." msgstr "" "Não foram encontrados ligações para download para esta versão. Download " -"directo está apenas disponÃvel para os lançamentos oficiais." +"direto está apenas disponÃvel para os lançamentos oficiais." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve." -msgstr "Não foi possÃvel resolver." +msgstr "ImpossÃvel resolver." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect." -msgstr "Não foi possÃvel conectar." +msgstr "ImpossÃvel conectar." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2457,13 +2516,14 @@ msgstr "Sem resposta." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Pedido falhado." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Redirect Loop." -msgstr "" +msgstr "Redirecionar ciclo." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2472,7 +2532,7 @@ msgstr "Falhou:" #: editor/export_template_manager.cpp msgid "Can't write file." -msgstr "Não foi possÃvel escrever o ficheiro." +msgstr "ImpossÃvel escrever o Ficheiro." #: editor/export_template_manager.cpp msgid "Download Complete." @@ -2480,16 +2540,15 @@ msgstr "Download Completo." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Erro ao solicitar url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "" +msgstr "A ligar ao servidor..." #: editor/export_template_manager.cpp -#, fuzzy msgid "Disconnected" -msgstr "Discreto" +msgstr "Desconectado" #: editor/export_template_manager.cpp msgid "Resolving" @@ -2497,7 +2556,7 @@ msgstr "A resolver" #: editor/export_template_manager.cpp msgid "Can't Resolve" -msgstr "Não foi possÃvel resolver" +msgstr "ImpossÃvel resolver" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp @@ -2505,8 +2564,9 @@ msgid "Connecting.." msgstr "A ligar.." #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "Nºao foi possÃvel conectar" +#, fuzzy +msgid "Can't Connect" +msgstr "ImpossÃvel conectar" #: editor/export_template_manager.cpp msgid "Connected" @@ -2515,11 +2575,11 @@ msgstr "Ligado" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting.." -msgstr "" +msgstr "A solicitar..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "A transferir" #: editor/export_template_manager.cpp msgid "Connection Error" @@ -2527,11 +2587,11 @@ msgstr "Erro de Ligação" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "Erro SSL Handshake" #: editor/export_template_manager.cpp msgid "Current Version:" -msgstr "Versão Actual:" +msgstr "Versão Atual:" #: editor/export_template_manager.cpp msgid "Installed Versions:" @@ -2542,34 +2602,34 @@ msgid "Install From File" msgstr "Instalar do Ficheiro" #: editor/export_template_manager.cpp -#, fuzzy msgid "Remove Template" -msgstr "Remover Variável" +msgstr "Remover Modelo" #: editor/export_template_manager.cpp msgid "Select template file" -msgstr "Seleccionar ficheiro de modelo" +msgstr "Selecionar Ficheiro de Modelo" #: editor/export_template_manager.cpp msgid "Export Template Manager" msgstr "Exportar Gestor de Modelos" #: editor/export_template_manager.cpp -#, fuzzy msgid "Download Templates" -msgstr "Remover Variável" +msgstr "Transferir Modelos" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Selecionar servidor da lista: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"file_type_cache.cch não for guardada, por não se conseguir abrir para " +"leitura!" #: editor/filesystem_dock.cpp msgid "Cannot navigate to '%s' as it has not been found in the file system!" -msgstr "" +msgstr "'%s' não foi encontrado no Sistema de Ficheiros!" #: editor/filesystem_dock.cpp msgid "View items as a grid of thumbnails" @@ -2585,7 +2645,7 @@ msgid "" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" "\n" -"Estado: A importação do ficheiro falhou. Corrija o ficheiro e importe " +"Estado: A importação do Ficheiro falhou. Corrija o Ficheiro e importe " "manualmente." #: editor/filesystem_dock.cpp @@ -2601,8 +2661,13 @@ msgid "Error moving:\n" msgstr "Erro ao mover:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Erro ao carregar:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "Não foi possÃvel actualizar as dependências:\n" +msgstr "Não foi possÃvel atualizar as dependências:\n" #: editor/filesystem_dock.cpp msgid "No name provided" @@ -2610,7 +2675,7 @@ msgstr "Nenhum nome foi fornecido" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "O nome contém caracteres inválidos" +msgstr "O nome contém carateres inválidos" #: editor/filesystem_dock.cpp msgid "No name provided." @@ -2618,20 +2683,29 @@ msgstr "Nome não fornecido." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "O nome contém caracteres inválidos." +msgstr "O nome contém carateres inválidos." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "Um ficheiro ou directoria já existe com este nome." +msgstr "Um Ficheiro ou diretoria já existe com este nome." #: editor/filesystem_dock.cpp -#, fuzzy msgid "Renaming file:" -msgstr "Alterar nome da Variável" +msgstr "Mudar nome do Ficheiro:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "Renomear directoria:" +msgstr "Renomear diretoria:" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Duplicado" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Renomear diretoria:" #: editor/filesystem_dock.cpp msgid "Expand all" @@ -2642,10 +2716,6 @@ msgid "Collapse all" msgstr "Colapsar tudo" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Copiar Caminho" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Renomear.." @@ -2654,12 +2724,9 @@ msgid "Move To.." msgstr "Mover para.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Nova Directoria.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Mostrar no Gestor de Ficheiros" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Abrir Cena" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2671,36 +2738,40 @@ msgstr "Editar Dependências.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "Ver proprietários..." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicado" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "Directoria anterior" +msgstr "Diretoria anterior" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "Directoria seguinte" +msgstr "Diretoria seguinte" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Carregar novamente o Sistema de Ficheiros" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Alternar a pasta de situação como Favorita" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" -"Instancie a(s) cena(s) seleccionada(s) como filha(s) do nó seleccionado." +msgstr "Instancie a(s) Cena(s) selecionada(s) como filha(s) do Nó selecionado." #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" -"Analisando Ficheiros,\n" -"Espere, por favor.." +"A analisar Ficheiros,\n" +"Espere, por favor..." #: editor/filesystem_dock.cpp msgid "Move" @@ -2721,35 +2792,35 @@ msgstr "Remover do Grupo" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "Importar como Cena Única" +msgstr "Importar como Cena única" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "Importar com Animações Separadas" +msgstr "Importar com Animações separadas" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "Importar com Materiais Separados" +msgstr "Importar com Materiais separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "Importar com Objectos Separados" +msgstr "Importar com Objetos separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "Importar com Objectos e Materiais Separados" +msgstr "Importar com Objetos e Materiais separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "Importar com Objectos e Animações Separados" +msgstr "Importar com Objetos e Animações separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "Importar com Materiais e Animações Separados" +msgstr "Importar com Materiais e Animações separados" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "Importar com Objectos, Materiais e Animações Separados" +msgstr "Importar com Objetos, Materiais e Animações separados" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" @@ -2769,20 +2840,30 @@ msgid "Importing Scene.." msgstr "A importar Cena.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "A gerar AABB" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "A gerar AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "A executar Script Customizado.." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Não se conseguiu carregar o Script de pós-importação:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Script inválido/danificado para pós-importação (verificar consola):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Erro na execução do Script de pós-importação:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." @@ -2790,11 +2871,11 @@ msgstr "A guardar.." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "Definir por defeito para '%s'" +msgstr "Definir como padrão para '%s'" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "Limpar por defeito para '%s'" +msgstr "Limpar padrão para '%s'" #: editor/import_dock.cpp msgid " Files" @@ -2814,7 +2895,7 @@ msgstr "Reimportar" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "Conjunto MultiNode" #: editor/node_dock.cpp msgid "Groups" @@ -2822,7 +2903,7 @@ msgstr "Grupos" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Selecionar um Nó para editar sinais e grupos." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -2851,7 +2932,7 @@ msgstr "Remover PolÃgono e Ponto" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "Criar um novo polÃgono de raÃz" +msgstr "Criar um novo PolÃgono de raÃz" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2860,15 +2941,18 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Editar PolÃgono existente:\n" +"LMB: Mover Ponto.\n" +"Ctrl+LMB: Separar segmento.\n" +"RMB: Apagar Ponto." #: editor/plugins/abstract_polygon_2d_editor.cpp -#, fuzzy msgid "Delete points" -msgstr "Apagar Seleccionados" +msgstr "Apagar Pontos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Alternar reprodução automática" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" @@ -2893,11 +2977,11 @@ msgstr "Remover Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "ERRO: Nome de animação inválido!" +msgstr "ERRO: Nome de Animação inválido!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "ERRO: O nome da animação já existe!" +msgstr "ERRO: O nome da Animação já existe!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -2911,11 +2995,11 @@ msgstr "Adicionar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Misturar seguinte alterado" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Mudar tempo de mistura" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" @@ -2927,11 +3011,11 @@ msgstr "Duplicar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "ERRO: Sem animação para copiar!" +msgstr "ERRO: Sem Animação para copiar!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "ERRO: nenhuma Animação na Ãrea de Transferência!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -2943,553 +3027,574 @@ msgstr "Colar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "ERRO: Sem animação para editar!" +msgstr "ERRO: Sem Animação para editar!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" msgstr "" +"Reproduzir a Animação selecionada para trás a partir da presente posição. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Reproduzir a Animação selecionada para trás a partir do fim. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Parar reprodução da Animação. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Reproduzir a Animação selecionada a partir do inÃcio. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Reproduzir a Animação selecionada a partir da presente posição. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "Posição da Animação (em segundos)." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Escalar globalmente a reprodução da Animação para o Nó." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Criar uma nova Animação no reprodutor." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "" +msgstr "Abrir Animação do disco." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Abrir uma Animação do disco." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Guardar a Animação atual" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Mostrar lista de Animações no reprodutor." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "Reprodução automática no carregamento" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" -msgstr "" +msgstr "Editar tempos de mistura do alvo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "Ferramentas de Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Copiar Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Ativar Onion Skinning" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Descrição" +msgstr "Direções" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "Passado" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Futuro" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Profundidade" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 passo" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 passos" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Apenas diferenças" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Forçar modulação branca" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Incluir ferramentas (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Criar nova Animação" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Nome da Animação:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "Erro!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Tempos de mistura:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Próximo (auto-fila):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" -msgstr "" +msgstr "Tempos de mistura de Animação cruzada" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animação" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Novo nome:" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "Edit Filters" -msgstr "Editar Variável:" +msgstr "Editar filtros" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "Escala:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" -msgstr "" +msgstr "Aparecer (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "" +msgstr "Desvanecer (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "Misturar" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Combinar" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "ReinÃcio automático:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "ReinÃcio (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "ReinÃcio aleatório (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Partida!" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "Valor:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Mistura:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Mistura 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "Mistura 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "Tempo X-Fade (s):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Atual:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Adicionar entrada" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" -msgstr "" +msgstr "Limpar avanço automático" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Set Auto-Advance" -msgstr "" +msgstr "Definir avanço automático" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Apagar entrada" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Ãrvore de Animação válida." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Ãrvore de Animação inválida." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Nó Animation" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" -msgstr "" +msgstr "Nó OneShot" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Nó Mix" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" -msgstr "" +msgstr "Nó Blend2" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend3 Node" -msgstr "" +msgstr "Nó Blend3" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend4 Node" -msgstr "" +msgstr "Nó Blend4" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeScale Node" -msgstr "" +msgstr "Nó TimeScale" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "TimeSeek Node" -msgstr "" +msgstr "Nó TimeSeek" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Transition Node" -msgstr "" +msgstr "Nó Transition" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Importar Animações..." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Editar filtros de Nó" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Filtros..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Livre" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "" +msgstr "Conteúdos:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "Ver Ficheiros" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "ImpossÃvel resolver hostname:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Erro de ligação, tente novamente." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "ImpossÃvel ligar ao host:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Sem resposta do host:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Falha na solicitação, código de retorno:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Falha na solicitação, demasiados redirecionamentos" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "Mau hash na transferência, assume-se que o Ficheiro foi manipulado." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "Esperado:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Obtido:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "Verificação hash sha256 falhada" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Erro na transferência de Ativo:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" -msgstr "" +msgstr "Em busca:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "A resolver..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "" +msgstr "Erro na criação da solicitação" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "Inativo" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Repetir" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Erro na transferência" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "A transferência deste Ativo já está em andamento!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "primeiro" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "anterior" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" -msgstr "" +msgstr "seguinte" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "último" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Todos" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Plugins" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Ordenar:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Inverter" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "Categoria:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Site:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support.." -msgstr "" +msgstr "Suporte..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Oficial" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" -msgstr "" +msgstr "A testar" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "Ficheiro de Ativos ZIP" + +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Mudar raio da luz" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" -msgstr "" +msgstr "Previsualização" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "Configurar Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Compensação da grelha:" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Passo da grelha:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Compensação da rotação:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Passo da rotação:" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" -msgstr "" +msgstr "Mover Eixo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "Mover ação" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "Mover guia vertical" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "Criar nova guia vertical" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove vertical guide" -msgstr "Remover Variável" +msgstr "Remover guia vertical" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "Mover guia horizontal" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "Criar nova guia horizontal" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Remove horizontal guide" -msgstr "Remover Variável" +msgstr "Remover guia horizontal" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Criar guias horizontal e vertical" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Editar corrente IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" -msgstr "" +msgstr "Editar CanvasItem" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchors only" -msgstr "" +msgstr "Só âncoras" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors and Margins" -msgstr "" +msgstr "Mudar âncoras e margens" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Mudar âncoras" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Colar Pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Modo seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" -msgstr "" +msgstr "Arrastar: Rotação" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+Arrastar: Mover" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" +"Tecla 'v' para mudar Eixo, 'Shift+v' para arrastar Eixo (durante movimento)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+RMB: seleção da lista de profundidade" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Modo mover" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Modo rodar" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3497,892 +3602,900 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Mostra lista de todos os Objetos na posição clicada\n" +"(o mesmo que Alt+RMB no modo seleção)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Clique para mudar o Eixo de rotação do Objeto." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Modo deslocamento" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Toggles snapping" -msgstr "Accionar Breakpoint" +msgstr "Alternar Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Usar Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "" +msgstr "Opções de Ajuste" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Ajustar à grelha" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Usar Ajuste na rotação" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "Configurar Ajuste..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Ajuste relativo" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Usar Ajuste de pixel" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Smart snapping" -msgstr "" +msgstr "Ajuste inteligente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to parent" -msgstr "" +msgstr "Ajustar ao parente" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node anchor" -msgstr "" +msgstr "Ajustar ao Nó âncora" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "" +msgstr "Ajustar aos lados do Nó" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" -msgstr "" +msgstr "Ajustar a outros Nós" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to guides" -msgstr "" +msgstr "Ajustar à s guias" #: 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 "Bloquear a posição do Objeto selecionado (não pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "Desbloquear o Objeto selecionado (pode ser movido)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Assegura que os Objetos-filho não são selecionáveis." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "Restaura a capacidade de selecionar os Objetos-filho." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Criar ossos" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "Apagar ossos" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Mostrar ossos" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Criar corrente IK" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "Apagar corrente IK" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Ver" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Mostrar grelha" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" -msgstr "" +msgstr "Mostrar ajudantes" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show rulers" -msgstr "" +msgstr "Mostrar réguas" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show guides" -msgstr "" +msgstr "Mostrar guias" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "" +msgstr "Centrar seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "" +msgstr "Emoldurar seleção" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "Esquema" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys" -msgstr "" +msgstr "Inserir chaves" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Inserir chave" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Inserir chave (faixas existentes)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "Copiar pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "Limpar pose" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" -msgstr "" +msgstr "Arrastar Eixo da posição do rato" #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Set pivot at mouse position" -msgstr "Remover Sinal" +msgstr "Definir Eixo na posição do rato" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Multiplicar passo da grelha por 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Dividir passo da grelha por 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "Adicionar %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "A adicionar %s..." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "Criar Nó" #: 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 -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" +msgstr "Erro a instanciar Cena de %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Esta operação requer um único Nó selecionado." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "Mudar tipo padrão" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" "Drag & drop + Shift : Add node as sibling\n" "Drag & drop + Alt : Change node type" msgstr "" +"Arrastar & largar + Shift : Adiciona Nó como irmão\n" +"Arrastar & largar + Alt : Altera o tipo de Nó" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Criar Poly3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" -msgstr "" +msgstr "Definir handle" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Remover item %d?" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Adicionar item" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Remover item selecionado" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Importar da Cena" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Atualizar da Cena" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" -msgstr "" +msgstr "Flat0" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat1" -msgstr "" +msgstr "Flat1" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease in" -msgstr "" +msgstr "Ease in" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Ease out" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" -msgstr "" +msgstr "Smoothstep" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "Modificar Ponto da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" -msgstr "" +msgstr "Modificar tangente da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Load Curve Preset" -msgstr "" +msgstr "Carregar curva predefinida" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Add point" -msgstr "Adicionar Sinal" +msgstr "Adicionar Ponto" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove point" -msgstr "Remover Sinal" +msgstr "Remover Ponto" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" -msgstr "" +msgstr "Linear esquerda" #: editor/plugins/curve_editor_plugin.cpp msgid "Right linear" -msgstr "" +msgstr "Linear direita" #: editor/plugins/curve_editor_plugin.cpp msgid "Load preset" -msgstr "" +msgstr "Carregar predefinição" #: editor/plugins/curve_editor_plugin.cpp -#, fuzzy msgid "Remove Curve Point" -msgstr "Remover Sinal" +msgstr "Remover Ponto da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" -msgstr "" +msgstr "Alternar tangente linear da curva" #: editor/plugins/curve_editor_plugin.cpp msgid "Hold Shift to edit tangents individually" -msgstr "" +msgstr "Pressione Shift para editar tangentes individualmente" #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "" +msgstr "Cozinhar a sonda GI" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Adicionar/remover Ponto da rampa de cores" #: editor/plugins/gradient_editor_plugin.cpp #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Modificar rampa de cores" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Item %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Itens" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Editor da lista de itens" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "" "No OccluderPolygon2D resource on this node.\n" "Create and assign one?" msgstr "" +"Não há recurso OccluderPolygon2D neste Nó.\n" +"Criar um e associar?" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "Criar PolÃgono oclusor" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Criar um novo PolÃgono a partir do zero." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Editar PolÃgono existente:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "LMB: Mover Ponto." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Ctrl+LMB: Separar segmento." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "RMB: Apagar Ponto." #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "" +msgstr "A Mesh está vazia!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" -msgstr "" +msgstr "Criar corpo estático Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Convex Body" -msgstr "" +msgstr "Criar corpo estático convexo" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Não funciona na raiz da Cena!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" -msgstr "" +msgstr "Criar forma Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Shape" -msgstr "" +msgstr "Criar forma convexa" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" +msgstr "Criar Mesh de navegação" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "MeshInstance lacks a Mesh!" +msgid "UV Unwrap failed, mesh may not be manifold?" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Mesh has not surface to create outlines from!" +msgid "No mesh to debug." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp -msgid "Could not create outline!" +msgid "Model has no UV in this layer" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "Falta uma Mesh a MeshInstance!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh has not surface to create outlines from!" +msgstr "A Mesh não tem superfÃcie para criar contornos!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "Contorno não pode ser criado!" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "Criar contorno" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Mesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" -msgstr "" +msgstr "Criar corpo estático Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Static Body" -msgstr "" +msgstr "Criar corpo estático convexo" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" -msgstr "" +msgstr "Criar irmão de colisão Trimesh" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Collision Sibling" -msgstr "" +msgstr "Criar irmão de colisão convexa" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh.." +msgstr "Criar Mesh contorno..." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Ver" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Ver" + +#: 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 "" +msgstr "Criar Mesh contorno" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "" +msgstr "Tamanho do contorno:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." -msgstr "" +msgstr "Não há fonte de Mesh (nem MultiMesh no Nó)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and MultiMesh contains no Mesh)." -msgstr "" +msgstr "Não há fonte de Mesh (e MultiMesh não contêm Mesh)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "" +msgstr "A fonte de Mesh é inválida (Caminho inválido)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." -msgstr "" +msgstr "A fonte de Mesh é inválida (não é MeshInstance)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (contains no Mesh resource)." -msgstr "" +msgstr "A fonte de Mesh é inválida (não contêm um recurso Mesh)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "No surface source specified." -msgstr "" +msgstr "Fonte de superfÃcie não especificada." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "" +msgstr "A fonte de superfÃcie é inválida (Caminho inválido)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." -msgstr "" +msgstr "A fonte de superfÃcie é inválida (sem geometria)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no faces)." -msgstr "" +msgstr "A fonte de superfÃcie é inválida (sem faces)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Parent has no solid faces to populate." -msgstr "" +msgstr "O parente não tem faces sólidas para povoar." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Couldn't map area." -msgstr "" +msgstr "Ãrea não pode ser mapeada." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "" +msgstr "Selecione uma fonte Mesh:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "" +msgstr "Selecione uma superfÃcie alvo:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" -msgstr "" +msgstr "Povoar superfÃcie" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate MultiMesh" -msgstr "" +msgstr "Povoar MultiMesh" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Target Surface:" -msgstr "" +msgstr "SuperfÃcie alvo:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Source Mesh:" -msgstr "" +msgstr "Mesh fonte:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" -msgstr "" +msgstr "Eixo X" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Y-Axis" -msgstr "" +msgstr "Eixo Y" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "" +msgstr "Eixo Z" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" -msgstr "" +msgstr "Mesh Eixo cima:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Rotação aleatória:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Inclinação aleatória:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Escala aleatória:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" -msgstr "" +msgstr "Povoar" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Bake!" -msgstr "" +msgstr "Cozinhar!" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Bake the navigation mesh.\n" -msgstr "" +msgstr "Cozinhar a Mesh de navegação.\n" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." -msgstr "" +msgstr "Limpar a Mesh de navegação." #: editor/plugins/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "A ajustar configuração..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "A calcular tamanho da grelha..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating heightfield..." -msgstr "" +msgstr "A criar heightfield..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." -msgstr "" +msgstr "A marcar triângulos caminháveis..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." -msgstr "" +msgstr "A construir heightfield compacto..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Eroding walkable area..." -msgstr "" +msgstr "A corroer a Ãrea caminhável..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Partitioning..." -msgstr "" +msgstr "A segmentar..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "A criar contornos..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." -msgstr "" +msgstr "A criar polymesh..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Converting to native navigation mesh..." -msgstr "" +msgstr "A converter para Mesh de navegação nativa..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "Configuração do gerador da Mesh de navegação:" #: editor/plugins/navigation_mesh_generator.cpp msgid "Parsing Geometry..." -msgstr "" +msgstr "A analisar geometria..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Feito!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" +msgstr "Criar PolÃgono de navegação" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" -msgstr "" +msgstr "A gerar AABB" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" -msgstr "" +msgstr "Só pode definir um Ponto num Material ParticlesMaterial" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "" +msgstr "Erro ao carregar imagem:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "" +msgstr "Sem pixeis com transparência > 128 na imagem..." #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" -msgstr "" +msgstr "Gerar Visibilidade do Rect" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Load Emission Mask" -msgstr "" +msgstr "Carregar máscara de emissão" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Limpar máscara de emissão" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "" +msgstr "PartÃculas" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "Contagem de Pontos gerados:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "" +msgstr "Tempo de geração (s):" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" -msgstr "" +msgstr "Máscara de emissão" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Capture from Pixel" -msgstr "" +msgstr "Capturar a partir do pixel" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" -msgstr "" +msgstr "Cores de emissão" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." -msgstr "" +msgstr "O Nó não contêm geometria." #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry (faces)." -msgstr "" +msgstr "O Nó não contêm geometria (faces)." #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "É necessário um Material processador do tipo 'ParticlesMaterial'." #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" -msgstr "" +msgstr "As faces não contêm Ãrea!" #: editor/plugins/particles_editor_plugin.cpp msgid "No faces!" -msgstr "" +msgstr "Sem faces!" #: editor/plugins/particles_editor_plugin.cpp msgid "Generate AABB" -msgstr "" +msgstr "Gerar AABB" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Mesh" -msgstr "" +msgstr "Criar Pontos de emissão a partir da Mesh" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emission Points From Node" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" +msgstr "Criar Pontos de emissão a partir do Nó" #: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "" +msgstr "Criar emissor" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Points:" -msgstr "" +msgstr "Pontos de emissão:" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "Pontos de superfÃcie" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "Pontos de superfÃcie+Normal (dirigida)" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Volume" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " -msgstr "" +msgstr "Fonte de emissão: " #: editor/plugins/particles_editor_plugin.cpp msgid "Generate Visibility AABB" -msgstr "" +msgstr "Gerar visibilidade AABB" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "" +msgstr "Remover Ponto da curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "" +msgstr "Remover Out-Control da curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "" +msgstr "Remover In-Control da curva" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Adicionar Ponto à curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "Mover Ponto na curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "" +msgstr "Mover In-Control na curva" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "" +msgstr "Mover Out-Control na curva" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Selecionar Pontos" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+Arrastar: Selecionar Pontos de controlo" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Click: Adicionar Ponto" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Click direito: Apagar Ponto" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Selecionar Pontos de controlo (Shift+Arrastar)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Adicionar Ponto (num espaço vazio)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Separar segmento (na curva)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Apagar Ponto" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Fechar curva" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Ponto #" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Point Position" -msgstr "Remover Sinal" +msgstr "Definir posição do Ponto da curva" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve In Position" -msgstr "Remover Sinal" +msgstr "Definir curva na posição" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Set Curve Out Position" -msgstr "Remover Sinal" +msgstr "Definir posição Curve Out" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" -msgstr "" +msgstr "Separar Caminho" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Path Point" -msgstr "" +msgstr "Remover Ponto de Caminho" #: editor/plugins/path_editor_plugin.cpp -#, fuzzy msgid "Remove Out-Control Point" -msgstr "Remover Função" +msgstr "Remover Ponto Out-Control" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" -msgstr "" +msgstr "Remover Ponto In-Control" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" -msgstr "" +msgstr "Criar mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Transform UV Map" -msgstr "" +msgstr "Transformar mapa UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "" +msgstr "Editor UV de PolÃgono 2D" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "Mover Ponto" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl: Rodar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: Mover tudo" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" -msgstr "" +msgstr "Shift+Ctrl: Escalar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "Mover PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Rodar PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "Escalar PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4394,746 +4507,758 @@ msgstr "Editar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" -msgstr "" +msgstr "PolÃgono->UV" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "UV->Polygon" -msgstr "" +msgstr "UV->PolÃgono" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Clear UV" -msgstr "" +msgstr "Limpar UV" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap" -msgstr "" +msgstr "Ajustar" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Enable Snap" -msgstr "" +msgstr "Ativar Ajuste" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Grid" -msgstr "" +msgstr "Grelha" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "ERRO: Não foi possÃvel carregar recurso!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "Adicionar recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Renomear recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "Apagar recurso" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "" +msgstr "Ãrea de transferência de recursos vazia!" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Load Resource" -msgstr "" +msgstr "Carregar recurso" #: editor/plugins/resource_preloader_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 "Paste" -msgstr "" +msgstr "Colar" #: editor/plugins/script_editor_plugin.cpp msgid "Clear Recent Files" -msgstr "" +msgstr "Limpar Ficheiros recentes" #: editor/plugins/script_editor_plugin.cpp msgid "" "Close and save changes?\n" "\"" msgstr "" +"Fechar e guardar alterações?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Erro ao guardar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "Erro ao guardar" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" -msgstr "" +msgstr "Erro ao importar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing" -msgstr "" +msgstr "Erro ao importar" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" -msgstr "" +msgstr "Importar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As.." -msgstr "" +msgstr "Guardar tema como..." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr "" +msgstr " Referência de classe" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" -msgstr "" +msgstr "Ordenar" #: 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 "" +msgstr "Mover para cima" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Move Down" -msgstr "" +msgstr "Mover para baixo" #: editor/plugins/script_editor_plugin.cpp msgid "Next script" -msgstr "" +msgstr "Próximo Script" #: editor/plugins/script_editor_plugin.cpp msgid "Previous script" -msgstr "" +msgstr "Script anterior" #: editor/plugins/script_editor_plugin.cpp msgid "File" -msgstr "" +msgstr "Ficheiro" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" -msgstr "" +msgstr "Novo" #: editor/plugins/script_editor_plugin.cpp msgid "Save All" -msgstr "" +msgstr "Guardar tudo" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "Script de Recarregamento" + +#: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Copiar Caminho" #: editor/plugins/script_editor_plugin.cpp msgid "History Prev" -msgstr "" +msgstr "Histórico anterior" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "Histórico seguinte" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" -msgstr "" +msgstr "Recarregar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme" -msgstr "" +msgstr "Guardar tema" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As" -msgstr "" +msgstr "Guardar tema como" #: editor/plugins/script_editor_plugin.cpp msgid "Close Docs" -msgstr "" +msgstr "Fechar documentos" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Close All" -msgstr "Fechar" +msgstr "Fechar tudo" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "Fechar outros separadores" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" -msgstr "" +msgstr "Executar" #: editor/plugins/script_editor_plugin.cpp msgid "Toggle Scripts Panel" -msgstr "" +msgstr "Alternar painel de Scripts" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find.." -msgstr "" +msgstr "Encontrar..." #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp msgid "Find Next" -msgstr "" +msgstr "Encontrar seguinte" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Over" -msgstr "" +msgstr "Passar sobre" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Step Into" -msgstr "" +msgstr "Passar dentro" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Break" -msgstr "" +msgstr "Interrupção" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp #: editor/script_editor_debugger.cpp msgid "Continue" -msgstr "" +msgstr "Continuar" #: editor/plugins/script_editor_plugin.cpp msgid "Keep Debugger Open" -msgstr "" +msgstr "Manter depurador aberto" #: editor/plugins/script_editor_plugin.cpp msgid "Debug with external editor" -msgstr "" +msgstr "Depurar com Editor externo" #: editor/plugins/script_editor_plugin.cpp msgid "Open Godot online documentation" -msgstr "" +msgstr "Abrir documentação online do Godot" #: editor/plugins/script_editor_plugin.cpp msgid "Search the class hierarchy." -msgstr "" +msgstr "Procurar na hierarquia de classe." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "Procurar na documentação de referência." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "" +msgstr "Ir para o documento previamente editado." #: editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "" +msgstr "Ir para o próximo documento editado." #: editor/plugins/script_editor_plugin.cpp msgid "Discard" -msgstr "" +msgstr "Descartar" #: editor/plugins/script_editor_plugin.cpp msgid "Create Script" -msgstr "" +msgstr "Criar Script" #: editor/plugins/script_editor_plugin.cpp msgid "" "The following files are newer on disk.\n" "What action should be taken?:" msgstr "" +"Os seguintes Ficheiros são mais recentes no disco.\n" +"Que ação deve ser tomada?:" #: editor/plugins/script_editor_plugin.cpp msgid "Reload" -msgstr "" +msgstr "Recarregar" #: editor/plugins/script_editor_plugin.cpp msgid "Resave" -msgstr "" +msgstr "Reguardar" #: editor/plugins/script_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Debugger" -msgstr "" +msgstr "Depurador" #: editor/plugins/script_editor_plugin.cpp msgid "" "Built-in scripts can only be edited when the scene they belong to is loaded" msgstr "" +"Scripts incorporados só podem ser editados quando a Cena a que pertencem é " +"carregada" #: editor/plugins/script_text_editor.cpp msgid "Only resources from filesystem can be dropped." -msgstr "" +msgstr "Só podem ser largados recursos do Sistema de Ficheiros ." #: editor/plugins/script_text_editor.cpp msgid "Pick Color" -msgstr "" +msgstr "Escolher cor" #: editor/plugins/script_text_editor.cpp msgid "Convert Case" -msgstr "" +msgstr "Converter maiúsculas/minúsculas" #: editor/plugins/script_text_editor.cpp msgid "Uppercase" -msgstr "" +msgstr "Maiúsculas" #: editor/plugins/script_text_editor.cpp msgid "Lowercase" -msgstr "" +msgstr "Minúsculas" #: editor/plugins/script_text_editor.cpp msgid "Capitalize" -msgstr "" +msgstr "Capitalizar" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "Cortar" #: 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 "" +msgstr "Copiar" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Select All" -msgstr "" +msgstr "Selecionar tudo" #: editor/plugins/script_text_editor.cpp -#, fuzzy msgid "Delete Line" -msgstr "Apagar Seleccionados" +msgstr "Apagar linha" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "" +msgstr "Indentar à esquerda" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "" +msgstr "Indentar à direita" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" -msgstr "" +msgstr "Alternar comentário" #: editor/plugins/script_text_editor.cpp msgid "Clone Down" -msgstr "" +msgstr "Clonar abaixo" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "Apagar Seleccionados" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +msgid "Fold/Unfold Line" +msgstr "Mostrar linha" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Esconder todas as linhas" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "Mostrar todas as linhas" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "Completar sÃmbolo" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "" +msgstr "Apagar espaços nos limites" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Spaces" -msgstr "" +msgstr "Converter Indentação em espaços" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Tabs" -msgstr "" +msgstr "Converter Indentação em tabulação" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" -msgstr "" +msgstr "Indentação automática" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "Accionar Breakpoint" +msgstr "Acionar Breakpoint" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "" +msgstr "Remover todos os Pontos de paragem" #: editor/plugins/script_text_editor.cpp msgid "Goto Next Breakpoint" -msgstr "" +msgstr "Ir para próximo Ponto de paragem" #: editor/plugins/script_text_editor.cpp msgid "Goto Previous Breakpoint" -msgstr "" +msgstr "Ir para Ponto de paragem anterior" #: editor/plugins/script_text_editor.cpp msgid "Convert To Uppercase" -msgstr "" +msgstr "Converter em maiúsculas" #: editor/plugins/script_text_editor.cpp msgid "Convert To Lowercase" -msgstr "" +msgstr "Converter em minúsculas" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" -msgstr "" +msgstr "Encontrar anterior" #: editor/plugins/script_text_editor.cpp msgid "Replace.." -msgstr "" +msgstr "Substituir..." #: editor/plugins/script_text_editor.cpp msgid "Goto Function.." -msgstr "" +msgstr "Ir para Função..." #: editor/plugins/script_text_editor.cpp msgid "Goto Line.." -msgstr "" +msgstr "Ir para linha..." #: editor/plugins/script_text_editor.cpp msgid "Contextual Help" -msgstr "" +msgstr "Ajuda contextual" #: editor/plugins/shader_editor_plugin.cpp msgid "Shader" -msgstr "" +msgstr "Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Constant" -msgstr "" +msgstr "Mudar constante escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Constant" -msgstr "" +msgstr "Mudar constante vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Constant" -msgstr "" +msgstr "Mudar constante RGB" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Operator" -msgstr "" +msgstr "Mudar operador escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Operator" -msgstr "" +msgstr "Mudar operador vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Scalar Operator" -msgstr "" +msgstr "Mudar operador escalar/vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Operator" -msgstr "" +msgstr "Mudar operador RGB" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Toggle Rot Only" -msgstr "" +msgstr "Alternar só rotação" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Function" -msgstr "" +msgstr "Mudar Função escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Function" -msgstr "" +msgstr "Mudar Função vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Uniform" -msgstr "" +msgstr "Mudar uniforme escalar" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Uniform" -msgstr "" +msgstr "Mudar uniforme vetorial" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Uniform" -msgstr "" +msgstr "Mudar uniforme RGB" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" -msgstr "" +msgstr "Mudar valor padrão" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" -msgstr "" +msgstr "Mudar uniforme XForm" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Texture Uniform" -msgstr "" +msgstr "Mudar uniforme textura" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Cubemap Uniform" -msgstr "" +msgstr "Mudar uniforme Cubemap" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Comment" -msgstr "" +msgstr "Mudar comentário" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Color Ramp" -msgstr "" +msgstr "Adicionar/remover da rampa de cores" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Curve Map" -msgstr "" +msgstr "Adicionar/remover do mapa de curva" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Curve Map" -msgstr "" +msgstr "Modificar mapa de curva" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Input Name" -msgstr "" +msgstr "Mudar nome de entrada" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Connect Graph Nodes" -msgstr "" +msgstr "Conectar Nós do gráfico" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Disconnect Graph Nodes" -msgstr "" +msgstr "Desconectar Nós do gráfico" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Remove Shader Graph Node" -msgstr "" +msgstr "Remover Nó Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Move Shader Graph Node" -msgstr "" +msgstr "Mover Nó Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Duplicate Graph Node(s)" -msgstr "" +msgstr "Duplicar Nó(s)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Delete Shader Graph Node(s)" -msgstr "" +msgstr "Apagar Nó(s) Shader" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Cyclic Connection Link" -msgstr "" +msgstr "Erro: conexão cÃclica" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Missing Input Connections" -msgstr "" +msgstr "Erro: Faltam conexões de entrada" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add Shader Graph Node" -msgstr "" +msgstr "Adicionar Nó Shader" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" -msgstr "" +msgstr "Ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective" -msgstr "" +msgstr "Perspetiva" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." -msgstr "" +msgstr "Transformação abortada." #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "" +msgstr "Transformação no Eixo X." #: editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "" +msgstr "Transformação no Eixo Y." #: editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "" +msgstr "Transformação no Eixo Z." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "" +msgstr "Ver transformação do plano." #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " -msgstr "" +msgstr "A escalar: " #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Translating: " -msgstr "Transições" +msgstr "A traduzir: " #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotating %s degrees." -msgstr "" +msgstr "A rodar %s graus." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "" +msgstr "Vista de fundo." #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" -msgstr "" +msgstr "Fundo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View." -msgstr "" +msgstr "Vista de topo." #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View." -msgstr "" +msgstr "Vista de trás." #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear" -msgstr "" +msgstr "Trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View." -msgstr "" +msgstr "Vista de frente." #: editor/plugins/spatial_editor_plugin.cpp msgid "Front" -msgstr "" +msgstr "Frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View." -msgstr "" +msgstr "Vista de esquerda." #: editor/plugins/spatial_editor_plugin.cpp msgid "Left" -msgstr "" +msgstr "Esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View." -msgstr "" +msgstr "Vista de direita." #: editor/plugins/spatial_editor_plugin.cpp msgid "Right" -msgstr "" +msgstr "Direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "" +msgstr "Edição desativada (nenhum Ponto inserido)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "" +msgstr "Ponto de Animação inserido." #: editor/plugins/spatial_editor_plugin.cpp msgid "Objects Drawn" -msgstr "" +msgstr "Objetos desenhados" #: editor/plugins/spatial_editor_plugin.cpp msgid "Material Changes" -msgstr "" +msgstr "Mudanças de Material" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Shader Changes" -msgstr "Alterar" +msgstr "Alterações do Shader" #: editor/plugins/spatial_editor_plugin.cpp msgid "Surface Changes" -msgstr "" +msgstr "Mudanças de superfÃcie" #: editor/plugins/spatial_editor_plugin.cpp msgid "Draw Calls" -msgstr "" +msgstr "Chamadas de desenho" #: editor/plugins/spatial_editor_plugin.cpp msgid "Vertices" -msgstr "" +msgstr "Vértices" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "" +msgstr "FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" -msgstr "" +msgstr "Alinhar com a vista" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "Sem parente para criar instância de filho." #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" -msgstr "" +msgstr "Vista normal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Wireframe" -msgstr "" +msgstr "Vista wireframe" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Overdraw" -msgstr "" +msgstr "Vista Overdraw" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Unshaded" -msgstr "" +msgstr "Vista sem sombras" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "Ver ambiente" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "" +msgstr "Ver ferramentas" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" -msgstr "" +msgstr "Ver informação" #: editor/plugins/spatial_editor_plugin.cpp msgid "View FPS" -msgstr "" +msgstr "Ver FPS" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Half Resolution" -msgstr "Escalar Selecção" +msgstr "Meia resolução" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "Audição de áudio" #: editor/plugins/spatial_editor_plugin.cpp msgid "Doppler Enable" -msgstr "" +msgstr "Efeito doppler" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "" +msgstr "Vista livre esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "" +msgstr "Vista livre direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "" +msgstr "Vista livre frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "" +msgstr "Vista livre trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "" +msgstr "Vista livre cima" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "" +msgstr "Vista livre baixo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "" +msgstr "Modificador de velocidade Freelook" #: editor/plugins/spatial_editor_plugin.cpp msgid "preview" -msgstr "" +msgstr "Pré-visualização" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "" +msgstr "Diálogo XForm" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)\n" -msgstr "" +msgstr "Modo seleção (Q)\n" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -5141,734 +5266,759 @@ msgid "" "Alt+Drag: Move\n" "Alt+RMB: Depth list selection" msgstr "" +"Arrastar: Rodar\n" +"Alt+Arrastar: Mover\n" +"Alt+RMB: Seleção lista de profundidade" #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" -msgstr "" +msgstr "Modo mover (W)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode (E)" -msgstr "" +msgstr "Modo rodar (E)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode (R)" -msgstr "" +msgstr "Modo escalar (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Coordenadas locais" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Modo escalar (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Modo Ajuste:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "" +msgstr "Vista de fundo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "" +msgstr "Vista de topo" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "" +msgstr "Vista de trás" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "" +msgstr "Vista de frente" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "" +msgstr "Vista esquerda" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "" +msgstr "Vista direita" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal view" -msgstr "" +msgstr "Alternar vista perspetiva/ortogonal" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "Inserir Ponto de Animação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "Focar na origem" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "Focar na seleção" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "Alinhar seleção com vista" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Tool Select" -msgstr "Apagar Seleccionados" +msgstr "Seleção de ferramenta" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "" +msgstr "Ferramenta Mover" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" -msgstr "" +msgstr "Ferramenta Rodar" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Scale" -msgstr "" +msgstr "Ferramenta escalar" #: editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Toggle Freelook" -msgstr "Accionar Breakpoint" +msgstr "Alternar Freelook" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform" -msgstr "" +msgstr "Transformar" #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap.." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" +msgstr "Configurar Ajuste..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." -msgstr "" +msgstr "Diálogo de transformação..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 Vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "" +msgstr "2 vistas" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 vistas (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "" +msgstr "3 vistas" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 vistas (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "" +msgstr "4 vistas" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "Ver origem" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "" +msgstr "Ver grelha" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Settings" +msgstr "Configuração" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "" +msgstr "Configuração do Ajuste" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "" +msgstr "Ajuste de translação:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "" +msgstr "Ajuste de rotação (graus):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "" +msgstr "Ajuste de escala (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "" +msgstr "Configuração de vista" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "Perspetiva FOV (graus):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "Ver Z-Near:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "Ver Z-Far:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" -msgstr "" +msgstr "Mudar Transformação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "" +msgstr "Translação:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "" +msgstr "Rotação (graus):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "" +msgstr "Escala (prop.):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" -msgstr "" +msgstr "Tipo de transformação" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "Pré" #: editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "Pós" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "" +msgstr "ERRO: Recurso de Frame não carregado!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "" +msgstr "Adicionar Frame" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "" +msgstr "Recurso da Ãrea de Transferência vazio ou não é textura!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" -msgstr "" +msgstr "Colar Frame" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "Adicionar vazio" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Mudar ciclo de Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Mudar FPS da Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" -msgstr "" +msgstr "(vazio)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animations" -msgstr "" +msgstr "Animações" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" -msgstr "" +msgstr "Velocidade (FPS):" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" -msgstr "" +msgstr "Ciclo" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animation Frames" -msgstr "" +msgstr "Frames da Animação" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" -msgstr "" +msgstr "Inserir vazio (antes)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (After)" -msgstr "" +msgstr "Inserir vazio (depois)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (Before)" -msgstr "" +msgstr "Mover (antes)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (After)" -msgstr "" +msgstr "Mover (depois)" #: editor/plugins/style_box_editor_plugin.cpp msgid "StyleBox Preview:" -msgstr "" +msgstr "Pré-visualização StyleBox:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Region Rect" -msgstr "" +msgstr "Definir região Rect" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "Modo Ajuste:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Nenhum>" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Ajuste de pixel" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "Ajuste de grelha" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "Corte automático" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "Compensação:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Passo:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" -msgstr "" +msgstr "Separação:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region" -msgstr "" +msgstr "Região de textura" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" -msgstr "" +msgstr "Editor da região de textura" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" -msgstr "" +msgstr "ImpossÃvel guardar tema para Ficheiro:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "" +msgstr "Adicionar todos os itens" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" -msgstr "" +msgstr "Adicionar tudo" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Remover item" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All Items" -msgstr "Remover Variável" +msgstr "Remover todos os itens" #: editor/plugins/theme_editor_plugin.cpp -#, fuzzy msgid "Remove All" -msgstr "Remover Sinal" +msgstr "Remover tudo" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Editar tema..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Menu edição de tema." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "Adicionar itens de classe" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "Remover itens de classe" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" -msgstr "" +msgstr "Criar Modelo vazio" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "Criar Modelo Editor vazio" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Criar a partir de tema Editor atual" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" -msgstr "" +msgstr "Caixa de seleção Radio1" #: editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio2" -msgstr "" +msgstr "Caixa de seleção Radio2" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "Item" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Verificar item" #: editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Item verificado" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "Tem" #: editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "Muitos" #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "Opções" #: editor/plugins/theme_editor_plugin.cpp msgid "Have,Many,Several,Options!" -msgstr "" +msgstr "Tem,Muitos,Vários,Opções!" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" -msgstr "" +msgstr "Aba 1" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 2" -msgstr "" +msgstr "Aba 2" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "Aba 3" #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp msgid "Type:" -msgstr "" +msgstr "Tipo:" #: editor/plugins/theme_editor_plugin.cpp msgid "Data Type:" -msgstr "" +msgstr "Tipo de dados:" #: editor/plugins/theme_editor_plugin.cpp msgid "Icon" -msgstr "" +msgstr "Ãcone" #: editor/plugins/theme_editor_plugin.cpp msgid "Style" -msgstr "" +msgstr "Estilo" #: editor/plugins/theme_editor_plugin.cpp msgid "Font" -msgstr "" +msgstr "Letra" #: editor/plugins/theme_editor_plugin.cpp msgid "Color" -msgstr "" +msgstr "Cor" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "" +msgstr "Apagar seleção" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "Pintar TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" -msgstr "" +msgstr "Desenhar linha" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Pintar retângulo" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Bucket Fill" -msgstr "" +msgstr "Preencher" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "" +msgstr "Apagar TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase selection" -msgstr "" +msgstr "Apagar seleção" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find tile" -msgstr "" +msgstr "Encontrar tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" -msgstr "" +msgstr "Transpor" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror X" -msgstr "" +msgstr "Espelho X" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror Y" -msgstr "" +msgstr "Espelho Y" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "Pintar tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "Escolher tile" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" -msgstr "" +msgstr "Rodar 0 graus" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 90 degrees" -msgstr "" +msgstr "Rodar 90 graus" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 180 degrees" -msgstr "" +msgstr "Rodar 180 graus" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 270 degrees" -msgstr "" +msgstr "Rodar 270 graus" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Could not find tile:" -msgstr "" +msgstr "Tile não encontrado:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Item name or ID:" -msgstr "" +msgstr "Nome ou ID do item:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene?" -msgstr "" +msgstr "Criar a partir da Cena?" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from scene?" -msgstr "" +msgstr "Fundir a partir da Cena?" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "" +msgstr "Criar a partir da Cena" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "" +msgstr "Fundir a partir da Cena" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" -msgstr "" +msgstr "Erro" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Cancelar" #: editor/project_export.cpp msgid "Runnable" -msgstr "" +msgstr "Executável" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "" +msgstr "Apagar correção '%s' da lista?" #: editor/project_export.cpp msgid "Delete preset '%s'?" -msgstr "" +msgstr "Apagar predefinição '%s'?" #: 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: " #: editor/project_export.cpp msgid "Presets" -msgstr "" +msgstr "Predefinições" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add.." -msgstr "" +msgstr "Adicionar..." #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "Recursos" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "Exportar todos os recursos do Projeto" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "" +msgstr "Exportar Cenas (e dependências) selecionadas" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "Exportar recursos (e dependências) selecionados" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Modo exportação:" #: editor/project_export.cpp msgid "Resources to export:" -msgstr "" +msgstr "Recursos a exportar:" #: editor/project_export.cpp msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Filtros para exportar Ficheiros não-recursos (separados por vÃrgula, ex: *." +"json, *.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Filtros para excluir Ficheiros do Projeto (separados por vÃrgula, ex: *." +"json, *.txt)" #: editor/project_export.cpp msgid "Patches" -msgstr "" +msgstr "Correções" #: editor/project_export.cpp msgid "Make Patch" -msgstr "" +msgstr "Fazer correção" #: editor/project_export.cpp msgid "Features" -msgstr "" +msgstr "CaracterÃsticas" #: editor/project_export.cpp msgid "Custom (comma-separated):" -msgstr "" +msgstr "Personalizado (separados por vÃrgula):" #: editor/project_export.cpp msgid "Feature List:" -msgstr "" +msgstr "Lista de caracterÃsticas:" #: editor/project_export.cpp msgid "Export PCK/Zip" -msgstr "" +msgstr "Exportar PCK/Zip" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Não existem Modelos de exportação para esta plataforma:" #: 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 :" #: editor/project_export.cpp msgid "Export With Debug" -msgstr "" +msgstr "Exportar com depuração" #: editor/project_manager.cpp msgid "The path does not exist." -msgstr "" +msgstr "O Caminho não existe." #: editor/project_manager.cpp msgid "Please choose a 'project.godot' file." -msgstr "" +msgstr "Escolha um Ficheiro 'project.godot'." #: editor/project_manager.cpp msgid "" "Your project will be created in a non empty folder (you might want to create " "a new folder)." msgstr "" +"O Projeto será criado numa pasta não vazia (poderá preferir criar uma nova " +"pasta)." #: editor/project_manager.cpp msgid "Please choose a folder that does not contain a 'project.godot' file." -msgstr "" +msgstr "Escolha uma pasta que não contenha um Ficheiro 'project.godot'." #: editor/project_manager.cpp msgid "Imported Project" -msgstr "" - -#: editor/project_manager.cpp -msgid " " -msgstr "" +msgstr "Projeto importado" #: editor/project_manager.cpp msgid "It would be a good idea to name your project." -msgstr "" +msgstr "Seria uma boa ideia dar um nome ao Projeto." #: editor/project_manager.cpp msgid "Invalid project path (changed anything?)." -msgstr "" +msgstr "Caminho de Projeto inválido (alguma alteração?)." #: editor/project_manager.cpp msgid "Couldn't get project.godot in project path." -msgstr "" +msgstr "ImpossÃvel encontrar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "Couldn't edit project.godot in project path." -msgstr "" +msgstr "ImpossÃvel editar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "Couldn't create project.godot in project path." -msgstr "" +msgstr "ImpossÃvel criar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "The following files failed extraction from package:" -msgstr "" +msgstr "Falhou a extração dos seguintes Ficheiros do pacote:" #: editor/project_manager.cpp -#, fuzzy msgid "Rename Project" -msgstr "Alterar nome da Função" +msgstr "Renomear Projeto" #: editor/project_manager.cpp msgid "Couldn't get project.godot in the project path." -msgstr "" +msgstr "ImpossÃvel encontrar project.godot no Caminho do Projeto." #: editor/project_manager.cpp msgid "New Game Project" -msgstr "" +msgstr "Novo Projeto de jogo" #: editor/project_manager.cpp msgid "Import Existing Project" -msgstr "" +msgstr "Importar Projeto existente" #: editor/project_manager.cpp msgid "Create New Project" -msgstr "" +msgstr "Criar novo Projeto" #: editor/project_manager.cpp msgid "Install Project:" -msgstr "" +msgstr "Instalar Projeto:" #: editor/project_manager.cpp msgid "Project Name:" -msgstr "" +msgstr "Nome do Projeto:" #: editor/project_manager.cpp msgid "Create folder" -msgstr "" +msgstr "Criar pasta" #: editor/project_manager.cpp msgid "Project Path:" -msgstr "" +msgstr "Caminho do Projeto:" #: editor/project_manager.cpp msgid "Browse" -msgstr "" +msgstr "Navegar" #: editor/project_manager.cpp msgid "That's a BINGO!" -msgstr "" +msgstr "É um BINGO!" #: editor/project_manager.cpp msgid "Unnamed Project" -msgstr "" +msgstr "Projeto sem nome" #: editor/project_manager.cpp msgid "Can't open project" -msgstr "" +msgstr "ImpossÃvel abrir Projeto" #: editor/project_manager.cpp msgid "Are you sure to open more than one project?" -msgstr "" +msgstr "Está seguro que quer abrir mais do que um Projeto?" #: editor/project_manager.cpp msgid "" @@ -5876,1086 +6026,1156 @@ msgid "" "Please edit the project and set the main scene in \"Project Settings\" under " "the \"Application\" category." msgstr "" +"ImpossÃvel executar o Projeto: Cena principal não definida.\n" +"Edite o Projeto e defina a Cena principal em \"Definições do Projeto\" " +"dentro da categoria \"Aplicação\"." #: 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 "" +"ImpossÃvel executar o Projeto: Ativos têm de ser importados.\n" +"Edite o Projeto para desencadear a importação inicial." #: editor/project_manager.cpp msgid "Are you sure to run more than one project?" -msgstr "" +msgstr "Está seguro que quer executar mais do que um Projeto?" #: editor/project_manager.cpp msgid "Remove project from the list? (Folder contents will not be modified)" -msgstr "" +msgstr "Remover Projeto da lista? (O conteúdo da pasta não será modificado)" #: editor/project_manager.cpp msgid "" "Language changed.\n" "The UI will update next time the editor or project manager starts." msgstr "" +"Linguagem alterada.\n" +"A interface será atualizada da próxima vez que o Editor ou o Gestor de " +"Projetos arrancar." #: editor/project_manager.cpp msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" msgstr "" +"Está prestes a analisar %s pastas para Projetos Godot existentes. Confirma?" #: editor/project_manager.cpp msgid "Project List" -msgstr "" +msgstr "Lista de Projetos" #: editor/project_manager.cpp msgid "Scan" -msgstr "" +msgstr "Analisar" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "" +msgstr "Selecione uma pasta para analisar" #: editor/project_manager.cpp msgid "New Project" -msgstr "" +msgstr "Novo Projeto" #: editor/project_manager.cpp -#, fuzzy msgid "Templates" -msgstr "Remover Variável" +msgstr "Modelos" #: editor/project_manager.cpp msgid "Exit" -msgstr "" +msgstr "Sair" #: editor/project_manager.cpp msgid "Restart Now" -msgstr "" +msgstr "Reiniciar agora" #: editor/project_manager.cpp msgid "Can't run project" -msgstr "" +msgstr "ImpossÃvel executar o Projeto" #: 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 "" +"Atualmente não tem quaisquer Projetos.\n" +"Gostaria de explorar os Projetos de exemplo oficiais na Biblioteca de Ativos?" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "" +msgstr "Tecla " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "" +msgstr "Botão do joystick" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "" +msgstr "Eixo do joystick" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Botão do rato" #: editor/project_settings_editor.cpp msgid "Invalid action (anything goes but '/' or ':')." -msgstr "" +msgstr "Ação inválida (tudo menos '/' ou ':')." #: editor/project_settings_editor.cpp msgid "Action '%s' already exists!" -msgstr "" +msgstr "Ação '%s' já existe!" #: editor/project_settings_editor.cpp msgid "Rename Input Action Event" -msgstr "" +msgstr "Renomear evento ação de entrada" #: editor/project_settings_editor.cpp msgid "Add Input Action Event" -msgstr "" +msgstr "Adicionar evento ação de entrada" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Shift+" -msgstr "" +msgstr "Shift+" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Alt+" -msgstr "" +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 "Pressione uma tecla..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "" +msgstr "Ãndice do botão do rato:" #: editor/project_settings_editor.cpp msgid "Left Button" -msgstr "" +msgstr "Botão esquerdo" #: editor/project_settings_editor.cpp msgid "Right Button" -msgstr "" +msgstr "Botão direito" #: editor/project_settings_editor.cpp msgid "Middle Button" -msgstr "" +msgstr "Botão do meio" #: editor/project_settings_editor.cpp msgid "Wheel Up Button" -msgstr "" +msgstr "Botão roda para cima" #: editor/project_settings_editor.cpp msgid "Wheel Down Button" -msgstr "" +msgstr "Botão roda para baixo" #: editor/project_settings_editor.cpp msgid "Button 6" -msgstr "" +msgstr "Botão 6" #: editor/project_settings_editor.cpp msgid "Button 7" -msgstr "" +msgstr "Botão 7" #: editor/project_settings_editor.cpp msgid "Button 8" -msgstr "" +msgstr "Botão 8" #: editor/project_settings_editor.cpp msgid "Button 9" -msgstr "" +msgstr "Botão 9" #: editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Change" -msgstr "Alterar" +msgstr "Mudar" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "" +msgstr "Ãndice do Eixo do joystick:" #: editor/project_settings_editor.cpp msgid "Axis" -msgstr "" +msgstr "Eixo" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "" +msgstr "Ãndice do botão do joypad:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Apagar evento ação de entrada" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" -msgstr "" +msgstr "Apagar evento ação de entrada" #: editor/project_settings_editor.cpp msgid "Add Event" -msgstr "" +msgstr "Adicionar evento" #: editor/project_settings_editor.cpp msgid "Device" -msgstr "" +msgstr "Dispositivo" #: editor/project_settings_editor.cpp msgid "Button" -msgstr "" +msgstr "Botão" #: editor/project_settings_editor.cpp msgid "Left Button." -msgstr "" +msgstr "Botão esquerdo." #: editor/project_settings_editor.cpp msgid "Right Button." -msgstr "" +msgstr "Botão direito." #: editor/project_settings_editor.cpp msgid "Middle Button." -msgstr "" +msgstr "Botão do meio." #: editor/project_settings_editor.cpp msgid "Wheel Up." -msgstr "" +msgstr "Roda para cima." #: editor/project_settings_editor.cpp msgid "Wheel Down." -msgstr "" +msgstr "Roda para baixo." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Add Global Property" -msgstr "Adicionar propriedade Getter" +msgstr "Adicionar Propriedade global" #: editor/project_settings_editor.cpp msgid "Select a setting item first!" -msgstr "" +msgstr "Selecione primeiro um item de configuração!" #: editor/project_settings_editor.cpp msgid "No property '%s' exists." -msgstr "" +msgstr "Não existe a Propriedade '%s'." #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." -msgstr "" +msgstr "Configuração '%s' é interna e não pode ser removida." #: editor/project_settings_editor.cpp -#, fuzzy msgid "Delete Item" -msgstr "Apagar Seleccionados" +msgstr "Apagar item" #: editor/project_settings_editor.cpp msgid "Can't contain '/' or ':'" -msgstr "" +msgstr "Não pode conter '/' ou ':'" #: editor/project_settings_editor.cpp msgid "Already existing" -msgstr "" +msgstr "Já existe" + +#: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Adicionar ação de entrada" #: editor/project_settings_editor.cpp msgid "Error saving settings." -msgstr "" +msgstr "Erro ao guardar configuração." #: editor/project_settings_editor.cpp msgid "Settings saved OK." -msgstr "" +msgstr "Configuração guardada." #: editor/project_settings_editor.cpp msgid "Override for Feature" -msgstr "" +msgstr "Sobrepor por caracterÃstica" #: editor/project_settings_editor.cpp msgid "Add Translation" -msgstr "" +msgstr "Adicionar tradução" #: editor/project_settings_editor.cpp msgid "Remove Translation" -msgstr "" +msgstr "Remover tradução" #: editor/project_settings_editor.cpp msgid "Add Remapped Path" -msgstr "" +msgstr "Adicionar correção remapeada" #: editor/project_settings_editor.cpp msgid "Resource Remap Add Remap" -msgstr "" +msgstr "Recurso Remap Adicionar Remap" #: editor/project_settings_editor.cpp msgid "Change Resource Remap Language" -msgstr "" +msgstr "Mudar Recurso Linguagem Remap" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap" -msgstr "" +msgstr "Remover remapeamento de recurso" #: editor/project_settings_editor.cpp msgid "Remove Resource Remap Option" -msgstr "" +msgstr "Remover Recurso Opção Remap" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter" -msgstr "" +msgstr "Filtro de localização alterado" #: editor/project_settings_editor.cpp msgid "Changed Locale Filter Mode" -msgstr "" +msgstr "Modo filtro de localização alterado" #: editor/project_settings_editor.cpp msgid "Project Settings (project.godot)" -msgstr "" +msgstr "Definições do Projeto (project.godot)" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "General" -msgstr "" +msgstr "Geral" #: editor/project_settings_editor.cpp editor/property_editor.cpp msgid "Property:" -msgstr "" +msgstr "Propriedade:" #: editor/project_settings_editor.cpp msgid "Override For.." -msgstr "" +msgstr "Sobrepor por..." #: editor/project_settings_editor.cpp msgid "Input Map" -msgstr "" +msgstr "Mapa de entrada" #: editor/project_settings_editor.cpp msgid "Action:" -msgstr "" +msgstr "Ação:" #: editor/project_settings_editor.cpp msgid "Device:" -msgstr "" +msgstr "Dispositivo:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "" +msgstr "Ãndice:" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "Localização" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "Traduções" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "Traduções:" #: editor/project_settings_editor.cpp msgid "Remaps" -msgstr "" +msgstr "Remapeamentos" #: editor/project_settings_editor.cpp msgid "Resources:" -msgstr "" +msgstr "Recursos:" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" -msgstr "" +msgstr "Remapear por localização:" #: editor/project_settings_editor.cpp msgid "Locale" -msgstr "" +msgstr "Localização" #: editor/project_settings_editor.cpp msgid "Locales Filter" -msgstr "" +msgstr "Filtro de localização" #: editor/project_settings_editor.cpp msgid "Show all locales" -msgstr "" +msgstr "Mostrar todas as localizações" #: editor/project_settings_editor.cpp msgid "Show only selected locales" -msgstr "" +msgstr "Mostrar apenas localizações selecionadas" #: editor/project_settings_editor.cpp msgid "Filter mode:" -msgstr "" +msgstr "Modo de filtro:" #: editor/project_settings_editor.cpp msgid "Locales:" -msgstr "" +msgstr "Localizações:" #: editor/project_settings_editor.cpp msgid "AutoLoad" -msgstr "" +msgstr "Carregamento automático" #: editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "" +msgstr "Escolha uma vista" #: editor/property_editor.cpp msgid "Ease In" -msgstr "" +msgstr "Ease In" #: editor/property_editor.cpp msgid "Ease Out" -msgstr "" +msgstr "Ease Out" #: editor/property_editor.cpp msgid "Zero" -msgstr "" +msgstr "Zero" #: editor/property_editor.cpp msgid "Easing In-Out" -msgstr "" +msgstr "Easing In-Out" #: editor/property_editor.cpp msgid "Easing Out-In" -msgstr "" +msgstr "Easing Out-In" #: editor/property_editor.cpp msgid "File.." -msgstr "" +msgstr "Ficheiro..." #: editor/property_editor.cpp msgid "Dir.." -msgstr "" +msgstr "Diretoria..." #: editor/property_editor.cpp msgid "Assign" -msgstr "" +msgstr "Atribuir" #: editor/property_editor.cpp -#, fuzzy msgid "Select Node" -msgstr "Adicionar propriedade Setter" +msgstr "Selecionar Nó" #: editor/property_editor.cpp msgid "New Script" +msgstr "Novo Script" + +#: editor/property_editor.cpp +msgid "New %s" msgstr "" #: editor/property_editor.cpp msgid "Make Unique" -msgstr "" +msgstr "Fazer único" #: editor/property_editor.cpp msgid "Show in File System" -msgstr "" +msgstr "Mostrar no Sistema de Ficheiros" #: editor/property_editor.cpp msgid "Convert To %s" -msgstr "" +msgstr "Converter em %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "" +msgstr "Erro ao carregar Ficheiro: Não é um recurso!" #: editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "" +msgstr "Nó selecionado não é uma vista!" #: editor/property_editor.cpp msgid "Pick a Node" -msgstr "" +msgstr "Escolha um Nó" #: editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "Bit %d, val %d." #: editor/property_editor.cpp msgid "On" -msgstr "" +msgstr "On" + +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Adicionar vazio" #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" -msgstr "" +msgstr "Definir" #: editor/property_editor.cpp msgid "Properties:" -msgstr "" - -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" +msgstr "Propriedades:" #: editor/property_selector.cpp -#, fuzzy msgid "Select Property" -msgstr "Adicionar propriedade Setter" +msgstr "Selecionar Propriedade" #: editor/property_selector.cpp msgid "Select Virtual Method" -msgstr "" +msgstr "Selecione Método virtual" #: editor/property_selector.cpp msgid "Select Method" -msgstr "" +msgstr "Selecione Método" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" -msgstr "" +msgstr "ImpossÃvel executar ferramenta PVRTC:" #: editor/pvrtc_compress.cpp msgid "Can't load back converted image using PVRTC tool:" -msgstr "" +msgstr "ImpossÃvel carregar imagem convertida com a ferramenta PVRTC:" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent Node" -msgstr "" +msgstr "Recolocar Nó" #: editor/reparent_dialog.cpp msgid "Reparent Location (Select new Parent):" -msgstr "" +msgstr "Recolocar localização (selecionar novo parente):" #: editor/reparent_dialog.cpp msgid "Keep Global Transform" -msgstr "" +msgstr "Manter transformação global" #: editor/reparent_dialog.cpp editor/scene_tree_dock.cpp msgid "Reparent" -msgstr "" +msgstr "Recolocar" #: editor/run_settings_dialog.cpp msgid "Run Mode:" -msgstr "" +msgstr "Modo Execução:" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Cena atual" #: editor/run_settings_dialog.cpp msgid "Main Scene" -msgstr "" +msgstr "Cena principal" #: editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "" +msgstr "Argumentos da Cena principal:" #: editor/run_settings_dialog.cpp msgid "Scene Run Settings" -msgstr "" +msgstr "Configurações de execução da Cena" #: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "" +msgstr "OK" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." -msgstr "" +msgstr "Nenhum parente para instanciar a Cena." #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" -msgstr "" +msgstr "Erro ao carregar a Cena de %s" #: editor/scene_tree_dock.cpp msgid "Ok" -msgstr "" +msgstr "Ok" #: editor/scene_tree_dock.cpp msgid "" "Cannot instance the scene '%s' because the current scene exists within one " "of its nodes." msgstr "" +"ImpossÃvel instanciar a Cena '%s' porque a Cena atual existe dentro de um " +"dos seus Nós." #: editor/scene_tree_dock.cpp msgid "Instance Scene(s)" -msgstr "" +msgstr "Cena(s) da Instância" #: editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." -msgstr "" +msgstr "Esta operação não pode ser feita na raiz da árvore." #: editor/scene_tree_dock.cpp msgid "Move Node In Parent" -msgstr "" +msgstr "Mover Nó no parente" #: editor/scene_tree_dock.cpp msgid "Move Nodes In Parent" -msgstr "" +msgstr "Mover Nós no parente" #: editor/scene_tree_dock.cpp msgid "Duplicate Node(s)" -msgstr "" +msgstr "Duplicar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" -msgstr "" +msgstr "Apagar Nó(s)?" #: editor/scene_tree_dock.cpp msgid "Can not perform with the root node." -msgstr "" +msgstr "ImpossÃvel executar com o Nó raiz." #: editor/scene_tree_dock.cpp msgid "This operation can't be done on instanced scenes." -msgstr "" +msgstr "Esta operação não pode ser feita numa Cena instanciada." #: editor/scene_tree_dock.cpp msgid "Save New Scene As.." -msgstr "" +msgstr "Guardar nova Cena como..." #: editor/scene_tree_dock.cpp msgid "Editable Children" -msgstr "" +msgstr "Filhos editáveis" #: editor/scene_tree_dock.cpp msgid "Load As Placeholder" -msgstr "" +msgstr "Carregar como marcador de posição" #: editor/scene_tree_dock.cpp msgid "Discard Instancing" -msgstr "" +msgstr "Descartar instância" #: editor/scene_tree_dock.cpp msgid "Makes Sense!" -msgstr "" +msgstr "Faz sentido!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes from a foreign scene!" -msgstr "" +msgstr "ImpossÃvel operar em Nós de uma Cena externa!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "" +msgstr "ImpossÃvel operar em Nós herdados pela Cena atual!" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" -msgstr "" +msgstr "Remover Nó(s)" #: editor/scene_tree_dock.cpp msgid "" "Couldn't save new scene. Likely dependencies (instances) couldn't be " "satisfied." msgstr "" +"ImpossÃvel guardar nova Cena. Provavelmente dependências (instâncias) não " +"foram satisfeitas." #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "" +msgstr "Erro ao guardar Cena." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "" +msgstr "Erro ao duplicar Cena para guardar." #: editor/scene_tree_dock.cpp msgid "Sub-Resources:" -msgstr "" +msgstr "Sub-recursos:" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance" -msgstr "" +msgstr "Limpar herança" #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "" +msgstr "Abrir no Editor" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)" -msgstr "" +msgstr "Apagar Nó(s)" #: editor/scene_tree_dock.cpp msgid "Add Child Node" -msgstr "" +msgstr "Adicionar Nó filho" #: editor/scene_tree_dock.cpp msgid "Instance Child Scene" -msgstr "" +msgstr "Instanciar Cena filha" #: editor/scene_tree_dock.cpp msgid "Change Type" -msgstr "" +msgstr "Mudar tipo" #: editor/scene_tree_dock.cpp msgid "Attach Script" -msgstr "" +msgstr "Anexar Script" #: editor/scene_tree_dock.cpp msgid "Clear Script" -msgstr "" +msgstr "Limpar Script" #: editor/scene_tree_dock.cpp msgid "Merge From Scene" -msgstr "" +msgstr "Fundir a partir da Cena" #: editor/scene_tree_dock.cpp msgid "Save Branch as Scene" -msgstr "" +msgstr "Guardar ramo como Cena" #: editor/scene_tree_dock.cpp msgid "Copy Node Path" -msgstr "" +msgstr "Copiar Caminho do Nó" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" -msgstr "" +msgstr "Apagar (sem confirmação)" #: editor/scene_tree_dock.cpp msgid "Add/Create a New Node" -msgstr "" +msgstr "Adicionar/criar novo Nó" #: editor/scene_tree_dock.cpp msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." msgstr "" +"Instanciar Ficheiro de Cena como Nó. Cria uma Cena herdada se não existir Nó " +"raiz." #: editor/scene_tree_dock.cpp msgid "Filter nodes" -msgstr "" +msgstr "Filtrar Nós" #: editor/scene_tree_dock.cpp msgid "Attach a new or existing script for the selected node." -msgstr "" +msgstr "Anexar Script novo ou existente ao Nó selecionado." #: editor/scene_tree_dock.cpp msgid "Clear a script for the selected node." -msgstr "" +msgstr "Limpar Script do Nó selecionado." #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Remote" -msgstr "Remover Sinal" +msgstr "Remoto" #: editor/scene_tree_dock.cpp msgid "Local" -msgstr "" +msgstr "Local" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" -msgstr "" +msgstr "Limpar herança? (Sem retrocesso!)" #: editor/scene_tree_dock.cpp msgid "Clear!" -msgstr "" +msgstr "Limpo!" #: editor/scene_tree_editor.cpp msgid "Toggle Spatial Visible" -msgstr "" +msgstr "Alternar visibilidade espacial" #: editor/scene_tree_editor.cpp msgid "Toggle CanvasItem Visible" -msgstr "" +msgstr "Alternar visibilidade do CanvasItem" #: editor/scene_tree_editor.cpp msgid "Node configuration warning:" -msgstr "" +msgstr "Aviso de configuração do Nó:" #: editor/scene_tree_editor.cpp msgid "" "Node has connection(s) and group(s)\n" "Click to show signals dock." msgstr "" +"Nó tem conexões e grupo(s).\n" +"Clique para mostrar doca dos sinais." #: editor/scene_tree_editor.cpp msgid "" "Node has connections.\n" "Click to show signals dock." msgstr "" +"Nó tem conexões.\n" +"Clique para mostrar doca dos sinais." #: editor/scene_tree_editor.cpp msgid "" "Node is in group(s).\n" "Click to show groups dock." msgstr "" +"Nó está em grupo(s).\n" +"Clique para mostrar doca dos grupos." #: editor/scene_tree_editor.cpp msgid "Instance:" -msgstr "" +msgstr "Instância:" #: editor/scene_tree_editor.cpp msgid "Open script" -msgstr "" +msgstr "Abrir Script" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock" msgstr "" +"Nó está bloqueado.\n" +"Clique para desbloquear" #: editor/scene_tree_editor.cpp msgid "" "Children are not selectable.\n" "Click to make selectable" msgstr "" +"Filhos não são selecionáveis.\n" +"Clique para os tornar selecionáveis" #: editor/scene_tree_editor.cpp msgid "Toggle Visibility" -msgstr "" +msgstr "Alternar visibilidade" #: editor/scene_tree_editor.cpp msgid "Invalid node name, the following characters are not allowed:" -msgstr "" +msgstr "Nome de Nó inválido, os carateres seguintes não são permitidos:" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "Renomear Nó" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" -msgstr "" +msgstr "Ãrvore de Cena (Nós):" #: editor/scene_tree_editor.cpp msgid "Node Configuration Warning!" -msgstr "" +msgstr "Aviso de configuração de Nó!" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "Selecione um Nó" #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" -msgstr "" +msgstr "Erro ao carregar Modelo '%s'" #: editor/script_create_dialog.cpp msgid "Error - Could not create script in filesystem." -msgstr "" +msgstr "Erro - ImpossÃvel criar Script no Sistema de Ficheiros." #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "" +msgstr "Erro ao carregar Script de '%s'" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "N/A" #: editor/script_create_dialog.cpp msgid "Path is empty" -msgstr "" +msgstr "Caminho está vazio" #: editor/script_create_dialog.cpp msgid "Path is not local" -msgstr "" +msgstr "Caminho não é local" #: editor/script_create_dialog.cpp msgid "Invalid base path" -msgstr "" +msgstr "Caminho base inválido" #: editor/script_create_dialog.cpp msgid "Directory of the same name exists" -msgstr "" +msgstr "Já existe diretoria com o mesmo nome" #: editor/script_create_dialog.cpp msgid "File exists, will be reused" -msgstr "" +msgstr "O Ficheiro já existe, será reutilizado" #: editor/script_create_dialog.cpp msgid "Invalid extension" -msgstr "" +msgstr "Extensão inválida" #: editor/script_create_dialog.cpp msgid "Wrong extension chosen" -msgstr "" +msgstr "Escolhida uma extensão errada" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid Path" -msgstr ": Argumentos inválidos: " +msgstr "Caminho inválido" #: editor/script_create_dialog.cpp msgid "Invalid class name" -msgstr "" +msgstr "Nome de classe inválida" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Invalid inherited parent name or path" -msgstr "Nome de Ãndice propriedade inválido." +msgstr "Nome ou Caminho de parente herdado inválido" #: editor/script_create_dialog.cpp msgid "Script valid" -msgstr "" +msgstr "Script inválido" #: editor/script_create_dialog.cpp msgid "Allowed: a-z, A-Z, 0-9 and _" -msgstr "" +msgstr "Permitido: a-z, A-Z, 0-9 e _" #: editor/script_create_dialog.cpp msgid "Built-in script (into scene file)" -msgstr "" +msgstr "Script incorporado (no Ficheiro da Cena)" #: editor/script_create_dialog.cpp msgid "Create new script file" -msgstr "" +msgstr "Criar novo Ficheiro de Script" #: editor/script_create_dialog.cpp msgid "Load existing script file" -msgstr "" +msgstr "Carregar Ficheiro de Script existente" #: editor/script_create_dialog.cpp msgid "Language" -msgstr "" +msgstr "Linguagem" #: editor/script_create_dialog.cpp msgid "Inherits" -msgstr "" +msgstr "Herdar" #: editor/script_create_dialog.cpp msgid "Class Name" -msgstr "" +msgstr "Nome de classe" #: editor/script_create_dialog.cpp -#, fuzzy msgid "Template" -msgstr "Remover Variável" +msgstr "Modelo" #: editor/script_create_dialog.cpp msgid "Built-in Script" -msgstr "" +msgstr "Script incorporado" #: editor/script_create_dialog.cpp msgid "Attach Node Script" -msgstr "" +msgstr "Anexar Script de Nó" #: editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote " -msgstr "Remover Sinal" +msgstr "Remoto " #: editor/script_editor_debugger.cpp msgid "Bytes:" -msgstr "" +msgstr "Bytes:" #: editor/script_editor_debugger.cpp msgid "Warning" -msgstr "" +msgstr "Aviso" #: editor/script_editor_debugger.cpp msgid "Error:" -msgstr "" +msgstr "Erro:" #: editor/script_editor_debugger.cpp msgid "Source:" -msgstr "" +msgstr "Fonte:" #: editor/script_editor_debugger.cpp msgid "Function:" -msgstr "" +msgstr "Função:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." -msgstr "" +msgstr "Escolha um ou mais itens da lista para exibir o gráfico." #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "Erros" #: editor/script_editor_debugger.cpp msgid "Child Process Connected" -msgstr "" +msgstr "Processo filho conectado" #: editor/script_editor_debugger.cpp msgid "Inspect Previous Instance" -msgstr "" +msgstr "Inspecionar instância anterior" #: editor/script_editor_debugger.cpp msgid "Inspect Next Instance" -msgstr "" +msgstr "Inspecionar próxima instância" #: editor/script_editor_debugger.cpp msgid "Stack Frames" -msgstr "" +msgstr "Empilhar Frames" #: editor/script_editor_debugger.cpp msgid "Variable" -msgstr "" +msgstr "Variável" #: editor/script_editor_debugger.cpp msgid "Errors:" -msgstr "" +msgstr "Erros:" #: editor/script_editor_debugger.cpp msgid "Stack Trace (if applicable):" -msgstr "" +msgstr "Rastreamento de pilha (se aplicável):" #: editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "Profiler" #: editor/script_editor_debugger.cpp msgid "Monitor" -msgstr "" +msgstr "Monitor" #: editor/script_editor_debugger.cpp msgid "Value" -msgstr "" +msgstr "Valor" #: editor/script_editor_debugger.cpp msgid "Monitors" -msgstr "" +msgstr "Monitores" #: editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" -msgstr "" +msgstr "Lista de utilização de Memória VÃdeo por recurso:" #: editor/script_editor_debugger.cpp msgid "Total:" -msgstr "" +msgstr "Total:" #: editor/script_editor_debugger.cpp msgid "Video Mem" -msgstr "" +msgstr "Memória VÃdeo" #: editor/script_editor_debugger.cpp msgid "Resource Path" -msgstr "" +msgstr "Caminho de recurso" #: editor/script_editor_debugger.cpp msgid "Type" -msgstr "" +msgstr "Tipo" #: editor/script_editor_debugger.cpp msgid "Format" -msgstr "" +msgstr "Formato" #: editor/script_editor_debugger.cpp msgid "Usage" -msgstr "" +msgstr "Uso" #: editor/script_editor_debugger.cpp msgid "Misc" -msgstr "" +msgstr "Misc" #: editor/script_editor_debugger.cpp msgid "Clicked Control:" -msgstr "" +msgstr "Controlo clicado:" #: editor/script_editor_debugger.cpp msgid "Clicked Control Type:" -msgstr "" +msgstr "Tipo de controlo clicado:" #: editor/script_editor_debugger.cpp msgid "Live Edit Root:" -msgstr "" +msgstr "Raiz de edição ao vivo:" #: editor/script_editor_debugger.cpp msgid "Set From Tree" -msgstr "" +msgstr "Definir a partir da árvore" #: editor/settings_config_dialog.cpp msgid "Shortcuts" +msgstr "Atalhos" + +#: editor/settings_config_dialog.cpp +msgid "Binding" msgstr "" #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" -msgstr "" +msgstr "Mudar raio da luz" #: editor/spatial_editor_gizmos.cpp msgid "Change AudioStreamPlayer3D Emission Angle" -msgstr "" +msgstr "Mudar ângulo de emissão de AudioStreamPlayer3D" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera FOV" -msgstr "" +msgstr "Mudar FOV da câmara" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" -msgstr "" +msgstr "Mudar tamanho da câmara" #: editor/spatial_editor_gizmos.cpp msgid "Change Sphere Shape Radius" -msgstr "" +msgstr "Mudar raio da forma esfera" #: editor/spatial_editor_gizmos.cpp msgid "Change Box Shape Extents" -msgstr "" +msgstr "Mudar medidas da forma caixa" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "" +msgstr "Mudar raio da forma cápsula" #: editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "" +msgstr "Mudar altura da forma cápsula" #: editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" -msgstr "" +msgstr "Mudar comprimento da forma raio" #: editor/spatial_editor_gizmos.cpp msgid "Change Notifier Extents" -msgstr "" +msgstr "Mudar extensões de notificador" #: editor/spatial_editor_gizmos.cpp msgid "Change Particles AABB" -msgstr "" +msgstr "Mudar partÃculas AABB" #: editor/spatial_editor_gizmos.cpp msgid "Change Probe Extents" +msgstr "Mudar extensões de sonda" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Library" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Status" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Remover Ponto da curva" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Double click to create a new entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Libraries: " +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Library" +msgstr "Biblioteca" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Status" +msgstr "Status" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp +msgid "Libraries: " +msgstr "Bibliotecas: " + #: modules/gdnative/register_types.cpp msgid "GDNative" -msgstr "" +msgstr "GDNative" #: modules/gdscript/gdscript_functions.cpp #: modules/visual_script/visual_script_builtin_funcs.cpp @@ -6974,15 +7194,15 @@ msgstr "o argumento \"step\" é zero!" #: modules/gdscript/gdscript_functions.cpp msgid "Not a script with an instance" -msgstr "Não é um script com uma instância" +msgstr "Não é um Script com uma instância" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a script" -msgstr "Não é baseado num script" +msgstr "Não é baseado num Script" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a resource file" -msgstr "Não é baseado num ficheiro de recurso" +msgstr "Não é baseado num Ficheiro de recurso" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" @@ -6992,11 +7212,11 @@ msgstr "Formato de dicionário de instância inválido (falta @path)" msgid "Invalid instance dictionary format (can't load script at @path)" msgstr "" "Formato de dicionário de instância inválido (não foi possÃvel carregar o " -"script em @path)" +"Script em @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (invalid script at @path)" -msgstr "Formato de dicionário de instância inválido (script inválido em @path)" +msgstr "Formato de dicionário de instância inválido (Script inválido em @path)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" @@ -7004,132 +7224,130 @@ msgstr "Dicionário de instância inválido (subclasses inválidas)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." -msgstr "" +msgstr "Objeto não fornece um comprimento." #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "GridMap Delete Selection" -msgstr "Apagar Seleccionados" +msgstr "Apagar seleção GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Duplicate Selection" -msgstr "" +msgstr "Seleção duplicada de GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Floor:" -msgstr "" +msgstr "Piso:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "" +msgstr "Mapa de grelha" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" -msgstr "" +msgstr "Vista de Ajuste" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Previous Floor" -msgstr "" +msgstr "Piso anterior" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Next Floor" -msgstr "" +msgstr "Próximo Piso" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Disabled" -msgstr "" +msgstr "Recorte desativado" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Above" -msgstr "" +msgstr "Recorte ativado" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clip Below" -msgstr "" +msgstr "Recorte abaixo" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit X Axis" -msgstr "" +msgstr "Editar Eixo X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Y Axis" -msgstr "" +msgstr "Editar Eixo Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Edit Z Axis" -msgstr "" +msgstr "Editar Eixo Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate X" -msgstr "" +msgstr "Rodar Cursor X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Y" -msgstr "" +msgstr "Rodar Cursor Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Rotate Z" -msgstr "" +msgstr "Rodar Cursor Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate X" -msgstr "" +msgstr "Rodar para trás Cursor X" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Y" -msgstr "" +msgstr "Rodar para trás Cursor Y" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Back Rotate Z" -msgstr "" +msgstr "Rodar para trás Cursor Z" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Cursor Clear Rotation" -msgstr "" +msgstr "Limpar rotação do Cursor" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Create Area" -msgstr "" +msgstr "Criar Ãrea" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Create Exterior Connector" -msgstr "" +msgstr "Criar Conector exterior" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Erase Area" -msgstr "" +msgstr "Apagar Ãrea" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Clear Selection" -msgstr "Escalar Selecção" +msgstr "Limpar Seleção" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" -msgstr "" +msgstr "Configurações do GridMap" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Pick Distance:" -msgstr "" +msgstr "Distância de escolha:" #: modules/mono/editor/mono_bottom_panel.cpp msgid "Builds" -msgstr "" +msgstr "Builds" #: modules/visual_script/visual_script.cpp msgid "" "A node yielded without working memory, please read the docs on how to yield " "properly!" msgstr "" -"Um nó fez yield sem memória para usar, por favor leia os documentos para " -"saber como fazer yield correctamente!" +"Um Nó fez yield sem memória para usar, por favor leia os documentos para " +"saber como fazer yield corretamente!" #: modules/visual_script/visual_script.cpp msgid "" "Node yielded, but did not return a function state in the first working " "memory." msgstr "" -"O nó fez yield, mas não retornou um estado de função na primeira memória de " +"O Nó fez yield, mas não retornou um estado de Função na primeira memória de " "trabalho." #: modules/visual_script/visual_script.cpp @@ -7138,42 +7356,40 @@ msgid "" "your node please." msgstr "" "O valor de retorno deve ser atribuÃdo ao primeiro elemento da memória de " -"trabalho de nós! Corrija o seu nó por favor." +"trabalho de Nós! Corrija o seu Nó por favor." #: modules/visual_script/visual_script.cpp msgid "Node returned an invalid sequence output: " -msgstr "O nó retornou uma sequência de saÃda (output) incorrecta: " +msgstr "O Nó retornou uma sequência de saÃda (output) incorreta: " #: modules/visual_script/visual_script.cpp msgid "Found sequence bit but not the node in the stack, report bug!" msgstr "" -"A sequência foi encontrada mas não o nó na pilha (stack), faça report de bug!" +"A sequência foi encontrada mas não o Nó na pilha (stack), faça report de bug!" #: modules/visual_script/visual_script.cpp msgid "Stack overflow with stack depth: " msgstr "Stack overflow com a profundidade da pilha (stack): " #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Signal Arguments" -msgstr "Editar Argumentos do Sinal:" +msgstr "Mudar argumentos do sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument Type" -msgstr "" +msgstr "Mudar tipo de argumento" #: modules/visual_script/visual_script_editor.cpp msgid "Change Argument name" -msgstr "" +msgstr "Mudar nome do argumento" #: modules/visual_script/visual_script_editor.cpp msgid "Set Variable Default Value" -msgstr "" +msgstr "Definir valor padrão da variável" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Set Variable Type" -msgstr "Editar Variável:" +msgstr "Definir tipo de variável" #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" @@ -7193,15 +7409,15 @@ msgstr "Este nome já está a ser usado por outro func/var/signal:" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "Alterar nome da Função" +msgstr "Mudar nome da Função" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "Alterar nome da Variável" +msgstr "Mudar nome da Variável" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "Alterar nome do Sinal" +msgstr "Mudar nome do Sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" @@ -7217,49 +7433,51 @@ msgstr "Adicionar Sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "Mudar Expressão" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node" msgstr "Adicionar Nó" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove VisualScript Nodes" -msgstr "Remover Variável" +msgstr "Remover Nós VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Duplicate VisualScript Nodes" -msgstr "" +msgstr "Duplicar Nós VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"Pressione %s para largar um Getter. Pressione Shift para largar uma " +"Assinatura genérica." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature." msgstr "" +"Pressione Ctrl para largar um Getter. Pressione Shift para largar uma " +"Assinatura genérica." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a simple reference to the node." -msgstr "" +msgstr "Pressione %s para largar uma referência simples no Nó." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a simple reference to the node." -msgstr "" +msgstr "Pressione Ctrl para largar uma referência simples no Nó." #: modules/visual_script/visual_script_editor.cpp msgid "Hold %s to drop a Variable Setter." -msgstr "" +msgstr "Pressione %s para largar um Setter variável." #: modules/visual_script/visual_script_editor.cpp msgid "Hold Ctrl to drop a Variable Setter." -msgstr "" +msgstr "Pressione Ctrl para largar um Setter variável." #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Add Preload Node" -msgstr "Adicionar Nó" +msgstr "Adicionar Nó de carregamento prévio" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -7267,99 +7485,95 @@ msgstr "Adicionar Nó da Ãrvore" #: modules/visual_script/visual_script_editor.cpp msgid "Add Getter Property" -msgstr "Adicionar propriedade Getter" +msgstr "Adicionar Propriedade Getter" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" -msgstr "Adicionar propriedade Setter" +msgstr "Adicionar Propriedade Setter" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Change Base Type" -msgstr "Tipo de Base:" +msgstr "Mudar tipo base" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" -msgstr "" +msgstr "Mover Nó(s)" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Remove VisualScript Node" -msgstr "Remover Variável" +msgstr "Remover Nó VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" -msgstr "" +msgstr "Conectar Nós" #: modules/visual_script/visual_script_editor.cpp msgid "Condition" -msgstr "" +msgstr "Condição" #: modules/visual_script/visual_script_editor.cpp msgid "Sequence" -msgstr "" +msgstr "Sequência" #: modules/visual_script/visual_script_editor.cpp msgid "Switch" -msgstr "" +msgstr "Trocar" #: modules/visual_script/visual_script_editor.cpp msgid "Iterator" -msgstr "" +msgstr "Iterador" #: modules/visual_script/visual_script_editor.cpp msgid "While" -msgstr "" +msgstr "Enquanto" #: modules/visual_script/visual_script_editor.cpp msgid "Return" -msgstr "" +msgstr "Voltar" #: modules/visual_script/visual_script_editor.cpp msgid "Call" -msgstr "" +msgstr "Chamar" #: modules/visual_script/visual_script_editor.cpp msgid "Get" -msgstr "" +msgstr "Obter" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" -msgstr "" +msgstr "Script já tem uma Função '%s'" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "Mudar valor de entrada" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "ImpossÃvel copiar o Nó Função." #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" -msgstr "" +msgstr "Ãrea de Transferência está vazia!" #: modules/visual_script/visual_script_editor.cpp msgid "Paste VisualScript Nodes" -msgstr "" +msgstr "Colar Nós VisualScript" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" msgstr "Remover Função" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Edit Variable" -msgstr "Editar Variável:" +msgstr "Editar variável" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" msgstr "Remover Variável" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Edit Signal" -msgstr "A editar Sinal:" +msgstr "Editar sinal" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" @@ -7383,7 +7597,7 @@ msgstr "Nós DisponÃveis:" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit graph" -msgstr "Seleccione ou crie uma função para editar o grafo" +msgstr "Selecione ou crie uma Função para editar o grafo" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal Arguments:" @@ -7395,24 +7609,23 @@ msgstr "Editar Variável:" #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" -msgstr "Apagar Seleccionados" +msgstr "Apagar Selecionados" #: modules/visual_script/visual_script_editor.cpp -#, fuzzy msgid "Find Node Type" -msgstr "Encontrar Tipo de Nó" +msgstr "Encontrar tipo de Nó" #: modules/visual_script/visual_script_editor.cpp msgid "Copy Nodes" -msgstr "" +msgstr "Copiar Nós" #: modules/visual_script/visual_script_editor.cpp msgid "Cut Nodes" -msgstr "" +msgstr "Cortar Nós" #: modules/visual_script/visual_script_editor.cpp msgid "Paste Nodes" -msgstr "" +msgstr "Colar Nós" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " @@ -7428,11 +7641,11 @@ msgstr "O iterador tornou-se inválido: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "Nome de Ãndice propriedade inválido." +msgstr "Nome de Ãndice Propriedade inválido." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "Objecto de base não é um Nó!" +msgstr "Objeto de base não é um Nó!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" @@ -7440,7 +7653,7 @@ msgstr "Caminho não aponta para nenhum Nó!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "Nome de propriedade Ãndice '%s' inválido em nó %s." +msgstr "Nome de Propriedade Ãndice '%s' inválido em Nó %s." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -7452,62 +7665,68 @@ msgstr ": Argumentos inválidos: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableGet not found in script: " -msgstr "" +msgstr "VariableGet não encontrada no Script: " #: modules/visual_script/visual_script_nodes.cpp msgid "VariableSet not found in script: " -msgstr "" +msgstr "VariableSet não encontrada no Script: " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." -msgstr "" +msgstr "ImpossÃvel processar gráfico, Nó personalizado com Método no_step()." #: modules/visual_script/visual_script_nodes.cpp msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" +"Valor de retorno from _step() inválido, tem de ser inteiro (seq out), ou " +"string (error)." #: platform/javascript/export/export.cpp msgid "Run in Browser" -msgstr "" +msgstr "Executar no Navegador" #: platform/javascript/export/export.cpp msgid "Run exported HTML in the system's default browser." -msgstr "" +msgstr "Executar HTML exportado no Navegador padrão do sistema." #: platform/javascript/export/export.cpp msgid "Could not write file:\n" -msgstr "" +msgstr "ImpossÃvel escrever Ficheiro:\n" #: platform/javascript/export/export.cpp msgid "Could not open template for export:\n" -msgstr "" +msgstr "ImpossÃvel abrir Modelo para exportar:\n" #: platform/javascript/export/export.cpp -#, fuzzy msgid "Invalid export template:\n" -msgstr "Nome de Ãndice propriedade inválido." +msgstr "Modelo de exportação inválido:\n" #: platform/javascript/export/export.cpp msgid "Could not read custom HTML shell:\n" -msgstr "" +msgstr "ImpossÃvel ler Shell HTML personalizado:\n" #: platform/javascript/export/export.cpp msgid "Could not read boot splash image file:\n" -msgstr "" +msgstr "ImpossÃvel ler Ficheiro do ecrã de inicialização:\n" #: 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 "" +"Um recurso SpriteFrames tem de ser criado ou definido na Propriedade " +"'Frames' para que AnimatedSprite mostre Frames." #: 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 "" +"Só é permitido um CanvasModulate visÃvel por Cena (ou grupo de Cenas " +"instanciadas). O primeiro a ser criado funcionará, enquanto o resto será " +"ignorado." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -7515,10 +7734,13 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"CollisionPolygon2D serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject2D. Use-o apenas como um filho de Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para lhes dar uma forma." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "" +msgstr "Um CollisionPolygon2D vazio não tem efeito na colisão." #: scene/2d/collision_shape_2d.cpp msgid "" @@ -7526,54 +7748,72 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"CollisionShape2D serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject2D. Use-o apenas como um filho de Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para lhes dar uma forma." #: scene/2d/collision_shape_2d.cpp msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" +"Uma forma tem de ser fornecida para CollisionShape2D funcionar. Crie um " +"recurso forma!" #: scene/2d/light_2d.cpp msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." msgstr "" +"Uma textura com a forma da luz tem de ser disponibilizada na Propriedade " +"'textura'." #: scene/2d/light_occluder_2d.cpp msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" +"Um PolÃgono oclusor tem de definido (ou desenhado) para este Oclusor ter " +"efeito." #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" -msgstr "" +msgstr "O PolÃgono oclusor deste Oclusor está vazio. Desenhe um PolÃgono!" #: 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 "" +"Um recurso NavigationPolygon tem de ser definido ou criado para este Nó " +"funcionar. Defina a Propriedade ou desenhe o PolÃgono." #: scene/2d/navigation_polygon.cpp msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" +"NavigationPolygonInstance tem de ser filho ou neto de um Nó Navigation2D. " +"Apenas fornece dados de navegação." #: scene/2d/parallax_layer.cpp msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" +"O Nó ParallaxLayer só funciona quando definido como filho de um Nó " +"ParallaxBackground." #: 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 "" +"Não foi atribuÃdo um Material para processar as partÃculas, não possuindo um " +"comportamento." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" +"PathFollow2D apenas funciona quando definido como filho de um Nó Path2D." #: scene/2d/physics_body_2d.cpp msgid "" @@ -7581,44 +7821,74 @@ msgid "" "by the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"Mudanças no tamanho do RigidBody2D (em modos caráter ou rÃgido) serão " +"reescritas pelo motor de fÃsica na execução.\n" +"Mude antes o tamanho das formas de colisão filhas." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." msgstr "" +"Para funcionar, a Propriedade Caminho tem de apontar para um Nó Node2D " +"válido." #: scene/2d/visibility_notifier_2d.cpp msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" +"VisibilityEnable2D funciona melhor quando usado diretamente como parente na " +"Cena raiz editada." #: scene/3d/arvr_nodes.cpp msgid "ARVRCamera must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRCamera precisa de um Nó ARVROrigin como parente" #: scene/3d/arvr_nodes.cpp msgid "ARVRController must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRController precisa de um Nó ARVROrigin como parente" #: 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 "" +"O id do controlador não pode ser 0 senão este controlador não será vinculado " +"a um controlador real" #: scene/3d/arvr_nodes.cpp msgid "ARVRAnchor must have an ARVROrigin node as its parent" -msgstr "" +msgstr "ARVRAnchor precisa de um Nó ARVROrigin como parente" #: 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 "" +"O id da âncora não pode ser 0 senão esta âncora não será vinculada a uma " +"âncora real" #: scene/3d/arvr_nodes.cpp msgid "ARVROrigin requires an ARVRCamera child node" -msgstr "" +msgstr "ARVROrigin exige um Nó filho ARVRCamera" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "A desenhar Meshes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "A desenhar Meshes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "A concluir desenho" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "A desenhar Meshes" #: scene/3d/collision_polygon.cpp msgid "" @@ -7626,10 +7896,13 @@ msgid "" "CollisionObject derived node. Please only use it as a child of Area, " "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" +"CollisionPolygon serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject. Use-o apenas como um filho de Area, StaticBody, " +"RigidBody, KinematicBody, etc. para lhes dar uma forma." #: scene/3d/collision_polygon.cpp msgid "An empty CollisionPolygon has no effect on collision." -msgstr "" +msgstr "Um CollisionPolygon vazio não tem efeito na colisão." #: scene/3d/collision_shape.cpp msgid "" @@ -7637,35 +7910,41 @@ msgid "" "derived node. Please only use it as a child of Area, StaticBody, RigidBody, " "KinematicBody, etc. to give them a shape." msgstr "" +"CollisionShape serve apenas para fornecer uma forma de colisão a um Nó " +"derivado de CollisionObject. Use-o apenas como um filho de Area, StaticBody, " +"RigidBody, KinematicBody, etc. para lhes dar uma forma." #: scene/3d/collision_shape.cpp msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" +"Uma forma tem de ser fornecida para CollisionShape funcionar. Crie um " +"recurso forma!" #: scene/3d/gi_probe.cpp msgid "Plotting Meshes" -msgstr "" - -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" +msgstr "A desenhar Meshes" #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" +"Um recurso NavigationMesh tem de ser definido ou criado para este Nó " +"funcionar." #: scene/3d/navigation_mesh.cpp msgid "" "NavigationMeshInstance must be a child or grandchild to a Navigation node. " "It only provides navigation data." msgstr "" +"NavigationMeshInstance tem de ser filho ou neto de um Nó Navigation. Apenas " +"fornece dados de navegação." #: scene/3d/particles.cpp msgid "" "Nothing is visible because meshes have not been assigned to draw passes." msgstr "" +"Nada é visÃvel porque não foram atribuÃdas Meshes aos passos de desenho." #: scene/3d/physics_body.cpp msgid "" @@ -7673,52 +7952,58 @@ msgid "" "the physics engine when running.\n" "Change the size in children collision shapes instead." msgstr "" +"Mudanças no tamanho do RigidBody (em modos caráter ou rÃgido) serão " +"reescritas pelo motor de fÃsica na execução.\n" +"Mude antes o tamanho das formas de colisão filhas." #: scene/3d/remote_transform.cpp msgid "Path property must point to a valid Spatial node to work." msgstr "" +"Para funcionar, a Propriedade Caminho tem de apontar para um Nó Spatial " +"válido." #: scene/3d/scenario_fx.cpp msgid "" "Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." msgstr "" +"Apenas um WorldEnvironment é permitido por Cena (ou grupo de cenas " +"instanciadas)." #: 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 "" +"Um recurso SpriteFrames tem de ser criado ou definido na Propriedade " +"'Frames' de forma a que AnimatedSprite3D mostre frames." #: scene/3d/vehicle_body.cpp msgid "" "VehicleWheel serves to provide a wheel system to a VehicleBody. Please use " "it as a child of a VehicleBody." msgstr "" +"VehicleWheel fornece um sistema de rodas a um VehicleBody. Use-o como um " +"filho de VehicleBody." #: scene/gui/color_picker.cpp msgid "Raw Mode" -msgstr "" +msgstr "Modo Raw" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" +msgstr "Adicionar cor atual como predefinição" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Alerta!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "" +msgstr "Confirme por favor..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Adicionar propriedade Setter" +msgstr "Selecionar esta pasta" #: scene/gui/popup.cpp msgid "" @@ -7726,6 +8011,9 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" +"Popups estão escondidas por defeito a não ser que chame popup() ou qualquer " +"das funções popup*(). Torná-las visÃveis para edição é aceitável, mas serão " +"escondidas na execução." #: scene/gui/scroll_container.cpp msgid "" @@ -7733,16 +8021,21 @@ msgid "" "Use a container as child (VBox,HBox,etc), or a Control and set the custom " "minimum size manually." msgstr "" +"ScrollContainer está destinado a funcionar com um único controlo filho.\n" +"Use um contentor como filho (VBox,HBox,etc), um um Control e defina o " +"tamanho mÃnimo manualmente." #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(Outro)" #: scene/main/scene_tree.cpp msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" +"Ambiente padrão especificado em Configuração do Projeto (Rendering -> " +"Viewport -> Default Environment) não pode ser carregado." #: scene/main/viewport.cpp msgid "" @@ -7751,22 +8044,50 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"Esta vista não está definida como alvo de Renderização. Se pretende " +"apresentar o seu conteúdo diretamente no ecrã, torne-a um filho de um " +"Control de modo a que obtenha um tamanho. Caso contrário, torne-a um " +"RenderTarget e atribua a sua textura interna a outro Nó para visualizar." #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "" +msgstr "Erro ao inicializar FreeType." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "" +msgstr "Formato de letra inválido." #: scene/resources/dynamic_font.cpp msgid "Error loading font." -msgstr "" +msgstr "Erro ao carregar letra." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." -msgstr "Tamanho de fonte inválido." +msgstr "Tamanho de letra inválido." + +#~ msgid "Move Add Key" +#~ msgstr "Mover Adicionar Chave" + +#~ msgid "Create Subscription" +#~ msgstr "Criar subscrição" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Definir máscara de emissão" + +#~ msgid "Clear Emitter" +#~ msgstr "Limpar emissor" + +#~ msgid "Fold Line" +#~ msgstr "Dobrar linha" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Secções:" #, fuzzy #~ msgid "Invalid unique name." diff --git a/editor/translations/ru.po b/editor/translations/ru.po index 0a85fe0477..3403a2789d 100644 --- a/editor/translations/ru.po +++ b/editor/translations/ru.po @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-22 20:31+0000\n" -"Last-Translator: outbools <drag4e@yandex.ru>\n" +"PO-Revision-Date: 2017-11-29 10:40+0000\n" +"Last-Translator: ijet <my-ijet@mail.ru>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/" "godot/ru/>\n" "Language: ru\n" @@ -38,8 +38,9 @@ msgid "All Selection" msgstr "Ð’Ñе выбранные Ñлементы" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Подвинуть ключ" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Изменить значение" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -50,7 +51,8 @@ msgid "Anim Change Transform" msgstr "Изменить положение" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Изменить значение" #: editor/animation_editor.cpp @@ -544,8 +546,9 @@ msgid "Connecting Signal:" msgstr "Подключение Ñигнала:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Создать подпиÑку" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "ПриÑоединить '%s' к '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -561,7 +564,8 @@ msgid "Signals" msgstr "Сигналы" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Создать новый" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -576,7 +580,7 @@ msgstr "Ðедавнее:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "ПоиÑк:" @@ -617,6 +621,7 @@ msgstr "" "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑтупÑÑ‚ в Ñилу поÑле перезапуÑка." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ЗавиÑимоÑти" @@ -719,9 +724,10 @@ msgid "Delete selected files?" msgstr "Удалить выбранные файлы?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Удалить" @@ -864,6 +870,11 @@ msgid "Rename Audio Bus" msgstr "Переименовать аудио шину" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Переключить аудио шину - Ñоло" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Переключить аудио шину - Ñоло" @@ -911,8 +922,8 @@ msgstr "Bypass" msgid "Bus options" msgstr "Параметры шины" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Дублировать" @@ -925,6 +936,10 @@ msgid "Delete Effect" msgstr "Удалить Ñффект" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Добавить аудио шину" @@ -1081,7 +1096,8 @@ msgstr "Путь:" msgid "Node Name:" msgstr "Ð˜Ð¼Ñ Ð£Ð·Ð»Ð°:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "ИмÑ" @@ -1089,10 +1105,6 @@ msgstr "ИмÑ" msgid "Singleton" msgstr "Синглтон" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "СпиÑок:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Обновление Ñцены" @@ -1105,6 +1117,15 @@ msgstr "Сохранение локальных изменений.." msgid "Updating scene.." msgstr "Обновление Ñцены.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(пуÑто)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "ПожалуйÑта, выберите базовый каталог" @@ -1151,9 +1172,24 @@ msgid "File Exists, Overwrite?" msgstr "Файл ÑущеÑтвует, перезапиÑать?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Создать папку" +msgstr "Выбрать текущую папку" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Копировать путь" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "Обновить" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1202,10 +1238,6 @@ msgid "Go Up" msgstr "Вверх" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Обновить" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Скрыть файлы" @@ -1385,7 +1417,8 @@ msgstr "Вывод:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ОчиÑтить" @@ -1543,14 +1576,12 @@ msgstr "" "понÑть Ñтот процеÑÑ." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Развернуть вÑе" +msgstr "Развернуть вÑе ÑвойÑтва" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Свернуть вÑе" +msgstr "Свернуть вÑе ÑвойÑтва" #: editor/editor_node.cpp msgid "Copy Params" @@ -2334,6 +2365,16 @@ msgstr "СущноÑть" msgid "Frame #:" msgstr "Кадр #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "ВремÑ:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Вызов" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Выберите уÑтройÑтво из ÑпиÑка" @@ -2475,7 +2516,8 @@ msgstr "Ðет ответа." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ прошёл." #: editor/export_template_manager.cpp @@ -2522,7 +2564,8 @@ msgid "Connecting.." msgstr "Подключение.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "Ðе удаётÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ" #: editor/export_template_manager.cpp @@ -2619,6 +2662,11 @@ msgid "Error moving:\n" msgstr "Ошибка перемещениÑ:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Ошибка при загрузке:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ завиÑимоÑти:\n" @@ -2651,6 +2699,16 @@ msgid "Renaming folder:" msgstr "Переименование папки:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Дублировать" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Переименование папки:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Развернуть вÑе" @@ -2659,10 +2717,6 @@ msgid "Collapse all" msgstr "Свернуть вÑе" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Копировать путь" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Переименовать.." @@ -2671,12 +2725,9 @@ msgid "Move To.." msgstr "ПеремеÑтить в.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "ПроÑмотреть в проводнике" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Открыть Ñцену" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2691,6 +2742,11 @@ msgid "View Owners.." msgstr "ПроÑмотреть владельцев.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Дублировать" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Предыдущий каталог" @@ -2785,6 +2841,16 @@ msgid "Importing Scene.." msgstr "Импортирование Ñцены.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Передача в карты оÑвещениÑ:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Генерировать AABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "ЗапуÑк пользовательÑкого Ñкрипта.." @@ -3033,54 +3099,51 @@ msgstr "Копировать анимацию" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Режим кальки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Включить режим кальки" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Разделы:" +msgstr "ÐаправлениÑ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Ð’Ñтавить" +msgstr "Прошлые" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "СвойÑтва" +msgstr "Будущие" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Глубина" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 шаг" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 шага" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 шага" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Только разница" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Принудительно раÑкрашивание белым" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Включать 3D гизмо" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3357,6 +3420,7 @@ msgid "last" msgstr "поÑледний" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Ð’Ñе" @@ -3398,6 +3462,28 @@ msgstr "ТеÑтируемые" msgid "Assets ZIP File" msgstr "ZIP файл аÑÑетов" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Передача в карты оÑвещениÑ:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "ПредпроÑмотр" @@ -3536,7 +3622,6 @@ msgid "Toggles snapping" msgstr "Переключение прилипаниÑ" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "ИÑпользовать привÑзку" @@ -3716,16 +3801,6 @@ msgstr "Ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñцены из %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Ок :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Ðе выбран родитель Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ°." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Ðта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚ одного выбранного узла." @@ -3837,7 +3912,7 @@ msgstr "Удерживайте Shift, чтобы изменить каÑател #: editor/plugins/gi_probe_editor_plugin.cpp msgid "Bake GI Probe" -msgstr "Запечь GI Probe" +msgstr "Запечь GI пробу" #: editor/plugins/gradient_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" @@ -3921,6 +3996,22 @@ msgid "Create Navigation Mesh" msgstr "Создать полиÑетку навигации" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "Ð’ MeshInstance нет полиÑетки!" @@ -3961,6 +4052,20 @@ msgid "Create Outline Mesh.." msgstr "Создать полиÑетку обводки.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Обзор" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "Создать полиÑетку обводки" @@ -4137,10 +4242,6 @@ msgid "Create Navigation Polygon" msgstr "Создать Navigation Polygon" #: 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 "Generating AABB" msgstr "Генерировать AABB" @@ -4158,10 +4259,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "Ðикаких пикÑелей Ñ Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾Ñтью > 128 в изображении.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "УÑтановлена маÑка выброÑа" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Создать облаÑть видимоÑти" @@ -4170,6 +4267,10 @@ 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 "Particles" msgstr "ЧаÑтицы" @@ -4228,10 +4329,6 @@ msgid "Create Emission Points From Node" msgstr "Создать излучатель из узла" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ОчиÑтить излучатель" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Создать излучатель" @@ -4516,11 +4613,13 @@ 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 "ПеремеÑтить вниз" @@ -4536,7 +4635,7 @@ msgstr "Предыдущий Ñкрипт" msgid "File" msgstr "Файл" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Ðовый" @@ -4549,6 +4648,11 @@ msgid "Soft Reload Script" msgstr "МÑгко перезагрузить Ñкрипты" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Копировать путь" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Предыдущий файл" @@ -4739,11 +4843,8 @@ msgid "Clone Down" msgstr "Копировать вниз" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Свернуть Ñтроку" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Развернуть Ñтроку" #: editor/plugins/script_text_editor.cpp @@ -5065,12 +5166,20 @@ msgstr "Вершины" #: editor/plugins/spatial_editor_plugin.cpp msgid "FPS" -msgstr "Кадров/Ñек" +msgstr "FPS" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" msgstr "СовмеÑтить Ñ Ð²Ð¸Ð´Ð¾Ð¼" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "Режим нормалей" @@ -5178,6 +5287,20 @@ msgid "Scale Mode (R)" msgstr "Режим маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Локальные координаты" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Режим маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Режим привÑзки:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Вид Снизу" @@ -5250,10 +5373,6 @@ msgid "Configure Snap.." msgstr "ÐаÑтроить привÑзку.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Локальные координаты" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Окно преобразованиÑ.." @@ -5295,6 +5414,10 @@ msgid "Settings" msgstr "ÐаÑтройки" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Параметры привÑзки" @@ -5677,6 +5800,11 @@ msgid "Merge from scene?" msgstr "СлиÑние из Ñцены?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Ðабор тайлов.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Создать из Ñцены" @@ -5688,6 +5816,10 @@ msgstr "СлиÑние из Ñцены" msgid "Error" msgstr "Ошибка" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Отмена" + #: editor/project_export.cpp msgid "Runnable" msgstr "Ðктивный" @@ -5807,10 +5939,6 @@ msgid "Imported Project" msgstr "Импортированный проект" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Было бы неплохо назвать ваш проект." @@ -5969,6 +6097,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñƒ Ð²Ð°Ñ Ð½ÐµÑ‚ каких-либо проектов.\n" +"Хотите изучить официальные примеры в библиотеке шаблонов?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6076,8 +6206,9 @@ msgid "Joypad Button Index:" msgstr "Ð˜Ð½Ð´ÐµÐºÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸ джойÑтика:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "Добавить дейÑтвие" +#, fuzzy +msgid "Erase Input Action" +msgstr "Удалить дейÑтвие" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6144,6 +6275,10 @@ msgid "Already existing" msgstr "Уже ÑущеÑтвует" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "Добавить дейÑтвие" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроек." @@ -6320,6 +6455,10 @@ msgid "New Script" msgstr "Ðовый Ñкрипт" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Сделать уникальным" @@ -6351,6 +6490,11 @@ msgstr "Бит %d, значение %d." msgid "On" msgstr "Вкл" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Добавить пуÑтоту" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Задать" @@ -6359,10 +6503,6 @@ msgstr "Задать" msgid "Properties:" msgstr "СвойÑтва:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Разделы:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "Выбрать ÑвойÑтво" @@ -6931,6 +7071,10 @@ msgstr "УÑтановить из дерева" msgid "Shortcuts" msgstr "ГорÑчие клавиши" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Изменить Ñ€Ð°Ð´Ð¸ÑƒÑ Ñвета" @@ -6979,15 +7123,55 @@ msgstr "Изменить AABB чаÑтиц" msgid "Change Probe Extents" msgstr "Изменить Probe Extents" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Удалить точку кривой" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Скопировать на платформу.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Библиотека" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Библиотека" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "СтатуÑ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Библиотеки: " @@ -7056,7 +7240,7 @@ msgstr "Ðтаж:" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Grid Map" -msgstr "Сетка" +msgstr "Ð¡ÐµÑ‚Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Snap View" @@ -7688,6 +7872,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin требует дочерний узел ARVRCamera" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "ПоÑтроение Ñетки" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "ПоÑтроение Ñетки" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Завершение поÑтроениÑ" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "ПоÑтроение Ñетки" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7724,10 +7927,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "ПоÑтроение Ñетки" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Завершение поÑтроениÑ" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7792,10 +7991,6 @@ msgid "Add current color as a preset" msgstr "Добавить текущий цвет как преÑет" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Отмена" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Внимание!" @@ -7804,9 +7999,8 @@ msgid "Please Confirm..." msgstr "Подтверждение..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Выбрать метод" +msgstr "Выбрать Ñту папку" #: scene/gui/popup.cpp msgid "" @@ -7870,6 +8064,30 @@ msgstr "Ошибка загрузки шрифта." msgid "Invalid font size." msgstr "ÐедопуÑтимый размер шрифта." +#~ msgid "Move Add Key" +#~ msgstr "Подвинуть ключ" + +#~ msgid "Create Subscription" +#~ msgstr "Создать подпиÑку" + +#~ msgid "List:" +#~ msgstr "СпиÑок:" + +#~ msgid "Set Emission Mask" +#~ msgstr "УÑтановлена маÑка выброÑа" + +#~ msgid "Clear Emitter" +#~ msgstr "ОчиÑтить излучатель" + +#~ msgid "Fold Line" +#~ msgstr "Свернуть Ñтроку" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Разделы:" + #~ msgid "Cannot navigate to '" #~ msgstr "Ðе удалоÑÑŒ перейти к '" @@ -8409,9 +8627,6 @@ msgstr "ÐедопуÑтимый размер шрифта." #~ msgid "Making BVH" #~ msgstr "Создание BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Передача в карты оÑвещениÑ:" - #~ msgid "Allocating Texture #" #~ msgstr "Выделение текÑтуры #" @@ -8563,9 +8778,6 @@ msgstr "ÐедопуÑтимый размер шрифта." #~ msgid "Del" #~ msgstr "Удалить" -#~ msgid "Copy To Platform.." -#~ msgstr "Скопировать на платформу.." - #~ msgid "just pressed" #~ msgstr "проÑто нажата" diff --git a/editor/translations/sk.po b/editor/translations/sk.po index 24c9c81792..aaa15bab4b 100644 --- a/editor/translations/sk.po +++ b/editor/translations/sk.po @@ -27,7 +27,7 @@ msgid "All Selection" msgstr "VÅ¡etky vybrané" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -39,7 +39,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,7 +532,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "VytvoriÅ¥ adresár" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -845,6 +848,11 @@ msgid "Rename Audio Bus" msgstr "VÅ¡etky vybrané" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "VÅ¡etky vybrané" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -892,8 +900,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -906,6 +914,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1057,7 +1069,8 @@ msgstr "Cesta:" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1065,10 +1078,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1081,6 +1090,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1131,6 +1148,23 @@ msgstr "" msgid "Select Current Folder" msgstr "VytvoriÅ¥ adresár" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "VytvoriÅ¥ adresár" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "VÅ¡etko rozpoznané" @@ -1178,10 +1212,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1362,7 +1392,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2259,6 +2290,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2394,7 +2433,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2442,7 +2481,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2535,6 +2574,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2567,15 +2610,19 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2588,12 +2635,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "VytvoriÅ¥ adresár" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "OtvoriÅ¥ súbor(y)" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2608,6 +2651,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2700,6 +2747,14 @@ 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 "" @@ -3269,6 +3324,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3310,6 +3366,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3447,7 +3524,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3628,16 +3704,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3833,6 +3899,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3873,6 +3955,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Súbor:" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Súbor:" + +#: 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 "" @@ -4049,10 +4145,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4070,15 +4162,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4140,10 +4232,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4430,11 +4518,13 @@ 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 "" @@ -4451,7 +4541,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4464,6 +4554,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4650,11 +4744,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4982,6 +5072,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5087,6 +5185,18 @@ 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 "" @@ -5162,10 +5272,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5207,6 +5313,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5594,6 +5704,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Súbor:" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5605,6 +5720,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5722,10 +5841,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5985,8 +6100,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "VÅ¡etky vybrané" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6053,6 +6169,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6231,6 +6351,10 @@ msgid "New Script" msgstr "Popis:" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6263,6 +6387,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6271,10 +6399,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6835,6 +6959,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6883,15 +7011,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "VÅ¡etky vybrané" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7559,6 +7724,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7587,10 +7768,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7643,10 +7820,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7712,10 +7885,6 @@ msgstr "" #~ msgid "Filter:" #~ msgstr "Filter:" -#, fuzzy -#~ msgid "Tiles" -#~ msgstr "Súbor:" - #~ msgid "Ctrl+" #~ msgstr "Ctrl+" diff --git a/editor/translations/sl.po b/editor/translations/sl.po index 2e1fad7e6f..6856af3469 100644 --- a/editor/translations/sl.po +++ b/editor/translations/sl.po @@ -4,13 +4,14 @@ # This file is distributed under the same license as the Godot source code. # # matevž lapajne <sivar.lapajne@gmail.com>, 2016-2017. +# Matjaž Vitas <matjaz.vitas@gmail.com>, 2017. # Simon Å ander <simon.sand3r@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:12+0000\n" -"Last-Translator: matevž lapajne <sivar.lapajne@gmail.com>\n" +"PO-Revision-Date: 2017-12-07 02:49+0000\n" +"Last-Translator: Matjaž Vitas <matjaz.vitas@gmail.com>\n" "Language-Team: Slovenian <https://hosted.weblate.org/projects/godot-engine/" "godot/sl/>\n" "Language: sl\n" @@ -29,7 +30,7 @@ msgid "All Selection" msgstr "Vsa izbira" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -41,7 +42,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -69,9 +70,8 @@ msgid "Remove Anim Track" msgstr "" #: editor/animation_editor.cpp -#, fuzzy msgid "Set Transitions to:" -msgstr "Izberi Prevod:" +msgstr "Nastavite Prehode na:" #: editor/animation_editor.cpp msgid "Anim Track Rename" @@ -90,12 +90,14 @@ msgid "Anim Track Change Wrap Mode" msgstr "" #: editor/animation_editor.cpp +#, fuzzy msgid "Edit Node Curve" -msgstr "" +msgstr "Uredi Node Krivuljo" #: editor/animation_editor.cpp +#, fuzzy msgid "Edit Selection Curve" -msgstr "" +msgstr "Uredi Izbor Krivulje" #: editor/animation_editor.cpp msgid "Anim Delete Keys" @@ -177,11 +179,11 @@ msgstr "" #: editor/animation_editor.cpp msgid "Transitions" -msgstr "" +msgstr "Prehodi" #: editor/animation_editor.cpp msgid "Optimize Animation" -msgstr "" +msgstr "Optimiziraj Animacijo" #: editor/animation_editor.cpp msgid "Clean-Up Animation" @@ -202,7 +204,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp #: editor/script_create_dialog.cpp msgid "Create" -msgstr "Naredi" +msgstr "Ustvari" #: editor/animation_editor.cpp msgid "Anim Create & Insert" @@ -338,11 +340,11 @@ msgstr "" #: editor/animation_editor.cpp msgid "Clean-up all animations" -msgstr "" +msgstr "PobriÅ¡i vse animacije" #: editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "IzbriÅ¡i Animacij(o/e) (BREZ VRNITVE)" #: editor/animation_editor.cpp msgid "Clean-Up" @@ -534,7 +536,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -551,8 +553,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Ustvari" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -566,7 +569,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -603,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -703,9 +707,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -845,6 +850,11 @@ msgid "Rename Audio Bus" msgstr "Preimenuj Funkcijo" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Preimenuj Funkcijo" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -893,8 +903,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -908,6 +918,10 @@ msgid "Delete Effect" msgstr "IzbriÅ¡i Izbrano" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1058,7 +1072,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1066,10 +1081,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1082,6 +1093,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1132,6 +1151,22 @@ msgstr "" msgid "Select Current Folder" msgstr "Dodaj Setter Lastnost" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1179,10 +1214,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1361,7 +1392,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2252,6 +2284,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2387,7 +2427,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2434,7 +2474,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2527,6 +2567,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2560,31 +2604,32 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Preimenuj Spremenljivko" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2600,6 +2645,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Podvoji Izbrano" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2692,6 +2742,14 @@ 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 "" @@ -3257,6 +3315,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3298,6 +3357,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3435,7 +3515,6 @@ msgid "Toggles snapping" msgstr "Preklopi na Zaustavitev" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3616,16 +3695,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3820,6 +3889,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3860,6 +3945,18 @@ 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 "" @@ -4036,10 +4133,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4057,15 +4150,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4127,10 +4220,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4417,11 +4506,13 @@ 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 "" @@ -4437,7 +4528,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4450,6 +4541,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4639,14 +4734,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "IzbriÅ¡i Izbrano" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -4972,6 +5063,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5076,6 +5175,18 @@ 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 "" @@ -5150,10 +5261,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5195,6 +5302,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5579,6 +5690,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5590,6 +5705,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "PrekliÄi" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5707,10 +5826,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5969,7 +6084,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6039,6 +6154,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6216,6 +6335,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6247,6 +6370,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6255,10 +6382,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -6814,6 +6937,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6862,15 +6989,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Odstrani Signal" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7552,6 +7716,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7580,10 +7760,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7633,24 +7809,20 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" -msgstr "" - -#: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" +msgstr "Dodaj trenutno barvo za prednastavitev" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Opozorilo!" #: scene/gui/dialogs.cpp +#, fuzzy msgid "Please Confirm..." -msgstr "" +msgstr "Potrdite..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Dodaj Setter Lastnost" +msgstr "Izberite mapo" #: scene/gui/popup.cpp msgid "" @@ -7658,6 +7830,9 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" +"Pojavna okna se bodo po privzeti nastavitvi skrila, razen ob klicu popup() " +"ali katerih izmed popup*() funkcij. Spreminjanje vidnosti za urejanje je " +"sprejemljivo, vendar se bodo ob zagonu skrila." #: scene/gui/scroll_container.cpp msgid "" @@ -7668,7 +7843,7 @@ msgstr "" #: scene/gui/tree.cpp msgid "(Other)" -msgstr "" +msgstr "(Ostalo)" #: scene/main/scene_tree.cpp msgid "" @@ -7686,19 +7861,19 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "" +msgstr "Napaka pri inicializaciji FreeType." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." -msgstr "" +msgstr "Neznani format pisave." #: scene/resources/dynamic_font.cpp msgid "Error loading font." -msgstr "" +msgstr "Napaka naložitve pisave." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." -msgstr "" +msgstr "Neveljavna velikost pisave." #, fuzzy #~ msgid "Invalid unique name." diff --git a/editor/translations/sr_Cyrl.po b/editor/translations/sr_Cyrl.po index 8b3bfdf8bf..d1732b1d1c 100644 --- a/editor/translations/sr_Cyrl.po +++ b/editor/translations/sr_Cyrl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-26 15:50+0000\n" +"PO-Revision-Date: 2017-12-14 23:08+0000\n" "Last-Translator: ÐлекÑандар Урошевић <alek.sandar0@yandex.com>\n" "Language-Team: Serbian (cyrillic) <https://hosted.weblate.org/projects/godot-" "engine/godot/sr_Cyrl/>\n" @@ -28,81 +28,83 @@ msgid "All Selection" msgstr "Све одабрано" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Помери кључ" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Промени вредноÑÑ‚" #: editor/animation_editor.cpp msgid "Anim Change Transition" -msgstr "Промените прелаз" +msgstr "Промени прелаз" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Промените положај" +msgstr "Промени положај" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "Промените вредноÑÑ‚" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "Промени вредноÑÑ‚" #: editor/animation_editor.cpp msgid "Anim Change Call" -msgstr "Промените позив анимације" +msgstr "Промени позив анимације" #: editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "Додајте нову траку" +msgstr "Додај нову траку" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Дуплирајте кључеве" +msgstr "Дуплирај кључеве" #: editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "Померите траку горе" +msgstr "Помери траку горе" #: editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "Померите траку доле" +msgstr "Помери траку доле" #: editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "Обришите траку анимације" +msgstr "Обриши траку анимације" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "ПоÑтавите прелаз на:" +msgstr "ПоÑтави прелаз на:" #: editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Измените име анимације" +msgstr "Измени име анимације" #: editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Измените интерполацију" +msgstr "Измени интерполацију" #: editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Измените режим вредноÑти" +msgstr "Измени режим вредноÑти" #: editor/animation_editor.cpp msgid "Anim Track Change Wrap Mode" -msgstr "Измените режим цикла" +msgstr "Измени режим цикла" #: editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "Измените криву чвора" +msgstr "Измени криву чвора" #: editor/animation_editor.cpp msgid "Edit Selection Curve" -msgstr "Измените одабрану криву" +msgstr "Измени одабрану криву" #: editor/animation_editor.cpp msgid "Anim Delete Keys" -msgstr "Уколните кључеве" +msgstr "Уколни кључеве" #: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "Дуплирајте одабрано" +msgstr "Дуплирај одабрано" #: editor/animation_editor.cpp msgid "Duplicate Transposed" @@ -110,7 +112,7 @@ msgstr "Дуплирај транÑпоновану" #: editor/animation_editor.cpp msgid "Remove Selection" -msgstr "Обришите одабрано" +msgstr "Обриши одабрано" #: editor/animation_editor.cpp msgid "Continuous" @@ -534,8 +536,9 @@ msgid "Connecting Signal:" msgstr "Везујући Ñигнал:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Ðаправи претплату" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Повежи '%s' Ñа '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -551,7 +554,8 @@ msgid "Signals" msgstr "Сигнали" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Ðаправи нов" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -566,7 +570,7 @@ msgstr "ЧеÑте:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Тражи:" @@ -607,6 +611,7 @@ msgstr "" "Промене неће бити у ефекту док Ñе поново не отворе." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ЗавиÑноÑти" @@ -709,9 +714,10 @@ msgid "Delete selected files?" msgstr "Обриши одабране датотеке?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Обриши" @@ -854,6 +860,11 @@ msgid "Rename Audio Bus" msgstr "Преименуј звучни баÑ(контролер)" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Укљ./ИÑкљ. Ñоло звучног баÑа" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Укљ./ИÑкљ. Ñоло звучног баÑа" @@ -901,8 +912,8 @@ msgstr "Заобиђи" msgid "Bus options" msgstr "ПоÑтавке баÑа" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Дуплирај" @@ -915,6 +926,10 @@ msgid "Delete Effect" msgstr "Обриши ефекат" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Додај звучни баÑ" @@ -1065,7 +1080,8 @@ msgstr "Пут:" msgid "Node Name:" msgstr "Име чвора:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Име" @@ -1073,10 +1089,6 @@ msgstr "Име" msgid "Singleton" msgstr "Синглетон" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "ЛиÑта:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Ðжурирање Ñцене" @@ -1089,6 +1101,15 @@ msgstr "Чувам локалне промене..." msgid "Updating scene.." msgstr "Ðжурирам Ñцену..." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(празно)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Молим, одаберите базни директоријум" @@ -1135,9 +1156,24 @@ msgid "File Exists, Overwrite?" msgstr "Датотека поÑтоји, препиши?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Ðаправи директоријум" +msgstr "Одабери тренутни директоријум" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Копирај пут" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "ОÑвежи" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1186,10 +1222,6 @@ msgid "Go Up" msgstr "Иди горе" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "ОÑвежи" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Прикажи Ñакривене датотеке" @@ -1369,7 +1401,8 @@ msgstr "Излаз:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Обриши" @@ -1524,12 +1557,10 @@ msgstr "" "начин рада." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" msgstr "Прошири Ñве" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" msgstr "Умањи Ñве" @@ -2314,6 +2345,16 @@ msgstr "Сам" msgid "Frame #:" msgstr "Слика број:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Време:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Позиви цртања" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Одабери уређај Ñа лиÑте" @@ -2455,7 +2496,8 @@ msgstr "Ðема одговора." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "Захтев није уÑпешан." #: editor/export_template_manager.cpp @@ -2502,7 +2544,8 @@ msgid "Connecting.." msgstr "Повезивање..." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "ÐеуÑпех при повезивању" #: editor/export_template_manager.cpp @@ -2598,6 +2641,11 @@ msgid "Error moving:\n" msgstr "Грешка при померању:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Грешка при учитавању:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Ðије могуће ажурирати завиÑноÑти:\n" @@ -2630,6 +2678,16 @@ msgid "Renaming folder:" msgstr "Преименовање директоријума:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "Дуплирај" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Преименовање директоријума:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "Прошири Ñве" @@ -2638,10 +2696,6 @@ msgid "Collapse all" msgstr "Умањи Ñве" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Копирај пут" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Преименуј..." @@ -2650,12 +2704,9 @@ msgid "Move To.." msgstr "Помери у..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Ðови директоријум..." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Покажи у менаџеру датотека" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Отвори Ñцену" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2670,6 +2721,11 @@ msgid "View Owners.." msgstr "Погледај влаÑнике..." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Дуплирај" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Претодни директоријум" @@ -2764,6 +2820,16 @@ msgid "Importing Scene.." msgstr "Увожење Ñцеене..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Обрађивање Ñкриптице..." @@ -3016,46 +3082,44 @@ msgid "Enable Onion Skinning" msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "ОпиÑ" +msgstr "Смерови" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Ðалепи" +msgstr "ПрошлоÑÑ‚" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "БудућноÑÑ‚" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Дубина" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 корак" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 корака" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 корака" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Само разлике" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Принудно бојење белом" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Убаци 3Д Ñправице" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3081,7 +3145,6 @@ msgid "Next (Auto Queue):" msgstr "Следећа (Ðутоматки ред):" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Cross-Animation Blend Times" msgstr "Вишеанимационо време мешања" @@ -3154,7 +3217,7 @@ msgstr "Мешавина 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "X-Fade време (Ñек.):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" @@ -3189,7 +3252,6 @@ msgid "Animation Node" msgstr "Ðнимациони чвор" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "OneShot Node" msgstr "OneShot чвор" @@ -3214,7 +3276,6 @@ msgid "TimeScale Node" msgstr "TimeScale чвор" #: editor/plugins/animation_tree_editor_plugin.cpp -#, fuzzy msgid "TimeSeek Node" msgstr "TimeSeek чвор" @@ -3335,6 +3396,7 @@ msgid "last" msgstr "задњи" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Ñви" @@ -3376,6 +3438,27 @@ msgstr "ТеÑтирање" 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 msgid "Preview" msgstr "Преглед" @@ -3481,7 +3564,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Alt+ДеÑни таÑтер миша: Ñелекција лиÑте дубине" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" @@ -3505,7 +3588,6 @@ msgid "Click to change object's rotation pivot." msgstr "Кликни за промену пивота ротације објекта." #: editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Pan Mode" msgstr "Режим инÑпекције" @@ -3514,7 +3596,6 @@ msgid "Toggles snapping" msgstr "Укљ./ИÑкљ. лепљења" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "КориÑти лепљење" @@ -3694,16 +3775,6 @@ msgstr "Грешка при прављењу Ñцене од %s" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ОК :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "Ðема родитеља за прављење Ñина." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "Ова операција захтева један изабран чвор." @@ -3759,11 +3830,11 @@ msgstr "Раван1" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease in" -msgstr "" +msgstr "Улазна транзиција" #: editor/plugins/curve_editor_plugin.cpp msgid "Ease out" -msgstr "" +msgstr "Излазна транзиција" #: editor/plugins/curve_editor_plugin.cpp msgid "Smoothstep" @@ -3848,7 +3919,7 @@ msgstr "" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" -msgstr "" +msgstr "Ðаправи оÑенчен полигон" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." @@ -3899,6 +3970,22 @@ msgid "Create Navigation Mesh" msgstr "Ðаправи навигациону мрежу" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance нема мрежу!" @@ -3939,6 +4026,20 @@ msgid "Create Outline Mesh.." msgstr "Ðаправи ивичну мрежу..." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Поглед" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "Ðаправи ивичну мрежу" @@ -4115,17 +4216,13 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "ГенериÑање оÑног поравнаног граничниог оквира (AABB)" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Can only set point into a ParticlesMaterial process material" -msgstr "" +msgstr "Тачка Ñе Ñамо може поÑтавити у ParticlesMaterial процеÑни материјал" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" @@ -4136,10 +4233,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "У Ñлици нема пикÑела Ñа транÑпарентношћу већом од 128..." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "ПоÑтави маÑку емиÑије" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "Генериши правоугаоник видљивоÑти" @@ -4148,6 +4241,10 @@ 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 "Particles" msgstr "ЧеÑтице" @@ -4183,7 +4280,7 @@ msgstr "Чвор не Ñадржи геометрију (Ñтране)." #: editor/plugins/particles_editor_plugin.cpp msgid "A processor material of type 'ParticlesMaterial' is required." -msgstr "" +msgstr "ПроцеÑор материјала типа „ParticlesMaterial“ је неопходан." #: editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" @@ -4206,10 +4303,6 @@ msgid "Create Emission Points From Node" msgstr "Ðаправи тачке емиÑије од чвора" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ОчиÑти емитер" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Ðаправи емитер" @@ -4223,7 +4316,7 @@ msgstr "Тачке површи" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" -msgstr "" +msgstr "Тачке површи+Ðормала (УÑмерено)" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" @@ -4243,11 +4336,11 @@ msgstr "Обриши тачку из криве" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "" +msgstr "Обриши контролу излаза из криве" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "" +msgstr "Обриши контролу улаза из криве" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4260,11 +4353,11 @@ msgstr "Помери тачку у криви" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "" +msgstr "Помери колнтролу улаза у криви" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "" +msgstr "Помери контролу излаза у криви" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4288,7 +4381,7 @@ msgstr "ДеÑни клик: обриши тачку" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Одабери контролне тачке (Shift+Превуците мишем)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4298,7 +4391,7 @@ msgstr "Додај тачку (у празном проÑтору)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Подели Ñегмент (у криви)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4316,15 +4409,15 @@ msgstr "Тачка криве #" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Position" -msgstr "" +msgstr "ПоÑтави позицију тачке криве" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Position" -msgstr "" +msgstr "ПоÑтави почетну позицију криве" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Out Position" -msgstr "" +msgstr "ПоÑтави крајњу позицију криве" #: editor/plugins/path_editor_plugin.cpp msgid "Split Path" @@ -4336,11 +4429,11 @@ msgstr "Обриши тачку путање" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Out-Control Point" -msgstr "" +msgstr "Обриши тачку контроле излаза" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" -msgstr "" +msgstr "Обриши тачку контроле улаза" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -4352,7 +4445,7 @@ msgstr "ТранÑформиши UV мапу" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon 2D UV Editor" -msgstr "" +msgstr "Уредник UV 2Д полигона" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" @@ -4434,7 +4527,7 @@ msgstr "Обриши реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "" +msgstr "Ðема реÑурÑа за копирање!" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4494,11 +4587,13 @@ 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 "Помери доле" @@ -4514,7 +4609,7 @@ msgstr "Претходна Ñкриптица" msgid "File" msgstr "Датотека" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Ðова" @@ -4524,15 +4619,20 @@ msgstr "Сачувај Ñве" #: editor/plugins/script_editor_plugin.cpp msgid "Soft Reload Script" -msgstr "" +msgstr "Мекано оÑвежење Ñкриптице" + +#: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Копирај пут" #: editor/plugins/script_editor_plugin.cpp msgid "History Prev" -msgstr "" +msgstr "ИÑторија претходно" #: editor/plugins/script_editor_plugin.cpp msgid "History Next" -msgstr "" +msgstr "ИÑторија Ñледеће" #: editor/plugins/script_editor_plugin.cpp msgid "Reload Theme" @@ -4556,7 +4656,7 @@ msgstr "Затвори Ñве" #: editor/plugins/script_editor_plugin.cpp msgid "Close Other Tabs" -msgstr "" +msgstr "Затвори оÑтале зупчанике" #: editor/plugins/script_editor_plugin.cpp editor/project_manager.cpp msgid "Run" @@ -4611,7 +4711,7 @@ msgstr "Претражи хијерархију клаÑа." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "" +msgstr "Претражи документацију." #: editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." @@ -4666,7 +4766,7 @@ msgstr "Одабери боју" #: editor/plugins/script_text_editor.cpp msgid "Convert Case" -msgstr "" +msgstr "Конвертуј Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Uppercase" @@ -4678,18 +4778,18 @@ msgstr "Мала Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Capitalize" -msgstr "" +msgstr "Велика Ñлова" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp msgid "Cut" -msgstr "" +msgstr "ИÑеци" #: editor/plugins/script_text_editor.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Copy" -msgstr "" +msgstr "Копирај" #: editor/plugins/script_text_editor.cpp scene/gui/line_edit.cpp #: scene/gui/text_edit.cpp @@ -4702,11 +4802,11 @@ msgstr "Обриши линију" #: editor/plugins/script_text_editor.cpp msgid "Indent Left" -msgstr "" +msgstr "Увучи лево" #: editor/plugins/script_text_editor.cpp msgid "Indent Right" -msgstr "" +msgstr "Увучи деÑно" #: editor/plugins/script_text_editor.cpp msgid "Toggle Comment" @@ -4717,36 +4817,33 @@ msgid "Clone Down" msgstr "Клонирај доле" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "ПреÑавији линију" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" +#, fuzzy +msgid "Fold/Unfold Line" +msgstr "Откриј линију" #: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" -msgstr "" +msgstr "Сакриј Ñве линије" #: editor/plugins/script_text_editor.cpp msgid "Unfold All Lines" -msgstr "" +msgstr "Откриј Ñве линије" #: editor/plugins/script_text_editor.cpp msgid "Complete Symbol" -msgstr "" +msgstr "Потпун Ñимбол" #: editor/plugins/script_text_editor.cpp msgid "Trim Trailing Whitespace" -msgstr "" +msgstr "Обриши празнине Ñа крајева" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Spaces" -msgstr "" +msgstr "Претвори увучени ред у размаке" #: editor/plugins/script_text_editor.cpp msgid "Convert Indent To Tabs" -msgstr "" +msgstr "Претвори увучени ред у TAB карактере" #: editor/plugins/script_text_editor.cpp msgid "Auto Indent" @@ -4755,27 +4852,27 @@ msgstr "ÐутоматÑко увлачење" #: editor/plugins/script_text_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Toggle Breakpoint" -msgstr "" +msgstr "ПоÑтави прекидну тачку" #: editor/plugins/script_text_editor.cpp msgid "Remove All Breakpoints" -msgstr "" +msgstr "Обриши Ñве прекидне тачке" #: editor/plugins/script_text_editor.cpp msgid "Goto Next Breakpoint" -msgstr "" +msgstr "Иди на Ñледећу прекудну тачку" #: editor/plugins/script_text_editor.cpp msgid "Goto Previous Breakpoint" -msgstr "" +msgstr "Иди на претходну прекидну тачку" #: editor/plugins/script_text_editor.cpp msgid "Convert To Uppercase" -msgstr "" +msgstr "Претвори у велика Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Convert To Lowercase" -msgstr "" +msgstr "Претвори у мала Ñлова" #: editor/plugins/script_text_editor.cpp msgid "Find Previous" @@ -4803,127 +4900,127 @@ msgstr "Шејдер" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Constant" -msgstr "" +msgstr "Промени Ñкаларну конÑтанту" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Constant" -msgstr "" +msgstr "Промени векторÑку конÑтанту" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Constant" -msgstr "" +msgstr "Промени RGB конÑтанту" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Operator" -msgstr "" +msgstr "Промени Ñкаларни оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Operator" -msgstr "" +msgstr "Промени векторÑки оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Scalar Operator" -msgstr "" +msgstr "Промени векторÑко-Ñкаларни оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Operator" -msgstr "" +msgstr "Промени RGB оператор" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Toggle Rot Only" -msgstr "" +msgstr "Само ротација" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Function" -msgstr "" +msgstr "Промени Ñкаларну функцију" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Function" -msgstr "" +msgstr "Промени векторÑку функцију" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Uniform" -msgstr "" +msgstr "Промени Ñкаларну униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Uniform" -msgstr "" +msgstr "Промени векторÑку униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change RGB Uniform" -msgstr "" +msgstr "Промени RGB униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" -msgstr "" +msgstr "Промени уобичајену вредноÑÑ‚" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" -msgstr "" +msgstr "Промени XForm униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Texture Uniform" -msgstr "" +msgstr "Промени текÑтурну униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Cubemap Uniform" -msgstr "" +msgstr "Промени Cubemap униформу (uniform)" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Comment" -msgstr "" +msgstr "Промени коментар" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Color Ramp" -msgstr "" +msgstr "Додај/обириши из рампе боје" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add/Remove to Curve Map" -msgstr "" +msgstr "Додај/обриши из мапе криве" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Curve Map" -msgstr "" +msgstr "Модификуј мапу криве" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Input Name" -msgstr "" +msgstr "Промени улазно име" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Connect Graph Nodes" -msgstr "" +msgstr "Повежи чворове графа" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Disconnect Graph Nodes" -msgstr "" +msgstr "ИÑкључи чворове графа" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Remove Shader Graph Node" -msgstr "" +msgstr "Обриши чвор графа шејдера" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Move Shader Graph Node" -msgstr "" +msgstr "Помери чвор графа шејдера" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Duplicate Graph Node(s)" -msgstr "" +msgstr "Дуплирај чвор/ове графа" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Delete Shader Graph Node(s)" -msgstr "" +msgstr "Обриши чвор/ове графа шејдера" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Cyclic Connection Link" -msgstr "" +msgstr "Грешка: пронађена циклична веза" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Missing Input Connections" -msgstr "" +msgstr "Грешка: недоÑтаје улазна конекција" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add Shader Graph Node" -msgstr "" +msgstr "Додај чвор графа шејдера" #: editor/plugins/spatial_editor_plugin.cpp msgid "Orthogonal" @@ -4935,7 +5032,7 @@ msgstr "ПерÑпективна пројекција" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Aborted." -msgstr "" +msgstr "ТранÑформација прекинута." #: editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." @@ -4951,7 +5048,7 @@ msgstr "ТранÑформација Z оÑе." #: editor/plugins/spatial_editor_plugin.cpp msgid "View Plane Transform." -msgstr "" +msgstr "Види транÑформацију равни." #: editor/plugins/spatial_editor_plugin.cpp msgid "Scaling: " @@ -5011,7 +5108,7 @@ msgstr "деÑно" #: editor/plugins/spatial_editor_plugin.cpp msgid "Keying is disabled (no key inserted)." -msgstr "" +msgstr "Кључеви Ñу онемогућени (нема убачених кључева)." #: editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." @@ -5049,33 +5146,41 @@ msgstr "FPS" msgid "Align with view" msgstr "Поравнавање Ñа погледом" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" -msgstr "" +msgstr "Прикажи нормалу" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Wireframe" -msgstr "" +msgstr "Прикажи жичану мрежу" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Overdraw" -msgstr "" +msgstr "Рендген режим" #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Unshaded" -msgstr "" +msgstr "Прикажи неоÑенчен" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Environment" -msgstr "" +msgstr "Прикажи околину" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Gizmos" -msgstr "" +msgstr "Прикажи Ñправице" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Information" -msgstr "" +msgstr "Прикажи информације" #: editor/plugins/spatial_editor_plugin.cpp msgid "View FPS" @@ -5087,51 +5192,51 @@ msgstr "Упола резолуције" #: editor/plugins/spatial_editor_plugin.cpp msgid "Audio Listener" -msgstr "" +msgstr "Звучни Ñлушалац" #: editor/plugins/spatial_editor_plugin.cpp msgid "Doppler Enable" -msgstr "" +msgstr "„Doppler“ режим" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Left" -msgstr "" +msgstr "Слободан поглед лево" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Right" -msgstr "" +msgstr "Слободан поглед деÑно" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Forward" -msgstr "" +msgstr "Слободан поглед напред" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Backwards" -msgstr "" +msgstr "Слободан поглед назад" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Up" -msgstr "" +msgstr "Слободан поглед горе" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Down" -msgstr "" +msgstr "Слободан поглед доле" #: editor/plugins/spatial_editor_plugin.cpp msgid "Freelook Speed Modifier" -msgstr "" +msgstr "Брзина Ñлободног погледа" #: editor/plugins/spatial_editor_plugin.cpp msgid "preview" -msgstr "" +msgstr "преглед" #: editor/plugins/spatial_editor_plugin.cpp msgid "XForm Dialog" -msgstr "" +msgstr "XForm дијалог" #: editor/plugins/spatial_editor_plugin.cpp msgid "Select Mode (Q)\n" -msgstr "" +msgstr "Режим Ñелекције (Q)\n" #: editor/plugins/spatial_editor_plugin.cpp msgid "" @@ -5139,78 +5244,95 @@ msgid "" "Alt+Drag: Move\n" "Alt+RMB: Depth list selection" msgstr "" +"Превуците мишем: ротација\n" +"Alt+превуците мишем: померај\n" +"Alt+деÑни таÑтер миша: Ñелекција лиÑте дубине" #: editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" -msgstr "" +msgstr "Режим помераја (W)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode (E)" -msgstr "" +msgstr "Режим ротације (E)" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Mode (R)" -msgstr "" +msgstr "Режим Ñкалирања (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Локалне координате" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Режим Ñкалирања (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Режим лепљења:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" -msgstr "" +msgstr "Поглед одоздо" #: editor/plugins/spatial_editor_plugin.cpp msgid "Top View" -msgstr "" +msgstr "Поглед одозго" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rear View" -msgstr "" +msgstr "Поглед позади" #: editor/plugins/spatial_editor_plugin.cpp msgid "Front View" -msgstr "" +msgstr "Поглед иÑпред" #: editor/plugins/spatial_editor_plugin.cpp msgid "Left View" -msgstr "" +msgstr "Поглед Ñ Ð»ÐµÐ²Ð°" #: editor/plugins/spatial_editor_plugin.cpp msgid "Right View" -msgstr "" +msgstr "Поглед Ñ Ð´ÐµÑна" #: editor/plugins/spatial_editor_plugin.cpp msgid "Switch Perspective/Orthogonal view" -msgstr "" +msgstr "Пребаци у перÑпективни/ортогонални поглед" #: editor/plugins/spatial_editor_plugin.cpp msgid "Insert Animation Key" -msgstr "" +msgstr "Убаци анимациони кључ" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Origin" -msgstr "" +msgstr "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° центар" #: editor/plugins/spatial_editor_plugin.cpp msgid "Focus Selection" -msgstr "" +msgstr "Ð¤Ð¾ÐºÑƒÑ Ð½Ð° Ñелекцију" #: editor/plugins/spatial_editor_plugin.cpp msgid "Align Selection With View" -msgstr "" +msgstr "Поравнај одабрано Ñа погледом" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Select" -msgstr "" +msgstr "Избор алатки" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Move" -msgstr "" +msgstr "Ðлат помераја" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Rotate" -msgstr "" +msgstr "Ðлат ротације" #: editor/plugins/spatial_editor_plugin.cpp msgid "Tool Scale" -msgstr "" +msgstr "Ðлат Ñкалирања" #: editor/plugins/spatial_editor_plugin.cpp msgid "Toggle Freelook" @@ -5218,88 +5340,88 @@ msgstr "Укљ./ИÑкљ. режим Ñлободног гледања" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform" -msgstr "" +msgstr "ТранÑформација" #: editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap.." -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" +msgstr "Конфигуриши лепљење..." #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." -msgstr "" +msgstr "Прозор транÑформације..." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 прозор" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "" +msgstr "2 прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 прозора (алтернатива)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "" +msgstr "3 прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 прозора (алтернатива)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "" +msgstr "4 прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" -msgstr "" +msgstr "Прикажи центар" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Grid" -msgstr "" +msgstr "Прикажи мрежу" #: editor/plugins/spatial_editor_plugin.cpp #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Settings" +msgstr "ПоÑтавке" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" -msgstr "" +msgstr "ПоÑтавке лепљења" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "" +msgstr "ТранÑформација лепљења:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" -msgstr "" +msgstr "Ротирај лепљење (у Ñтепенима):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "" +msgstr "Скалирај лепљење (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "" +msgstr "ПоÑтавке прозора" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" -msgstr "" +msgstr "Видеокруг перÑпективе (у Ñтепенима):" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Near:" -msgstr "" +msgstr "Минимум Z за приказ:" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Z-Far:" -msgstr "" +msgstr "МакÑимум Z за приказ:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Change" @@ -5307,204 +5429,207 @@ msgstr "" #: editor/plugins/spatial_editor_plugin.cpp msgid "Translate:" -msgstr "" +msgstr "Померај:" #: editor/plugins/spatial_editor_plugin.cpp msgid "Rotate (deg.):" -msgstr "" +msgstr "Ротација (Ñтепени):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Scale (ratio):" -msgstr "" +msgstr "Скала (размера):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Type" -msgstr "" +msgstr "Тип транÑформације" #: editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "Пре" #: editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "ПоÑле" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "" +msgstr "Грешка: неуÑпех при учитавању реÑурÑа оквира!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" -msgstr "" +msgstr "Додај оквир" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "" +msgstr "РеÑÑƒÑ€Ñ Ð·Ð° копирање не поÑтоји или није текÑтура!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" -msgstr "" +msgstr "Ðалепи оквир" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Empty" -msgstr "" +msgstr "Додај празан" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation Loop" -msgstr "" +msgstr "Промени Ñ†Ð¸ÐºÐ»ÑƒÑ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ñ˜Ðµ" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Change Animation FPS" -msgstr "" +msgstr "Промени број Ñлика у Ñекунди (FPS)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "(empty)" -msgstr "" +msgstr "(празно)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animations" -msgstr "" +msgstr "Ðнимације" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Speed (FPS):" -msgstr "" +msgstr "Брзина (FPS):" #: editor/plugins/sprite_frames_editor_plugin.cpp +#, fuzzy msgid "Loop" -msgstr "" +msgstr "ЦиклуÑ" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Animation Frames" -msgstr "" +msgstr "Ðнимационе Ñлике" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (Before)" -msgstr "" +msgstr "Уметни празан (иза)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Insert Empty (After)" -msgstr "" +msgstr "Уметни празан (иÑпред)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (Before)" -msgstr "" +msgstr "Помери (иза)" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Move (After)" -msgstr "" +msgstr "Помери (иÑпред)" #: editor/plugins/style_box_editor_plugin.cpp msgid "StyleBox Preview:" -msgstr "" +msgstr "StyleBox преглед:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Set Region Rect" -msgstr "" +msgstr "ПоÑтави правоугаони регион" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "" +msgstr "Режим лепљења:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" -msgstr "" +msgstr "<Ðиједан>" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Pixel Snap" -msgstr "" +msgstr "Лепљење по пикÑелу" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Snap" -msgstr "" +msgstr "Лепљење по мрежи" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "" +msgstr "ÐутоматÑки рез" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" -msgstr "" +msgstr "ОфÑет:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Step:" -msgstr "" +msgstr "Корак:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Separation:" -msgstr "" +msgstr "ОдвојеноÑÑ‚:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region" -msgstr "" +msgstr "Регион текÑтуре" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Texture Region Editor" -msgstr "" +msgstr "Уредник региона текÑтуре" #: editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" -msgstr "" +msgstr "ÐеуÑпех при чувању теме:" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All Items" -msgstr "" +msgstr "Додај Ñве Ñтавке" #: editor/plugins/theme_editor_plugin.cpp msgid "Add All" -msgstr "" +msgstr "Додај Ñве" #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Remove Item" -msgstr "" +msgstr "Обриши Ñтавку" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All Items" -msgstr "" +msgstr "Обриши Ñве Ñтавке" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove All" -msgstr "" +msgstr "Обриши Ñве" #: editor/plugins/theme_editor_plugin.cpp msgid "Edit theme.." -msgstr "" +msgstr "Измени тему..." #: editor/plugins/theme_editor_plugin.cpp msgid "Theme editing menu." -msgstr "" +msgstr "Мени уређивања теме." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "" +msgstr "Додај Ñтавке клаÑе" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "" +msgstr "Обриши Ñтавке клаÑе" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" -msgstr "" +msgstr "Ðаправи празан шаблон" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Editor Template" -msgstr "" +msgstr "Ðаправи празан шаблон за уредник" #: editor/plugins/theme_editor_plugin.cpp msgid "Create From Current Editor Theme" -msgstr "" +msgstr "Ðаправи од тренутне теме уредника" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "CheckBox Radio1" -msgstr "" +msgstr "CheckBox Radio1" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "CheckBox Radio2" -msgstr "" +msgstr "CheckBox Radio2" #: editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "Ставка" #: editor/plugins/theme_editor_plugin.cpp msgid "Check Item" @@ -5516,88 +5641,91 @@ msgstr "" #: editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "Има" #: editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "Много" #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "Опција" #: editor/plugins/theme_editor_plugin.cpp msgid "Have,Many,Several,Options!" -msgstr "" +msgstr "Има,много,неколико,опција!" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Tab 1" -msgstr "" +msgstr "Tab 1" #: editor/plugins/theme_editor_plugin.cpp +#, fuzzy msgid "Tab 2" -msgstr "" +msgstr "Tab 2" #: editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "Tab 3" #: editor/plugins/theme_editor_plugin.cpp editor/project_settings_editor.cpp #: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp msgid "Type:" -msgstr "" +msgstr "Тип:" #: editor/plugins/theme_editor_plugin.cpp msgid "Data Type:" -msgstr "" +msgstr "Тип податка:" #: editor/plugins/theme_editor_plugin.cpp msgid "Icon" -msgstr "" +msgstr "Икона" #: editor/plugins/theme_editor_plugin.cpp msgid "Style" -msgstr "" +msgstr "Стил" #: editor/plugins/theme_editor_plugin.cpp msgid "Font" -msgstr "" +msgstr "Фонт" #: editor/plugins/theme_editor_plugin.cpp msgid "Color" -msgstr "" +msgstr "Боја" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase Selection" -msgstr "" +msgstr "Обриши одабрано" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint TileMap" -msgstr "" +msgstr "Цртај TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Line Draw" -msgstr "" +msgstr "Цртање линије" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rectangle Paint" -msgstr "" +msgstr "Цртање правоугаоником" #: editor/plugins/tile_map_editor_plugin.cpp +#, fuzzy msgid "Bucket Fill" -msgstr "" +msgstr "Попуни" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase TileMap" -msgstr "" +msgstr "Обриши TileMap" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Erase selection" -msgstr "" +msgstr "Обриши одабрано" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Find tile" -msgstr "" +msgstr "Ðађи плочицу" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" @@ -5605,133 +5733,151 @@ msgstr "" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror X" -msgstr "" +msgstr "Огледало X оÑе" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Mirror Y" -msgstr "" +msgstr "Огледало Y оÑе" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Paint Tile" -msgstr "" +msgstr "Цртај полчице" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Pick Tile" -msgstr "" +msgstr "Одабери плочицу" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" -msgstr "" +msgstr "Ротирај 0 Ñтепени" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 90 degrees" -msgstr "" +msgstr "Ротирај 90 Ñтепени" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 180 degrees" -msgstr "" +msgstr "Ротирај 180 Ñтепени" #: editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 270 degrees" -msgstr "" +msgstr "Ротирај 270 Ñтепени" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Could not find tile:" -msgstr "" +msgstr "ÐеуÑпех при тражењу плочице:" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Item name or ID:" -msgstr "" +msgstr "Име Ñтавке или идентификатор (ID):" #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from scene?" -msgstr "" +msgstr "Ðаправи од Ñцене?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Merge from scene?" -msgstr "" +msgstr "Споји из Ñцене?" + +#: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet..." #: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "" +msgstr "Ðаправи од Ñцене" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy msgid "Merge from Scene" -msgstr "" +msgstr "Споји од Ñцене" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" +msgstr "Грешка" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" msgstr "" #: editor/project_export.cpp msgid "Runnable" -msgstr "" +msgstr "Покретљива" #: editor/project_export.cpp msgid "Delete patch '%s' from list?" -msgstr "" +msgstr "Обриши закрпу „%s“ Ñа лиÑте?" #: editor/project_export.cpp +#, fuzzy msgid "Delete preset '%s'?" -msgstr "" +msgstr "Обриши поÑтавку „%s“?" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted: " -msgstr "" +msgstr "Извозни шаблони за ову платформу Ñу или иÑкварени или непоÑтојећи: " #: editor/project_export.cpp +#, fuzzy msgid "Presets" -msgstr "" +msgstr "ПоÑтавке" #: editor/project_export.cpp editor/project_settings_editor.cpp msgid "Add.." -msgstr "" +msgstr "Додај..." #: editor/project_export.cpp msgid "Resources" -msgstr "" +msgstr "РеÑурÑи" #: editor/project_export.cpp msgid "Export all resources in the project" -msgstr "" +msgstr "Извези Ñве реÑурÑе у пројекту" #: editor/project_export.cpp msgid "Export selected scenes (and dependencies)" -msgstr "" +msgstr "Извези одабране Ñцене (и завиÑноÑти)" #: editor/project_export.cpp msgid "Export selected resources (and dependencies)" -msgstr "" +msgstr "Извези одабране реÑурÑе (и завиÑноÑти)" #: editor/project_export.cpp msgid "Export Mode:" -msgstr "" +msgstr "Режим извоза:" #: editor/project_export.cpp msgid "Resources to export:" -msgstr "" +msgstr "РеÑурÑи за извоз:" #: editor/project_export.cpp +#, fuzzy msgid "" "Filters to export non-resource files (comma separated, e.g: *.json, *.txt)" msgstr "" +"Филтери за извоз нереÑурÑких датотека (зарез за одвајање, пр. *.json, *.txt)" #: editor/project_export.cpp msgid "" "Filters to exclude files from project (comma separated, e.g: *.json, *.txt)" msgstr "" +"Филтери за иÑкључивање датотека из пројекта (зарез за одвајање, пр. *.json, " +"*.txt)" #: editor/project_export.cpp msgid "Patches" -msgstr "" +msgstr "Закрпе" #: editor/project_export.cpp +#, fuzzy msgid "Make Patch" -msgstr "" +msgstr "Ðаправи закрп" #: editor/project_export.cpp msgid "Features" -msgstr "" +msgstr "КарактериÑтике" #: editor/project_export.cpp msgid "Custom (comma-separated):" @@ -5739,19 +5885,19 @@ msgstr "" #: editor/project_export.cpp msgid "Feature List:" -msgstr "" +msgstr "ЛиÑта карактериÑтика:" #: editor/project_export.cpp msgid "Export PCK/Zip" -msgstr "" +msgstr "Извоз PCK/Zip" #: editor/project_export.cpp msgid "Export templates for this platform are missing:" -msgstr "" +msgstr "Извозни шаблони за ову платформу ниÑу пронађени:" #: editor/project_export.cpp msgid "Export templates for this platform are missing/corrupted:" -msgstr "" +msgstr "Извозни шаблони за ову платформу или ниÑу пронађени или Ñу иÑкварене:" #: editor/project_export.cpp msgid "Export With Debug" @@ -5780,10 +5926,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6040,8 +6182,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "Обриши одабрано" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6108,6 +6251,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6284,6 +6431,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6315,6 +6466,11 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "Додај празан" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6323,10 +6479,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6876,6 +7028,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6924,15 +7080,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Обриши тачку криве" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7581,6 +7774,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7609,10 +7818,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7665,10 +7870,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7677,9 +7878,8 @@ msgid "Please Confirm..." msgstr "" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Одабери режим" +msgstr "Одабери овај директоријум" #: scene/gui/popup.cpp msgid "" @@ -7729,6 +7929,24 @@ msgstr "" msgid "Invalid font size." msgstr "Ðеважећа величина фонта." +#~ msgid "Move Add Key" +#~ msgstr "Помери кључ" + +#~ msgid "Create Subscription" +#~ msgstr "Ðаправи претплату" + +#~ msgid "List:" +#~ msgstr "ЛиÑта:" + +#~ msgid "Set Emission Mask" +#~ msgstr "ПоÑтави маÑку емиÑије" + +#~ msgid "Clear Emitter" +#~ msgstr "ОчиÑти емитер" + +#~ msgid "Fold Line" +#~ msgstr "ПреÑавији линију" + #~ msgid "Cannot navigate to '" #~ msgstr "Ðе могу прећи у '" diff --git a/editor/translations/sv.po b/editor/translations/sv.po index 782ff2c39e..2fdcab409f 100644 --- a/editor/translations/sv.po +++ b/editor/translations/sv.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:13+0000\n" +"PO-Revision-Date: 2017-12-01 23:50+0000\n" "Last-Translator: bergmarklund <davemcgroin@gmail.com>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/godot-engine/" "godot/sv/>\n" @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "Alla urval" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Flytta Lägg Till Nyckel" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Anim Ändra Värde" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -40,7 +41,8 @@ msgid "Anim Change Transform" msgstr "Anim Ändra Transformation" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Anim Ändra Värde" #: editor/animation_editor.cpp @@ -569,8 +571,8 @@ msgstr "Ansluter Signal:" #: editor/connections_dialog.cpp #, fuzzy -msgid "Create Subscription" -msgstr "Skapa Prenumeration" +msgid "Disconnect '%s' from '%s'" +msgstr "Anslut '%s' till '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -587,7 +589,8 @@ msgid "Signals" msgstr "Signaler" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Skapa Ny" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -603,7 +606,7 @@ msgstr "Senaste:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Sök:" @@ -648,6 +651,7 @@ msgstr "" "Ändringarna börjar gälla när den laddas om." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Dependencies" msgstr "Beroenden" @@ -769,9 +773,10 @@ msgid "Delete selected files?" msgstr "Ta bort valda filer?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Ta bort" @@ -937,6 +942,11 @@ msgstr "Byt namn pÃ¥ Ljud-Buss" #: editor/editor_audio_buses.cpp #, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Växla Ljud-Buss Solo" + +#: editor/editor_audio_buses.cpp +#, fuzzy msgid "Toggle Audio Bus Solo" msgstr "Växla Ljud-Buss Solo" @@ -995,8 +1005,8 @@ msgstr "Bypass" msgid "Bus options" msgstr "Buss-alternativ" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "Duplicera" @@ -1010,6 +1020,10 @@ msgid "Delete Effect" msgstr "Ta bort Effekt" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp #, fuzzy msgid "Add Audio Bus" msgstr "Lägg till Ljud-Buss" @@ -1196,7 +1210,8 @@ msgstr "Sökväg:" msgid "Node Name:" msgstr "Node Namn:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Namn" @@ -1205,10 +1220,6 @@ msgstr "Namn" msgid "Singleton" msgstr "Singleton" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Lista:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Uppdaterar Scen" @@ -1222,6 +1233,15 @@ msgstr "Lagrar lokala ändringar.." msgid "Updating scene.." msgstr "Uppdaterar scen.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(tom)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1278,6 +1298,24 @@ msgstr "Filen finns redan, skriv över?" msgid "Select Current Folder" msgstr "Skapa Mapp" +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "Copy Path" +msgstr "Kopiera Sökvägen" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "Show In File Manager" +msgstr "Visa I Filhanteraren" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Ny Mapp.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Uppdatera" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1327,10 +1365,6 @@ msgid "Go Up" msgstr "GÃ¥ Upp" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Uppdatera" - -#: editor/editor_file_dialog.cpp #, fuzzy msgid "Toggle Hidden Files" msgstr "Växla Dolda Filer" @@ -1537,7 +1571,8 @@ msgstr "Output:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp #, fuzzy msgid "Clear" msgstr "Rensa" @@ -1553,9 +1588,8 @@ msgstr "Spara Resurs Som.." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -#, fuzzy msgid "I see.." -msgstr "Jag ser.." +msgstr "Jag förstÃ¥r.." #: editor/editor_node.cpp #, fuzzy @@ -2557,6 +2591,15 @@ msgstr "Själv" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Tid:" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp #, fuzzy msgid "Select device from the list" @@ -2703,7 +2746,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2754,7 +2797,7 @@ msgstr "Ansluter.." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "Kan inte Ansluta" #: editor/export_template_manager.cpp @@ -2854,6 +2897,11 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Fel vid laddning:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2890,6 +2938,16 @@ msgstr "Byter namn pÃ¥ mappen:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Duplicating file:" +msgstr "Duplicera" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Byter namn pÃ¥ mappen:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Expand all" msgstr "Expandera alla" @@ -2899,11 +2957,6 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "Copy Path" -msgstr "Kopiera Sökvägen" - -#: editor/filesystem_dock.cpp -#, fuzzy msgid "Rename.." msgstr "Byt namn.." @@ -2913,13 +2966,9 @@ msgid "Move To.." msgstr "Flytta Till.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Ny Mapp.." - -#: editor/filesystem_dock.cpp #, fuzzy -msgid "Show In File Manager" -msgstr "Visa I Filhanteraren" +msgid "Open Scene(s)" +msgstr "Öppna Scen" #: editor/filesystem_dock.cpp #, fuzzy @@ -2936,6 +2985,11 @@ msgid "View Owners.." msgstr "Visa Ägare.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Duplicera" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -3033,6 +3087,14 @@ msgid "Importing Scene.." msgstr "Importerar Scen.." #: 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 "" @@ -3618,6 +3680,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Alla" @@ -3660,6 +3723,27 @@ msgstr "" 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 #, fuzzy msgid "Preview" @@ -3795,7 +3879,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3978,17 +4061,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -#, fuzzy -msgid "No parent to instance a child at." -msgstr "Ingen förälder att instansiera ett barn till." - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp #, fuzzy msgid "This operation requires a single selected node." msgstr "Ã…tgärden kräver en enstaka vald Node." @@ -4190,6 +4262,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4230,6 +4318,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Visa" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Visa" + +#: 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 "" @@ -4413,10 +4515,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4434,15 +4532,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4505,10 +4603,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4799,12 +4893,14 @@ msgstr "Sortera" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Move Up" msgstr "Flytta Upp" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp #, fuzzy msgid "Move Down" msgstr "Flytta Ner" @@ -4823,7 +4919,7 @@ msgstr "FöregÃ¥ende Skript" msgid "File" msgstr "Fil" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Ny" @@ -4836,6 +4932,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Kopiera Sökvägen" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -5038,11 +5139,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -5392,6 +5489,15 @@ msgstr "FPS" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +#, fuzzy +msgid "No parent to instance a child at." +msgstr "Ingen förälder att instansiera ett barn till." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "" @@ -5499,6 +5605,18 @@ 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 #, fuzzy msgid "Bottom View" msgstr "Vy underifrÃ¥n" @@ -5578,10 +5696,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5623,6 +5737,10 @@ msgid "Settings" msgstr "Inställningar" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -6021,6 +6139,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Skapa frÃ¥n Scen" @@ -6033,6 +6156,11 @@ msgstr "" msgid "Error" msgstr "Fel" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +#, fuzzy +msgid "Cancel" +msgstr "Avbryt" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -6157,10 +6285,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp #, fuzzy msgid "It would be a good idea to name your project." msgstr "Det vore en bra idé att namnge ditt projekt." @@ -6440,7 +6564,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6509,6 +6633,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6696,6 +6824,10 @@ msgid "New Script" msgstr "Nytt Skript" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6730,6 +6862,10 @@ msgstr "" msgid "On" msgstr "PÃ¥" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6738,11 +6874,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -#, fuzzy -msgid "Sections:" -msgstr "Sektioner:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -7343,6 +7474,10 @@ msgstr "" msgid "Shortcuts" msgstr "Genvägar" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -7391,16 +7526,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Flytta nuvarande spÃ¥r upp." + +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "Bibliotek" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "Bibliotek" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Status" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Libraries: " msgstr "Bibliotek: " @@ -8103,6 +8277,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin kräver en ARVRCamera Barn-Node" +#: 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_polygon.cpp #, fuzzy msgid "" @@ -8140,10 +8330,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -8199,11 +8385,6 @@ msgstr "Lägg till nuvarande färg som en förinställning" #: scene/gui/dialogs.cpp #, fuzzy -msgid "Cancel" -msgstr "Avbryt" - -#: scene/gui/dialogs.cpp -#, fuzzy msgid "Alert!" msgstr "Varning!" @@ -8268,3 +8449,17 @@ msgstr "Fel vid laddning av font." #, fuzzy msgid "Invalid font size." msgstr "Ogiltig teckenstorlek." + +#~ msgid "Move Add Key" +#~ msgstr "Flytta Lägg Till Nyckel" + +#, fuzzy +#~ msgid "Create Subscription" +#~ msgstr "Skapa Prenumeration" + +#~ msgid "List:" +#~ msgstr "Lista:" + +#, fuzzy +#~ msgid "Sections:" +#~ msgstr "Sektioner:" diff --git a/editor/translations/ta.po b/editor/translations/ta.po new file mode 100644 index 0000000000..25a38597f4 --- /dev/null +++ b/editor/translations/ta.po @@ -0,0 +1,7791 @@ +# Tamil translation of the Godot Engine editor +# Copyright (C) 2007-2017 Juan Linietsky, Ariel Manzur +# Copyright (C) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) +# This file is distributed under the same license as the Godot source code. +# +# Senthil Kumar K <logickumar@gmail.com>, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" +"Last-Translator: Senthil Kumar K <logickumar@gmail.com>\n" +"Language-Team: Tamil <https://hosted.weblate.org/projects/godot-engine/godot/" +"ta/>\n" +"Language: ta\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 2.18\n" + +#: editor/animation_editor.cpp +msgid "Disabled" +msgstr "à®®à¯à®Ÿà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯" + +#: editor/animation_editor.cpp +msgid "All Selection" +msgstr "அனைதà¯à®¤à¯ தேரà¯à®µà¯à®•ளà¯" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "மாறà¯à®± மதிபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "மாறà¯à®±à®®à¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "உரà¯à®®à®¾à®±à¯à®±à®®à¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "மாறà¯à®± மதிபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "மாறà¯à®± அழைபà¯à®ªà¯ அசைவூடà¯à®Ÿà¯" + +#: editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை சேரà¯" + +#: editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "அசைவூடà¯à®Ÿà¯ போலிபசà¯à®šà®¾à®µà®¿à®•ளà¯" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "அசைவூடà¯à®Ÿà¯ பாதையை மேலே நகரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "அசைவூடà¯à®Ÿà¯ பாதையை கீழே நகரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "அசைவூடà¯à®Ÿà¯ பாதையை நீகà¯à®•à¯" + +#: editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "மாறà¯à®±à®™à¯à®•ளை இதறà¯à®•௠அமை:" + +#: editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "அசைவூடà¯à®Ÿà¯ பாதைகà¯à®•௠மறà¯à®ªà¯†à®¯à®°à¯ இடà¯" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை [interpolation]யை மாறà¯à®±à¯" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை மதிபà¯à®ªà¯[value] விதம௠மாறà¯à®±à¯" + +#: editor/animation_editor.cpp +msgid "Anim Track Change Wrap Mode" +msgstr "அசைவூடà¯à®Ÿà¯ பாதை மறை[wrap] விதம௠மாறà¯à®±à¯" + +#: editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "கண௠வளைவை[Node Curve] திரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "தேரà¯à®µà¯ வளைவை [Selection Curve] திரà¯à®¤à¯à®¤à¯" + +#: editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/tile_map_editor_plugin.cpp +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp +#: editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: editor/animation_editor.cpp editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: editor/animation_editor.cpp editor/create_dialog.cpp +#: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +#: editor/plugins/mesh_instance_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp editor/project_manager.cpp +#: editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Select an AnimationPlayer from the Scene Tree to edit animations." +msgstr "" + +#: editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replaced %d occurrence(s)." +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: editor/code_editor.cpp 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/project_settings_editor.cpp +msgid "Search" +msgstr "" + +#: editor/code_editor.cpp editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom In" +msgstr "" + +#: editor/code_editor.cpp +msgid "Zoom Out" +msgstr "" + +#: editor/code_editor.cpp +msgid "Reset Zoom" +msgstr "" + +#: editor/code_editor.cpp editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: editor/code_editor.cpp +msgid "Col:" +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/plugins/animation_tree_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/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 "Connecting Signal:" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Disconnect '%s' from '%s'" +msgstr "" + +#: editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: editor/connections_dialog.cpp +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: editor/connections_dialog.cpp editor/editor_help.cpp editor/node_dock.cpp +msgid "Signals" +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/editor_node.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Search:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: editor/create_dialog.cpp editor/editor_help.cpp +#: editor/plugins/asset_library_editor_plugin.cpp editor/property_selector.cpp +#: editor/script_editor_debugger.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_manager.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.cpp editor/editor_node.cpp editor/filesystem_dock.cpp +#: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp +#: editor/quick_open.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 +msgid "Cannot remove:\n" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: editor/dependency_editor.cpp +msgid "Scene failed to load 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/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 "Thanks!" +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 editor/project_manager.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 editor/project_manager.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/tile_map_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 "Create a new Bus Layout." +msgstr "" + +#: editor/editor_audio_buses.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 +#: editor/plugins/animation_player_editor_plugin.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_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 "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 +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 editor/editor_file_dialog.cpp +#: scene/gui/file_dialog.cpp +msgid "Path:" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Node Name:" +msgstr "" + +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp +msgid "Name" +msgstr "" + +#: editor/editor_autoload_settings.cpp +msgid "Singleton" +msgstr "" + +#: editor/editor_data.cpp +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 +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 "Packing" +msgstr "" + +#: editor/editor_export.cpp platform/javascript/export/export.cpp +msgid "Template file not found:\n" +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 Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_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/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 scene/gui/file_dialog.cpp +msgid "Go to parent folder" +msgstr "" + +#: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/script_editor_debugger.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/editor_node.cpp +#: editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: editor/editor_help.cpp editor/property_editor.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 "Members" +msgstr "" + +#: editor/editor_help.cpp modules/visual_script/visual_script_editor.cpp +msgid "Members:" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items" +msgstr "" + +#: editor/editor_help.cpp +msgid "GUI Theme Items:" +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 "Description" +msgstr "" + +#: editor/editor_help.cpp +msgid "Properties" +msgstr "" + +#: editor/editor_help.cpp +msgid "Property Description:" +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 "Methods" +msgstr "" + +#: editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: editor/editor_help.cpp +msgid "" +"There is currently no description for this method. Please help us by [color=" +"$color][url=$url]contributing one[/url][/color]!" +msgstr "" + +#: editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: editor/editor_log.cpp +msgid "Output:" +msgstr "" + +#: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/property_editor.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_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Error saving resource!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp +msgid "Save Resource As.." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "I see.." +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 +msgid "Can't open '%s'." +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 "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: editor/editor_node.cpp +msgid "Failed to load resource." +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 "Expand all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Collapse all properties" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: editor/editor_node.cpp +msgid "Open in Help" +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 "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' 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 editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "Ugh" +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 +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 +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 +msgid "Run Script" +msgstr "" + +#: editor/editor_node.cpp editor/project_export.cpp +msgid "Export" +msgstr "" + +#: editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.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 editor/project_export.cpp +msgid "Manage Export Templates" +msgstr "" + +#: editor/editor_node.cpp +msgid "Help" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Classes" +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 +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 "Spins when the editor window repaints!" +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 +msgid "Inspector" +msgstr "" + +#: editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: editor/editor_node.cpp +msgid "Changes may be lost!" +msgstr "" + +#: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: editor/editor_node.cpp +msgid "Node" +msgstr "" + +#: editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: editor/editor_node.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 "Installed Plugins:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: editor/editor_plugin_settings.cpp +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Version:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Start Profiling" +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 editor/script_editor_debugger.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_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_settings.cpp +msgid "Default (Same as Editor)" +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 +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." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "" +"Invalid version.txt format inside templates. Revision is not a valid " +"identifier." +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:\n" +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 "Can't write file." +msgstr "" + +#: editor/export_template_manager.cpp +msgid "Download Complete." +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: " +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 "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 "" +"\n" +"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.\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error moving:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Unable to update dependencies:\n" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Provided name contains invalid characters" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "No name provided." +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 "Expand all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Collapse all" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Rename.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move To.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Open Scene(s)" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Instance" +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "View Owners.." +msgstr "" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +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 folder status as Favorite" +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.." +msgstr "" + +#: editor/filesystem_dock.cpp +msgid "Move" +msgstr "" + +#: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp +#: editor/project_manager.cpp +msgid "Rename" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: editor/groups_editor.cpp +msgid "Remove from Group" +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/cube_grid_theme_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/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Insert Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +#: editor/plugins/collision_polygon_editor_plugin.cpp +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Create a new polygon from scratch" +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "" +"Edit existing polygon:\n" +"LMB: Move Point.\n" +"Ctrl+LMB: Split Segment.\n" +"RMB: Erase Point." +msgstr "" + +#: editor/plugins/abstract_polygon_2d_editor.cpp +msgid "Delete points" +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 "ERROR: Invalid animation name!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: 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 +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add 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 "ERROR: No animation to copy!" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: 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 "ERROR: 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 "Create new animation in player." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +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 "Edit Target Blend Times" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +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 "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/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_player_editor_plugin.cpp +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +#: editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: editor/plugins/asset_library_editor_plugin.cpp +msgid "Free" +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 "Fetching:" +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 "prev" +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 +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 +msgid "Preview" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +#: editor/plugins/polygon_2d_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 Pivot" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +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 "Edit IK Chain" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +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 "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 +#: 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 "Toggles 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 +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 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 "Make Bones" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +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 +#: 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 "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" +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 "Drag pivot from mouse position" +msgstr "" + +#: editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set pivot at mouse position" +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 +#: 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 +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +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 Poly3D" +msgstr "" + +#: editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +#: editor/plugins/theme_editor_plugin.cpp +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +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 "Add/Remove Color Ramp Point" +msgstr "" + +#: editor/plugins/gradient_editor_plugin.cpp +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +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 "" +"No OccluderPolygon2D resource on this node.\n" +"Create and assign one?" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "RMB: Erase Point." +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 +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 "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/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_mesh_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Bake the navigation mesh.\n" +msgstr "" + +#: editor/plugins/navigation_mesh_editor_plugin.cpp +msgid "Clear the navigation mesh." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Setting up Configuration..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Calculating grid size..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Marking walkable triangles..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Constructing compact heightfield..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Eroding walkable area..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Partitioning..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating contours..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Creating polymesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Converting to native navigation mesh..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Navigation Mesh Generator Setup:" +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Parsing Geometry..." +msgstr "" + +#: editor/plugins/navigation_mesh_generator.cpp +msgid "Done!" +msgstr "" + +#: editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: editor/plugins/particles_2d_editor_plugin.cpp +#: editor/plugins/particles_editor_plugin.cpp +msgid "Generating AABB" +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 "Generate Visibility Rect" +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 "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 "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 "A processor material of type 'ParticlesMaterial' is required." +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 "Generate AABB" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Mesh" +msgstr "" + +#: editor/plugins/particles_editor_plugin.cpp +msgid "Create Emission Points From Node" +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 "Generate Visibility AABB" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Out-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove In-Control from Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +#: editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: editor/plugins/path_2d_editor_plugin.cpp +msgid "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 +#: 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 "Split Segment (in curve)" +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_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/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +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 +#: editor/plugins/script_text_editor.cpp +#: editor/plugins/shader_editor_plugin.cpp editor/project_manager.cpp +#: editor/project_settings_editor.cpp editor/property_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit" +msgstr "" + +#: editor/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 +#: 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/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 +#: editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: editor/plugins/resource_preloader_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 "Paste" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "Clear Recent Files" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "" +"Close and save changes?\n" +"\"" +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 "Import Theme" +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 "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 "New" +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 Prev" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp +msgid "History Next" +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 "Save Theme As" +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.." +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 "Search the class hierarchy." +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 "Create Script" +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 "" +"Built-in scripts can only be edited when the scene they belong to is loaded" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Only resources from filesystem can be dropped." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Pick Color" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert Case" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Capitalize" +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 +#: 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/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 "Clone Down" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold/Unfold Line" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Fold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Unfold All Lines" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Complete Symbol" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "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 "Goto Next Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Uppercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Convert To Lowercase" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Find Previous" +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Replace.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Function.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Goto Line.." +msgstr "" + +#: editor/plugins/script_text_editor.cpp +msgid "Contextual Help" +msgstr "" + +#: editor/plugins/shader_editor_plugin.cpp +msgid "Shader" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +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 "Bottom View." +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +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 "Rear" +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 "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 "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 "Objects Drawn" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Material Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Shader Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Surface Changes" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Draw Calls" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Vertices" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "FPS" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 +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 "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 "preview" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp +msgid "Select Mode (Q)\n" +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 "Configure Snap.." +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 "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 "Skeleton Gizmo visibility" +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/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 Loop" +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 "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/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Set Region Rect" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap Mode:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.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 "Separation:" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region" +msgstr "" + +#: editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +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 +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +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 "Has" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp +msgid "Options" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,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 editor/project_settings_editor.cpp +#: editor/scene_tree_editor.cpp editor/script_editor_debugger.cpp +msgid "Type:" +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 +msgid "Style" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase 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 "Erase selection" +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 "Rotate 0 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +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 "Tile Set" +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 editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +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 "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 "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 "Export PCK/Zip" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing:" +msgstr "" + +#: editor/project_export.cpp +msgid "Export templates for this platform are missing/corrupted:" +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 "Please choose a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "" +"Your project will be created in a non empty folder (you might want to create " +"a new folder)." +msgstr "" + +#: editor/project_manager.cpp +msgid "Please choose a folder that does not contain a 'project.godot' file." +msgstr "" + +#: editor/project_manager.cpp +msgid "Imported Project" +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 get project.godot in project path." +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 "Couldn't get project.godot in the project path." +msgstr "" + +#: editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Install Project:" +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 "Browse" +msgstr "" + +#: editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Can't open project" +msgstr "" + +#: editor/project_manager.cpp +msgid "Are you sure to open more than one project?" +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 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 (anything goes but '/' 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 "Add Input Action Event" +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 "Button 6" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 7" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 8" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Button 9" +msgstr "" + +#: editor/project_settings_editor.cpp +#: modules/visual_script/visual_script_editor.cpp +msgid "Change" +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 "Device" +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 "Can't 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 editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Override For.." +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Input Map" +msgstr "" + +#: editor/project_settings_editor.cpp +msgid "Action:" +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 "Pick a Viewport" +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 "New Script" +msgstr "" + +#: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Make Unique" +msgstr "" + +#: editor/property_editor.cpp +msgid "Show in File System" +msgstr "" + +#: editor/property_editor.cpp +msgid "Convert To %s" +msgstr "" + +#: editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Selected node is not a Viewport!" +msgstr "" + +#: editor/property_editor.cpp +msgid "Pick a Node" +msgstr "" + +#: editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: editor/property_editor.cpp +msgid "On" +msgstr "" + +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + +#: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp +msgid "Set" +msgstr "" + +#: editor/property_editor.cpp +msgid "Properties:" +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/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 editor/script_create_dialog.cpp +#: scene/gui/dialogs.cpp +msgid "OK" +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 "Ok" +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 "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 "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 "Editable Children" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Load As Placeholder" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Discard Instancing" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Makes Sense!" +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 "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 editor/scene_tree_editor.cpp +msgid "Open in Editor" +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 "Instance Child Scene" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Attach Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Clear Script" +msgstr "" + +#: editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: editor/scene_tree_dock.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 "Filter nodes" +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_dock.cpp +msgid "Clear!" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem 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 +msgid "Instance:" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "Open script" +msgstr "" + +#: editor/scene_tree_editor.cpp +msgid "" +"Node is locked.\n" +"Click to unlock" +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 "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 "Path 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 "Warning" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Pick one or more items from the list to display the graph." +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Child Process Connected" +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 "Variable" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +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 "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 Sphere Shape Radius" +msgstr "" + +#: editor/spatial_editor_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 Ray Shape Length" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Particles AABB" +msgstr "" + +#: editor/spatial_editor_gizmos.cpp +msgid "Change Probe Extents" +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 +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gdscript_functions.cpp modules/mono/glue/glue_header.h +#: modules/visual_script/visual_script_builtin_funcs.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +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 "GridMap Delete Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "GridMap Duplicate Selection" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Floor:" +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 "Previous Floor" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Next Floor" +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 "GridMap Settings" +msgstr "" + +#: modules/gridmap/grid_map_editor_plugin.cpp +msgid "Pick Distance:" +msgstr "" + +#: modules/mono/editor/mono_bottom_panel.cpp +msgid "Builds" +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 "Functions:" +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 "Add Node" +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 "Condition" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Sequence" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Switch" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Iterator" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "While" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Return" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Call" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Get" +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 "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 "Edit Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Variable" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Edit Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Remove Signal" +msgstr "" + +#: modules/visual_script/visual_script_editor.cpp +msgid "Editing Variable:" +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 "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_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 "" + +#: 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:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not open template for export:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Invalid export template:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read custom HTML shell:\n" +msgstr "" + +#: platform/javascript/export/export.cpp +msgid "Could not read boot splash image file:\n" +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_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/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 scene/3d/particles.cpp +msgid "" +"A material to process the particles is not assigned, so no behavior is " +"imprinted." +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 overriden " +"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/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 "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_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/gi_probe.cpp +msgid "Plotting Meshes" +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 "" +"Nothing is visible because meshes have not been assigned to draw passes." +msgstr "" + +#: scene/3d/physics_body.cpp +msgid "" +"Size changes to RigidBody (in character or rigid modes) will be overriden 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/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +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/gui/color_picker.cpp +msgid "Raw Mode" +msgstr "" + +#: scene/gui/color_picker.cpp +msgid "Add current color as a preset" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Select this 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/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 Setings (Rendering -> Viewport -" +"> 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 "" + +#~ msgid "Move Add Key" +#~ msgstr "சேர௠மà¯à®•à¯à®•ியபà¯à®ªà¯à®³à¯à®³à®¿à®¯à¯ˆ நகரà¯à®¤à¯à®¤à¯" diff --git a/editor/translations/th.po b/editor/translations/th.po index 3fdfb40961..ccce3e16f9 100644 --- a/editor/translations/th.po +++ b/editor/translations/th.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 13:50+0000\n" +"PO-Revision-Date: 2017-12-03 07:50+0000\n" "Last-Translator: Kaveeta Vivatchai <katviv@protonmail.com>\n" "Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/" "th/>\n" @@ -28,8 +28,9 @@ msgid "All Selection" msgstr "เลืà¸à¸à¸—ั้งหมด" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "เลื่à¸à¸™à¸«à¸£à¸·à¸à¹€à¸žà¸´à¹ˆà¸¡à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "à¹à¸à¹‰à¹„ขค่าà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -40,7 +41,8 @@ msgid "Anim Change Transform" msgstr "เคลื่à¸à¸™à¸¢à¹‰à¸²à¸¢à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "à¹à¸à¹‰à¹„ขค่าà¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/animation_editor.cpp @@ -532,8 +534,9 @@ msgid "Connecting Signal:" msgstr "เชื่à¸à¸¡à¹‚ยงสัà¸à¸à¸²à¸“:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "สร้างà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "เชื่à¸à¸¡ '%s' à¸à¸±à¸š '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -549,7 +552,8 @@ msgid "Signals" msgstr "สัà¸à¸à¸²à¸“" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "สร้างใหม่" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -564,7 +568,7 @@ msgstr "ล่าสุด:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "ค้นหา:" @@ -605,6 +609,7 @@ msgstr "" "à¸à¸²à¸£à¹à¸à¹‰à¹„ขจะไม่ส่งผลจนà¸à¸§à¹ˆà¸²à¸ˆà¸°à¹‚หลดใหม่" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "à¸à¸²à¸£à¸à¹‰à¸²à¸‡à¸à¸´à¸‡" @@ -707,9 +712,10 @@ msgid "Delete selected files?" msgstr "ลบไฟล์ที่เลืà¸à¸?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "ลบ" @@ -844,13 +850,18 @@ msgstr "ลำโพง" #: editor/editor_audio_buses.cpp msgid "Add Effect" -msgstr "เพิ่มเà¸à¸Ÿà¹€à¸Ÿà¸à¸•์" +msgstr "เà¸à¸Ÿà¹€à¸Ÿà¸à¸•์" #: editor/editor_audio_buses.cpp msgid "Rename Audio Bus" msgstr "เปลี่ยนชื่ภAudio Bus" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "สลับ Solo ขà¸à¸‡ Audio Bus" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "สลับ Solo ขà¸à¸‡ Audio Bus" @@ -880,7 +891,7 @@ msgstr "ลบเà¸à¸Ÿà¹€à¸Ÿà¸à¸•์เสียง" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "Audio Bus, ลาà¸à¹à¸¥à¸°à¸§à¸²à¸‡à¹€à¸žà¸·à¹ˆà¸à¸¢à¹‰à¸²à¸¢à¸•ำà¹à¸«à¸™à¹ˆà¸‡" +msgstr "Audio Bus ลาà¸à¹à¸¥à¸°à¸§à¸²à¸‡à¹€à¸žà¸·à¹ˆà¸à¸¢à¹‰à¸²à¸¢à¸•ำà¹à¸«à¸™à¹ˆà¸‡" #: editor/editor_audio_buses.cpp msgid "Solo" @@ -898,8 +909,8 @@ msgstr "ข้าม" msgid "Bus options" msgstr "ตัวเลืà¸à¸ Bus" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "ทำซ้ำ" @@ -912,6 +923,10 @@ msgid "Delete Effect" msgstr "ลบเà¸à¸Ÿà¹€à¸Ÿà¸à¸•์" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "เพิ่ม Audio Bus" @@ -953,7 +968,7 @@ msgstr "ไม่พบไฟล์ 'res://default_bus_layout.tres'" #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "ไฟล์ไม่ถูà¸à¸•้à¸à¸‡, ไม่ใช่เลย์เà¸à¸²à¸•์ขà¸à¸‡ Audio Bus" +msgstr "ไฟล์ไม่ถูà¸à¸•้à¸à¸‡ ไม่ใช่เลย์เà¸à¸²à¸•์ขà¸à¸‡ Audio Bus" #: editor/editor_audio_buses.cpp msgid "Add Bus" @@ -1062,7 +1077,8 @@ msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡:" msgid "Node Name:" msgstr "ชื่à¸à¹‚หนด:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "ชื่à¸" @@ -1070,10 +1086,6 @@ msgstr "ชื่à¸" msgid "Singleton" msgstr "ซิงเà¸à¸´à¸¥à¸•ัน" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "รายชื่à¸:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "à¸à¸±à¸žà¹€à¸”ทฉาà¸" @@ -1086,6 +1098,15 @@ msgstr "เà¸à¹‡à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸ ายใน.." msgid "Updating scene.." msgstr "à¸à¸±à¸žà¹€à¸”ทฉาà¸.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(ว่างเปล่า)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "à¸à¸£à¸¸à¸“าเลืà¸à¸à¹‚ฟลเดà¸à¸£à¹Œà¹€à¸£à¸´à¹ˆà¸¡à¸•้นà¸à¹ˆà¸à¸™" @@ -1132,9 +1153,24 @@ msgid "File Exists, Overwrite?" msgstr "มีไฟล์นี้à¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ จะเขียนทับหรืà¸à¹„ม่?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "สร้างโฟลเดà¸à¸£à¹Œ" +msgstr "เลืà¸à¸à¹‚ฟลเดà¸à¸£à¹Œà¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "คัดลà¸à¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "รีเฟรช" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1183,10 +1219,6 @@ msgid "Go Up" msgstr "ขึ้นบน" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "รีเฟรช" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "เปิด/ปิดไฟล์ที่ซ่à¸à¸™" @@ -1362,7 +1394,8 @@ msgstr "ข้à¸à¸„วาม:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "ลบ" @@ -1512,14 +1545,12 @@ msgstr "" "à¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸¥à¸°à¹€à¸à¸µà¸¢à¸”เพิ่มเติมได้จาà¸à¸„ู่มืà¸à¹ƒà¸™à¸ªà¹ˆà¸§à¸™à¸‚à¸à¸‡à¸à¸²à¸£à¹à¸à¹‰à¹„ขจุดบà¸à¸žà¸£à¹ˆà¸à¸‡" #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "ขยายโฟลเดà¸à¸£à¹Œ" +msgstr "ขยายคุณสมบัติทั้งหมด" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "ยุบโฟลเดà¸à¸£à¹Œ" +msgstr "ยุบคุณสมบัติทั้งหมด" #: editor/editor_node.cpp msgid "Copy Params" @@ -2281,6 +2312,16 @@ msgstr "ตัวเà¸à¸‡" msgid "Frame #:" msgstr "เฟรมที่:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "เวลา:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "เรียà¸" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "เลืà¸à¸à¸à¸¸à¸›à¸à¸£à¸“์จาà¸à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸" @@ -2418,7 +2459,8 @@ msgstr "ไม่มีà¸à¸²à¸£à¸•à¸à¸šà¸à¸¥à¸±à¸š" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "ร้à¸à¸‡à¸‚à¸à¸œà¸´à¸”พลาด" #: editor/export_template_manager.cpp @@ -2465,7 +2507,8 @@ msgid "Connecting.." msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•่à¸.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "เชื่à¸à¸¡à¸•่à¸à¹„ม่ได้" #: editor/export_template_manager.cpp @@ -2558,6 +2601,11 @@ msgid "Error moving:\n" msgstr "ผิดพลาดขณะย้าย:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "ผิดพลาดขณะโหลด:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "ไม่สามารถà¸à¸±à¸žà¹€à¸”ทà¸à¸²à¸£à¸à¹‰à¸²à¸‡à¸à¸´à¸‡:\n" @@ -2590,6 +2638,16 @@ msgid "Renaming folder:" msgstr "เปลี่ยนชื่à¸à¹‚ฟลเดà¸à¸£à¹Œ:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "ทำซ้ำ" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "เปลี่ยนชื่à¸à¹‚ฟลเดà¸à¸£à¹Œ:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "ขยายโฟลเดà¸à¸£à¹Œ" @@ -2598,10 +2656,6 @@ msgid "Collapse all" msgstr "ยุบโฟลเดà¸à¸£à¹Œ" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "คัดลà¸à¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "เปลี่ยนชื่à¸.." @@ -2610,12 +2664,9 @@ msgid "Move To.." msgstr "ย้ายไป.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "สร้างโฟลเดà¸à¸£à¹Œ.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "à¹à¸ªà¸”งในตัวจัดà¸à¸²à¸£à¹„ฟล์" +#, fuzzy +msgid "Open Scene(s)" +msgstr "เปิดไฟล์ฉาà¸" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2630,6 +2681,11 @@ msgid "View Owners.." msgstr "ดูเจ้าขà¸à¸‡.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ทำซ้ำ" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "โฟลเดà¸à¸£à¹Œà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" @@ -2724,6 +2780,16 @@ msgid "Importing Scene.." msgstr "à¸à¸³à¸¥à¸±à¸‡à¸™à¸³à¹€à¸‚้าฉาà¸.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "ส่งผ่านไปยัง Lightmaps:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "สร้างเส้นà¸à¸£à¸à¸š" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸ªà¸„ริปต์.." @@ -2969,54 +3035,51 @@ msgstr "คัดลà¸à¸à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "ภาพเงาà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¹„หว" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "เปิดภาพเงาà¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¹„หว" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "หัวข้à¸:" +msgstr "ทิศทาง" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "วาง" +msgstr "à¸à¸”ีต" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "ฟีเจà¸à¸£à¹Œ" +msgstr "à¸à¸™à¸²à¸„ต" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "ความลึà¸" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 ระดับ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 ระดับ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 ระดับ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "เฉพาะที่à¹à¸•à¸à¸•่าง" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "บังคับระดับสีขาว" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "รวมสัà¸à¸¥à¸±à¸à¸©à¸“์ (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3293,6 +3356,7 @@ msgid "last" msgstr "ท้ายสุด" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "ทั้งหมด" @@ -3334,6 +3398,28 @@ msgstr "ทดสà¸à¸š" msgid "Assets ZIP File" msgstr "ไฟล์ ZIP" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "ส่งผ่านไปยัง Lightmaps:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "ตัวà¸à¸¢à¹ˆà¸²à¸‡" @@ -3470,7 +3556,6 @@ msgid "Toggles snapping" msgstr "เปิด/ปิด à¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "จำà¸à¸±à¸”à¸à¸²à¸£à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢" @@ -3650,16 +3735,6 @@ msgstr "ผิดพลาดขณะà¸à¸´à¸™à¸ªà¹à¸•นซ์ฉาà¸à¸ˆà¸² #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "ตà¸à¸¥à¸‡ :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ไม่พบโหนดà¹à¸¡à¹ˆà¸—ี่จะรับà¸à¸´à¸™à¸ªà¹à¸•นซ์โหนดลูà¸" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "ต้à¸à¸‡à¹€à¸¥à¸·à¸à¸à¹€à¸žà¸µà¸¢à¸‡à¹‚หนดเดียว" @@ -3855,6 +3930,22 @@ msgid "Create Navigation Mesh" msgstr "สร้าง Mesh นำทาง" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance ไม่มี Mesh!" @@ -3895,6 +3986,20 @@ msgid "Create Outline Mesh.." msgstr "สร้างเส้นขà¸à¸š Mesh.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "มุมมà¸à¸‡" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "สร้างเส้นขà¸à¸š Mesh" @@ -4071,10 +4176,6 @@ msgid "Create Navigation Polygon" msgstr "สร้างรูปทรงนำทาง" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "ลบ Mask à¸à¸²à¸£à¸›à¸¥à¹ˆà¸à¸¢" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "สร้างเส้นà¸à¸£à¸à¸š" @@ -4092,10 +4193,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "รูปไม่มีพิà¸à¹€à¸‹à¸¥à¹ƒà¸”ที่ความโปร่งà¹à¸ªà¸‡ > 128 .." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "à¸à¸³à¸«à¸™à¸” Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "สร้างà¸à¸£à¸à¸šà¸à¸²à¸£à¸¡à¸à¸‡à¹€à¸«à¹‡à¸™" @@ -4104,6 +4201,10 @@ msgid "Load Emission Mask" msgstr "โหลด Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "ลบ Mask à¸à¸²à¸£à¸›à¸¥à¹ˆà¸à¸¢" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "à¸à¸™à¸¸à¸ าค" @@ -4162,10 +4263,6 @@ msgid "Create Emission Points From Node" msgstr "สร้างจุดปะทุจาà¸à¹‚หนด" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "ลบตัวปะทุ" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "สร้างตัวปะทุ" @@ -4450,11 +4547,13 @@ 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 "ย้ายลง" @@ -4470,7 +4569,7 @@ msgstr "สคริปต์à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" msgid "File" msgstr "ไฟล์" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "ไฟล์ใหม่" @@ -4483,6 +4582,11 @@ msgid "Soft Reload Script" msgstr "โหลดสคริปต์ใหม่" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "คัดลà¸à¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "ประวัติà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" @@ -4671,11 +4775,8 @@ msgid "Clone Down" msgstr "คัดลà¸à¸à¸šà¸£à¸£à¸—ัดลงมา" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "ซ่à¸à¸™" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "à¹à¸ªà¸”ง" #: editor/plugins/script_text_editor.cpp @@ -5003,6 +5104,14 @@ msgstr "เฟรมต่à¸à¸§à¸´à¸™à¸²à¸—ี" msgid "Align with view" msgstr "ย้ายมาที่à¸à¸¥à¹‰à¸à¸‡" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "à¹à¸ªà¸”งปà¸à¸•ิ" @@ -5110,6 +5219,20 @@ msgid "Scale Mode (R)" msgstr "โหมดปรับขนาด (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "พิà¸à¸±à¸”ภายใน" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "โหมดปรับขนาด (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "โหมดà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "มุมล่าง" @@ -5182,10 +5305,6 @@ msgid "Configure Snap.." msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "พิà¸à¸±à¸”ภายใน" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "เครื่à¸à¸‡à¸¡à¸·à¸à¹€à¸„ลื่à¸à¸™à¸¢à¹‰à¸²à¸¢.." @@ -5227,6 +5346,10 @@ msgid "Settings" msgstr "ตัวเลืà¸à¸" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "ตั้งค่าà¸à¸²à¸£à¸ˆà¸³à¸à¸±à¸”" @@ -5609,6 +5732,11 @@ msgid "Merge from scene?" msgstr "รวมจาà¸à¸‰à¸²à¸?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "สร้างจาà¸à¸‰à¸²à¸" @@ -5620,6 +5748,10 @@ msgstr "รวมจาà¸à¸‰à¸²à¸" msgid "Error" msgstr "ผิดพลาด" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "ยà¸à¹€à¸¥à¸´à¸" + #: editor/project_export.cpp msgid "Runnable" msgstr "รันได้" @@ -5737,10 +5869,6 @@ msgid "Imported Project" msgstr "นำเข้าโปรเจà¸à¸•์à¹à¸¥à¹‰à¸§" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "ควรตั้งชื่à¸à¹‚ปรเจà¸à¸•์" @@ -5896,6 +6024,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"คุณยังไม่มีโปรเจà¸à¸•์ใดๆ\n" +"ต้à¸à¸‡à¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸ˆà¹‚ปรเจà¸à¸•์ตัวà¸à¸¢à¹ˆà¸²à¸‡à¹ƒà¸™à¹à¸«à¸¥à¹ˆà¸‡à¸£à¸§à¸¡à¸—รัพยาà¸à¸£à¸«à¸£à¸·à¸à¹„ม่?" #: editor/project_settings_editor.cpp msgid "Key " @@ -6003,8 +6133,9 @@ msgid "Joypad Button Index:" msgstr "ปุ่มจà¸à¸¢:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "เพิ่มà¸à¸²à¸£à¸à¸£à¸°à¸—ำ" +#, fuzzy +msgid "Erase Input Action" +msgstr "ลบà¸à¸²à¸£à¸à¸£à¸°à¸—ำ" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6071,6 +6202,10 @@ msgid "Already existing" msgstr "มีà¸à¸¢à¸¹à¹ˆà¸à¹ˆà¸à¸™à¹à¸¥à¹‰à¸§" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "เพิ่มà¸à¸²à¸£à¸à¸£à¸°à¸—ำ" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "ผิดพลาดขณะบันทึà¸à¸„่า" @@ -6247,6 +6382,10 @@ msgid "New Script" msgstr "สคริปต์ใหม่" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "ไม่ใช้ร่วมà¸à¸±à¸šà¸§à¸±à¸•ถุà¸à¸·à¹ˆà¸™" @@ -6278,6 +6417,11 @@ msgstr "บิต %d, ค่า %d" msgid "On" msgstr "เปิด" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "เพิ่มà¹à¸šà¸šà¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "à¸à¸³à¸«à¸™à¸”" @@ -6286,10 +6430,6 @@ msgstr "à¸à¸³à¸«à¸™à¸”" msgid "Properties:" msgstr "คุณสมบัติ:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "หัวข้à¸:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "เลืà¸à¸à¸„ุณสมบัติ" @@ -6849,6 +6989,10 @@ msgstr "à¸à¸³à¸«à¸™à¸”จาà¸à¸œà¸±à¸‡" msgid "Shortcuts" msgstr "ทางลัด" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "ปรับรัศมีà¹à¸ªà¸‡" @@ -6897,15 +7041,55 @@ msgstr "เปลี่ยนเส้นà¸à¸£à¸à¸š Particles" msgid "Change Probe Extents" msgstr "à¹à¸à¹‰à¹„ขขนาด Probe" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "ลบจุดบนเส้นโค้ง" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "คัดลà¸à¸à¹„ปยังà¹à¸žà¸¥à¸•ฟà¸à¸£à¹Œà¸¡.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "ไลบรารี" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "ไลบรารี" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "สถานะ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "ไลบรารี: " @@ -7568,6 +7752,25 @@ msgstr "Anchor id ต้à¸à¸‡à¹„ม่เป็น 0 ไม่เช่นนภmsgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin ต้à¸à¸‡à¸¡à¸µ ARVRCamera เป็นโหนดลูà¸" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "วางà¹à¸™à¸§ meshes" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "วางà¹à¸™à¸§ meshes" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "เสร็จสิ้นà¸à¸²à¸£à¸§à¸²à¸‡à¹à¸™à¸§" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "วางà¹à¸™à¸§ meshes" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7600,10 +7803,6 @@ msgstr "ต้à¸à¸‡à¸¡à¸µà¸£à¸¹à¸›à¸—รงเพื่à¸à¹ƒà¸«à¹‰ CollisionSh msgid "Plotting Meshes" msgstr "วางà¹à¸™à¸§ meshes" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "เสร็จสิ้นà¸à¸²à¸£à¸§à¸²à¸‡à¹à¸™à¸§" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "ต้à¸à¸‡à¸¡à¸µ NavigationMesh เพื่à¸à¹ƒà¸«à¹‰à¹‚หนดนี้ทำงานได้" @@ -7660,10 +7859,6 @@ msgid "Add current color as a preset" msgstr "เพิ่มสีที่เลืà¸à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "ยà¸à¹€à¸¥à¸´à¸" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™!" @@ -7672,9 +7867,8 @@ msgid "Please Confirm..." msgstr "à¸à¸£à¸¸à¸“ายืนยัน..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "เลืà¸à¸à¹€à¸¡à¸—็à¸à¸”" +msgstr "เลืà¸à¸à¹‚ฟลเดà¸à¸£à¹Œà¸™à¸µà¹‰" #: scene/gui/popup.cpp msgid "" @@ -7734,6 +7928,30 @@ msgstr "ผิดพลาดขณะโหลดฟà¸à¸™à¸•์" msgid "Invalid font size." msgstr "ขนาดฟà¸à¸™à¸•์ผิดพลาด" +#~ msgid "Move Add Key" +#~ msgstr "เลื่à¸à¸™à¸«à¸£à¸·à¸à¹€à¸žà¸´à¹ˆà¸¡à¸„ีย์à¹à¸à¸™à¸´à¹€à¸¡à¸Šà¸±à¸™" + +#~ msgid "Create Subscription" +#~ msgstr "สร้างà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยง" + +#~ msgid "List:" +#~ msgstr "รายชื่à¸:" + +#~ msgid "Set Emission Mask" +#~ msgstr "à¸à¸³à¸«à¸™à¸” Mask à¸à¸²à¸£à¸›à¸°à¸—ุ" + +#~ msgid "Clear Emitter" +#~ msgstr "ลบตัวปะทุ" + +#~ msgid "Fold Line" +#~ msgstr "ซ่à¸à¸™" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "หัวข้à¸:" + #~ msgid "Cannot navigate to '" #~ msgstr "ไม่สามารถไปยัง '" @@ -8256,9 +8474,6 @@ msgstr "ขนาดฟà¸à¸™à¸•์ผิดพลาด" #~ msgid "Making BVH" #~ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡ BVH" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "ส่งผ่านไปยัง Lightmaps:" - #~ msgid "Allocating Texture #" #~ msgstr "จัดสรร Texture #" @@ -8404,9 +8619,6 @@ msgstr "ขนาดฟà¸à¸™à¸•์ผิดพลาด" #~ msgid "Del" #~ msgstr "ลบ" -#~ msgid "Copy To Platform.." -#~ msgstr "คัดลà¸à¸à¹„ปยังà¹à¸žà¸¥à¸•ฟà¸à¸£à¹Œà¸¡.." - #~ msgid "just pressed" #~ msgstr "เพิ่งà¸à¸”" diff --git a/editor/translations/tr.po b/editor/translations/tr.po index db92e63768..ce0ef645dc 100644 --- a/editor/translations/tr.po +++ b/editor/translations/tr.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-29 08:13+0000\n" +"PO-Revision-Date: 2017-12-04 20:50+0000\n" "Last-Translator: razah <icnikerazah@gmail.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/" "godot/tr/>\n" @@ -37,8 +37,9 @@ msgid "All Selection" msgstr "Tüm Seçim" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "Hareket Anahtar Ekle" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Animasyon DeÄŸiÅŸikliÄŸi DeÄŸeri" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -49,7 +50,8 @@ msgid "Anim Change Transform" msgstr "Animasyon DeÄŸiÅŸikliÄŸi Dönüşümü" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Animasyon DeÄŸiÅŸikliÄŸi DeÄŸeri" #: editor/animation_editor.cpp @@ -62,7 +64,7 @@ msgstr "Animasyon İz Ekle" #: editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "Animasyon Anahtarlrını ÇoÄŸalt" +msgstr "Animasyon Anahtarlarını ÇoÄŸalt" #: editor/animation_editor.cpp msgid "Move Anim Track Up" @@ -78,7 +80,7 @@ msgstr "Animasyon İzini Kaldır" #: editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "GeçiÅŸleri ÅŸuna ayarla:" +msgstr "GeçiÅŸleri Åžuna Ayarla:" #: editor/animation_editor.cpp msgid "Anim Track Rename" @@ -188,11 +190,11 @@ msgstr "GeçiÅŸler" #: editor/animation_editor.cpp msgid "Optimize Animation" -msgstr "Animasyonu İyileÅŸtir" +msgstr "Animasyonu EniyileÅŸtir" #: editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "Animasyonu Temizle" +msgstr "Animasyonda temizlik yap" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" @@ -335,7 +337,7 @@ msgstr "Ölçek Oranı:" #: editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "Hangi Düğümdeki Fonksiyonlar ÇaÄŸrılsın?" +msgstr "Hangi Düğümdeki İşlevler ÇaÄŸrılsın?" #: editor/animation_editor.cpp msgid "Remove invalid keys" @@ -363,7 +365,7 @@ msgstr "Diziyi Yeniden Boyutlandır" #: editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "Dizinin Türünü DeÄŸiÅŸtir" +msgstr "Dizi DeÄŸer Tipini DeÄŸiÅŸtir" #: editor/array_property_edit.cpp msgid "Change Array Value" @@ -395,11 +397,11 @@ msgstr "Tümünü DeÄŸiÅŸtir" #: editor/code_editor.cpp msgid "Match Case" -msgstr "Durumla EÅŸleÅŸtir" +msgstr "Büyük/Küçük Harf EÅŸleÅŸtir" #: editor/code_editor.cpp msgid "Whole Words" -msgstr "Tüm Sözcükler" +msgstr "Tam Kelimeler" #: editor/code_editor.cpp msgid "Selection Only" @@ -447,7 +449,7 @@ msgstr "Geç" #: editor/code_editor.cpp msgid "Zoom In" -msgstr "YaklaÅŸ" +msgstr "YaklaÅŸtır" #: editor/code_editor.cpp msgid "Zoom Out" @@ -467,19 +469,19 @@ msgstr "Sütun:" #: editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "Hedef Düğümdeki Fonksiyon tanımlanmış olmalı!" +msgstr "Hedef Düğümdeki Metot tanımlanmış olmalı!" #: editor/connections_dialog.cpp msgid "" "Target method not found! Specify a valid method or attach a script to target " "Node." msgstr "" -"Amaçlanan fonksiyon bulunamadı! Geçerli bir fonksiyon tanımla ya da " -"amaçlanan Düğüme bir betik iliÅŸtirin." +"Amaçlanan metot bulunamadı! Geçerli bir metot tanımla ya da amaçlanan düğüme " +"bir betik iliÅŸtirin." #: editor/connections_dialog.cpp msgid "Connect To Node:" -msgstr "Düğüme BaÄŸlan:" +msgstr "Düğüme BaÄŸla:" #: editor/connections_dialog.cpp editor/editor_autoload_settings.cpp #: editor/groups_editor.cpp editor/plugins/item_list_editor_plugin.cpp @@ -508,7 +510,7 @@ msgstr "Düğüm Yolu:" #: editor/connections_dialog.cpp msgid "Make Function" -msgstr "Fonksiyon Yap" +msgstr "İşlev Yap" #: editor/connections_dialog.cpp msgid "Deferred" @@ -545,8 +547,9 @@ msgid "Connecting Signal:" msgstr "BaÄŸlantı Sinyali:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Üyelik OluÅŸtur" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "Bunu '%s' ÅŸuna '%s' baÄŸla" #: editor/connections_dialog.cpp msgid "Connect.." @@ -562,7 +565,8 @@ msgid "Signals" msgstr "Sinyaller" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Yeni oluÅŸtur" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -577,7 +581,7 @@ msgstr "Yakın zamanda:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Ara:" @@ -618,8 +622,9 @@ msgstr "" "DeÄŸiÅŸiklikler yeniden yükleme yapılınca etkin olacak." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" -msgstr "Bağımlılık" +msgstr "Bağımlılıklar" #: editor/dependency_editor.cpp msgid "Resource" @@ -645,7 +650,7 @@ msgstr "Bağımlılık Düzenleyicisi" #: editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "DeÄŸiÅŸim Kaynağını Ara:" +msgstr "Yerine Geçecek Kaynak Ara:" #: editor/dependency_editor.cpp editor/editor_file_dialog.cpp #: editor/editor_help.cpp editor/editor_node.cpp editor/filesystem_dock.cpp @@ -656,11 +661,11 @@ msgstr "Aç" #: editor/dependency_editor.cpp msgid "Owners Of:" -msgstr "Bunun Sahibi:" +msgstr "Åžunların sahipleri:" #: editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" -msgstr "Seçili dosyaları projeden kaldır? (Geri alınamaz)" +msgstr "Seçili dosyaları projeden kaldır? (geri alınamaz)" #: editor/dependency_editor.cpp msgid "" @@ -669,7 +674,7 @@ msgid "" "Remove them anyway? (no undo)" msgstr "" "Kaldırılmakta olan dosyalar baÅŸka kaynakların çalışması için gerekli.\n" -"Yine de kaldırmak istiyor musunuz? (Geri alınamaz)" +"Yine de kaldırmak istiyor musunuz? (geri alınamaz)" #: editor/dependency_editor.cpp msgid "Cannot remove:\n" @@ -677,7 +682,7 @@ msgstr "Kaldırılamadı:\n" #: editor/dependency_editor.cpp msgid "Error loading:" -msgstr "Yüklerken sorun:" +msgstr "Yüklerken hata:" #: editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" @@ -697,7 +702,7 @@ msgstr "Bağımlılıkları düzelt" #: editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "Yükleme sorunları!" +msgstr "Yükleme hataları!" #: editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" @@ -720,15 +725,16 @@ msgid "Delete selected files?" msgstr "Seçili dosyalar silinsin mi?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Sil" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Key" -msgstr "Sözlükteki Anahtarı DeÄŸiÅŸtir" +msgstr "Sözlük Anahtarını DeÄŸiÅŸtir" #: editor/dictionary_property_edit.cpp msgid "Change Dictionary Value" @@ -865,6 +871,11 @@ msgid "Rename Audio Bus" msgstr "Audio Bus'ı Yeniden Adlandır" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Audio Bus'ı Solo Aç/Kapat" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Audio Bus'ı Solo Aç/Kapat" @@ -912,10 +923,10 @@ msgstr "Baypas" msgid "Bus options" msgstr "Bus ayarları" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "Kopyala" +msgstr "ÇoÄŸalt" #: editor/editor_audio_buses.cpp msgid "Reset Volume" @@ -926,6 +937,10 @@ msgid "Delete Effect" msgstr "Efekt'i Sil" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "Audio Bus Ekle" @@ -939,7 +954,7 @@ msgstr "Audio Bus'ı Sil" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "Audio Bus'ın Bir Kopyasını OluÅŸtur" +msgstr "Audio Bus'ı ÇoÄŸalt" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" @@ -1001,7 +1016,7 @@ msgstr "Varsayılanı Yükle" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "Varsayılan Bus YerleÅŸim Düzenini yükle." +msgstr "Varsayılan Bus YerleÅŸim Düzenini Yükle." #: editor/editor_autoload_settings.cpp msgid "Invalid name." @@ -1013,7 +1028,7 @@ msgstr "Geçerli damgalar:" #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." -msgstr "Geçersiz ad. Devinimcide kullanılan bölüt adları kullanılamaz." +msgstr "Geçersiz isim. Varolan bir motor sınıf ismi ile çakışmamalı." #: editor/editor_autoload_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." @@ -1076,7 +1091,8 @@ msgstr "Dosya yolu:" msgid "Node Name:" msgstr "Düğüm adı:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "Ad" @@ -1084,10 +1100,6 @@ msgstr "Ad" msgid "Singleton" msgstr "Tekil" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "Dizelge:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "Sahne Güncelleniyor" @@ -1100,30 +1112,39 @@ msgstr "Yerel deÄŸiÅŸiklikler kayıt ediliyor.." msgid "Updating scene.." msgstr "Sahne güncelleniyor.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(boÅŸ)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "Lütfen öncelikle bir taban dizini seçin" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "Dizin Seç" +msgstr "Bir Dizin Seç" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "Dizin OluÅŸtur" +msgstr "Klasör OluÅŸtur" #: 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 "Ad:" +msgstr "İsim:" #: 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 "Dizin oluÅŸturulamadı." +msgstr "Klasör oluÅŸturulamadı." #: editor/editor_dir_dialog.cpp msgid "Choose" @@ -1146,9 +1167,24 @@ msgid "File Exists, Overwrite?" msgstr "Dosya var. Üzerine Yazılsın mı?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Dizin OluÅŸtur" +msgstr "Geçerli Klasörü Seç" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Dosya Yolunu Tıpkıla" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Show In File Manager" +msgstr "Dosya Yöneticisinde Göster" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "Yeni Klasör.." + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "Yenile" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1168,7 +1204,7 @@ msgstr "Dosya(leri) Aç" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "Bir dizin aç" +msgstr "Bir Dizin Aç" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" @@ -1197,10 +1233,6 @@ msgid "Go Up" msgstr "Yukarı Git" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Yenile" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Gizli Dosyalari Aç / Kapat" @@ -1243,7 +1275,7 @@ msgstr "Dosya:" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Must use a valid extension." -msgstr "Gecerli bir uzantı kullanılmalı." +msgstr "Geçerli bir uzantı kullanılmalı." #: editor/editor_file_system.cpp msgid "ScanSources" @@ -1260,11 +1292,11 @@ msgstr "Yardım Ara" #: editor/editor_help.cpp msgid "Class List:" -msgstr "Bölüt Dizelgesi:" +msgstr "Sınıf Listesi:" #: editor/editor_help.cpp msgid "Search Classes" -msgstr "Bölütleri Ara" +msgstr "Sınıfları Ara" #: editor/editor_help.cpp editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -1272,7 +1304,7 @@ msgstr "Üst" #: editor/editor_help.cpp editor/property_editor.cpp msgid "Class:" -msgstr "Bölüt:" +msgstr "Sınıf:" #: editor/editor_help.cpp editor/scene_tree_editor.cpp msgid "Inherits:" @@ -1280,7 +1312,7 @@ msgstr "Kalıtçılar:" #: editor/editor_help.cpp msgid "Inherited by:" -msgstr "Tarafından kalıt alındı:" +msgstr "Åžundan miras alındı:" #: editor/editor_help.cpp msgid "Brief Description:" @@ -1300,7 +1332,7 @@ msgstr "Açık Metodlar" #: editor/editor_help.cpp msgid "Public Methods:" -msgstr "Açık Yöntemler:" +msgstr "Açık Metotlar:" #: editor/editor_help.cpp msgid "GUI Theme Items" @@ -1356,18 +1388,18 @@ msgstr "" #: editor/editor_help.cpp msgid "Methods" -msgstr "Metodlar" +msgstr "Metotlar" #: editor/editor_help.cpp msgid "Method Description:" -msgstr "Yöntem Açıklaması:" +msgstr "Metot Açıklaması:" #: 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 "" -"Bu metod için henüz bir açıklama yok. Bize [color=$color][url=$url]katkıda " +"Bu metot için henüz bir açıklama yok. Bize [color=$color][url=$url]katkıda " "bulunarak[/url][/color] yardım edebilirsiniz!" #: editor/editor_help.cpp @@ -1380,13 +1412,14 @@ msgstr "Çıktı:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "Temizle" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "Kaynak kaydedilirken sorun!" +msgstr "Kaynak kaydedilirken hata!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." @@ -1407,7 +1440,7 @@ msgstr "İstenilen dosya formatı bilinmiyor:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "Kaydedilirken sorun oluÅŸtu." +msgstr "Kaydedilirken hata oluÅŸtu." #: editor/editor_node.cpp msgid "Can't open '%s'." @@ -1452,7 +1485,7 @@ msgstr "Sahne kaydedilemedi. Anlaşılan bağımlılıklar (örnekler) karşıla #: editor/editor_node.cpp msgid "Failed to load resource." -msgstr "Kaynak yüklenirken sorun oluÅŸtu." +msgstr "Kaynak yükleme baÅŸarısız oldu." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -1460,7 +1493,7 @@ msgstr "BirleÅŸtirme için MeshLibrary yüklenemedi!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "MeshLibrary kayıt edilirken sorun!" +msgstr "MeshLibrary kaydedilirken hata!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" @@ -1468,15 +1501,15 @@ msgstr "TileSet birleÅŸtirme için yüklenemedi!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "TileSet kayıt edilirken sorun!" +msgstr "TileSet kaydedilirken hata!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "YerleÅŸim Düzeni kaydedilmeye çalışılırken sorun oluÅŸtu!" +msgstr "YerleÅŸim Düzeni kaydedilmeye çalışılırken hata!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "Önyüklü düzenleyici YerleÅŸim Düzeni geçersiz kılındı." +msgstr "Varsayılan düzenleyici yerleÅŸim düzeni geçersiz kılındı." #: editor/editor_node.cpp msgid "Layout name not found!" @@ -1484,7 +1517,7 @@ msgstr "YerleÅŸim Düzeni adı bulunamadı!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "Önyüklü YerleÅŸim Düzeni temel ayarlara onarıldı." +msgstr "Varsayılan yerleÅŸim düzeni temel ayarlarına geri döndürüldü." #: editor/editor_node.cpp msgid "" @@ -1537,14 +1570,12 @@ msgstr "" "aktarma kısmını okuyunuz." #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "Hepsini geniÅŸlet" +msgstr "Tüm özellikleri geniÅŸlet" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "Hepsini daralt" +msgstr "Tüm özellikleri daralt" #: editor/editor_node.cpp msgid "Copy Params" @@ -1776,9 +1807,8 @@ 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 "" -"Sahne yüklenirken sorun oluÅŸtu, sahne proje yolunun içinde olmalı. Sahneyi " -"açmak için 'İçe Aktar' seçeneÄŸini kullanın, ardından projenin yolunun içine " -"kaydedin." +"Sahne yükleme hatası, sahne proje yolunun içinde olmalı. Sahneyi açmak için " +"'İçe Aktar' seçeneÄŸini kullanın, ardından projenin yolunun içine kaydedin." #: editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" @@ -1863,7 +1893,7 @@ msgstr "Yeni Sahne" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "Yeni Kalıt Alınmış Sahne .." +msgstr "Yeni Miras Alınmış Sahne .." #: editor/editor_node.cpp msgid "Open Scene.." @@ -1945,14 +1975,14 @@ msgstr "Kusur Ayıkla" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "Uzaktan Sorun Ayıklama ile Dağıt" +msgstr "Uzaktan Hata Ayıklama ile Dağıt" #: 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 "" -"Verilen yürütülebilir dosya, dışa aktarılırken veya dağıtıldığında, sorun " +"Verilen yürütülebilir dosya, dışa aktarılırken veya dağıtıldığında, hata " "ayıklanacak ÅŸekilde bu bilgisayarın IP'sine baÄŸlanmaya çalışacaktır." #: editor/editor_node.cpp @@ -2040,7 +2070,7 @@ msgstr "Düzenleyici Ayarları" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "Düzenleyici YerleÅŸim Planı" +msgstr "Düzenleyici YerleÅŸim Düzeni" #: editor/editor_node.cpp msgid "Toggle Fullscreen" @@ -2056,7 +2086,7 @@ msgstr "Yardım" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" -msgstr "Bölütler" +msgstr "Sınıflar" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" @@ -2076,7 +2106,7 @@ msgstr "Topluluk" #: editor/editor_node.cpp msgid "About" -msgstr "İliÅŸkin" +msgstr "Hakkında" #: editor/editor_node.cpp msgid "Play the project." @@ -2225,7 +2255,7 @@ msgstr "Yeni Örnekleme" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "Sorunları Yükle" +msgstr "Hataları Yükle" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" @@ -2328,6 +2358,16 @@ msgstr "Kendi" msgid "Frame #:" msgstr "Kare #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "Süre:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Çağır" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "Listeden aygıt seç" @@ -2342,7 +2382,7 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "Mantığını _run() yöntemine yaz." +msgstr "Mantığınızı _run() metoduna yazın." #: editor/editor_run_script.cpp msgid "There is an edited scene already." @@ -2362,11 +2402,11 @@ msgstr "Betik çalıştırılamadı:" #: editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "'_run()' yöntemini unuttunuz mu?" +msgstr "'_run()' metodunu unuttunuz mu?" #: editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "Önyüklü(Düzenleyici ile aynı)" +msgstr "Varsayılan (Düzenleyici İle Aynı)" #: editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" @@ -2469,7 +2509,8 @@ msgstr "Cevap yok." #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "İstem BaÅŸarısız." #: editor/export_template_manager.cpp @@ -2516,7 +2557,8 @@ msgid "Connecting.." msgstr "BaÄŸlanılıyor.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "BaÄŸlanamadı" #: editor/export_template_manager.cpp @@ -2612,6 +2654,11 @@ msgid "Error moving:\n" msgstr "Taşıma Hatası:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Yüklerken hata:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "Bağımlılıklar güncellenemedi:\n" @@ -2641,7 +2688,17 @@ msgstr "Dosya yeniden-adlandırma:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "Klasör yeniden-adlandırma:" +msgstr "Klasör yeniden adlandırma:" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "ÇoÄŸalt" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "Klasör yeniden adlandırma:" #: editor/filesystem_dock.cpp msgid "Expand all" @@ -2652,10 +2709,6 @@ msgid "Collapse all" msgstr "Hepsini daralt" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "Dosya Yolunu Tıpkıla" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "Yeniden Adlandır.." @@ -2664,12 +2717,9 @@ msgid "Move To.." msgstr "Åžuraya Taşı.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "Yeni Klasör.." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "Dosya Yöneticisinde Göster" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Sahneyi Aç" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2684,6 +2734,11 @@ msgid "View Owners.." msgstr "Sahipleri Görüntüle.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "ÇoÄŸalt" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "Önceki Dizin" @@ -2697,7 +2752,7 @@ msgstr "Dosya Düzenini Yeniden Tara" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "Dizin Durumlarını BeÄŸenilen Olarak Aç/Kapat" +msgstr "Klasör durumunu BeÄŸenilen olarak deÄŸiÅŸtir" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." @@ -2778,6 +2833,16 @@ msgid "Importing Scene.." msgstr "Sahneyi İçe Aktarıyor..." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Işık Haritalarına Aktar:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "AABB Üretimi" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "Çalışan Özel Betik.." @@ -2793,7 +2858,7 @@ msgstr "" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "İçe aktarma sonrası betik dosyası çalıştırılırken sorun oluÅŸtu:" +msgstr "sonradan-içe aktarılmış betik çalıştırılırken hata:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." @@ -2907,11 +2972,11 @@ msgstr "Animasyonu Kaldır" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "SORUN: Geçersiz animasyon adı!" +msgstr "HATA: Geçersiz animasyon adı!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "SORUN: Bu animasyon adı zaten var!" +msgstr "HATA: Bu animasyon adı zaten var!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -2941,11 +3006,11 @@ msgstr "Animasyonu ÇoÄŸalt" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "SORUN: Tıpkılamak için bir animasyon yok!" +msgstr "HATA: Kopyalanacak animasyon yok!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "SORUN: Bellemde animasyon kaynağı yok!" +msgstr "HATA: panoda animasyon kaynağı yok!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" @@ -2957,7 +3022,7 @@ msgstr "Animasyonu Yapıştır" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "SORUN: Düzenlemek için bir animasyon yok!" +msgstr "HATA: Düzenlenecek animasyon yok!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" @@ -3025,54 +3090,51 @@ msgstr "Animasyonu Tıpkıla" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "Araları Doldurma" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Araları Doldurmayı EtkinleÅŸtir" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "Bölümler:" +msgstr "Yönler" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "Yapıştır" +msgstr "GeçmiÅŸ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Future" -msgstr "Özellikler" +msgstr "Gelecek" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Derinlik" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 kademe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 kademe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 kademe" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Sadece Farklılıklar" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "Beyaz Modüle Etme Kuvveti" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Gizmoları Dahil Et (3B)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" @@ -3314,7 +3376,7 @@ msgstr "Çözümleniyor..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "İstek yapma hatası" +msgstr "İstek yapılırken hata" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" @@ -3349,6 +3411,7 @@ msgid "last" msgstr "son" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "Hepsi" @@ -3368,7 +3431,7 @@ msgstr "Tersi" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "Katman:" +msgstr "Kategori:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" @@ -3390,6 +3453,28 @@ msgstr "Deneme" msgid "Assets ZIP File" msgstr "Varlıkların ZIP Dosyası" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "Işık Haritalarına Aktar:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "Önizleme" @@ -3528,7 +3613,6 @@ msgid "Toggles snapping" msgstr "Yapılmayı aç/kapat" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "Yapışma Kullan" @@ -3570,7 +3654,7 @@ msgstr "Düğüm çapasına yapıştır" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to node sides" -msgstr "Düğüm kenalarına yapıştır" +msgstr "Düğüm kenalarına yapış" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to other nodes" @@ -3682,7 +3766,7 @@ msgstr "Pivotu fare pozisyonunda ayarla" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "Izgara adımlarını 2 ile çarp" +msgstr "Izgara basamağını 2 ile çarp" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" @@ -3704,17 +3788,7 @@ msgstr "Düğüm OluÅŸtur" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Error instancing scene from %s" -msgstr "%s sahne örnekleme sorunu" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "Tamam :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "ÇocuÄŸun örnek alacağı bir ebeveyn yok." +msgstr "Åžundan: %s sahne örnekleme hatası" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -3723,7 +3797,7 @@ msgstr "Bu iÅŸlem, seçilmiÅŸ tek bir düğüm gerektirir." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "Önyüklü tipi deÄŸiÅŸtir" +msgstr "Varsayılan tipi deÄŸiÅŸtir" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -3913,6 +3987,22 @@ msgid "Create Navigation Mesh" msgstr "Yönlendirici Örüntüsü OluÅŸtur" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance herhangi bir Örüntüden yoksun!" @@ -3953,12 +4043,26 @@ msgid "Create Outline Mesh.." msgstr "Anahat Örüntüsü OluÅŸtur.." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "Görüş" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV2" +msgstr "Görüş" + +#: 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 "Anahat Örüntüsü OluÅŸtur" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Outline Size:" -msgstr "Anahat Ölçüsü:" +msgstr "Kontur Boyutu:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "No mesh source specified (and no MultiMesh set in node)." @@ -4129,10 +4233,6 @@ msgid "Create Navigation Polygon" msgstr "Yönlendirici Çokgeni OluÅŸtur" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "Yayma Örtecini Temizle" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "AABB Üretimi" @@ -4143,23 +4243,23 @@ msgstr "Nokta sadece ParçacıkMateryal iÅŸlem materyalinin içinde ayarlanabili #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "Bediz yüklenirken sorun oluÅŸtu:" +msgstr "Resim yüklenirken hata:" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." msgstr "Saydamlığı olan nokta yok > 128 bedizde.." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "Yayma Örtecini Ayarla" - -#: 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 Örtecini Yükle" +msgstr "Yayma Maskesini Yükle" + +#: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "Yayma Maskesini Temizle" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4168,7 +4268,7 @@ msgstr "Parçacıklar" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "Üretilen Nokta Say:" +msgstr "Üretilen Nokta Sayısı:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4220,10 +4320,6 @@ msgid "Create Emission Points From Node" msgstr "Düğümden Emisyon Noktaları OluÅŸtur" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "Yayıcıyı Temizle" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "Yayıcı OluÅŸtur" @@ -4257,11 +4353,11 @@ msgstr "Noktayı EÄŸriden Kaldır" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" -msgstr "Çıkış-Kontrolünü EÄŸriden Kaldır" +msgstr "EÄŸriden Çıkış-Kontrol Kaldır" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove In-Control from Curve" -msgstr "GiriÅŸ-Kontrolünü EÄŸriden Kaldır" +msgstr "EÄŸriden GiriÅŸ-Kontrol Kaldır" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4274,11 +4370,11 @@ msgstr "Noktayı EÄŸriye Taşı" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" -msgstr "EÄŸriye Denetimli Taşı" +msgstr "EÄŸride GiriÅŸ-Kontrol Taşı" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Out-Control in Curve" -msgstr "EÄŸriye Denetimsiz Taşı" +msgstr "EÄŸride Çıkış-Kontrol Taşı" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4350,7 +4446,7 @@ msgstr "Yol Noktasını Kaldır" #: editor/plugins/path_editor_plugin.cpp msgid "Remove Out-Control Point" -msgstr "Çıkış-Kontrol Noktasını Kaldır" +msgstr "Çıkış-Kontrol Noktası Kaldır" #: editor/plugins/path_editor_plugin.cpp msgid "Remove In-Control Point" @@ -4431,7 +4527,7 @@ msgstr "Izgara" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "SORUN: Kaynak yüklenemedi!" +msgstr "HATA: Kaynak yüklenemedi!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -4448,7 +4544,7 @@ msgstr "Kaynağı Sil" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" -msgstr "Kaynak bellemi boÅŸ!" +msgstr "Kaynak panosu boÅŸ!" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp @@ -4476,19 +4572,19 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "Tema kaydedilirken sorun oluÅŸtu" +msgstr "Tema kaydedilirken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "Kaydetme sorunu" +msgstr "Kaydedilirken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" -msgstr "Tema içe aktarılırken sorun oluÅŸtu" +msgstr "Tema içe aktarılırken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing" -msgstr "İçe aktarma sorunu" +msgstr "İçe aktarılırken hata" #: editor/plugins/script_editor_plugin.cpp msgid "Import Theme" @@ -4500,7 +4596,7 @@ msgstr "Temayı Farklı Kaydet.." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" -msgstr " Sınıf Referansı" +msgstr " Sınıf BaÅŸvurusu" #: editor/plugins/script_editor_plugin.cpp msgid "Sort" @@ -4508,11 +4604,13 @@ msgstr "Sırala" #: 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 "Yukarı Taşı" #: 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 "AÅŸağı Taşı" @@ -4528,7 +4626,7 @@ msgstr "Önceki betik" msgid "File" msgstr "Dosya" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "Yeni" @@ -4541,6 +4639,11 @@ msgid "Soft Reload Script" msgstr "BetiÄŸi Yeniden Duyarlı Yükle" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Dosya Yolunu Tıpkıla" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "Öceki GeçmiÅŸ" @@ -4621,7 +4724,7 @@ msgstr "Çevrimiçi Godot dökümanlarını aç" #: editor/plugins/script_editor_plugin.cpp msgid "Search the class hierarchy." -msgstr "Bölüt sıradüzenini Ara." +msgstr "Sınıf hiyerarÅŸisi ara." #: editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." @@ -4731,11 +4834,8 @@ msgid "Clone Down" msgstr "AÅŸağıya EÅŸle" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "Satırı Katla" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +#, fuzzy +msgid "Fold/Unfold Line" msgstr "Satırı GeniÅŸlet" #: editor/plugins/script_text_editor.cpp @@ -4829,7 +4929,7 @@ msgstr "RGB Sabitini DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Scalar Operator" -msgstr "Basamaklı İşletmeni DeÄŸiÅŸtir" +msgstr "Skaler Operatörünü DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Vec Operator" @@ -4869,7 +4969,7 @@ msgstr "RGB Tekdüzenini DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change Default Value" -msgstr "Önyüklü DeÄŸeri DeÄŸiÅŸtir" +msgstr "Varsayılan DeÄŸeri DeÄŸiÅŸtir" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Change XForm Uniform" @@ -4921,7 +5021,7 @@ msgstr "Gölgelendirici Çizge Düğümünü Taşı" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Duplicate Graph Node(s)" -msgstr "Çizge Düğüm(lerini) ÇoÄŸalt" +msgstr "Grafik Düğüm(lerini) ÇoÄŸalt" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Delete Shader Graph Node(s)" @@ -4929,11 +5029,11 @@ msgstr "Gölgelendirici Çizge Düğümünü Sil" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Cyclic Connection Link" -msgstr "Sorun: Döngüsel İliÅŸki BaÄŸlantısı" +msgstr "Hata: Döngüsel BaÄŸlantı BaÄŸlantısı" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Error: Missing Input Connections" -msgstr "Sorun: GiriÅŸ BaÄŸlantıları Eksik" +msgstr "Hata: Girdi BaÄŸlantıları Eksik" #: editor/plugins/shader_graph_editor_plugin.cpp msgid "Add Shader Graph Node" @@ -5063,6 +5163,14 @@ msgstr "FPS" msgid "Align with view" msgstr "Görünüme Ayarla" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Tamam :(" + +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "ÇocuÄŸun örnek alacağı bir ebeveyn yok." + #: editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" msgstr "OlaÄŸanı Görüntüle" @@ -5170,6 +5278,20 @@ msgid "Scale Mode (R)" msgstr "Ölçek Biçimi (R)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "Yerel Koordlar" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "Ölçek Biçimi (R)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "Yapışma Kipi:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "Alttan Görünüm" @@ -5242,36 +5364,32 @@ msgid "Configure Snap.." msgstr "Yapışmayı Yapılandır.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "Yerel Koordlar" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "Dönüştürme İletiÅŸim Kutusu.." #: editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "1 Görünüm" +msgstr "1 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports" -msgstr "2 Görünüm" +msgstr "2 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "2 Görünüm (Alt)" +msgstr "2 Görüntükapısı (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports" -msgstr "3 Görünüm" +msgstr "3 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "3 Görünüm (Alt)" +msgstr "3 Görüntükapısı (Alt)" #: editor/plugins/spatial_editor_plugin.cpp msgid "4 Viewports" -msgstr "4 Görünüm" +msgstr "4 Görüntükapısı" #: editor/plugins/spatial_editor_plugin.cpp msgid "View Origin" @@ -5287,6 +5405,10 @@ msgid "Settings" msgstr "Ayarlar" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "Yapışma Ayarları" @@ -5304,7 +5426,7 @@ msgstr "Yapışmayı Ölçekle (%):" #: editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "Görüntüleme Ayarları" +msgstr "Görüntükapısı Ayarları" #: editor/plugins/spatial_editor_plugin.cpp msgid "Perspective FOV (deg.):" @@ -5348,7 +5470,7 @@ msgstr "Sonrası" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" -msgstr "SORUN: Kare kaynağı yüklenemedi!" +msgstr "HATA: Kare kaynağı yüklenemedi!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Frame" @@ -5356,7 +5478,7 @@ msgstr "Çerçeve Ekle" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Resource clipboard is empty or not a texture!" -msgstr "Kaynak bellem boÅŸ ya da bu bir doku deÄŸil!" +msgstr "Kaynak panosu boÅŸ ya da bir doku deÄŸil!" #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Paste Frame" @@ -5420,7 +5542,7 @@ msgstr "Dikdörtgen Bölgesini Ayarla" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Snap Mode:" -msgstr "Yapışma Biçimi:" +msgstr "Yapışma Kipi:" #: editor/plugins/texture_region_editor_plugin.cpp msgid "<None>" @@ -5436,7 +5558,7 @@ msgstr "Izgara Yapışması" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Auto Slice" -msgstr "Kendinden Dilimle" +msgstr "Otomatik Dilimle" #: editor/plugins/texture_region_editor_plugin.cpp msgid "Offset:" @@ -5493,11 +5615,11 @@ msgstr "Tema düzenleme menüsü." #: editor/plugins/theme_editor_plugin.cpp msgid "Add Class Items" -msgstr "Bölüt Öğeleri Ekle" +msgstr "Sınıf Öğeleri Ekle" #: editor/plugins/theme_editor_plugin.cpp msgid "Remove Class Items" -msgstr "Bölüt Öğelerini Kaldır" +msgstr "Sınıf Öğelerini Kaldır" #: editor/plugins/theme_editor_plugin.cpp msgid "Create Empty Template" @@ -5669,6 +5791,11 @@ msgid "Merge from scene?" msgstr "Sahneden birleÅŸtirilsin mi?" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet .." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "Sahneden OluÅŸtur" @@ -5678,7 +5805,11 @@ msgstr "Sahneden BirleÅŸtir" #: editor/plugins/tile_set_editor_plugin.cpp editor/script_editor_debugger.cpp msgid "Error" -msgstr "Sorun" +msgstr "Hata" + +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "Vazgeç" #: editor/project_export.cpp msgid "Runnable" @@ -5803,10 +5934,6 @@ msgid "Imported Project" msgstr "İçe Aktarılan Proje" #: editor/project_manager.cpp -msgid " " -msgstr " " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "Projenizi isimlendirmek iyi bir fikir olabilir." @@ -5860,7 +5987,7 @@ msgstr "Proje Adı:" #: editor/project_manager.cpp msgid "Create folder" -msgstr "Klasöre OluÅŸtur" +msgstr "Klasör OluÅŸtur" #: editor/project_manager.cpp msgid "Project Path:" @@ -5926,7 +6053,7 @@ msgid "" "You are about the scan %s folders for existing Godot projects. Do you " "confirm?" msgstr "" -"Var olan Godot projeleri için %s dizin taraması yapıyorsunuz. Onaylıyor " +"Var olan Godot projeleri için %s klasör taraması yapıyorsunuz. Onaylıyor " "musunuz?" #: editor/project_manager.cpp @@ -5939,7 +6066,7 @@ msgstr "Tara" #: editor/project_manager.cpp msgid "Select a Folder to Scan" -msgstr "Tarama için bir Dizin Seç" +msgstr "Tarama İçin Bir Klasör Seç" #: editor/project_manager.cpp msgid "New Project" @@ -5966,18 +6093,20 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"Herhangi bir projen yok.\n" +"Varlık Kütüphanesi'ndeki resmî örnek projeleri incelemek ister misin?" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "Dokunaç " +msgstr "Anahtar " #: editor/project_settings_editor.cpp msgid "Joy Button" -msgstr "EÄŸlence Düğmesi" +msgstr "Oyun Kolu Düğmesi" #: editor/project_settings_editor.cpp msgid "Joy Axis" -msgstr "EÄŸlence Ekseni" +msgstr "Oyun Kolu Ekseni" #: editor/project_settings_editor.cpp msgid "Mouse Button" @@ -6017,7 +6146,7 @@ msgstr "Bir Dokunaca Basın.." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" -msgstr "Fare Düğme Dizini:" +msgstr "Fare Düğmesi İndeksi:" #: editor/project_settings_editor.cpp msgid "Left Button" @@ -6062,7 +6191,7 @@ msgstr "DeÄŸiÅŸtir" #: editor/project_settings_editor.cpp msgid "Joypad Axis Index:" -msgstr "Oyun kolu Ekseni İndeksi:" +msgstr "Oyun Kolu Ekseni İndeksi:" #: editor/project_settings_editor.cpp msgid "Axis" @@ -6070,11 +6199,12 @@ msgstr "Eksen" #: editor/project_settings_editor.cpp msgid "Joypad Button Index:" -msgstr "Oyun kolu Düğme İndeksi:" +msgstr "Oyun Kolu Düğmesi İndeksi:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "GiriÅŸ Eylemi Ekle" +#, fuzzy +msgid "Erase Input Action" +msgstr "GiriÅŸ Eylemi Olayını Sil" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6141,8 +6271,12 @@ msgid "Already existing" msgstr "Zaten mevcut" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "GiriÅŸ Eylemi Ekle" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." -msgstr "Ayarları kaydetme sorunu." +msgstr "Ayarlar kaydedilirken hata." #: editor/project_settings_editor.cpp msgid "Settings saved OK." @@ -6206,7 +6340,7 @@ msgstr "Åžunun Üzerine Yaz.." #: editor/project_settings_editor.cpp msgid "Input Map" -msgstr "EÅŸleme Gir" +msgstr "Girdi Haritası" #: editor/project_settings_editor.cpp msgid "Action:" @@ -6218,7 +6352,7 @@ msgstr "Aygıt:" #: editor/project_settings_editor.cpp msgid "Index:" -msgstr "Dizin:" +msgstr "İndeks:" #: editor/project_settings_editor.cpp msgid "Localization" @@ -6242,7 +6376,7 @@ msgstr "Kaynaklar:" #: editor/project_settings_editor.cpp msgid "Remaps by Locale:" -msgstr "Yerel Ayara Göre Yeniden EÅŸlemeler:" +msgstr "Yerele Göre Atamalar:" #: editor/project_settings_editor.cpp msgid "Locale" @@ -6274,7 +6408,7 @@ msgstr "KendindenYükle" #: editor/property_editor.cpp msgid "Pick a Viewport" -msgstr "Bir Görünüm Seçin" +msgstr "Bir Görüntükapısı Seçin" #: editor/property_editor.cpp msgid "Ease In" @@ -6317,6 +6451,10 @@ msgid "New Script" msgstr "Yeni Betik" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "Benzersiz Yap" @@ -6330,11 +6468,11 @@ msgstr "Åžuna Dönüştür %s" #: editor/property_editor.cpp msgid "Error loading file: Not a resource!" -msgstr "Dosya yüklenirken sorun oluÅŸtu: Bir kaynak deÄŸil!" +msgstr "Dosya yüklenirken hata: Bir kaynak deÄŸil!" #: editor/property_editor.cpp msgid "Selected node is not a Viewport!" -msgstr "Seçili düğüm bir Görüntükapısı deÄŸil!" +msgstr "Seçili düğüm bir Viewport deÄŸil!" #: editor/property_editor.cpp msgid "Pick a Node" @@ -6348,29 +6486,30 @@ msgstr "Bit %d, val %d." msgid "On" msgstr "Açık" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "BoÅŸ Ekle" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "Ayarla" #: editor/property_editor.cpp msgid "Properties:" -msgstr "Özellikleri:" - -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "Bölümler:" +msgstr "Özellikler:" #: editor/property_selector.cpp msgid "Select Property" -msgstr "Nitelik Seç" +msgstr "Özellik Seç" #: editor/property_selector.cpp msgid "Select Virtual Method" -msgstr "Sanal Metod Seç" +msgstr "Sanal Metot Seç" #: editor/property_selector.cpp msgid "Select Method" -msgstr "Yöntem Seç" +msgstr "Metot Seç" #: editor/pvrtc_compress.cpp msgid "Could not execute PVRTC tool:" @@ -6427,7 +6566,7 @@ msgstr "Sahneleri örneklemek için ebeveyn yok." #: editor/scene_tree_dock.cpp msgid "Error loading scene from %s" -msgstr "%s Adlı sahne yüklenirken sorun oluÅŸtu" +msgstr "Åžuradan: %s sahne yüklenirken hata" #: editor/scene_tree_dock.cpp msgid "Ok" @@ -6459,7 +6598,7 @@ msgstr "Düğümleri Ataya Taşı" #: editor/scene_tree_dock.cpp msgid "Duplicate Node(s)" -msgstr "ÇoÄŸalt Düğüm(leri)" +msgstr "Düğüm(leri) ÇoÄŸalt" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)?" @@ -6499,7 +6638,7 @@ msgstr "Yad bir sahnedeki düğümler üzerinde çalışamaz!" #: editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "Geçerli sahneden kalıt aldığı düğümler üzerinde çalışamaz!" +msgstr "Geçerli sahneden miras alınan düğümler üzerinde iÅŸlem yapılamaz!" #: editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -6514,11 +6653,11 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "Sahne kaydedilirken sorun oluÅŸtu." +msgstr "Sahne kaydedilirken hata." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." -msgstr "Kaydetmek için sahne çoÄŸaltılırken sorun oluÅŸtu." +msgstr "Kaydetmek için sahne çoÄŸaltılırken hata." #: editor/scene_tree_dock.cpp msgid "Sub-Resources:" @@ -6581,8 +6720,8 @@ msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." msgstr "" -"Sahne dosyasıni Düğüm olarak örneklendirin. Kök düğüm yoksa kalıtsal bir " -"sahne oluÅŸturur." +"Bir sahne dosyasını Düğüm olarak örneklendirin. Kök düğüm yoksa miras " +"alınmış bir sahne oluÅŸturur." #: editor/scene_tree_dock.cpp msgid "Filter nodes" @@ -6606,7 +6745,7 @@ msgstr "Yerel" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" -msgstr "Kalıt Silinsin mi? (Geri Alınamaz!)" +msgstr "Miras Silinsin mi? (Geri Alınamaz!)" #: editor/scene_tree_dock.cpp msgid "Clear!" @@ -6706,7 +6845,7 @@ msgstr "Hata - dosyasisteminde betik oluÅŸturulamadı." #: editor/script_create_dialog.cpp msgid "Error loading script from %s" -msgstr "Yazı tipi %s yüklerken sorun oluÅŸtu" +msgstr "Åžuradan: %s betik yüklenirken hata" #: editor/script_create_dialog.cpp msgid "N/A" @@ -6746,7 +6885,7 @@ msgstr "Geçersiz Yol" #: editor/script_create_dialog.cpp msgid "Invalid class name" -msgstr "Geçersiz bölüt adı" +msgstr "Geçersiz sınıf ismi" #: editor/script_create_dialog.cpp msgid "Invalid inherited parent name or path" @@ -6810,7 +6949,7 @@ msgstr "Uyarı" #: editor/script_editor_debugger.cpp msgid "Error:" -msgstr "Sorun:" +msgstr "Hata:" #: editor/script_editor_debugger.cpp msgid "Source:" @@ -6826,7 +6965,7 @@ msgstr "GrafiÄŸi görüntülemek için listeden bir veya daha fazla öğe seçin #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "Sorunlar" +msgstr "Hatalar" #: editor/script_editor_debugger.cpp msgid "Child Process Connected" @@ -6850,7 +6989,7 @@ msgstr "DeÄŸiÅŸken" #: editor/script_editor_debugger.cpp msgid "Errors:" -msgstr "Sorunlar:" +msgstr "Hatalar:" #: editor/script_editor_debugger.cpp msgid "Stack Trace (if applicable):" @@ -6924,6 +7063,10 @@ msgstr "AÄŸaçtan Ayarla" msgid "Shortcuts" msgstr "Kısayollar" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "Işın Çapını DeÄŸiÅŸtir" @@ -6972,15 +7115,55 @@ msgstr "Parçacık AABB DeÄŸiÅŸimi" msgid "Change Probe Extents" msgstr "DeÅŸme GeniÅŸlemesini DeÄŸiÅŸtir" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "Yol Noktasını Kaldır" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "Düzleme Tıpkıla.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "Kütüphane" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDYerel" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Library" msgstr "Kütüphane" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "Durum" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "Kütüphaneler: " @@ -7029,7 +7212,7 @@ msgstr "Geçersiz örnek sözlük biçemi (@path 'taki kod geçersiz)" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary (invalid subclasses)" -msgstr "Geçersiz örnek sözlüğü (geçersiz altbölütler)" +msgstr "Geçersiz örnek sözlüğü (geçersiz altsınıflar)" #: modules/gdscript/gdscript_functions.cpp msgid "Object can't provide a length." @@ -7297,7 +7480,7 @@ msgstr "Alıcı Özellik Ekle" #: modules/visual_script/visual_script_editor.cpp msgid "Add Setter Property" -msgstr "Düzenleyici Özellik Ekle" +msgstr "Atayıcı Özellik Ekle" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" @@ -7449,7 +7632,7 @@ msgstr "Yineleyici geçersiz durumda: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "Geçersiz dizin özelliÄŸi adı." +msgstr "Geçersiz indeks özelliÄŸi ismi." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" @@ -7461,7 +7644,7 @@ msgstr "Yol bir düğüme çıkmıyor!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." -msgstr "%s düğümünde geçersiz dizin özelliÄŸi adı '%s'." +msgstr "%s düğümünde geçersiz indeks özelliÄŸi ismi '%s'." #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " @@ -7481,15 +7664,15 @@ msgstr "VariableSet betikte bulunamadı: " #: modules/visual_script/visual_script_nodes.cpp msgid "Custom node has no _step() method, can't process graph." -msgstr "Özel düğüm _step() yöntemine sahip deÄŸil, çizgeyi iÅŸleyemez." +msgstr "Özel düğüm _step() metoduna sahip deÄŸil, grafiÄŸi iÅŸleyemez." #: modules/visual_script/visual_script_nodes.cpp msgid "" "Invalid return value from _step(), must be integer (seq out), or string " "(error)." msgstr "" -"_step()'ten geçersiz dönüş deÄŸeri, tam sayı (dizi çıkışı) ya da dizgi " -"(sorunu) olmalı." +"_step()'ten geçersiz dönüş deÄŸeri, tam sayı (dizi çıkışı) ya da dize " +"(hatası) olmalı." #: platform/javascript/export/export.cpp msgid "Run in Browser" @@ -7574,7 +7757,7 @@ msgstr "" msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." -msgstr "Işık yüzeyli bir doku, \"doku\" niteliÄŸine saÄŸlanmalıdır." +msgstr "Işık yüzeyli bir doku, 'texture' özelliÄŸine saÄŸlanmalıdır." #: scene/2d/light_occluder_2d.cpp msgid "" @@ -7637,7 +7820,7 @@ msgstr "" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." msgstr "" -"Yol niteliÄŸi çalışması için geçerli bir Node2D düğümüne iÅŸaret etmelidir." +"Yol özelliÄŸi çalışabilmesi için geçerli bir Node2D düğümüne iÅŸaret etmelidir." #: scene/2d/visibility_notifier_2d.cpp msgid "" @@ -7678,6 +7861,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin bir ARVRCamera çocuk düğümü gerektirir" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Örüntüler Haritalanıyor" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Örüntüler Haritalanıyor" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Haritalama Bitiriliyor" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Örüntüler Haritalanıyor" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7715,10 +7917,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "Örüntüler Haritalanıyor" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "Haritalama Bitiriliyor" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7752,7 +7950,7 @@ msgstr "" #: scene/3d/remote_transform.cpp msgid "Path property must point to a valid Spatial node to work." msgstr "" -"Yol niteliÄŸi, çalışmak için geçerli bir Spatial düğümü iÅŸaret etmelidir." +"Yol özelliÄŸi, çalışmak için geçerli bir Spatial düğümüne iÅŸaret etmelidir." #: scene/3d/scenario_fx.cpp msgid "" @@ -7786,10 +7984,6 @@ msgid "Add current color as a preset" msgstr "Åžuanki rengi bir önayar olarak kaydet" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "Vazgeç" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Uyarı!" @@ -7798,9 +7992,8 @@ msgid "Please Confirm..." msgstr "Lütfen DoÄŸrulayın..." #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Select this Folder" -msgstr "Yöntem Seç" +msgstr "Bu Klasörü Seç" #: scene/gui/popup.cpp msgid "" @@ -7808,7 +8001,7 @@ msgid "" "functions. Making them visible for editing is fine though, but they will " "hide upon running." msgstr "" -"Açılır pencereler popup() veya popup*() iÅŸlevlerini çağırmadıkça ön tanımlı " +"Açılır pencereler popup() veya popup*() iÅŸlevleri çaÄŸrılmadıkça varsayılan " "olarak gizlenecektir. Onları düzenleme için görünür kılmak da iyidir, ancak " "çalışırken gizlenecekler." @@ -7831,7 +8024,7 @@ msgid "" "Default Environment as specified in Project Setings (Rendering -> Viewport -" "> Default Environment) could not be loaded." msgstr "" -"Proje Ayarlarında tanımlanmış Varsayılan Ortam (İşleme -> Görüş Alanı -> " +"Proje Ayarlarında tanımlanmış Varsayılan Ortam (İşleme -> Görüntükapısı -> " "Varsayılan Ortam) Yüklenemedi." #: scene/main/viewport.cpp @@ -7848,7 +8041,7 @@ msgstr "" #: scene/resources/dynamic_font.cpp msgid "Error initializing FreeType." -msgstr "FreeType baÅŸlatılırken sorun oluÅŸtu." +msgstr "FreeType baÅŸlatılırken hata." #: scene/resources/dynamic_font.cpp msgid "Unknown font format." @@ -7862,6 +8055,30 @@ msgstr "Yazıtipi yükleme hatası." msgid "Invalid font size." msgstr "Geçersiz yazıtipi boyutu." +#~ msgid "Move Add Key" +#~ msgstr "Hareket Anahtar Ekle" + +#~ msgid "Create Subscription" +#~ msgstr "Üyelik OluÅŸtur" + +#~ msgid "List:" +#~ msgstr "Liste:" + +#~ msgid "Set Emission Mask" +#~ msgstr "Yayma Maskesini Ayarla" + +#~ msgid "Clear Emitter" +#~ msgstr "Yayıcıyı Temizle" + +#~ msgid "Fold Line" +#~ msgstr "Satırı Katla" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Sections:" +#~ msgstr "Bölümler:" + #, fuzzy #~ msgid "" #~ "\n" @@ -8388,9 +8605,6 @@ msgstr "Geçersiz yazıtipi boyutu." #~ msgid "Making BVH" #~ msgstr "BVH Yapıyor" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "Işık Haritalarına Aktar:" - #~ msgid "Allocating Texture #" #~ msgstr "Doku Paylaşımı #" @@ -8534,9 +8748,6 @@ msgstr "Geçersiz yazıtipi boyutu." #~ msgid "Del" #~ msgstr "Sil" -#~ msgid "Copy To Platform.." -#~ msgstr "Düzleme Tıpkıla.." - #~ msgid "just pressed" #~ msgstr "yeni basıldı" diff --git a/editor/translations/uk.po b/editor/translations/uk.po index 2a078b98dd..7d6eb9ce9f 100644 --- a/editor/translations/uk.po +++ b/editor/translations/uk.po @@ -4,12 +4,13 @@ # This file is distributed under the same license as the Godot source code. # # Aleksandr <XpycT.TOP@gmail.com>, 2017. +# Гидеон Теон <t.kudely94@gmail.com>, 2017. # ÐœÐ°Ñ€Ñ Ð¯Ð¼Ð±Ð°Ñ€ <mjambarmeta@gmail.com>, 2017. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" -"PO-Revision-Date: 2017-11-28 20:31+0000\n" +"PO-Revision-Date: 2017-12-20 15:43+0000\n" "Last-Translator: ÐœÐ°Ñ€Ñ Ð¯Ð¼Ð±Ð°Ñ€ <mjambarmeta@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/" "godot/uk/>\n" @@ -18,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 2.18-dev\n" +"X-Generator: Weblate 2.18\n" #: editor/animation_editor.cpp msgid "Disabled" @@ -29,8 +30,9 @@ msgid "All Selection" msgstr "УÑÑ– вибранні елементи" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "ПоÑунути ключ" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Змінити значеннÑ" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -38,10 +40,11 @@ msgstr "Змінити перехід" #: editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "Змінити положеннÑ" +msgstr "Змінити перетвореннÑ" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Змінити значеннÑ" #: editor/animation_editor.cpp @@ -106,6 +109,7 @@ msgid "Duplicate Selection" msgstr "Дублювати виділене" #: editor/animation_editor.cpp +#, fuzzy msgid "Duplicate Transposed" msgstr "ПереміÑтити дублікат" @@ -114,16 +118,17 @@ msgid "Remove Selection" msgstr "Вилучити виділене" #: editor/animation_editor.cpp +#, fuzzy msgid "Continuous" msgstr "Ðевгаваючий" #: editor/animation_editor.cpp msgid "Discrete" -msgstr "ПереривчаÑтий" +msgstr "ДиÑкретний" #: editor/animation_editor.cpp msgid "Trigger" -msgstr "Курок" +msgstr "Триґер" #: editor/animation_editor.cpp msgid "Anim Add Key" @@ -147,7 +152,7 @@ msgstr "Перейти до наÑтупного кроку" #: editor/animation_editor.cpp msgid "Goto Prev Step" -msgstr "ПовернутиÑÑ Ð´Ð¾ попереднього кроку" +msgstr "ПовернутиÑÑ Ð´Ð¾ попереднього кроку" #: editor/animation_editor.cpp editor/plugins/curve_editor_plugin.cpp #: editor/property_editor.cpp @@ -188,11 +193,11 @@ msgstr "ÐžÑ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" #: editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "Створити нову доріжку Ð´Ð»Ñ %s Ñ– вÑтавте ключ?" +msgstr "Створити нову доріжку Ð´Ð»Ñ %s Ñ– вÑтавити ключ?" #: editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "Створити %d нові треки Ñ– вÑтавити ключі?" +msgstr "Створити %d нові доріжки Ñ– вÑтавити ключі?" #: editor/animation_editor.cpp editor/create_dialog.cpp #: editor/editor_audio_buses.cpp editor/plugins/abstract_polygon_2d_editor.cpp @@ -224,6 +229,7 @@ msgid "Change Anim Loop" msgstr "Змінити цикл анімації" #: editor/animation_editor.cpp +#, fuzzy msgid "Anim Create Typed Value Key" msgstr "Створити типовий ключ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" @@ -535,8 +541,9 @@ msgid "Connecting Signal:" msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñигналу:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñки" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ '%s' Ð´Ð»Ñ %s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -552,7 +559,8 @@ msgid "Signals" msgstr "Сигнали" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "Створити новий" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -567,7 +575,7 @@ msgstr "Ðещодавні:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "Пошук:" @@ -608,6 +616,7 @@ msgstr "" "Зміни набудуть чинноÑті піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ." #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ЗалежноÑті" @@ -711,9 +720,10 @@ msgid "Delete selected files?" msgstr "Видалити вибрані файли?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "Вилучити" @@ -856,6 +866,11 @@ msgid "Rename Audio Bus" msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾ шини" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "Перемкнути аудіо шину Ñоло" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "Перемкнути аудіо шину Ñоло" @@ -885,11 +900,11 @@ msgstr "Вилучити ефект шини" #: editor/editor_audio_buses.cpp msgid "Audio Bus, Drag and Drop to rearrange." -msgstr "" +msgstr "Ðудіо шина, перетÑгнути, щоб змінити." #: editor/editor_audio_buses.cpp msgid "Solo" -msgstr "" +msgstr "Соло" #: editor/editor_audio_buses.cpp msgid "Mute" @@ -897,273 +912,302 @@ msgstr "Вимкнути звук" #: editor/editor_audio_buses.cpp msgid "Bypass" -msgstr "" +msgstr "Обхід" #: editor/editor_audio_buses.cpp msgid "Bus options" -msgstr "" +msgstr "Опції шини" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" -msgstr "" +msgstr "Дублювати" #: editor/editor_audio_buses.cpp msgid "Reset Volume" -msgstr "" +msgstr "Скинути гучніÑть" #: editor/editor_audio_buses.cpp msgid "Delete Effect" msgstr "Видалити ефект" #: editor/editor_audio_buses.cpp -msgid "Add Audio Bus" +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 "" +msgstr "МаÑтер шина не може бути видалена!" #: editor/editor_audio_buses.cpp msgid "Delete Audio Bus" -msgstr "" +msgstr "Видалити аудіо шину" #: editor/editor_audio_buses.cpp msgid "Duplicate Audio Bus" -msgstr "" +msgstr "Дублювати аудіо шину" #: editor/editor_audio_buses.cpp msgid "Reset Bus Volume" -msgstr "" +msgstr "Скинути гучніÑть шини" #: editor/editor_audio_buses.cpp msgid "Move Audio Bus" -msgstr "" +msgstr "ПереміÑтити аудіо шину" #: editor/editor_audio_buses.cpp msgid "Save Audio Bus Layout As.." -msgstr "" +msgstr "Зберегти макет аудіо шини Ñк.." #: editor/editor_audio_buses.cpp msgid "Location for New Layout.." -msgstr "" +msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ макета..." #: editor/editor_audio_buses.cpp msgid "Open Audio Bus Layout" -msgstr "" +msgstr "Відкрити макет аудіо шини" #: editor/editor_audio_buses.cpp msgid "There is no 'res://default_bus_layout.tres' file." -msgstr "" +msgstr "Файл 'res: //default_bus_layout.tres' не знайдено." #: editor/editor_audio_buses.cpp msgid "Invalid file, not an audio bus layout." -msgstr "" +msgstr "ÐеприпуÑтимий файл, це не макет аудіо-шини." #: editor/editor_audio_buses.cpp msgid "Add Bus" -msgstr "" +msgstr "Додати шину" #: editor/editor_audio_buses.cpp msgid "Create a new Bus Layout." -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ макету шини." #: editor/editor_audio_buses.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Load" -msgstr "" +msgstr "Завантажити" #: editor/editor_audio_buses.cpp msgid "Load an existing Bus Layout." -msgstr "" +msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ñнуючого макета шини." #: editor/editor_audio_buses.cpp #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save As" -msgstr "" +msgstr "Зберегти Як" #: editor/editor_audio_buses.cpp msgid "Save this Bus Layout to a file." -msgstr "" +msgstr "Зберегти цей макет шини у файлі." #: editor/editor_audio_buses.cpp editor/import_dock.cpp msgid "Load Default" -msgstr "" +msgstr "Завантажити за промовчаннÑм" #: editor/editor_audio_buses.cpp msgid "Load the default Bus Layout." -msgstr "" +msgstr "Завантажити макет шини за промовчаннÑм." #: editor/editor_autoload_settings.cpp msgid "Invalid name." -msgstr "" +msgstr "Ðекоректна назва." #: editor/editor_autoload_settings.cpp msgid "Valid characters:" -msgstr "" +msgstr "ПрипуÑтимі Ñимволи:" #: editor/editor_autoload_settings.cpp 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 "Invalid Path." -msgstr "" +msgstr "Ðеправильний шлÑÑ…." #: editor/editor_autoload_settings.cpp msgid "File does not exist." -msgstr "" +msgstr "Файл не Ñ–Ñнує." #: editor/editor_autoload_settings.cpp msgid "Not in resource path." -msgstr "" +msgstr "Ðе в реÑурÑному шлÑху." #: editor/editor_autoload_settings.cpp msgid "Add AutoLoad" -msgstr "" +msgstr "Додати автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Autoload '%s' already exists!" -msgstr "" +msgstr "ÐÐ²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ '%s' вже Ñ–Ñнує!" #: editor/editor_autoload_settings.cpp msgid "Rename Autoload" -msgstr "" +msgstr "Перейменувати автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Toggle AutoLoad Globals" -msgstr "" +msgstr "Увімкнути Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¸Ñ… Ñкриптів" #: editor/editor_autoload_settings.cpp msgid "Move Autoload" -msgstr "" +msgstr "ПереміÑтити автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Remove Autoload" -msgstr "" +msgstr "Видалити автозавантаженнÑ" #: editor/editor_autoload_settings.cpp msgid "Enable" -msgstr "" +msgstr "Ðктивувати" #: editor/editor_autoload_settings.cpp msgid "Rearrange Autoloads" -msgstr "" +msgstr "Змінити порÑдок автозавантажень" #: editor/editor_autoload_settings.cpp editor/editor_file_dialog.cpp #: scene/gui/file_dialog.cpp msgid "Path:" -msgstr "" +msgstr "ШлÑÑ…:" #: editor/editor_autoload_settings.cpp msgid "Node Name:" -msgstr "" +msgstr "Ім'Ñ Ð’ÑƒÐ·Ð»Ð°:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" -msgstr "" +msgstr "Ім'Ñ" #: editor/editor_autoload_settings.cpp msgid "Singleton" -msgstr "" - -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" +msgstr "Одинак (шаблон проектуваннÑ)" #: editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñцени" #: editor/editor_data.cpp msgid "Storing local changes.." -msgstr "" +msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… змін.." #: editor/editor_data.cpp msgid "Updating scene.." +msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñцени.." + +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" msgstr "" #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" -msgstr "" +msgstr "БудьлаÑка, виберіть Ñпочатку базову каталог" #: editor/editor_dir_dialog.cpp msgid "Choose a Directory" -msgstr "" +msgstr "Виберіть каталог" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Create Folder" -msgstr "" +msgstr "Створити Теку" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/editor_plugin_settings.cpp editor/filesystem_dock.cpp #: editor/plugins/theme_editor_plugin.cpp editor/project_export.cpp #: scene/gui/file_dialog.cpp msgid "Name:" -msgstr "" +msgstr "Ім'Ñ:" #: editor/editor_dir_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp scene/gui/file_dialog.cpp msgid "Could not create folder." -msgstr "" +msgstr "Ðеможливо Ñтворити теку." #: editor/editor_dir_dialog.cpp msgid "Choose" -msgstr "" +msgstr "Оберіть" #: editor/editor_export.cpp msgid "Storing File:" -msgstr "" +msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ:" #: editor/editor_export.cpp msgid "Packing" -msgstr "" +msgstr "ПакуваннÑ" #: editor/editor_export.cpp platform/javascript/export/export.cpp msgid "Template file not found:\n" -msgstr "" +msgstr "Файл шаблону не знайдено:\n" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Файл Ñ–Ñнує, перезапиÑати його?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "Перейти до батьківÑької теки" +msgstr "Вибрати поточну теку" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "Копіювати шлÑÑ…" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "Оновити" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp +#, fuzzy msgid "All Recognized" -msgstr "" +msgstr "УÑе розпізнано" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "УÑÑ– фали (*)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Відкрити файл" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Відкрити файл(и)" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a Directory" -msgstr "" +msgstr "Відкрити каталог" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "Open a File or Directory" -msgstr "" +msgstr "Відкрити файл або каталог" #: editor/editor_file_dialog.cpp editor/editor_node.cpp #: editor/plugins/animation_player_editor_plugin.cpp @@ -1188,10 +1232,6 @@ msgid "Go Up" msgstr "Вгору" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "Оновити" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "Переключати приховані файли" @@ -1342,136 +1382,142 @@ msgid "" "There is currently no description for this property. Please help us by " "[color=$color][url=$url]contributing one[/url][/color]!" msgstr "" +"Ðа данний момент Ð¾Ð¿Ð¸Ñ Ñ†Ñ–Ñ”Ñ— влаÑтивоÑті відÑутній. БудьлаÑка, [color=$color]" +"[url=$url]допоможіть нам[/url][/color]!" #: editor/editor_help.cpp msgid "Methods" -msgstr "" +msgstr "Методи" #: editor/editor_help.cpp msgid "Method Description:" -msgstr "" +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 "" +"Ðа данний момент Ð¾Ð¿Ð¸Ñ Ñ†ÑŒÐ¾Ð³Ð¾ методу відÑутній. БудьлаÑка, [color=$color][url=" +"$url]допоможіть нам[/url][/color]!" #: editor/editor_help.cpp msgid "Search Text" -msgstr "" +msgstr "Шукати текÑÑ‚" #: editor/editor_log.cpp msgid "Output:" -msgstr "" +msgstr "Вивід:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" -msgstr "" +msgstr "ОчиÑтити" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Error saving resource!" -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÑурÑу!" #: editor/editor_node.cpp editor/plugins/animation_player_editor_plugin.cpp msgid "Save Resource As.." -msgstr "" +msgstr "Зберегти реÑÑƒÑ€Ñ Ñк.." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "I see.." -msgstr "" +msgstr "Бачу.." #: editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Ðеможливо відкрити файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу:" #: editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "Ðевідомий формат файлу:" #: editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Помилка при збереженні." #: editor/editor_node.cpp msgid "Can't open '%s'." -msgstr "" +msgstr "Ðеможливо відкрити '%s'." #: editor/editor_node.cpp msgid "Error while parsing '%s'." -msgstr "" +msgstr "Помилка при ÑинтакÑичному аналізі '%s'." #: editor/editor_node.cpp msgid "Unexpected end of file '%s'." -msgstr "" +msgstr "Ðеочикуваний кінець Ñ€Ñдку '%s'." #: editor/editor_node.cpp msgid "Missing '%s' or its dependencies." -msgstr "" +msgstr "ВідÑутнє '%s', або його залежноÑті." #: editor/editor_node.cpp msgid "Error while loading '%s'." -msgstr "" +msgstr "Помилка при завантаженні '%s'." #: editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñцени" #: editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Ðналіз" #: editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Створити екÑкіз" #: editor/editor_node.cpp msgid "This operation can't be done without a tree root." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без кореню дерева." #: editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ Ñцену. Вірогідно, залежноÑті (екземплÑри) не задоволені." #: editor/editor_node.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ." #: editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ бібліотеку Ñіток Ð´Ð»Ñ Ð·Ð»Ð¸Ñ‚Ñ‚Ñ!" #: editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ñ–Ð±Ð»Ñ–Ð¾Ñ‚ÐµÐºÐ¸ Ñіток!" #: editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ набір плиток текÑтур Ð´Ð»Ñ Ð·Ð»Ð¸Ñ‚Ñ‚Ñ!" #: editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ тайлів!" #: editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Помилка при Ñпробі зберегти макет!" #: editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Макет редактора за промовчуваннÑм перевизначено." #: editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Ðазву макета не знайдено!" #: editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Поновити макет за промовчуваннÑм до базових налаштувань." #: editor/editor_node.cpp msgid "" @@ -1479,18 +1525,26 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Цей реÑÑƒÑ€Ñ Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ до Ñцени, Ñкий було імпортовано, тому не можна " +"редагувати.\n" +"Будь лаÑка, прочитайте документацію, що ÑтоÑуютьÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñцен, щоб " +"краще зрозуміти цей робочий процеÑ." #: 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 "" +"Цей реÑÑƒÑ€Ñ Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ‚ÑŒ до Ñцени, Ñка була інÑтаÑована або уÑпадкована.\n" +"Зміни до неї не будуть зберігатиÑÑ Ð¿Ñ€Ð¸ збереженні поточної Ñцени." #: editor/editor_node.cpp msgid "" "This resource was imported, so it's not editable. Change its settings in the " "import panel and then re-import." msgstr "" +"Цей реÑÑƒÑ€Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¾Ð²Ð°Ð½Ð¾, тому його не можна редагувати. Змініть Ñвої " +"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° панелі імпорту, а потім знову імпортуйте." #: editor/editor_node.cpp msgid "" @@ -1499,6 +1553,10 @@ msgid "" "Please read the documentation relevant to importing scenes to better " "understand this workflow." msgstr "" +"Ð¦Ñ Ñцена була імпортована, тому зміни до неї не зберігатимутьÑÑ.\n" +"ІнÑтанÑинґ або уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ÑŒ внеÑти зміни до нього.\n" +"Будь лаÑка, прочитайте документацію, що ÑтоÑуєтьÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ Ñцен, щоб краще " +"зрозуміти цей робочий процеÑ." #: editor/editor_node.cpp msgid "" @@ -1506,46 +1564,49 @@ msgid "" "Please read the documentation relevant to debugging to better understand " "this workflow." msgstr "" +"Це віддалений об'єкт, тому зміни до нього не будуть збережені.\n" +"Будь лаÑка, прочитайте документацію, що ÑтоÑуєтьÑÑ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ, щоб краще " +"зрозуміти цей робочий процеÑ." #: editor/editor_node.cpp msgid "Expand all properties" -msgstr "" +msgstr "Розгорнути вÑÑ– влаÑтивоÑті" #: editor/editor_node.cpp msgid "Collapse all properties" -msgstr "" +msgstr "Згорнути вÑÑ– влаÑтивоÑті" #: editor/editor_node.cpp msgid "Copy Params" -msgstr "" +msgstr "Копіювати параметри" #: editor/editor_node.cpp msgid "Paste Params" -msgstr "" +msgstr "Ð’Ñтавити параметри" #: editor/editor_node.cpp editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "" +msgstr "Ð’Ñтавити реÑурÑ" #: editor/editor_node.cpp msgid "Copy Resource" -msgstr "" +msgstr "Копіювати реÑурÑ" #: editor/editor_node.cpp msgid "Make Built-In" -msgstr "" +msgstr "Зробити вбудованим" #: editor/editor_node.cpp msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "Зробити Ñуб-реÑурÑи унікальними" #: editor/editor_node.cpp msgid "Open in Help" -msgstr "" +msgstr "Відкрити у довідці" #: editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "Ðе Ñ–Ñнує визначеної Ñцени Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку." #: editor/editor_node.cpp msgid "" @@ -1553,6 +1614,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"ÐÑ–Ñка головна Ñцена ніколи не була визначена, вибрати Ñ—Ñ—?\n" +"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії " +"\"Програма\"." #: editor/editor_node.cpp msgid "" @@ -1560,6 +1624,9 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Вибрана Ñцена '%s' не Ñ–Ñнує, вибрати дійÑну?\n" +"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії " +"\"Програма\"." #: editor/editor_node.cpp msgid "" @@ -1567,343 +1634,364 @@ msgid "" "You can change it later in \"Project Settings\" under the 'application' " "category." msgstr "" +"Вибрана Ñцена '%s' не Ñ” файлом Ñцени, вибрати дійÑний файл?\n" +"Ви можете змінити це пізніше в \"ÐалаштуваннÑÑ… проекту\" в категорії " +"\"Програма\"." #: 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 "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити підпроцеÑ!" #: editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "Відкрити Ñцену" #: editor/editor_node.cpp msgid "Open Base Scene" -msgstr "" +msgstr "Відкрити оÑновну Ñцену" #: editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "Швидке Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñцени.." #: editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "Швидке Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñкрипту.." #: editor/editor_node.cpp msgid "Save & Close" -msgstr "" +msgstr "Зберегти та закрити" #: editor/editor_node.cpp msgid "Save changes to '%s' before closing?" -msgstr "" +msgstr "Зберегти зміни, внеÑені до '%s ' перед закриттÑм?" #: editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Зберегти Ñцени, Ñк..." #: editor/editor_node.cpp msgid "No" -msgstr "" +msgstr "ÐÑ–" #: editor/editor_node.cpp msgid "Yes" -msgstr "" +msgstr "Так" #: editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "" +msgstr "Ð¦Ñ Ñцена ніколи не була збережена. Зберегти перед запуÑком?" #: editor/editor_node.cpp editor/scene_tree_dock.cpp msgid "This operation can't be done without a scene." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без Ñцени." #: editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "ЕкÑпортувати бібліотеку Ñіті" #: editor/editor_node.cpp msgid "This operation can't be done without a root node." -msgstr "" +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." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½Ðµ може бути виконана без вибраного вузла." #: editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "" +msgstr "Поточна Ñцена не збережена. Відкрити в будь-Ñкому випадку?" #: editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "" +msgstr "Ðеможливо перезавантажити Ñцену, Ñку ніколи не зберігали." #: editor/editor_node.cpp msgid "Revert" -msgstr "" +msgstr "ПовернутиÑÑ" #: editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" -msgstr "" +msgstr "Цю дію не можна ÑкаÑувати. ПовернутиÑÑ Ð² будь-Ñкому випадку?" #: editor/editor_node.cpp msgid "Quick Run Scene.." -msgstr "" +msgstr "Швидкий запуÑк Ñцени.." #: editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Вийти" #: editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "Вийти з редактора?" #: editor/editor_node.cpp msgid "Open Project Manager?" -msgstr "" +msgstr "Відкрити менеджер проектів?" #: editor/editor_node.cpp msgid "Save & Quit" -msgstr "" +msgstr "Зберегти та вийти" #: editor/editor_node.cpp msgid "Save changes to the following scene(s) before quitting?" -msgstr "" +msgstr "Зберегти зміни в наÑтупній(их) Ñцені(ах) перед тим, Ñк вийти?" #: editor/editor_node.cpp msgid "Save changes the following scene(s) before opening Project Manager?" msgstr "" +"Зберегти зміни в наÑтупній(их) Ñцені(ах) перед відкриттÑм менеджера проектів?" #: 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 "" +msgstr "Виберіть головну Ñцену" #: editor/editor_node.cpp msgid "Unable to enable addon plugin at: '%s' parsing of config failed." msgstr "" +"Ðе вдаєтьÑÑ Ð²Ð²Ñ–Ð¼ÐºÐ½ÑƒÑ‚Ð¸ плагін addon: '%s' не вдалоÑÑ Ð¿Ñ€Ð¾Ð°Ð½Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ " +"Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—." #: editor/editor_node.cpp msgid "Unable to find script field for addon plugin at: 'res://addons/%s'." msgstr "" +"Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ поле Ñкрипт Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð»Ð°Ð³Ñ–Ð½Ñƒ в: 'res://addons/%s'." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s'." -msgstr "" +msgstr "Ðеможливо завантажити Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñкрипт зі шлÑху: '%s'." #: editor/editor_node.cpp msgid "" "Unable to load addon script from path: '%s' Base type is not EditorPlugin." msgstr "" +"Ðе вдаєтьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñкрипт Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð· шлÑху: '%s' Базовий тип не Ñ” " +"редактором плагінів." #: editor/editor_node.cpp msgid "Unable to load addon script from path: '%s' Script is not in tool mode." msgstr "" +"Ðеможливо завантажити Ñкрипт Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð· шлÑху: '%s' Скрипт не в режимі " +"інÑтрументу." #: editor/editor_node.cpp msgid "" "Scene '%s' was automatically imported, so it can't be modified.\n" "To make changes to it, a new inherited scene can be created." msgstr "" +"Сцена '%s' автоматично імпортуєтьÑÑ, тому Ñ—Ñ— неможливо змінити.\n" +"Щоб внеÑти зміни, можна Ñтворити нову уÑпадковану Ñцену." #: editor/editor_node.cpp editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Ugh" -msgstr "" +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 "" +msgstr "Сцена '%s' має зламані залежноÑті:" #: editor/editor_node.cpp msgid "Clear Recent Scenes" -msgstr "" +msgstr "ОчиÑтити недавні Ñцени" #: editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "Зберегти макет" #: editor/editor_node.cpp msgid "Delete Layout" -msgstr "" +msgstr "Видалити макет" #: editor/editor_node.cpp editor/import_dock.cpp #: editor/script_create_dialog.cpp msgid "Default" -msgstr "" +msgstr "За промовчаннÑм" #: editor/editor_node.cpp msgid "Switch Scene Tab" -msgstr "" +msgstr "Перемкнути вкладку \"Сцена\"" #: editor/editor_node.cpp msgid "%d more files or folders" -msgstr "" +msgstr "%d більше файлів або тек" #: editor/editor_node.cpp msgid "%d more folders" -msgstr "" +msgstr "%d більше тек" #: editor/editor_node.cpp msgid "%d more files" -msgstr "" +msgstr "%d більше файлів" #: editor/editor_node.cpp msgid "Dock Position" -msgstr "" +msgstr "ÐŸÐ¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ Ð¿Ð°Ð½ÐµÐ»ÐµÐ¹" #: editor/editor_node.cpp msgid "Distraction Free Mode" -msgstr "" +msgstr "Режим без відволіканнÑ" #: editor/editor_node.cpp msgid "Toggle distraction-free mode." -msgstr "" +msgstr "Перемкнути режим без відволіканнÑ." #: editor/editor_node.cpp msgid "Add a new scene." -msgstr "" +msgstr "Додати нову Ñцену." #: editor/editor_node.cpp msgid "Scene" -msgstr "" +msgstr "Сцена" #: editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "" +msgstr "Перейти до раніше відкритої Ñцени." #: editor/editor_node.cpp msgid "Next tab" -msgstr "" +msgstr "ÐаÑтупна вкладка" #: editor/editor_node.cpp msgid "Previous tab" -msgstr "" +msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°" #: editor/editor_node.cpp msgid "Filter Files.." -msgstr "" +msgstr "Фільтрувати файли..." #: editor/editor_node.cpp msgid "Operations with scene files." -msgstr "" +msgstr "Операції з файлами Ñцени." #: editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Ðова Ñцена" #: editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Ðова уÑпадкована Ñцена.." #: editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "Відкрити Ñцену.." #: editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Зберегти Ñцену" #: editor/editor_node.cpp msgid "Save all Scenes" -msgstr "" +msgstr "Зберегти вÑÑ– Ñцени" #: editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Закрити Ñцену" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Open Recent" -msgstr "" +msgstr "Відкрити оÑтанні" #: editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Перетворити на.." #: editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "" +msgstr "Бібліотека Ñітки.." #: editor/editor_node.cpp msgid "TileSet.." -msgstr "" +msgstr "Ðабір тайлів.." #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp msgid "Undo" -msgstr "" +msgstr "СкаÑувати" #: editor/editor_node.cpp editor/plugins/script_text_editor.cpp #: scene/gui/line_edit.cpp msgid "Redo" -msgstr "" +msgstr "Повторити" #: editor/editor_node.cpp msgid "Revert Scene" -msgstr "" +msgstr "Повернути Ñцену" #: editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Різні проектні або Ñценографічні інÑтрументи." #: editor/editor_node.cpp msgid "Project" -msgstr "" +msgstr "Проект" #: editor/editor_node.cpp msgid "Project Settings" -msgstr "" +msgstr "Параметри проекту" #: editor/editor_node.cpp msgid "Run Script" -msgstr "" +msgstr "ЗапуÑтити Ñкрипт" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export" -msgstr "" +msgstr "ЕкÑпортувати" #: editor/editor_node.cpp msgid "Tools" -msgstr "" +msgstr "ІнÑтрументи" #: editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Вийти в ÑпиÑок проектів" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Debug" -msgstr "" +msgstr "ÐалагодженнÑ" #: editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Ð Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð·Ð° допомогою віддаленого налагодженнÑ" #: editor/editor_node.cpp msgid "" "When exporting or deploying, the resulting executable will attempt to " "connect to the IP of this computer in order to be debugged." msgstr "" +"При екÑпорті або розгортанні, отриманий виконуваний файл буде намагатиÑÑ " +"підключитиÑÑ Ð´Ð¾ IP цього комп'ютера, Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ." #: editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Маленьке Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð· Network File System" #: editor/editor_node.cpp msgid "" @@ -1914,30 +2002,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 "" +"Якщо цей параметр увімкнено, екÑпорт або Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð´Ð°ÑŽÑ‚ÑŒ мінімальний " +"виконуваний файл.\n" +"Файлова ÑиÑтема буде надана редактором у проекті через мережу.\n" +"Ðа Android Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ швидше при підключенні через USB.. Цей параметр " +"значно приÑкорює теÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… ігор." #: editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "" +msgstr "Видимі форми зіткнень" #: editor/editor_node.cpp msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Форми Ð·Ñ–Ñ‚ÐºÐ½ÐµÐ½Ð½Ñ Ñ‚Ð° вузли raycast (Ð´Ð»Ñ 2D та 3D) будуть видно в роботі гри, " +"Ñкщо Ñ†Ñ Ð¾Ð¿Ñ†Ñ–Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð°." #: editor/editor_node.cpp msgid "Visible Navigation" -msgstr "" +msgstr "Видимі навігації" #: editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Ðавігаційні поліÑітки та полігони будуть видимі у запущеній грі, Ñкщо Ñ†Ñ " +"Ð¾Ð¿Ñ†Ñ–Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð°." #: editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Синхронізувати зміни Ñцени" #: editor/editor_node.cpp msgid "" @@ -1946,10 +2043,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Якщо цей параметр увімкнено, будь-Ñкі зміни, внеÑені в Ñцену в редакторі, " +"будуть відтворені в роботі гри.\n" +"Коли він викориÑтовуєтьÑÑ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾ на приÑтрої, це більш ефективно з " +"мережевою файловою ÑиÑтемою." #: editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "" +msgstr "Синхронізувати зміни в Ñкрипті" #: editor/editor_node.cpp msgid "" @@ -1958,308 +2059,322 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Якщо цей параметр увімкнено, будь-Ñкий Ñкрипт, Ñкий буде збережений, буде " +"перезавантажений у поточній грі.\n" +"Коли він викориÑтовуєтьÑÑ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾ на приÑтрої, це більш ефективно з " +"мережевою файловою ÑиÑтемою." #: editor/editor_node.cpp msgid "Editor" -msgstr "" +msgstr "Редактор" #: editor/editor_node.cpp editor/settings_config_dialog.cpp msgid "Editor Settings" -msgstr "" +msgstr "Параметри редактора" #: editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Редактор макетів" #: editor/editor_node.cpp msgid "Toggle Fullscreen" -msgstr "" +msgstr "Перемикач повноекранного режиму" #: editor/editor_node.cpp editor/project_export.cpp msgid "Manage Export Templates" -msgstr "" +msgstr "Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°Ð¼Ð¸ екÑпорту" #: editor/editor_node.cpp msgid "Help" -msgstr "" +msgstr "Довідка" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Classes" -msgstr "" +msgstr "КлаÑи" #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Online Docs" -msgstr "" +msgstr "Онлайн документаціÑ" #: editor/editor_node.cpp msgid "Q&A" -msgstr "" +msgstr "Ð—Ð°Ð¿Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° відповіді" #: editor/editor_node.cpp msgid "Issue Tracker" -msgstr "" +msgstr "ВідÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Спільнота" #: editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Про" #: editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "ЗапуÑтити проект." #: editor/editor_node.cpp msgid "Play" -msgstr "" +msgstr "Відтворити" #: editor/editor_node.cpp msgid "Pause the scene" -msgstr "" +msgstr "Призупинити Ñцену" #: editor/editor_node.cpp msgid "Pause Scene" -msgstr "" +msgstr "Пауза Ñцени" #: editor/editor_node.cpp msgid "Stop the scene." -msgstr "" +msgstr "Зупинити Ñцену." #: editor/editor_node.cpp msgid "Stop" -msgstr "" +msgstr "Зупинити" #: editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Відтворити поточну відредаговану Ñцену." #: editor/editor_node.cpp msgid "Play Scene" -msgstr "" +msgstr "Відтворити Ñцену" #: editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Відтворити вибіркову Ñцену" #: editor/editor_node.cpp msgid "Play Custom Scene" -msgstr "" +msgstr "Відтворити вибіркову Ñцену" #: editor/editor_node.cpp msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "ОбертаєтьÑÑ, коли перемальовуєтьÑÑ Ð²Ñ–ÐºÐ½Ð¾ редактора!" #: editor/editor_node.cpp msgid "Update Always" -msgstr "" +msgstr "Завжди оновлювати" #: editor/editor_node.cpp msgid "Update Changes" -msgstr "" +msgstr "Оновити зміни" #: editor/editor_node.cpp msgid "Disable Update Spinner" -msgstr "" +msgstr "Вимкнути Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð»Ñ–Ñ‡Ð¸Ð»ÑŒÐ½Ð¸ÐºÐ°" #: editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "ІнÑпектор" #: editor/editor_node.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ реÑурÑу в пам'Ñті Ñ– редагувати його." #: editor/editor_node.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "Завантажити наÑвний реÑÑƒÑ€Ñ Ñ–Ð· диÑка та відредагувати його." #: editor/editor_node.cpp msgid "Save the currently edited resource." -msgstr "" +msgstr "Зберегти поточний редагований реÑурÑ." #: editor/editor_node.cpp editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "" +msgstr "Зберегти Ñк..." #: editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "Перейти до попереднього редагованого об'єкта в Ñ–Ñторії." #: editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "Перейти до наÑтупного редагованого об'єкта в Ñ–Ñторії." #: editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "ІÑÑ‚Ð¾Ñ€Ñ–Ñ Ð½ÐµÑ‰Ð¾Ð´Ð°Ð²Ð½Ð¾ відредагованих об'єктів." #: editor/editor_node.cpp msgid "Object properties." -msgstr "" +msgstr "ВлаÑтивоÑті об'єкта." #: editor/editor_node.cpp msgid "Changes may be lost!" -msgstr "" +msgstr "Зміни можуть бути втрачені!" #: editor/editor_node.cpp editor/plugins/asset_library_editor_plugin.cpp #: editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Імпортувати" #: editor/editor_node.cpp msgid "Node" -msgstr "" +msgstr "Вузол" #: editor/editor_node.cpp msgid "FileSystem" -msgstr "" +msgstr "Файлова ÑиÑтема" #: editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Результат" #: editor/editor_node.cpp msgid "Don't Save" -msgstr "" +msgstr "Ðе зберігати" #: editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Імпортувати шаблони з ZIP-файлу" #: editor/editor_node.cpp editor/project_export.cpp msgid "Export Project" -msgstr "" +msgstr "ЕкÑпортувати проект" #: editor/editor_node.cpp msgid "Export Library" -msgstr "" +msgstr "ЕкÑпортувати бібліотеку" #: editor/editor_node.cpp msgid "Merge With Existing" -msgstr "" +msgstr "Об'єднати з Ñ–Ñнуючим" #: editor/editor_node.cpp msgid "Password:" -msgstr "" +msgstr "Пароль:" #: editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "" +msgstr "Відкрити Ñ– запуÑтити Ñкрипт" #: editor/editor_node.cpp msgid "New Inherited" -msgstr "" +msgstr "Ðовий уÑпадкований" #: editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "Завантажити помилки" #: editor/editor_node.cpp editor/plugins/tile_map_editor_plugin.cpp msgid "Select" -msgstr "" +msgstr "Виділити" #: editor/editor_node.cpp msgid "Open 2D Editor" -msgstr "" +msgstr "Відкрити 2D редактор" #: editor/editor_node.cpp msgid "Open 3D Editor" -msgstr "" +msgstr "Відкрити 3D редактор" #: editor/editor_node.cpp msgid "Open Script Editor" -msgstr "" +msgstr "Відкрити редактор Ñкриптів" #: editor/editor_node.cpp editor/project_manager.cpp msgid "Open Asset Library" -msgstr "" +msgstr "Відкрити бібліотеку активів" #: editor/editor_node.cpp msgid "Open the next Editor" -msgstr "" +msgstr "Відкрити наÑтупний редактор" #: editor/editor_node.cpp msgid "Open the previous Editor" -msgstr "" +msgstr "Відкрити попередній редактор" #: editor/editor_plugin.cpp msgid "Creating Mesh Previews" -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду Ñітки" #: editor/editor_plugin.cpp msgid "Thumbnail.." -msgstr "" +msgstr "Мініатюра.." #: editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Ð’Ñтановлені плагіни:" #: editor/editor_plugin_settings.cpp msgid "Update" -msgstr "" +msgstr "Оновити" #: editor/editor_plugin_settings.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Version:" -msgstr "" +msgstr "ВерÑÑ–Ñ:" #: editor/editor_plugin_settings.cpp msgid "Author:" -msgstr "" +msgstr "Ðвтор:" #: editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "СтатуÑ:" #: editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Зупинити профілюваннÑ" #: editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Початок профілюваннÑ" #: editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Вимірювати:" #: editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "Ð§Ð°Ñ ÐºÐ°Ð´Ñ€Ñƒ (Ñек)" #: editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Середній Ñ‡Ð°Ñ (Ñек)" #: editor/editor_profiler.cpp msgid "Frame %" -msgstr "" +msgstr "Кадр %" #: editor/editor_profiler.cpp msgid "Physics Frame %" -msgstr "" +msgstr "Фізика кадрів %" #: editor/editor_profiler.cpp editor/script_editor_debugger.cpp msgid "Time:" -msgstr "" +msgstr "ЧаÑ:" #: editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Включно" #: editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "Цей об'єкт" #: editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "Кадр #:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "ЧаÑ:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "Виклик" #: editor/editor_run_native.cpp msgid "Select device from the list" -msgstr "" +msgstr "Вибрати приÑтрій зі ÑпиÑку" #: editor/editor_run_native.cpp msgid "" @@ -2269,514 +2384,552 @@ msgstr "" #: editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "Ðапишіть Ñвою логіку в методі _run ()." #: editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Є вже редагована Ñцена." #: editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Ðеможливо Ñтворити екземплÑÑ€ Ñкрипту:" #: editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "Ви забули ключове Ñлово \"інÑтрумент\"?" #: 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_settings.cpp msgid "Default (Same as Editor)" -msgstr "" +msgstr "За промовчаннÑм (так Ñамо, Ñк редактор)" #: 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 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." -msgstr "" +msgstr "Ðеправильний формат version.txt у шаблонах." #: editor/export_template_manager.cpp msgid "" "Invalid version.txt format inside templates. Revision is not a valid " "identifier." msgstr "" +"Ðеправильний формат version.txt у шаблонах. Ідентифікатор ревізії не Ñ” " +"дійÑним." #: editor/export_template_manager.cpp msgid "No version.txt found inside templates." -msgstr "" +msgstr "Файл version.txt не знайдено у шаблонах." #: editor/export_template_manager.cpp msgid "Error creating path for templates:\n" -msgstr "" +msgstr "Помилка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑˆÐ»Ñху Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²:\n" #: 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 "" +"Ðемає поÑилань на Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— верÑÑ–Ñ—. ПрÑме Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупне " +"лише Ð´Ð»Ñ Ð¾Ñ„Ñ–Ñ†Ñ–Ð¹Ð½Ð¸Ñ… випуÑків." #: 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 msgid "Can't connect." -msgstr "" +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 "Req. Failed." -msgstr "" +#, fuzzy +msgid "Request Failed." +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 "Can't write file." -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл." #: editor/export_template_manager.cpp msgid "Download Complete." -msgstr "" +msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð¾." #: editor/export_template_manager.cpp msgid "Error requesting url: " -msgstr "" +msgstr "Помилка запиту url: " #: editor/export_template_manager.cpp msgid "Connecting to Mirror.." -msgstr "" +msgstr "ÐŸÑ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ дзеркала.." #: editor/export_template_manager.cpp msgid "Disconnected" -msgstr "" +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 msgid "Connecting.." -msgstr "" +msgstr "З’єданнÑ.." #: editor/export_template_manager.cpp -msgid "Can't Conect" -msgstr "" +#, fuzzy +msgid "Can't Connect" +msgstr "Ðе вдаєтьÑÑ Ð·â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ" #: editor/export_template_manager.cpp msgid "Connected" -msgstr "" +msgstr "З’єднано" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp msgid "Requesting.." -msgstr "" +msgstr "Запит..." #: editor/export_template_manager.cpp msgid "Downloading" -msgstr "" +msgstr "ЗавантаженнÑ" #: editor/export_template_manager.cpp msgid "Connection Error" -msgstr "" +msgstr "Помилка з'єднаннÑ" #: editor/export_template_manager.cpp msgid "SSL Handshake Error" -msgstr "" +msgstr "Помилка SSL Handshake" #: 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 msgid "Download Templates" -msgstr "" +msgstr "Завантажити шаблони" #: editor/export_template_manager.cpp msgid "Select mirror from list: " -msgstr "" +msgstr "Виберіть дзеркало зі ÑпиÑку: " #: editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл file_type_cache.cch Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑаннÑ, кеш тип файлу " +"не буде збережений!" #: editor/filesystem_dock.cpp 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 "" +msgstr "ПереглÑд елементів у виглÑді Ñітки еÑкізів" #: editor/filesystem_dock.cpp msgid "View items as a list" -msgstr "" +msgstr "ПереглÑд елементів Ñк ÑпиÑок" #: editor/filesystem_dock.cpp msgid "" "\n" "Status: Import of file failed. Please fix file and reimport manually." msgstr "" +"\n" +"СтатуÑ: не вдалоÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ файл. Виправте файл та повторно імпортуйте " +"вручну." #: editor/filesystem_dock.cpp msgid "Cannot move/rename resources root." -msgstr "" +msgstr "Ðеможливо переміÑтити/перейменувати корінь реÑурÑів." #: editor/filesystem_dock.cpp msgid "Cannot move a folder into itself.\n" -msgstr "" +msgstr "Ðе вдаєтьÑÑ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñтити теку в Ñебе.\n" #: editor/filesystem_dock.cpp msgid "Error moving:\n" -msgstr "" +msgstr "Помилка переміщеннÑ:\n" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "Помилка завантаженнÑ:" #: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" -msgstr "" +msgstr "Ðеможливо оновити залежноÑті:\n" #: editor/filesystem_dock.cpp msgid "No name provided" -msgstr "" +msgstr "Ім'Ñ Ð½Ðµ вказано" #: editor/filesystem_dock.cpp msgid "Provided name contains invalid characters" -msgstr "" +msgstr "Ðадане ім'Ñ Ð¼Ñ–Ñтить некоректні Ñимволи" #: editor/filesystem_dock.cpp msgid "No name provided." -msgstr "" +msgstr "Ім'Ñ Ð½Ðµ вказано." #: editor/filesystem_dock.cpp msgid "Name contains invalid characters." -msgstr "" +msgstr "Ðазва міÑтить некоректні Ñимволи." #: editor/filesystem_dock.cpp msgid "A file or folder with this name already exists." -msgstr "" +msgstr "Файл або тека з таким іменем вже Ñ–Ñнує." #: editor/filesystem_dock.cpp msgid "Renaming file:" -msgstr "" +msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ:" #: editor/filesystem_dock.cpp msgid "Renaming folder:" -msgstr "" +msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÐ¸:" #: editor/filesystem_dock.cpp -msgid "Expand all" -msgstr "" +#, fuzzy +msgid "Duplicating file:" +msgstr "Дублювати" #: editor/filesystem_dock.cpp -msgid "Collapse all" -msgstr "" +#, fuzzy +msgid "Duplicating folder:" +msgstr "ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÐ¸:" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "" +msgid "Expand all" +msgstr "Розгорнути вÑÑ–" #: editor/filesystem_dock.cpp -msgid "Rename.." -msgstr "" +msgid "Collapse all" +msgstr "Згорнути вÑÑ–" #: editor/filesystem_dock.cpp -msgid "Move To.." -msgstr "" +msgid "Rename.." +msgstr "Перейменувати..." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "" +msgid "Move To.." +msgstr "ПереміÑтити до..." #: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +#, fuzzy +msgid "Open Scene(s)" +msgstr "Відкрити Ñцену" #: editor/filesystem_dock.cpp msgid "Instance" -msgstr "" +msgstr "ЕкземплÑÑ€" #: editor/filesystem_dock.cpp msgid "Edit Dependencies.." -msgstr "" +msgstr "Редагувати залежноÑті.." #: editor/filesystem_dock.cpp msgid "View Owners.." -msgstr "" +msgstr "ПереглÑнути влаÑників.." + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "Дублювати" #: editor/filesystem_dock.cpp msgid "Previous Directory" -msgstr "" +msgstr "Попередній каталог" #: editor/filesystem_dock.cpp msgid "Next Directory" -msgstr "" +msgstr "ÐаÑтупний каталог" #: editor/filesystem_dock.cpp msgid "Re-Scan Filesystem" -msgstr "" +msgstr "Повторне ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ñ— ÑиÑтеми" #: editor/filesystem_dock.cpp msgid "Toggle folder status as Favorite" -msgstr "" +msgstr "Переключити ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ‚ÐµÐºÐ¸ у вибране" #: editor/filesystem_dock.cpp msgid "Instance the selected scene(s) as child of the selected node." -msgstr "" +msgstr "Додати обрану Ñцену(и), Ñк нащадка обраного вузла." #: editor/filesystem_dock.cpp msgid "" "Scanning Files,\n" "Please Wait.." msgstr "" +"Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð²,\n" +"будь лаÑка, зачекайте..." #: editor/filesystem_dock.cpp msgid "Move" -msgstr "" +msgstr "ПереміÑтити" #: editor/filesystem_dock.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/project_manager.cpp msgid "Rename" -msgstr "" +msgstr "Перейменувати" #: editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Додати до групи" #: editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Вилучити з групи" #: editor/import/resource_importer_scene.cpp msgid "Import as Single Scene" -msgstr "" +msgstr "Імпортувати в ÑкоÑті однієї Ñцени" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Animations" -msgstr "" +msgstr "Імпортувати з окремими анімаціÑми" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" -msgstr "" +msgstr "Імпортувати з окремими матеріалами" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects" -msgstr "" +msgstr "Імпортувати з окремими об'єктами" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials" -msgstr "" +msgstr "Імпортувати з окремими об'єктами + матеріалами" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Animations" -msgstr "" +msgstr "Імпортувати з окремими об'єктами + анімації" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials+Animations" -msgstr "" +msgstr "Імпортувати з окремими матеріалами + анімації" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Objects+Materials+Animations" -msgstr "" +msgstr "Імпортувати окремі об'єкти + матеріали + анімації" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" -msgstr "" +msgstr "Імпортувати Ñк кілька Ñцен" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes+Materials" -msgstr "" +msgstr "Імпортувати Ñк кілька Ñцен + матеріали" #: editor/import/resource_importer_scene.cpp #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Імпортувати Ñцену" #: editor/import/resource_importer_scene.cpp msgid "Importing Scene.." -msgstr "" +msgstr "Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñцени.." + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):" #: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." -msgstr "" +msgstr "ЗапуÑк кориÑтувацького Ñкрипту.." #: editor/import/resource_importer_scene.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñкрипт піÑÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ:" #: editor/import/resource_importer_scene.cpp msgid "Invalid/broken script for post-import (check console):" -msgstr "" +msgstr "Пошкоджений/зламаний Ñкрипт Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚-імпорту (перевірте конÑоль):" #: editor/import/resource_importer_scene.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Помилка запуÑку піÑÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ Ñкрипту:" #: editor/import/resource_importer_scene.cpp msgid "Saving.." -msgstr "" +msgstr "ЗбереженнÑ..." #: editor/import_dock.cpp msgid "Set as Default for '%s'" -msgstr "" +msgstr "Ð’Ñтановити за замовчуваннÑм Ð´Ð»Ñ \"%s\"" #: editor/import_dock.cpp msgid "Clear Default for '%s'" -msgstr "" +msgstr "ОчиÑтити за замовчуваннÑм Ð´Ð»Ñ '%s'" #: editor/import_dock.cpp msgid " Files" -msgstr "" +msgstr " Файли" #: editor/import_dock.cpp msgid "Import As:" -msgstr "" +msgstr "Імпортувати Ñк:" #: editor/import_dock.cpp editor/property_editor.cpp msgid "Preset.." -msgstr "" +msgstr "Заздалегідь уÑтановлений.." #: editor/import_dock.cpp msgid "Reimport" -msgstr "" +msgstr "Переімпортивути" #: editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "Мультивузловий набір" #: editor/node_dock.cpp msgid "Groups" -msgstr "" +msgstr "Групи" #: editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Виберіть вузол Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналів та груп." #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Створити полігон" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Редагувати полігон" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Insert Point" -msgstr "" +msgstr "Ð’Ñтавити точку" #: editor/plugins/abstract_polygon_2d_editor.cpp #: editor/plugins/collision_polygon_editor_plugin.cpp #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Редагувати полігон (вилучити точку)" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Remove Poly And Point" -msgstr "" +msgstr "Вилучити полігон та точку" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Create a new polygon from scratch" -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ полігону з нулÑ" #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "" @@ -2785,225 +2938,231 @@ msgid "" "Ctrl+LMB: Split Segment.\n" "RMB: Erase Point." msgstr "" +"Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñнуючого полігону:\n" +"ЛКМ: переміÑтити точку.\n" +"Ctrl+ЛКМ: розділити Ñегмент.\n" +"ПКМ: видалити точку." #: editor/plugins/abstract_polygon_2d_editor.cpp msgid "Delete points" -msgstr "" +msgstr "Видалити точки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Перемкнути автовідтвореннÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Ðове ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Ðова анімаціÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Змініть ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Delete Animation?" -msgstr "" +msgstr "Видалити анімацію?" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Вилучити анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "" +msgstr "ПОМИЛКÐ: неправильне ім'Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðазва анімації вже Ñ–Ñнує!" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Перейменувати анімацію" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Змінена подальша анімаціÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Змінити Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "Завантажити анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Дублювати анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðемає копії анімації!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðемає анімаційного реÑурÑу в буфері обміну!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Ð’Ñтавлена анімаціÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Ð’Ñтавити анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðемає анімації Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" msgstr "" +"Відтворити обрану анімацію в зворотньому напрÑмку від поточної позиції. (A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Відтворити вибрану анімацію назад з кінцÑ. (Shift+A)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Зупинити Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ—. (S)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Відтворити вибрану анімацію від початку. (Shift+D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Відтворити вибрану анімацію з поточної позиції. (D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð°Ð½Ñ–Ð¼Ð°Ñ†Ñ–Ñ— (в Ñекундах)." #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Scale animation playback globally for the node." -msgstr "" +msgstr "Шкала Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾ анімації Ð´Ð»Ñ Ð²ÑƒÐ·Ð»Ð°." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Створювати нові анімації у програвачі." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load animation from disk." -msgstr "" +msgstr "Завантажити анімацію з диÑка." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Завантажити цю анімацію з диÑка." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Зберегти поточну анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Відобразити ÑпиÑок анімації у програвачі." #: editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "ÐÐ²Ñ‚Ð¾Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ завантаженні" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" -msgstr "" +msgstr "Редагувати цільовий Ñ‡Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "ІнÑтрументи анімації" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Копіювати анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "КалькуваннÑ" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "Увімкнути калькуваннÑ" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "ОпиÑ" +msgstr "ÐапрÑмки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Past" -msgstr "" +msgstr "Минулі" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Future" -msgstr "" +msgstr "Майбутні" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "Глибина" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1 крок" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2 кроки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3 кроки" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" -msgstr "" +msgstr "Тільки відмінноÑті" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Force White Modulate" -msgstr "" +msgstr "ПримуÑово Ñ€Ð¾Ð·Ñ„Ð°Ñ€Ð±Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ñ–Ð»Ð¸Ð¼" #: editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy msgid "Include Gizmos (3D)" -msgstr "" +msgstr "Включити ÒÑ–Ð·Ð¼Ð¾Ñ (3D)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Створити нову анімацію" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Ðазва анімації:" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp editor/property_editor.cpp #: editor/script_create_dialog.cpp msgid "Error!" -msgstr "" +msgstr "Помилка!" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "" +msgstr "Ð§Ð°Ñ Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ:" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Далі (автоматична черга):" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" @@ -3012,20 +3171,20 @@ msgstr "" #: editor/plugins/animation_player_editor_plugin.cpp #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "ÐнімаціÑ" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Ðова назва:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Filters" -msgstr "" +msgstr "Редагувати фільтри" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "МаÑштаб:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" @@ -3037,44 +3196,44 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" -msgstr "" +msgstr "Змішати" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "ПоєднаннÑ" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Ðвтоматичний перезапуÑк:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "ПерезапуÑтити (Ñек.):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "Випадкові Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ (Ñек.):" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Почати!" #: editor/plugins/animation_tree_editor_plugin.cpp #: editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "ОбÑÑг:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" -msgstr "" +msgstr "Змішувати:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 0:" -msgstr "" +msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ 0:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend 1:" -msgstr "" +msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ 1:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" @@ -3082,11 +3241,11 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Поточний:" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Додати вхід" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" @@ -3098,19 +3257,19 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Видалити введеннÑ" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Дерево анімації Ñ” дійÑним." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Дерево анімації недійÑне." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Ðнімаційний вузол" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" @@ -3118,7 +3277,7 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Змішувати вузол" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" @@ -3146,71 +3305,71 @@ msgstr "" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Імпортувати анімації.." #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" -msgstr "" +msgstr "Редагувати фільтри вузла" #: editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Фільтри..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Free" -msgstr "" +msgstr "Вивільнити" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Contents:" -msgstr "" +msgstr "ЗміÑÑ‚:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "View Files" -msgstr "" +msgstr "ПереглÑд файлів" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't resolve hostname:" -msgstr "" +msgstr "Ðеможливо розпізнати ім'Ñ Ñ…Ð¾Ñта:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Connection error, please try again." -msgstr "" +msgstr "Помилка з'єднаннÑ, будь лаÑка, повторіть Ñпробу." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Can't connect to host:" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ð¸ÑÑ Ð´Ð¾ хоÑту:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "No response from host:" -msgstr "" +msgstr "Ðемає відповіді від хоÑта:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, return code:" -msgstr "" +msgstr "Помилка запиту, код поверненнÑ:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Request failed, too many redirects" -msgstr "" +msgstr "Запит не вдавÑÑ, забагато перенаправлень" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Bad download hash, assuming file has been tampered with." -msgstr "" +msgstr "РозбіжніÑть хеша завантаженнÑ, можливо файл був змінений." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Expected:" -msgstr "" +msgstr "ОчікуєтьÑÑ:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Got:" -msgstr "" +msgstr "Отримав:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Failed sha256 hash check" -msgstr "" +msgstr "Помилка перевірки Ñ…ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ sha256" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Asset Download Error:" -msgstr "" +msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Fetching:" @@ -3218,77 +3377,78 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Resolving.." -msgstr "" +msgstr "ВирішеннÑ..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Error making request" -msgstr "" +msgstr "Помилка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Idle" -msgstr "" +msgstr "ПроÑтій" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Retry" -msgstr "" +msgstr "Повторити Ñпробу" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download Error" -msgstr "" +msgstr "Помилка завантаженнÑ" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Download for this asset is already in progress!" -msgstr "" +msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ актива вже виконуєтьÑÑ!" #: editor/plugins/asset_library_editor_plugin.cpp msgid "first" -msgstr "" +msgstr "перший" #: editor/plugins/asset_library_editor_plugin.cpp msgid "prev" -msgstr "" +msgstr "попередній" #: editor/plugins/asset_library_editor_plugin.cpp msgid "next" -msgstr "" +msgstr "наÑтупний" #: editor/plugins/asset_library_editor_plugin.cpp msgid "last" -msgstr "" +msgstr "оÑтанній" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Ð’Ñе" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Plugins" -msgstr "" +msgstr "Плагіни" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Сортувати:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Зворотний" #: editor/plugins/asset_library_editor_plugin.cpp #: editor/project_settings_editor.cpp msgid "Category:" -msgstr "" +msgstr "КатегоріÑ:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Сайт:" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Support.." -msgstr "" +msgstr "Підтримка..." #: editor/plugins/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Офіційний" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Testing" @@ -3296,15 +3456,36 @@ msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp msgid "Assets ZIP File" +msgstr "ZIP файл активів" + +#: 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 msgid "Preview" -msgstr "" +msgstr "Попередній переглÑд" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp @@ -3330,39 +3511,39 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "" +msgstr "ПереміÑтити дію" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move vertical guide" -msgstr "" +msgstr "ПереміÑтити вертикальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new vertical guide" -msgstr "" +msgstr "Створити нову вертикальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove vertical guide" -msgstr "" +msgstr "Вилучити вертикальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move horizontal guide" -msgstr "" +msgstr "ПереміÑтити горизонтальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal guide" -msgstr "" +msgstr "Створити нову горизонтальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Remove horizontal guide" -msgstr "" +msgstr "Вилучити горизонтальну напрÑмну" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Create new horizontal and vertical guides" -msgstr "" +msgstr "Створити нові горизонтальні та вертикальні напрÑмні" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" -msgstr "" +msgstr "Редагувати ІК-ланцюг" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit CanvasItem" @@ -3382,11 +3563,11 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" -msgstr "" +msgstr "Ð’Ñтавити позу" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode" -msgstr "" +msgstr "Режим виділеннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" @@ -3394,7 +3575,7 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+Drag: Move" -msgstr "" +msgstr "Alt+ПеретÑгнути: переміÑтити" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." @@ -3402,15 +3583,15 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" -msgstr "" +msgstr "Ðльт+ПКМ: СпиÑок вибору глибини" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Mode" -msgstr "" +msgstr "Режим переміщеннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotate Mode" -msgstr "" +msgstr "Режим повороту" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp @@ -3418,6 +3599,8 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Показати ÑпиÑок уÑÑ–Ñ… об'єктів, натиÑнутих на позицію\n" +"(так Ñамо, Ñк Ðльт+ПКМ у режимі вибору)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." @@ -3425,36 +3608,35 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" -msgstr "" +msgstr "Режим панорамуваннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Toggles snapping" -msgstr "" +msgstr "Перемикає прив'ÑзуваннÑ" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "За допомогою функції прив'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snapping options" -msgstr "" +msgstr "Параметри прив'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap to grid" -msgstr "" +msgstr "Прив'Ñзати до Ñітки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap..." -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²'Ñзки..." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "ВідноÑна прив'Ñзка" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" @@ -3487,16 +3669,16 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "" +msgstr "Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ об'єкта на міÑці (неможливо переміÑтити)." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "Розблокувати вибраний об'єкт (можна переміÑтити)." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." -msgstr "" +msgstr "Гарантує нащадки об'єкта не можуть бути обрані." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." @@ -3504,45 +3686,45 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Зробити кіÑтки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "ОчиÑтити кіÑтки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show Bones" -msgstr "" +msgstr "Показати кіÑтки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" -msgstr "" +msgstr "Зробити IK-ланцюг" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear IK Chain" -msgstr "" +msgstr "ОчиÑтити ІК-ланцюг" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "ПереглÑд" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Показати Ñітку" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show helpers" -msgstr "" +msgstr "Показати помічники" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show rulers" -msgstr "" +msgstr "Показати лінійки" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Show guides" -msgstr "" +msgstr "Показати напрÑмні" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -3554,27 +3736,27 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Layout" -msgstr "" +msgstr "Макет" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys" -msgstr "" +msgstr "Ð’Ñтавити ключі" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Ð’Ñтавити ключ" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Ð’Ñтавити ключ (Ñ–Ñнуючі доріжки)" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" -msgstr "" +msgstr "Копіювати позу" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Pose" -msgstr "" +msgstr "ОчиÑтити позу" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag pivot from mouse position" @@ -3586,24 +3768,24 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Multiply grid step by 2" -msgstr "" +msgstr "Помножити крок Ñітки на 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Divide grid step by 2" -msgstr "" +msgstr "Розділити крок Ñітки на 2" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Add %s" -msgstr "" +msgstr "Додати %s" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Adding %s..." -msgstr "" +msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ %s..." #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Create Node" -msgstr "" +msgstr "Створити вузол" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp @@ -3612,22 +3794,12 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." -msgstr "" +msgstr "Ð¦Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ” одного обраного вузла." #: editor/plugins/canvas_item_editor_plugin.cpp msgid "Change default type" -msgstr "" +msgstr "Змінити тип за промовчаннÑм" #: editor/plugins/canvas_item_editor_plugin.cpp msgid "" @@ -3637,7 +3809,7 @@ msgstr "" #: editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Створити полігон3D" #: editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" @@ -3645,25 +3817,25 @@ msgstr "" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %d?" #: editor/plugins/cube_grid_theme_editor_plugin.cpp #: editor/plugins/theme_editor_plugin.cpp #: editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Додати елемент" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Вилучити вибраний елемент" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Імпортувати зі Ñцени" #: editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Оновити зі Ñцени" #: editor/plugins/curve_editor_plugin.cpp msgid "Flat0" @@ -3687,7 +3859,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Point" -msgstr "" +msgstr "Змінити точку кривої" #: editor/plugins/curve_editor_plugin.cpp msgid "Modify Curve Tangent" @@ -3699,11 +3871,11 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Add point" -msgstr "" +msgstr "Додати точку" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove point" -msgstr "" +msgstr "Вилучити точку" #: editor/plugins/curve_editor_plugin.cpp msgid "Left linear" @@ -3719,7 +3891,7 @@ msgstr "" #: editor/plugins/curve_editor_plugin.cpp msgid "Remove Curve Point" -msgstr "" +msgstr "Видалити точку кривої" #: editor/plugins/curve_editor_plugin.cpp msgid "Toggle Curve Linear Tangent" @@ -3744,15 +3916,15 @@ msgstr "" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Елемент %d" #: editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Елементи" #: editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Редактор ÑпиÑку елементів" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "" @@ -3766,19 +3938,19 @@ msgstr "" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Створити новий полігон з нулÑ." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñнуючого полігону:" #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "ЛКМ: ПереміÑтити точку." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "CTRL+ЛКМ: Розділити Ñегмент." #: editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "RMB: Erase Point." @@ -3798,7 +3970,7 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Це не працює на корінь Ñцени!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -3810,6 +3982,22 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" +msgstr "Створити навигаційну Ñітку" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp @@ -3818,19 +4006,19 @@ msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh has not surface to create outlines from!" -msgstr "" +msgstr "Сітка не має поверхні, щоб Ñтворити контури!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "" +msgstr "Ðе вдалоÑÑ Ñтворити контур!" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" -msgstr "" +msgstr "Створити контур" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Сітка" #: editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Static Body" @@ -3853,6 +4041,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "ПереглÑд" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "" @@ -3870,7 +4072,7 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "" +msgstr "Джерело Ñітки недійÑне (неправильний шлÑÑ…)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." @@ -3886,11 +4088,11 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "" +msgstr "Джерело поверхні недійÑне (неправильний шлÑÑ…)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." -msgstr "" +msgstr "Джерело поверхні недійÑне (без геометрії)." #: editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no faces)." @@ -3906,15 +4108,15 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Source Mesh:" -msgstr "" +msgstr "Виберіть джерело Ñітки:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "" +msgstr "Виберіть цільову поверхню:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" -msgstr "" +msgstr "Заповнити поверхню" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate MultiMesh" @@ -3922,7 +4124,7 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Target Surface:" -msgstr "" +msgstr "Цільова поверхнÑ:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Source Mesh:" @@ -3946,19 +4148,19 @@ msgstr "" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Випадкове обертаннÑ:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Випадковий нахил:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Випадковий маÑштаб:" #: editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" -msgstr "" +msgstr "Заповнити" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Bake!" @@ -3970,15 +4172,15 @@ msgstr "" #: editor/plugins/navigation_mesh_editor_plugin.cpp msgid "Clear the navigation mesh." -msgstr "" +msgstr "ОчиÑтити навігаційну Ñітку." #: editor/plugins/navigation_mesh_generator.cpp msgid "Setting up Configuration..." -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ—..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Calculating grid size..." -msgstr "" +msgstr "Розрахунок розміру Ñітки..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating heightfield..." @@ -3986,7 +4188,7 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Marking walkable triangles..." -msgstr "" +msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ…Ñ–Ð´Ð½Ð¸Ñ… трикутників..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Constructing compact heightfield..." @@ -4002,7 +4204,7 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating contours..." -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²..." #: editor/plugins/navigation_mesh_generator.cpp msgid "Creating polymesh..." @@ -4014,7 +4216,7 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Navigation Mesh Generator Setup:" -msgstr "" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° навігаційної Ñітки:" #: editor/plugins/navigation_mesh_generator.cpp msgid "Parsing Geometry..." @@ -4022,15 +4224,11 @@ msgstr "" #: editor/plugins/navigation_mesh_generator.cpp msgid "Done!" -msgstr "" +msgstr "Зроблено!" #: editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create Navigation Polygon" -msgstr "" - -#: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "" +msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð²Ñ–Ð³Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ полігону" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp @@ -4043,37 +4241,37 @@ msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "" +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 "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" -msgstr "" +msgstr "ЧаÑтинки" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generated Point Count:" -msgstr "" +msgstr "КількіÑть генерованих точок:" #: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generation Time (sec):" -msgstr "" +msgstr "Ð§Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— (Ñек):" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Mask" @@ -4081,7 +4279,7 @@ msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Capture from Pixel" -msgstr "" +msgstr "Ð—Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ð· пікÑелÑ" #: editor/plugins/particles_2d_editor_plugin.cpp msgid "Emission Colors" @@ -4089,7 +4287,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." -msgstr "" +msgstr "Вузол не міÑтить геометрії." #: editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry (faces)." @@ -4120,10 +4318,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4133,7 +4327,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points" -msgstr "" +msgstr "Точки поверхні" #: editor/plugins/particles_editor_plugin.cpp msgid "Surface Points+Normal (Directed)" @@ -4141,7 +4335,7 @@ msgstr "" #: editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Об'єм" #: editor/plugins/particles_editor_plugin.cpp msgid "Emission Source: " @@ -4153,7 +4347,7 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "" +msgstr "Видалити точку з кривої" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Out-Control from Curve" @@ -4166,11 +4360,11 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ до кривої" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "ПереміÑтити точку на криву" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" @@ -4183,7 +4377,7 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Виберіть пункти" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4193,12 +4387,12 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Клацніть: Додати точку" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Клацніть правою кнопкою миші: видалити точку" #: editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" @@ -4207,7 +4401,7 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Додати точку (в порожньому проÑторі)" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp @@ -4217,16 +4411,16 @@ msgstr "" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Вилучити точку" #: editor/plugins/path_2d_editor_plugin.cpp #: editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Закрити криву" #: editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Точку кривої #" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Position" @@ -4234,7 +4428,7 @@ msgstr "" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Position" -msgstr "" +msgstr "Ð’Ñтановити криву в позиції" #: editor/plugins/path_editor_plugin.cpp msgid "Set Curve Out Position" @@ -4270,15 +4464,15 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "ПереміÑтити точку" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Ctrl: повернути" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: ПереміÑтити вÑÑ–" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" @@ -4286,15 +4480,15 @@ msgstr "" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "ПереміÑтити полігон" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Повернути полігон" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "МаÑштабувати полігон" #: editor/plugins/polygon_2d_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp @@ -4302,7 +4496,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/property_editor.cpp #: modules/visual_script/visual_script_editor.cpp msgid "Edit" -msgstr "" +msgstr "Редагувати" #: editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -4331,20 +4525,20 @@ msgstr "" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "ПОМИЛКÐ: Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ реÑурÑ!" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" -msgstr "" +msgstr "Додати реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Rename Resource" -msgstr "" +msgstr "Перейменувати реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp #: editor/plugins/sprite_frames_editor_plugin.cpp msgid "Delete Resource" -msgstr "" +msgstr "Вилучити реÑурÑ" #: editor/plugins/resource_preloader_editor_plugin.cpp msgid "Resource clipboard is empty!" @@ -4371,14 +4565,16 @@ msgid "" "Close and save changes?\n" "\"" msgstr "" +"Закрити та зберегти зміни?\n" +"\"" #: editor/plugins/script_editor_plugin.cpp msgid "Error while saving theme" -msgstr "" +msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐ¼Ð¸" #: editor/plugins/script_editor_plugin.cpp msgid "Error saving" -msgstr "" +msgstr "Помилка збереженнÑ" #: editor/plugins/script_editor_plugin.cpp msgid "Error importing theme" @@ -4394,7 +4590,7 @@ msgstr "" #: editor/plugins/script_editor_plugin.cpp msgid "Save Theme As.." -msgstr "" +msgstr "Зберегти тему Ñк..." #: editor/plugins/script_editor_plugin.cpp msgid " Class Reference" @@ -4406,11 +4602,13 @@ 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 "" @@ -4426,7 +4624,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4439,6 +4637,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "Копіювати шлÑÑ…" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4625,11 +4828,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4957,6 +5156,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5061,6 +5268,18 @@ 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 "" @@ -5133,10 +5352,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5178,6 +5393,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5560,6 +5779,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "Ðабір тайлів.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5571,6 +5795,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "СкаÑувати" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5688,10 +5916,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5826,15 +6050,15 @@ msgstr "" #: editor/project_manager.cpp msgid "Exit" -msgstr "" +msgstr "Вихід" #: editor/project_manager.cpp msgid "Restart Now" -msgstr "" +msgstr "Перезавантажити зараз" #: editor/project_manager.cpp msgid "Can't run project" -msgstr "" +msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð¿ÑƒÑтити проект" #: editor/project_manager.cpp msgid "" @@ -5844,7 +6068,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Key " -msgstr "" +msgstr "Клавіша " #: editor/project_settings_editor.cpp msgid "Joy Button" @@ -5856,7 +6080,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Mouse Button" -msgstr "" +msgstr "Кнопка миші" #: editor/project_settings_editor.cpp msgid "Invalid action (anything goes but '/' or ':')." @@ -5888,7 +6112,7 @@ msgstr "" #: editor/project_settings_editor.cpp editor/settings_config_dialog.cpp msgid "Press a Key.." -msgstr "" +msgstr "ÐатиÑніть клавішу,..." #: editor/project_settings_editor.cpp msgid "Mouse Button Index:" @@ -5916,19 +6140,19 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Button 6" -msgstr "" +msgstr "Кнопка 6" #: editor/project_settings_editor.cpp msgid "Button 7" -msgstr "" +msgstr "Кнопка 7" #: editor/project_settings_editor.cpp msgid "Button 8" -msgstr "" +msgstr "Кнопка 8" #: editor/project_settings_editor.cpp msgid "Button 9" -msgstr "" +msgstr "Кнопка 9" #: editor/project_settings_editor.cpp #: modules/visual_script/visual_script_editor.cpp @@ -5948,7 +6172,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6016,10 +6240,14 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp -msgid "Error saving settings." +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 "" @@ -6029,7 +6257,7 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Add Translation" -msgstr "" +msgstr "Додати переклад" #: editor/project_settings_editor.cpp msgid "Remove Translation" @@ -6097,15 +6325,15 @@ msgstr "" #: editor/project_settings_editor.cpp msgid "Localization" -msgstr "" +msgstr "ЛокалізаціÑ" #: editor/project_settings_editor.cpp msgid "Translations" -msgstr "" +msgstr "Переклади" #: editor/project_settings_editor.cpp msgid "Translations:" -msgstr "" +msgstr "Переклади:" #: editor/project_settings_editor.cpp msgid "Remaps" @@ -6173,7 +6401,7 @@ msgstr "" #: editor/property_editor.cpp msgid "File.." -msgstr "" +msgstr "Файл..." #: editor/property_editor.cpp msgid "Dir.." @@ -6189,6 +6417,10 @@ msgstr "" #: editor/property_editor.cpp msgid "New Script" +msgstr "Ðовий Ñкрипт" + +#: editor/property_editor.cpp +msgid "New %s" msgstr "" #: editor/property_editor.cpp @@ -6223,6 +6455,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6231,10 +6467,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6277,7 +6509,7 @@ msgstr "" #: editor/run_settings_dialog.cpp msgid "Current Scene" -msgstr "" +msgstr "Поточна Ñцена" #: editor/run_settings_dialog.cpp msgid "Main Scene" @@ -6294,7 +6526,7 @@ msgstr "" #: editor/scene_tree_dock.cpp editor/script_create_dialog.cpp #: scene/gui/dialogs.cpp msgid "OK" -msgstr "" +msgstr "Гаразд" #: editor/scene_tree_dock.cpp msgid "No parent to instance the scenes at." @@ -6306,7 +6538,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Ok" -msgstr "" +msgstr "Гаразд" #: editor/scene_tree_dock.cpp msgid "" @@ -6348,7 +6580,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Save New Scene As.." -msgstr "" +msgstr "Зберегти нову Ñцену Ñк..." #: editor/scene_tree_dock.cpp msgid "Editable Children" @@ -6386,7 +6618,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Error saving scene." -msgstr "" +msgstr "Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñцени." #: editor/scene_tree_dock.cpp msgid "Error duplicating scene to save it." @@ -6402,7 +6634,7 @@ msgstr "" #: editor/scene_tree_dock.cpp editor/scene_tree_editor.cpp msgid "Open in Editor" -msgstr "" +msgstr "Відкрити в редакторі" #: editor/scene_tree_dock.cpp msgid "Delete Node(s)" @@ -6438,7 +6670,7 @@ msgstr "" #: editor/scene_tree_dock.cpp msgid "Copy Node Path" -msgstr "" +msgstr "Копіювати вузол шлÑху" #: editor/scene_tree_dock.cpp msgid "Delete (No Confirm)" @@ -6518,13 +6750,15 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Open script" -msgstr "" +msgstr "Відкрити Ñкрипт" #: editor/scene_tree_editor.cpp msgid "" "Node is locked.\n" "Click to unlock" msgstr "" +"Вузол заблоковано.\n" +"ÐатиÑніть, щоб розблокувати" #: editor/scene_tree_editor.cpp msgid "" @@ -6542,7 +6776,7 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Rename Node" -msgstr "" +msgstr "Перейменувати вузол" #: editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" @@ -6554,7 +6788,7 @@ msgstr "" #: editor/scene_tree_editor.cpp msgid "Select a Node" -msgstr "" +msgstr "Виберіть вузол" #: editor/script_create_dialog.cpp msgid "Error loading template '%s'" @@ -6570,7 +6804,7 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "N/A" -msgstr "" +msgstr "Ð/З" #: editor/script_create_dialog.cpp msgid "Path is empty" @@ -6602,7 +6836,7 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "Invalid Path" -msgstr "" +msgstr "Ðеправильний шлÑÑ…" #: editor/script_create_dialog.cpp msgid "Invalid class name" @@ -6626,15 +6860,15 @@ msgstr "" #: editor/script_create_dialog.cpp msgid "Create new script file" -msgstr "" +msgstr "Створити новий файл Ñкрипту" #: editor/script_create_dialog.cpp msgid "Load existing script file" -msgstr "" +msgstr "Завантажити наÑвний файл Ñкрипту" #: editor/script_create_dialog.cpp msgid "Language" -msgstr "" +msgstr "Мова" #: editor/script_create_dialog.cpp msgid "Inherits" @@ -6666,19 +6900,19 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Warning" -msgstr "" +msgstr "ПопередженнÑ" #: editor/script_editor_debugger.cpp msgid "Error:" -msgstr "" +msgstr "Помилка:" #: editor/script_editor_debugger.cpp msgid "Source:" -msgstr "" +msgstr "Джерело:" #: editor/script_editor_debugger.cpp msgid "Function:" -msgstr "" +msgstr "ФункціÑ:" #: editor/script_editor_debugger.cpp msgid "Pick one or more items from the list to display the graph." @@ -6686,7 +6920,7 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Errors" -msgstr "" +msgstr "Помилки" #: editor/script_editor_debugger.cpp msgid "Child Process Connected" @@ -6706,11 +6940,11 @@ msgstr "" #: editor/script_editor_debugger.cpp msgid "Variable" -msgstr "" +msgstr "Змінна" #: editor/script_editor_debugger.cpp msgid "Errors:" -msgstr "" +msgstr "Помилки:" #: editor/script_editor_debugger.cpp msgid "Stack Trace (if applicable):" @@ -6784,6 +7018,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6798,7 +7036,7 @@ msgstr "" #: editor/spatial_editor_gizmos.cpp msgid "Change Camera Size" -msgstr "" +msgstr "Змінити розмір камери" #: editor/spatial_editor_gizmos.cpp msgid "Change Sphere Shape Radius" @@ -6832,18 +7070,57 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Library" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Status" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp -msgid "Libraries: " +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +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 +#, fuzzy +msgid "Dynamic Library" +msgstr "Бібліотека" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" msgstr "" +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +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 "" @@ -6868,11 +7145,11 @@ msgstr "" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a script" -msgstr "" +msgstr "Ðе заÑнований на Ñкрипті" #: modules/gdscript/gdscript_functions.cpp msgid "Not based on a resource file" -msgstr "" +msgstr "Ðе заÑнований на файлі реÑурÑів" #: modules/gdscript/gdscript_functions.cpp msgid "Invalid instance dictionary format (missing @path)" @@ -6988,7 +7265,7 @@ msgstr "" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "Clear Selection" -msgstr "" +msgstr "ОчиÑтити виділене" #: modules/gridmap/grid_map_editor_plugin.cpp msgid "GridMap Settings" @@ -7054,11 +7331,11 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Functions:" -msgstr "" +msgstr "Функції:" #: modules/visual_script/visual_script_editor.cpp msgid "Variables:" -msgstr "" +msgstr "Змінні:" #: modules/visual_script/visual_script_editor.cpp msgid "Name is not a valid identifier:" @@ -7070,35 +7347,35 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Function" -msgstr "" +msgstr "Перейменувати функцію" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Variable" -msgstr "" +msgstr "Перейменувати змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Rename Signal" -msgstr "" +msgstr "Перейменувати Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Add Function" -msgstr "" +msgstr "Додати функцію" #: modules/visual_script/visual_script_editor.cpp msgid "Add Variable" -msgstr "" +msgstr "Додати змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Add Signal" -msgstr "" +msgstr "Додати Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Change Expression" -msgstr "" +msgstr "Змінити вираз" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node" -msgstr "" +msgstr "Додати вузол" #: modules/visual_script/visual_script_editor.cpp msgid "Remove VisualScript Nodes" @@ -7134,7 +7411,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Add Preload Node" -msgstr "" +msgstr "Додати попередньо завантажений вузол" #: modules/visual_script/visual_script_editor.cpp msgid "Add Node(s) From Tree" @@ -7150,7 +7427,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Base Type" -msgstr "" +msgstr "Змінити базовий тип" #: modules/visual_script/visual_script_editor.cpp msgid "Move Node(s)" @@ -7162,7 +7439,7 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Connect Nodes" -msgstr "" +msgstr "Приєднати вузли" #: modules/visual_script/visual_script_editor.cpp msgid "Condition" @@ -7174,27 +7451,27 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Switch" -msgstr "" +msgstr "Перемикач" #: modules/visual_script/visual_script_editor.cpp msgid "Iterator" -msgstr "" +msgstr "Ітератор" #: modules/visual_script/visual_script_editor.cpp msgid "While" -msgstr "" +msgstr "Поки" #: modules/visual_script/visual_script_editor.cpp msgid "Return" -msgstr "" +msgstr "ПоверненнÑ" #: modules/visual_script/visual_script_editor.cpp msgid "Call" -msgstr "" +msgstr "Виклик" #: modules/visual_script/visual_script_editor.cpp msgid "Get" -msgstr "" +msgstr "Отримати" #: modules/visual_script/visual_script_editor.cpp msgid "Script already has function '%s'" @@ -7202,11 +7479,11 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Change Input Value" -msgstr "" +msgstr "Зміна вхідного значеннÑ" #: modules/visual_script/visual_script_editor.cpp msgid "Can't copy the function node." -msgstr "" +msgstr "Ðеможливо Ñкопіювати вузол функції." #: modules/visual_script/visual_script_editor.cpp msgid "Clipboard is empty!" @@ -7218,51 +7495,51 @@ msgstr "" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Function" -msgstr "" +msgstr "Вилучити функцію" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Variable" -msgstr "" +msgstr "Редагувати змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Variable" -msgstr "" +msgstr "Вилучити змінну" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal" -msgstr "" +msgstr "Редагувати Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Remove Signal" -msgstr "" +msgstr "Вилучити Ñигнал" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Variable:" -msgstr "" +msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—:" #: modules/visual_script/visual_script_editor.cpp msgid "Editing Signal:" -msgstr "" +msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñигналу:" #: modules/visual_script/visual_script_editor.cpp msgid "Base Type:" -msgstr "" +msgstr "Базовий тип:" #: modules/visual_script/visual_script_editor.cpp msgid "Available Nodes:" -msgstr "" +msgstr "ДоÑтупні вузли:" #: modules/visual_script/visual_script_editor.cpp msgid "Select or create a function to edit graph" -msgstr "" +msgstr "Виберіть або Ñтворіть функцію Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ñ„Ð°" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Signal Arguments:" -msgstr "" +msgstr "Редагувати аргументи Ñигналу:" #: modules/visual_script/visual_script_editor.cpp msgid "Edit Variable:" -msgstr "" +msgstr "Редагувати змінну:" #: modules/visual_script/visual_script_editor.cpp msgid "Delete Selected" @@ -7286,27 +7563,27 @@ msgstr "Ð’Ñтавити вузли" #: modules/visual_script/visual_script_flow_control.cpp msgid "Input type not iterable: " -msgstr "" +msgstr "Тип вводу не ітерабельний: " #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid" -msgstr "" +msgstr "Ітератор Ñтав недійÑним" #: modules/visual_script/visual_script_flow_control.cpp msgid "Iterator became invalid: " -msgstr "" +msgstr "Ітератор Ñтав недійÑним: " #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name." -msgstr "" +msgstr "Ðеправильний Ñ–Ð½Ð´ÐµÐºÑ Ð²Ð»Ð°ÑтивоÑті імені." #: modules/visual_script/visual_script_func_nodes.cpp msgid "Base object is not a Node!" -msgstr "" +msgstr "Базовий об'єкт не Ñ” вузлом!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Path does not lead Node!" -msgstr "" +msgstr "ШлÑÑ… не веде до вузла!" #: modules/visual_script/visual_script_func_nodes.cpp msgid "Invalid index property name '%s' in node %s." @@ -7314,7 +7591,7 @@ msgstr "" #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid argument of type: " -msgstr "" +msgstr ": Ðеправильний тип аргументу: " #: modules/visual_script/visual_script_nodes.cpp msgid ": Invalid arguments: " @@ -7344,7 +7621,7 @@ msgstr "ЗапуÑтити в браузері" #: platform/javascript/export/export.cpp msgid "Run exported HTML in the system's default browser." -msgstr "" +msgstr "Виконати екÑпортований HTML у браузері за умовчаннÑм ÑиÑтеми." #: platform/javascript/export/export.cpp msgid "Could not write file:\n" @@ -7352,19 +7629,19 @@ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл:\n" #: platform/javascript/export/export.cpp msgid "Could not open template for export:\n" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ шаблон Ð´Ð»Ñ ÐµÐºÑпорту:\n" #: platform/javascript/export/export.cpp msgid "Invalid export template:\n" -msgstr "" +msgstr "Ðеправильний шаблон екÑпорту:\n" #: platform/javascript/export/export.cpp msgid "Could not read custom HTML shell:\n" -msgstr "" +msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñпеціальну оболонку HTML:\n" #: platform/javascript/export/export.cpp msgid "Could not read boot splash image file:\n" -msgstr "" +msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ файл Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ñтавки:\n" #: scene/2d/animated_sprite.cpp msgid "" @@ -7489,6 +7766,25 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "Побудова Ñітки" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "Побудова Ñітки" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "Завершальна ділÑнка" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "Побудова Ñітки" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7517,13 +7813,11 @@ msgstr "" msgid "Plotting Meshes" msgstr "Побудова Ñітки" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -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 "" @@ -7566,17 +7860,13 @@ msgstr "" #: scene/gui/color_picker.cpp msgid "Raw Mode" -msgstr "" +msgstr "Raw (Ñирий) режим" #: scene/gui/color_picker.cpp msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "СкаÑувати" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "СповіщеннÑ!" @@ -7586,7 +7876,7 @@ msgstr "Будь-лаÑка підтвердіть..." #: scene/gui/file_dialog.cpp msgid "Select this Folder" -msgstr "" +msgstr "Обрати цю теку" #: scene/gui/popup.cpp msgid "" @@ -7635,3 +7925,12 @@ msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñƒ." #: scene/resources/dynamic_font.cpp msgid "Invalid font size." msgstr "ÐедійÑний розмір шрифту." + +#~ msgid "Move Add Key" +#~ msgstr "ПоÑунути ключ" + +#~ msgid "Create Subscription" +#~ msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñки" + +#~ msgid "List:" +#~ msgstr "СпиÑок:" diff --git a/editor/translations/ur_PK.po b/editor/translations/ur_PK.po index da20b0e26a..5b0708e977 100644 --- a/editor/translations/ur_PK.po +++ b/editor/translations/ur_PK.po @@ -27,7 +27,7 @@ msgid "All Selection" msgstr ".تمام کا انتخاب" #: editor/animation_editor.cpp -msgid "Move Add Key" +msgid "Anim Change Keyframe Time" msgstr "" #: editor/animation_editor.cpp @@ -39,7 +39,7 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +msgid "Anim Change Keyframe Value" msgstr "" #: editor/animation_editor.cpp @@ -532,8 +532,8 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "سب سکریپشن بنائیں" +msgid "Disconnect '%s' from '%s'" +msgstr "" #: editor/connections_dialog.cpp msgid "Connect.." @@ -549,8 +549,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "سب سکریپشن بنائیں" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -564,7 +565,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -601,6 +602,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -701,9 +703,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -843,6 +846,11 @@ msgid "Rename Audio Bus" msgstr ".تمام کا انتخاب" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr ".تمام کا انتخاب" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -890,8 +898,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -904,6 +912,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1057,7 +1069,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1065,10 +1078,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1081,6 +1090,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1130,6 +1147,22 @@ msgstr "" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr ".سب Ú©Ú†Ú¾ تسلیم Ûوچکا ÛÛ’" @@ -1177,10 +1210,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1360,7 +1389,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2252,6 +2282,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2387,7 +2425,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2435,7 +2473,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2528,6 +2566,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2560,31 +2602,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2600,6 +2642,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2692,6 +2738,14 @@ 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 "" @@ -3256,6 +3310,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3297,6 +3352,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3435,7 +3511,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3616,16 +3691,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3820,6 +3885,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3860,6 +3941,18 @@ 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 "" @@ -4036,10 +4129,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4057,15 +4146,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4127,10 +4216,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4417,11 +4502,13 @@ 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 "" @@ -4438,7 +4525,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4451,6 +4538,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4637,11 +4728,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4969,6 +5056,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5073,6 +5168,18 @@ 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 "" @@ -5148,10 +5255,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5193,6 +5296,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5580,6 +5687,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5591,6 +5702,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5708,10 +5823,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5970,8 +6081,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr ".تمام کا انتخاب" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6038,6 +6150,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6215,6 +6331,10 @@ msgid "New Script" msgstr "سب سکریپشن بنائیں" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6246,6 +6366,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6254,10 +6378,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6816,6 +6936,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6865,15 +6989,52 @@ msgstr "" msgid "Change Probe Extents" msgstr ".Ù†ÙˆÙ¹ÙØ¦Ø± Ú©Û’ اکسٹنٹ Ú©Ùˆ تبدیل کیجیۓ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr ".تمام کا انتخاب" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7529,6 +7690,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7557,10 +7734,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7613,10 +7786,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7676,5 +7845,8 @@ msgstr "" msgid "Invalid font size." msgstr "" +#~ msgid "Create Subscription" +#~ msgstr "سب سکریپشن بنائیں" + #~ msgid "Samples" #~ msgstr "نمونے" diff --git a/editor/translations/vi.po b/editor/translations/vi.po index 11b923a83a..5aa4f10d06 100644 --- a/editor/translations/vi.po +++ b/editor/translations/vi.po @@ -30,8 +30,9 @@ msgid "All Selection" msgstr "Chá»n tất cả" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "Äổi giá trị" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -42,7 +43,8 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "Äổi giá trị" #: editor/animation_editor.cpp @@ -534,7 +536,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -551,8 +553,9 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" -msgstr "" +#, fuzzy +msgid "Create New %s" +msgstr "Tạo" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp #: editor/filesystem_dock.cpp @@ -566,7 +569,7 @@ msgstr "" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "" @@ -603,6 +606,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -703,9 +707,10 @@ msgid "Delete selected files?" msgstr "" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "" @@ -844,6 +849,10 @@ 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 "" @@ -891,8 +900,8 @@ msgstr "" msgid "Bus options" msgstr "" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -905,6 +914,10 @@ msgid "Delete Effect" msgstr "" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1055,7 +1068,8 @@ msgstr "" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "" @@ -1063,10 +1077,6 @@ msgstr "" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "" @@ -1079,6 +1089,14 @@ msgstr "" msgid "Updating scene.." msgstr "" +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1128,6 +1146,22 @@ msgstr "" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "New Folder.." +msgstr "" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1175,10 +1209,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1354,7 +1384,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "" @@ -2244,6 +2275,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2379,7 +2418,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2426,7 +2465,7 @@ msgid "Connecting.." msgstr "" #: editor/export_template_manager.cpp -msgid "Can't Conect" +msgid "Can't Connect" msgstr "" #: editor/export_template_manager.cpp @@ -2517,6 +2556,10 @@ msgid "Error moving:\n" msgstr "" #: editor/filesystem_dock.cpp +msgid "Error duplicating:\n" +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2549,31 +2592,31 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +msgid "Duplicating file:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Rename.." +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Move To.." +msgid "Rename.." msgstr "" #: editor/filesystem_dock.cpp -msgid "New Folder.." +msgid "Move To.." msgstr "" #: editor/filesystem_dock.cpp -msgid "Show In File Manager" +msgid "Open Scene(s)" msgstr "" #: editor/filesystem_dock.cpp @@ -2589,6 +2632,10 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +msgid "Duplicate.." +msgstr "" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2681,6 +2728,14 @@ 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 "" @@ -3243,6 +3298,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "" @@ -3284,6 +3340,27 @@ msgstr "" 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 msgid "Preview" msgstr "" @@ -3418,7 +3495,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3598,16 +3674,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3799,6 +3865,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3839,6 +3921,18 @@ 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 "" @@ -4015,10 +4109,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4036,15 +4126,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4106,10 +4196,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4392,11 +4478,13 @@ 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 "" @@ -4412,7 +4500,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4425,6 +4513,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4611,11 +4703,7 @@ msgid "Clone Down" msgstr "" #: editor/plugins/script_text_editor.cpp -msgid "Fold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "" #: editor/plugins/script_text_editor.cpp @@ -4943,6 +5031,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5047,6 +5143,18 @@ 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 "" @@ -5119,10 +5227,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5164,6 +5268,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5546,6 +5654,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5557,6 +5669,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5674,10 +5790,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -5934,7 +6046,7 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" +msgid "Erase Input Action" msgstr "" #: editor/project_settings_editor.cpp @@ -6002,6 +6114,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6178,6 +6294,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6209,6 +6329,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6217,10 +6341,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6770,6 +6890,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -6818,15 +6942,51 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7475,6 +7635,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7503,10 +7679,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7559,10 +7731,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "Cảnh báo!" diff --git a/editor/translations/zh_CN.po b/editor/translations/zh_CN.po index ab00b50a1c..c19be8aaec 100644 --- a/editor/translations/zh_CN.po +++ b/editor/translations/zh_CN.po @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2017-11-27 10:44+0000\n" -"Last-Translator: dragonandy <dragonandy@foxmail.com>\n" +"PO-Revision-Date: 2017-12-10 10:33+0000\n" +"Last-Translator: Geequlim <geequlim@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "godot-engine/godot/zh_Hans/>\n" "Language: zh_CN\n" @@ -43,8 +43,9 @@ msgid "All Selection" msgstr "所有选ä¸é¡¹" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "ç§»åŠ¨å·²æ·»åŠ å…³é”®å¸§" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "修改动画值" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -55,7 +56,8 @@ msgid "Anim Change Transform" msgstr "ä¿®æ”¹å˜æ¢" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "修改动画值" #: editor/animation_editor.cpp @@ -547,8 +549,9 @@ msgid "Connecting Signal:" msgstr "连接事件:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "创建订阅" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "连接'%s'到'%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -564,7 +567,8 @@ msgid "Signals" msgstr "ä¿¡å·" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "新建" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -579,7 +583,7 @@ msgstr "最近文件:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "æœç´¢:" @@ -616,6 +620,7 @@ msgid "" msgstr "资æº'%s'æ£åœ¨ä½¿ç”¨ä¸ï¼Œä¿®æ”¹å°†åœ¨é‡æ–°åŠ è½½åŽç”Ÿæ•ˆã€‚" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "ä¾èµ–" @@ -716,9 +721,10 @@ msgid "Delete selected files?" msgstr "åˆ é™¤é€‰ä¸çš„æ–‡ä»¶ï¼Ÿ" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "åˆ é™¤" @@ -859,6 +865,11 @@ msgid "Rename Audio Bus" msgstr "é‡å‘½å音频总线(Audio Bus)" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "切æ¢éŸ³é¢‘独å¥" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "切æ¢éŸ³é¢‘独å¥" @@ -906,8 +917,8 @@ msgstr "æ—通" msgid "Bus options" msgstr "音频总线选项" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "æ‹·è´" @@ -920,6 +931,10 @@ msgid "Delete Effect" msgstr "åˆ é™¤æ•ˆæžœ" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "æ·»åŠ éŸ³é¢‘æ€»çº¿ï¼ˆAudio Bus)" @@ -1070,7 +1085,8 @@ msgstr "路径:" msgid "Node Name:" msgstr "节点åç§°:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "åç§°" @@ -1078,10 +1094,6 @@ msgstr "åç§°" msgid "Singleton" msgstr "å•独(Singleton)" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "列表:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "更新场景" @@ -1094,6 +1106,15 @@ msgstr "ä¿å˜ä¿®æ”¹ä¸.." msgid "Updating scene.." msgstr "更新场景ä¸.." +#: editor/editor_data.cpp +#, fuzzy +msgid "[empty]" +msgstr "(空)" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "请先选择一个目录" @@ -1140,9 +1161,24 @@ msgid "File Exists, Overwrite?" msgstr "文件已å˜åœ¨ï¼Œç¡®å®šè¦è¦†ç›–它å—?" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp -#, fuzzy msgid "Select Current Folder" -msgstr "新建目录" +msgstr "选择当å‰ç›®å½•" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +msgid "Copy Path" +msgstr "æ‹·è´è·¯å¾„" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.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 +msgid "Refresh" +msgstr "刷新" #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" @@ -1191,10 +1227,6 @@ msgid "Go Up" msgstr "上一级" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "刷新" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "åˆ‡æ¢æ˜¾ç¤ºéšè—文件" @@ -1374,7 +1406,8 @@ msgstr "输出:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "清除" @@ -1516,7 +1549,6 @@ msgstr "" "请阅读与导入场景相关的文档, 以便更好地ç†è§£æ¤å·¥ä½œæµã€‚" #: editor/editor_node.cpp -#, fuzzy 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 " @@ -1526,14 +1558,12 @@ msgstr "" "请阅读与调试相关的文档,以便更好地ç†è§£è¿™ä¸ªå·¥ä½œæµã€‚" #: editor/editor_node.cpp -#, fuzzy msgid "Expand all properties" -msgstr "展开所有" +msgstr "展开所有属性" #: editor/editor_node.cpp -#, fuzzy msgid "Collapse all properties" -msgstr "收起所有" +msgstr "收起所有属性" #: editor/editor_node.cpp msgid "Copy Params" @@ -1783,19 +1813,16 @@ msgid "Switch Scene Tab" msgstr "切æ¢åœºæ™¯æ ‡ç¾é¡µ" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files or folders" -msgstr "%d个文件或目录未展示" +msgstr "%d 个文件或目录未展示" #: editor/editor_node.cpp -#, fuzzy msgid "%d more folders" -msgstr "%d个目录未展示" +msgstr "%d 个目录未展示" #: editor/editor_node.cpp -#, fuzzy msgid "%d more files" -msgstr "%d个文件未展示" +msgstr "%d 个文件未展示" #: editor/editor_node.cpp msgid "Dock Position" @@ -2298,6 +2325,16 @@ msgstr "自身" msgid "Frame #:" msgstr "帧åºå·:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "æ—¶é—´:" + +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Calls" +msgstr "调用到" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "从列表ä¸é€‰æ‹©è®¾å¤‡" @@ -2435,7 +2472,8 @@ msgstr "æ— å“应。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "请求失败." #: editor/export_template_manager.cpp @@ -2482,7 +2520,8 @@ msgid "Connecting.." msgstr "连接ä¸.." #: editor/export_template_manager.cpp -msgid "Can't Conect" +#, fuzzy +msgid "Can't Connect" msgstr "æ— æ³•è¿žæŽ¥" #: editor/export_template_manager.cpp @@ -2575,6 +2614,11 @@ msgid "Error moving:\n" msgstr "移动时出错:\n" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "åŠ è½½å‡ºé”™:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "æ— æ³•æ›´æ–°ä¾èµ–关系:\n" @@ -2607,6 +2651,16 @@ msgid "Renaming folder:" msgstr "é‡å‘½å文件夹:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "æ‹·è´" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "é‡å‘½å文件夹:" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "展开所有" @@ -2615,10 +2669,6 @@ msgid "Collapse all" msgstr "收起所有" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "æ‹·è´è·¯å¾„" - -#: editor/filesystem_dock.cpp msgid "Rename.." msgstr "é‡å‘½å为..." @@ -2627,12 +2677,9 @@ msgid "Move To.." msgstr "移动.." #: editor/filesystem_dock.cpp -msgid "New Folder.." -msgstr "新建文件夹 .." - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "在资æºç®¡ç†å™¨ä¸æ‰“å¼€" +#, fuzzy +msgid "Open Scene(s)" +msgstr "打开场景" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2647,6 +2694,11 @@ msgid "View Owners.." msgstr "查看所有者.." #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "æ‹·è´" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "上一个目录" @@ -2696,9 +2748,8 @@ msgid "Import as Single Scene" msgstr "导入为独立场景" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Animations" -msgstr "导入独立动画" +msgstr "导入独立的动画" #: editor/import/resource_importer_scene.cpp msgid "Import with Separate Materials" @@ -2713,19 +2764,16 @@ msgid "Import with Separate Objects+Materials" msgstr "导入独立物体 + æè´¨" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Objects+Animations" -msgstr "导入独立物体 + 动画" +msgstr "导入独立物体+动画" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Materials+Animations" -msgstr "导入独立æè´¨ + 动画" +msgstr "导入独立æè´¨+动画" #: editor/import/resource_importer_scene.cpp -#, fuzzy msgid "Import with Separate Objects+Materials+Animations" -msgstr "导入独立物体 + æè´¨ + 动画" +msgstr "导入独立物体+æè´¨+动画" #: editor/import/resource_importer_scene.cpp msgid "Import as Multiple Scenes" @@ -2745,6 +2793,16 @@ msgid "Importing Scene.." msgstr "导入场景.." #: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating Lightmaps" +msgstr "转移到光照贴图:" + +#: editor/import/resource_importer_scene.cpp +#, fuzzy +msgid "Generating for Mesh: " +msgstr "æ£åœ¨ç”ŸæˆAABB" + +#: editor/import/resource_importer_scene.cpp msgid "Running Custom Script.." msgstr "执行自定义脚本.." @@ -2990,21 +3048,19 @@ msgstr "æ‹·è´åŠ¨ç”»" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Onion Skinning" -msgstr "" +msgstr "洋葱皮(Onion Skining)" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Enable Onion Skinning" -msgstr "" +msgstr "å¯ç”¨æ´‹è‘±çš®(Onion Skinning)" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Directions" -msgstr "选项:" +msgstr "æ–¹å‘" #: editor/plugins/animation_player_editor_plugin.cpp -#, fuzzy msgid "Past" -msgstr "粘贴" +msgstr "穿过" #: editor/plugins/animation_player_editor_plugin.cpp #, fuzzy @@ -3013,19 +3069,19 @@ msgstr "功能" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Depth" -msgstr "" +msgstr "深度" #: editor/plugins/animation_player_editor_plugin.cpp msgid "1 step" -msgstr "" +msgstr "1æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "2 steps" -msgstr "" +msgstr "2æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "3 steps" -msgstr "" +msgstr "3æ¥" #: editor/plugins/animation_player_editor_plugin.cpp msgid "Differences Only" @@ -3314,6 +3370,7 @@ msgid "last" msgstr "最åŽä¸€é¡µ" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "全部" @@ -3355,6 +3412,28 @@ msgstr "测试" msgid "Assets ZIP File" msgstr "ZIP资æºåŒ…" +#: 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "转移到光照贴图:" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "预览" @@ -3491,7 +3570,6 @@ msgid "Toggles snapping" msgstr "切æ¢å¸é™„" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "使用å¸é™„" @@ -3673,16 +3751,6 @@ msgstr "从%s实例化场景出错" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "好å§" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "没有选ä¸èŠ‚ç‚¹æ¥æ·»åŠ å®žä¾‹ã€‚" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "æ¤æ“作åªèƒ½åº”用于å•个选ä¸èŠ‚ç‚¹ã€‚" @@ -3881,6 +3949,22 @@ msgid "Create Navigation Mesh" msgstr "创建导航Mesh(ç½‘æ ¼)" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "MeshInstance (ç½‘æ ¼å®žä¾‹) 缺少 Mesh(ç½‘æ ¼)ï¼" @@ -3921,6 +4005,20 @@ msgid "Create Outline Mesh.." msgstr "åˆ›å»ºè½®å»“ç½‘æ ¼(Outline Mesh).." #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "视图" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "åˆ›å»ºè½®å»“ç½‘æ ¼(Outline Mesh)" @@ -4105,10 +4203,6 @@ msgid "Create Navigation Polygon" msgstr "创建导航多边形" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Clear Emission Mask" -msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰" - -#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Generating AABB" msgstr "æ£åœ¨ç”ŸæˆAABB" @@ -4126,10 +4220,6 @@ msgid "No pixels with transparency > 128 in image.." msgstr "å›¾ç‰‡ä¸æ²¡æœ‰é€æ˜Žåº¦> 128çš„åƒç´ .." #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" -msgstr "设置Emission Mask(å‘å°„å±è”½ï¼‰" - -#: editor/plugins/particles_2d_editor_plugin.cpp msgid "Generate Visibility Rect" msgstr "生æˆå¯è§†åŒ–区域" @@ -4138,6 +4228,10 @@ msgid "Load Emission Mask" msgstr "åŠ è½½Emission Mask(å‘å°„å±è”½ï¼‰" #: editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "清除Emission Mask(å‘å°„å±è”½ï¼‰" + +#: editor/plugins/particles_2d_editor_plugin.cpp #: editor/plugins/particles_editor_plugin.cpp msgid "Particles" msgstr "ç²’å" @@ -4196,10 +4290,6 @@ msgid "Create Emission Points From Node" msgstr "从节点创建å‘射器(Emission)" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "清除å‘射器(Emitter)" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "创建å‘射器(Emitter)" @@ -4482,17 +4572,18 @@ msgid " Class Reference" msgstr " 类引用" #: editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Sort" -msgstr "排åº:" +msgstr "排åº" #: editor/plugins/script_editor_plugin.cpp #: editor/plugins/script_text_editor.cpp editor/scene_tree_dock.cpp +#: 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 "å‘下移动" @@ -4508,7 +4599,7 @@ msgstr "上一个脚本" msgid "File" msgstr "文件" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "新建" @@ -4521,6 +4612,11 @@ msgid "Soft Reload Script" msgstr "软é‡è½½è„šæœ¬" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "æ‹·è´è·¯å¾„" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "åŽé€€" @@ -4711,11 +4807,7 @@ msgstr "æ‹·è´åˆ°ä¸‹ä¸€è¡Œ" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" -msgstr "折å 行" - -#: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" +msgid "Fold/Unfold Line" msgstr "å–æ¶ˆæŠ˜å 行" #: editor/plugins/script_text_editor.cpp @@ -5044,6 +5136,14 @@ msgstr "帧数" msgid "Align with view" msgstr "与视图对é½" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "显示法线" @@ -5152,6 +5252,20 @@ msgid "Scale Mode (R)" msgstr "缩放模å¼ï¼ˆR)" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "æœ¬åœ°åæ ‡" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Local Space Mode (%s)" +msgstr "缩放模å¼ï¼ˆR)" + +#: editor/plugins/spatial_editor_plugin.cpp +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "å¸é™„模å¼:" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "底部视图" @@ -5225,10 +5339,6 @@ msgid "Configure Snap.." msgstr "设置å¸é™„.." #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "æœ¬åœ°åæ ‡" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "å˜æ¢å¯¹è¯æ¡†.." @@ -5270,6 +5380,10 @@ msgid "Settings" msgstr "设置" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "å¸é™„设置" @@ -5655,6 +5769,11 @@ msgid "Merge from scene?" msgstr "确定è¦åˆå¹¶åœºæ™¯ï¼Ÿ" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "ç –å—集.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "从场景ä¸åˆ›å»º" @@ -5666,6 +5785,10 @@ msgstr "从场景ä¸åˆå¹¶" msgid "Error" msgstr "错误" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "å–æ¶ˆ" + #: editor/project_export.cpp msgid "Runnable" msgstr "å¯ç”¨" @@ -5784,10 +5907,6 @@ msgid "Imported Project" msgstr "已导入的项目" #: editor/project_manager.cpp -msgid " " -msgstr " .. " - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "ä¸ºé¡¹ç›®å‘½åæ˜¯ä¸€ä¸ªå¥½ä¸»æ„。" @@ -5943,6 +6062,8 @@ msgid "" "You don't currently have any projects.\n" "Would you like to explore the official example projects in the Asset Library?" msgstr "" +"æ‚¨ç›®å‰æ²¡æœ‰ä»»ä½•项目。\n" +"是å¦è¦æ‰“开资æºå•†åº—æµè§ˆå®˜æ–¹æ ·ä¾‹é¡¹ç›®ï¼Ÿ" #: editor/project_settings_editor.cpp msgid "Key " @@ -6050,8 +6171,9 @@ msgid "Joypad Button Index:" msgstr "手柄按钮:" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "æ·»åŠ è¾“å…¥åŠ¨ä½œ" +#, fuzzy +msgid "Erase Input Action" +msgstr "移除输入事件" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6098,9 +6220,8 @@ msgid "Select a setting item first!" msgstr "请先选择一个设置项目 ï¼" #: editor/project_settings_editor.cpp -#, fuzzy msgid "No property '%s' exists." -msgstr "没有属性 '%s'" +msgstr "属性 '%s' ä¸å˜åœ¨" #: editor/project_settings_editor.cpp msgid "Setting '%s' is internal, and it can't be deleted." @@ -6119,6 +6240,10 @@ msgid "Already existing" msgstr "å·²ç»å˜åœ¨" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "æ·»åŠ è¾“å…¥åŠ¨ä½œ" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "ä¿å˜è®¾ç½®å‡ºé”™ã€‚" @@ -6298,6 +6423,10 @@ msgid "New Script" msgstr "新建脚本" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "转æ¢ä¸ºç‹¬ç«‹èµ„æº" @@ -6329,6 +6458,11 @@ msgstr "(Bit)ä½ %d, val %d." msgid "On" msgstr "å¯ç”¨" +#: editor/property_editor.cpp +#, fuzzy +msgid "[Empty]" +msgstr "æ·»åŠ ç©ºç™½å¸§" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "设置" @@ -6337,10 +6471,6 @@ msgstr "设置" msgid "Properties:" msgstr "属性:" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "选项:" - #: editor/property_selector.cpp msgid "Select Property" msgstr "选择属性" @@ -6579,9 +6709,8 @@ msgid "Remote" msgstr "移除" #: editor/scene_tree_dock.cpp -#, fuzzy msgid "Local" -msgstr "地区" +msgstr "本地" #: editor/scene_tree_dock.cpp msgid "Clear Inheritance? (No Undo!)" @@ -6905,6 +7034,10 @@ msgstr "ä»Žåœºæ™¯æ ‘è®¾ç½®" msgid "Shortcuts" msgstr "å¿«æ·é”®" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "设置光照åŠå¾„" @@ -6953,16 +7086,56 @@ msgstr "修改粒åAABB" msgid "Change Probe Extents" msgstr "修改探针(Probe)范围" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "移除路径顶点" + +#: 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 +#, fuzzy +msgid "Platform" +msgstr "å¤åˆ¶åˆ°å¹³å°.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Dynamic Library" +msgstr "库" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "GDNative" + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "库" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "状æ€" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "库: " @@ -7025,9 +7198,8 @@ msgid "GridMap Duplicate Selection" msgstr "å¤åˆ¶é€‰ä¸é¡¹" #: modules/gridmap/grid_map_editor_plugin.cpp -#, fuzzy msgid "Floor:" -msgstr "目录:" +msgstr "地æ¿:" #: modules/gridmap/grid_map_editor_plugin.cpp #, fuzzy @@ -7636,6 +7808,25 @@ msgstr "锚 id å¿…é¡»ä¸æ˜¯ 0 或这个锚点将ä¸ç»‘定到实际的锚" msgid "ARVROrigin requires an ARVRCamera child node" msgstr "ARVROrigin 必须拥有 ARVRCamera å节点" +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Meshes: " +msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Plotting Lights:" +msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" + +#: scene/3d/baked_lightmap.cpp scene/3d/gi_probe.cpp +msgid "Finishing Plot" +msgstr "æ£åœ¨å®Œæˆåˆ’分" + +#: scene/3d/baked_lightmap.cpp +#, fuzzy +msgid "Lighting Meshes: " +msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" + #: scene/3d/collision_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7670,10 +7861,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "æ£åœ¨ç»˜åˆ¶ç½‘æ ¼" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "æ£åœ¨å®Œæˆåˆ’分" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "æ¤èŠ‚ç‚¹éœ€è¦è®¾ç½®NavigationMeshèµ„æºæ‰èƒ½å·¥ä½œã€‚" @@ -7733,10 +7920,6 @@ msgid "Add current color as a preset" msgstr "将当å‰é¢œè‰²æ·»åŠ ä¸ºé¢„è®¾" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "æç¤ºï¼" @@ -7769,9 +7952,8 @@ msgstr "" "寸。" #: scene/gui/tree.cpp -#, fuzzy msgid "(Other)" -msgstr "(其它)" +msgstr "(其它)" #: scene/main/scene_tree.cpp msgid "" @@ -7806,6 +7988,31 @@ msgstr "åŠ è½½å—体出错。" msgid "Invalid font size." msgstr "å—体大å°éžæ³•。" +#~ msgid "Move Add Key" +#~ msgstr "ç§»åŠ¨å·²æ·»åŠ å…³é”®å¸§" + +#~ msgid "Create Subscription" +#~ msgstr "创建订阅" + +#~ msgid "List:" +#~ msgstr "列表:" + +#~ msgid "Set Emission Mask" +#~ msgstr "设置Emission Mask(å‘å°„å±è”½ï¼‰" + +#~ msgid "Clear Emitter" +#~ msgstr "清除å‘射器(Emitter)" + +#, fuzzy +#~ msgid "Fold Line" +#~ msgstr "折å 行" + +#~ msgid " " +#~ msgstr " .. " + +#~ msgid "Sections:" +#~ msgstr "选项:" + #~ msgid "Cannot navigate to '" #~ msgstr "æ— æ³•å¯¼èˆªåˆ° '" @@ -8342,9 +8549,6 @@ msgstr "å—体大å°éžæ³•。" #~ msgid "Making BVH" #~ msgstr "制作BVH(动作骨骼)" -#~ msgid "Transfer to Lightmaps:" -#~ msgstr "转移到光照贴图:" - #~ msgid "Allocating Texture #" #~ msgstr "分é…çº¹ç† #" @@ -8496,9 +8700,6 @@ msgstr "å—体大å°éžæ³•。" #~ msgid "Del" #~ msgstr "åˆ é™¤" -#~ msgid "Copy To Platform.." -#~ msgstr "å¤åˆ¶åˆ°å¹³å°.." - #~ msgid "just pressed" #~ msgstr "æ£å¥½æŒ‰ä¸‹" diff --git a/editor/translations/zh_HK.po b/editor/translations/zh_HK.po index 1035e4f6e8..9a36df351c 100644 --- a/editor/translations/zh_HK.po +++ b/editor/translations/zh_HK.po @@ -29,8 +29,8 @@ msgstr "所有é¸é …" #: editor/animation_editor.cpp #, fuzzy -msgid "Move Add Key" -msgstr "移動" +msgid "Anim Change Keyframe Time" +msgstr "動畫變化數值" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -41,7 +41,8 @@ msgid "Anim Change Transform" msgstr "" #: editor/animation_editor.cpp -msgid "Anim Change Value" +#, fuzzy +msgid "Anim Change Keyframe Value" msgstr "動畫變化數值" #: editor/animation_editor.cpp @@ -573,8 +574,9 @@ msgid "Connecting Signal:" msgstr "連接訊號:" #: editor/connections_dialog.cpp -msgid "Create Subscription" -msgstr "" +#, fuzzy +msgid "Disconnect '%s' from '%s'" +msgstr "ç”± '%s' 連到 '%s'" #: editor/connections_dialog.cpp msgid "Connect.." @@ -590,7 +592,8 @@ msgid "Signals" msgstr "訊號" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "新增" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -605,7 +608,7 @@ msgstr "最近:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "æœå°‹ï¼š" @@ -642,6 +645,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -744,9 +748,10 @@ msgid "Delete selected files?" msgstr "è¦åˆªé™¤é¸ä¸æª”案?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "刪除" @@ -896,6 +901,11 @@ msgid "Rename Audio Bus" msgstr "釿–°å‘½åAutoload" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "動畫變化數值" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -946,8 +956,8 @@ msgstr "ç•¥éŽ" msgid "Bus options" msgstr "é¸é …" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "複製" @@ -962,6 +972,10 @@ msgid "Delete Effect" msgstr "刪除é¸ä¸æª”案" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1130,7 +1144,8 @@ msgstr "路徑:" msgid "Node Name:" msgstr "" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "å稱" @@ -1138,10 +1153,6 @@ msgstr "å稱" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "æ›´æ–°å ´æ™¯" @@ -1154,6 +1165,14 @@ msgstr "å„²å˜æœ¬åœ°æ›´æ”¹.." msgid "Updating scene.." msgstr "æ£åœ¨æ›´æ–°å ´æ™¯..." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp #, fuzzy msgid "Please select a base directory first" @@ -1205,6 +1224,23 @@ msgstr "檔案已å˜åœ¨, è¦è¦†è“‹å—Ž?" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "新增資料夾" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "釿–°æ•´ç†" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "所有類型" @@ -1252,10 +1288,6 @@ msgid "Go Up" msgstr "" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "釿–°æ•´ç†" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "(ä¸ï¼‰é¡¯ç¤ºéš±è—的文件" @@ -1444,7 +1476,8 @@ msgstr "" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "清空" @@ -2385,6 +2418,15 @@ msgstr "" msgid "Frame #:" msgstr "å¹€ #:" +#: editor/editor_profiler.cpp +#, fuzzy +msgid "Time" +msgstr "時間:" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "從列表é¸å–è¨å‚™" @@ -2526,7 +2568,8 @@ msgstr "沒有回應。" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +#, fuzzy +msgid "Request Failed." msgstr "請求失敗。" #: editor/export_template_manager.cpp @@ -2580,7 +2623,7 @@ msgstr "連到..." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "ä¸èƒ½é€£æŽ¥ã€‚" #: editor/export_template_manager.cpp @@ -2680,6 +2723,11 @@ msgid "Error moving:\n" msgstr "載入錯誤:" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Error duplicating:\n" +msgstr "載入錯誤:" + +#: editor/filesystem_dock.cpp msgid "Unable to update dependencies:\n" msgstr "" @@ -2714,6 +2762,16 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating file:" +msgstr "複製" + +#: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicating folder:" +msgstr "複製" + +#: editor/filesystem_dock.cpp msgid "Expand all" msgstr "" @@ -2722,10 +2780,6 @@ msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" -msgstr "複製路徑" - -#: editor/filesystem_dock.cpp #, fuzzy msgid "Rename.." msgstr "釿–°å‘½å.." @@ -2737,12 +2791,8 @@ msgstr "æ¬åˆ°.." #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "新增資料夾" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "é–‹å•“å ´æ™¯" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2757,6 +2807,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "複製" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2850,6 +2905,14 @@ 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 "" @@ -3426,6 +3489,7 @@ msgid "last" msgstr "å°¾é " #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "全部" @@ -3467,6 +3531,27 @@ msgstr "測試" msgid "Assets ZIP File" msgstr "Assets ZIP 檔" +#: 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 msgid "Preview" msgstr "" @@ -3604,7 +3689,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3786,16 +3870,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "OK :(" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3992,6 +4066,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -4032,6 +4122,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "檔案" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "" @@ -4209,10 +4313,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4230,15 +4330,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4300,10 +4400,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4591,11 +4687,13 @@ 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 "下移" @@ -4611,7 +4709,7 @@ msgstr "" msgid "File" msgstr "檔案" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4624,6 +4722,11 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +#, fuzzy +msgid "Copy Script Path" +msgstr "複製路徑" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4817,14 +4920,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "跳到行" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5155,6 +5254,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "OK :(" + +#: 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 msgid "Display Normal" msgstr "" @@ -5265,6 +5372,19 @@ 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 +#, fuzzy +msgid "Snap Mode (%s)" +msgstr "鏿“‡æ¨¡å¼" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View" msgstr "" @@ -5340,10 +5460,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5385,6 +5501,10 @@ msgid "Settings" msgstr "è¨å®š" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5772,6 +5892,11 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +#, fuzzy +msgid "Tile Set" +msgstr "TileSet.." + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5783,6 +5908,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "å–æ¶ˆ" + #: editor/project_export.cpp #, fuzzy msgid "Runnable" @@ -5907,10 +6036,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6174,8 +6299,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "縮放selection" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6244,6 +6370,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6423,6 +6553,10 @@ msgid "New Script" msgstr "下一個腳本" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6456,6 +6590,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6464,10 +6602,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp #, fuzzy msgid "Select Property" @@ -7039,6 +7173,10 @@ msgstr "" msgid "Shortcuts" msgstr "" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "" @@ -7087,16 +7225,55 @@ msgstr "" msgid "Change Probe Extents" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "åªé™é¸ä¸" + +#: 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 +#, fuzzy +msgid "Dynamic Library" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Add an architecture entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "GDNativeLibrary" +msgstr "MeshLibrary.." + +#: modules/gdnative/gdnative_library_singleton_editor.cpp #, fuzzy msgid "Library" msgstr "MeshLibrary.." -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7772,6 +7949,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7800,10 +7993,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7856,10 +8045,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "è¦å‘Š!" @@ -7921,6 +8106,10 @@ msgid "Invalid font size." msgstr "無效å—åž‹" #, fuzzy +#~ msgid "Move Add Key" +#~ msgstr "移動" + +#, fuzzy #~ msgid "" #~ "\n" #~ "Source: " diff --git a/editor/translations/zh_TW.po b/editor/translations/zh_TW.po index 8a68c1f1a7..4b17c01e15 100644 --- a/editor/translations/zh_TW.po +++ b/editor/translations/zh_TW.po @@ -32,8 +32,9 @@ msgid "All Selection" msgstr "æ‰€æœ‰çš„é¸æ“‡" #: editor/animation_editor.cpp -msgid "Move Add Key" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Time" +msgstr "動畫更改座標" #: editor/animation_editor.cpp msgid "Anim Change Transition" @@ -44,8 +45,9 @@ msgid "Anim Change Transform" msgstr "動畫更改座標" #: editor/animation_editor.cpp -msgid "Anim Change Value" -msgstr "" +#, fuzzy +msgid "Anim Change Keyframe Value" +msgstr "動畫更改座標" #: editor/animation_editor.cpp msgid "Anim Change Call" @@ -537,7 +539,7 @@ msgid "Connecting Signal:" msgstr "" #: editor/connections_dialog.cpp -msgid "Create Subscription" +msgid "Disconnect '%s' from '%s'" msgstr "" #: editor/connections_dialog.cpp @@ -554,7 +556,8 @@ msgid "Signals" msgstr "" #: editor/create_dialog.cpp -msgid "Create New" +#, fuzzy +msgid "Create New %s" msgstr "新增" #: editor/create_dialog.cpp editor/editor_file_dialog.cpp @@ -569,7 +572,7 @@ msgstr "最近å˜å–:" #: editor/create_dialog.cpp editor/editor_node.cpp #: editor/plugins/asset_library_editor_plugin.cpp #: editor/plugins/script_editor_plugin.cpp editor/property_selector.cpp -#: editor/quick_open.cpp editor/settings_config_dialog.cpp +#: editor/quick_open.cpp msgid "Search:" msgstr "æœå°‹:" @@ -608,6 +611,7 @@ msgid "" msgstr "" #: editor/dependency_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "Dependencies" msgstr "" @@ -710,9 +714,10 @@ msgid "Delete selected files?" msgstr "ç¢ºå®šåˆªé™¤æ‰€é¸æ“‡çš„æª”案嗎?" #: editor/dependency_editor.cpp editor/editor_audio_buses.cpp -#: editor/editor_node.cpp editor/filesystem_dock.cpp -#: editor/plugins/item_list_editor_plugin.cpp editor/project_export.cpp -#: editor/project_settings_editor.cpp editor/scene_tree_dock.cpp +#: editor/editor_file_dialog.cpp editor/editor_node.cpp +#: editor/filesystem_dock.cpp editor/plugins/item_list_editor_plugin.cpp +#: editor/project_export.cpp editor/project_settings_editor.cpp +#: editor/scene_tree_dock.cpp msgid "Delete" msgstr "刪除" @@ -852,6 +857,11 @@ msgid "Rename Audio Bus" msgstr "" #: editor/editor_audio_buses.cpp +#, fuzzy +msgid "Change Audio Bus Volume" +msgstr "é‡è¨ç¸®æ”¾å¤§å°" + +#: editor/editor_audio_buses.cpp msgid "Toggle Audio Bus Solo" msgstr "" @@ -900,8 +910,8 @@ msgstr "" msgid "Bus options" msgstr "除錯é¸é …" -#: editor/editor_audio_buses.cpp editor/plugins/tile_map_editor_plugin.cpp -#: editor/scene_tree_dock.cpp +#: editor/editor_audio_buses.cpp editor/filesystem_dock.cpp +#: editor/plugins/tile_map_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "Duplicate" msgstr "" @@ -916,6 +926,10 @@ msgid "Delete Effect" msgstr "刪除" #: editor/editor_audio_buses.cpp +msgid "Audio" +msgstr "" + +#: editor/editor_audio_buses.cpp msgid "Add Audio Bus" msgstr "" @@ -1068,7 +1082,8 @@ msgstr "路徑:" msgid "Node Name:" msgstr "節點å稱:" -#: editor/editor_autoload_settings.cpp editor/project_manager.cpp +#: editor/editor_autoload_settings.cpp editor/editor_profiler.cpp +#: editor/project_manager.cpp editor/settings_config_dialog.cpp msgid "Name" msgstr "å稱" @@ -1076,10 +1091,6 @@ msgstr "å稱" msgid "Singleton" msgstr "" -#: editor/editor_autoload_settings.cpp -msgid "List:" -msgstr "列表:" - #: editor/editor_data.cpp msgid "Updating Scene" msgstr "æ›´æ–°å ´æ™¯" @@ -1092,6 +1103,14 @@ msgstr "æ£åœ¨å„²å˜è®Šæ›´.." msgid "Updating scene.." msgstr "æ›´æ–°å ´æ™¯ä¸.." +#: editor/editor_data.cpp +msgid "[empty]" +msgstr "" + +#: editor/editor_data.cpp +msgid "[unsaved]" +msgstr "" + #: editor/editor_dir_dialog.cpp msgid "Please select a base directory first" msgstr "" @@ -1142,6 +1161,23 @@ msgstr "檔案已經å˜åœ¨, è¦è¦†å¯«å—Ž?" msgid "Select Current 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 "Show In File Manager" +msgstr "" + +#: editor/editor_file_dialog.cpp editor/filesystem_dock.cpp +#, fuzzy +msgid "New Folder.." +msgstr "新增資料夾" + +#: editor/editor_file_dialog.cpp +msgid "Refresh" +msgstr "釿–°æ•´ç†" + #: editor/editor_file_dialog.cpp scene/gui/file_dialog.cpp msgid "All Recognized" msgstr "" @@ -1189,10 +1225,6 @@ msgid "Go Up" msgstr "往上" #: editor/editor_file_dialog.cpp -msgid "Refresh" -msgstr "釿–°æ•´ç†" - -#: editor/editor_file_dialog.cpp msgid "Toggle Hidden Files" msgstr "" @@ -1369,7 +1401,8 @@ msgstr "輸出:" #: editor/editor_log.cpp editor/plugins/animation_tree_editor_plugin.cpp #: editor/property_editor.cpp editor/script_editor_debugger.cpp -#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp scene/gui/line_edit.cpp +#: scene/gui/text_edit.cpp msgid "Clear" msgstr "清除" @@ -2270,6 +2303,14 @@ msgstr "" msgid "Frame #:" msgstr "" +#: editor/editor_profiler.cpp +msgid "Time" +msgstr "" + +#: editor/editor_profiler.cpp +msgid "Calls" +msgstr "" + #: editor/editor_run_native.cpp msgid "Select device from the list" msgstr "" @@ -2406,7 +2447,7 @@ msgstr "" #: editor/export_template_manager.cpp #: editor/plugins/asset_library_editor_plugin.cpp -msgid "Req. Failed." +msgid "Request Failed." msgstr "" #: editor/export_template_manager.cpp @@ -2458,7 +2499,7 @@ msgstr "連接..." #: editor/export_template_manager.cpp #, fuzzy -msgid "Can't Conect" +msgid "Can't Connect" msgstr "連接..." #: editor/export_template_manager.cpp @@ -2555,6 +2596,11 @@ msgstr "載入時發生錯誤:" #: editor/filesystem_dock.cpp #, fuzzy +msgid "Error duplicating:\n" +msgstr "載入時發生錯誤:" + +#: editor/filesystem_dock.cpp +#, fuzzy msgid "Unable to update dependencies:\n" msgstr "å ´æ™¯ç¼ºå°‘äº†æŸäº›è³‡æºä»¥è‡³æ–¼ç„¡æ³•載入" @@ -2588,15 +2634,20 @@ msgid "Renaming folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Expand all" +#, fuzzy +msgid "Duplicating file:" +msgstr "載入時發生錯誤:" + +#: editor/filesystem_dock.cpp +msgid "Duplicating folder:" msgstr "" #: editor/filesystem_dock.cpp -msgid "Collapse all" +msgid "Expand all" msgstr "" #: editor/filesystem_dock.cpp -msgid "Copy Path" +msgid "Collapse all" msgstr "" #: editor/filesystem_dock.cpp @@ -2609,12 +2660,8 @@ msgstr "" #: editor/filesystem_dock.cpp #, fuzzy -msgid "New Folder.." -msgstr "新增資料夾" - -#: editor/filesystem_dock.cpp -msgid "Show In File Manager" -msgstr "" +msgid "Open Scene(s)" +msgstr "é–‹å•Ÿå ´æ™¯" #: editor/filesystem_dock.cpp msgid "Instance" @@ -2629,6 +2676,11 @@ msgid "View Owners.." msgstr "" #: editor/filesystem_dock.cpp +#, fuzzy +msgid "Duplicate.." +msgstr "複製動畫關éµç•«æ ¼" + +#: editor/filesystem_dock.cpp msgid "Previous Directory" msgstr "" @@ -2722,6 +2774,14 @@ 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 "" @@ -3289,6 +3349,7 @@ msgid "last" msgstr "" #: editor/plugins/asset_library_editor_plugin.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp msgid "All" msgstr "全部" @@ -3330,6 +3391,28 @@ msgstr "" 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 +#, fuzzy +msgid "Bake Lightmaps" +msgstr "變更光æºåŠå¾‘" + #: editor/plugins/camera_editor_plugin.cpp msgid "Preview" msgstr "" @@ -3465,7 +3548,6 @@ msgid "Toggles snapping" msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" msgstr "" @@ -3646,16 +3728,6 @@ msgstr "" #: editor/plugins/canvas_item_editor_plugin.cpp #: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "OK :(" -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp -msgid "No parent to instance a child at." -msgstr "" - -#: editor/plugins/canvas_item_editor_plugin.cpp -#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp msgid "This operation requires a single selected node." msgstr "" @@ -3851,6 +3923,22 @@ msgid "Create Navigation Mesh" msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "No mesh to debug." +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Model has no UV in this layer" +msgstr "" + +#: editor/plugins/mesh_instance_editor_plugin.cpp msgid "MeshInstance lacks a Mesh!" msgstr "" @@ -3891,6 +3979,20 @@ msgid "Create Outline Mesh.." msgstr "" #: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +msgid "View UV1" +msgstr "éŽæ¿¾æª”案.." + +#: editor/plugins/mesh_instance_editor_plugin.cpp +#, fuzzy +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 "" @@ -4068,10 +4170,6 @@ msgid "Create Navigation Polygon" 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 "Generating AABB" msgstr "" @@ -4089,15 +4187,15 @@ msgid "No pixels with transparency > 128 in image.." msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Set Emission Mask" +msgid "Generate Visibility Rect" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Generate Visibility Rect" +msgid "Load Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp -msgid "Load Emission Mask" +msgid "Clear Emission Mask" msgstr "" #: editor/plugins/particles_2d_editor_plugin.cpp @@ -4159,10 +4257,6 @@ msgid "Create Emission Points From Node" msgstr "" #: editor/plugins/particles_editor_plugin.cpp -msgid "Clear Emitter" -msgstr "" - -#: editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" msgstr "" @@ -4449,11 +4543,13 @@ 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 "" @@ -4469,7 +4565,7 @@ msgstr "" msgid "File" msgstr "" -#: editor/plugins/script_editor_plugin.cpp editor/property_editor.cpp +#: editor/plugins/script_editor_plugin.cpp msgid "New" msgstr "" @@ -4482,6 +4578,10 @@ msgid "Soft Reload Script" msgstr "" #: editor/plugins/script_editor_plugin.cpp +msgid "Copy Script Path" +msgstr "" + +#: editor/plugins/script_editor_plugin.cpp msgid "History Prev" msgstr "" @@ -4672,14 +4772,10 @@ msgstr "" #: editor/plugins/script_text_editor.cpp #, fuzzy -msgid "Fold Line" +msgid "Fold/Unfold Line" msgstr "å‰å¾€ç¬¬...行" #: editor/plugins/script_text_editor.cpp -msgid "Unfold Line" -msgstr "" - -#: editor/plugins/script_text_editor.cpp msgid "Fold All Lines" msgstr "" @@ -5007,6 +5103,14 @@ msgstr "" msgid "Align with view" msgstr "" +#: editor/plugins/spatial_editor_plugin.cpp editor/scene_tree_dock.cpp +msgid "OK :(" +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 msgid "Display Normal" msgstr "" @@ -5115,6 +5219,18 @@ 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 "" @@ -5188,10 +5304,6 @@ msgid "Configure Snap.." msgstr "" #: editor/plugins/spatial_editor_plugin.cpp -msgid "Local Coords" -msgstr "" - -#: editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." msgstr "" @@ -5233,6 +5345,10 @@ msgid "Settings" msgstr "" #: editor/plugins/spatial_editor_plugin.cpp +msgid "Skeleton Gizmo visibility" +msgstr "" + +#: editor/plugins/spatial_editor_plugin.cpp msgid "Snap Settings" msgstr "" @@ -5618,6 +5734,10 @@ msgid "Merge from scene?" msgstr "" #: editor/plugins/tile_set_editor_plugin.cpp +msgid "Tile Set" +msgstr "" + +#: editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" msgstr "" @@ -5629,6 +5749,10 @@ msgstr "" msgid "Error" msgstr "" +#: editor/progress_dialog.cpp scene/gui/dialogs.cpp +msgid "Cancel" +msgstr "" + #: editor/project_export.cpp msgid "Runnable" msgstr "" @@ -5749,10 +5873,6 @@ msgid "Imported Project" msgstr "" #: editor/project_manager.cpp -msgid " " -msgstr "" - -#: editor/project_manager.cpp msgid "It would be a good idea to name your project." msgstr "" @@ -6013,8 +6133,9 @@ msgid "Joypad Button Index:" msgstr "" #: editor/project_settings_editor.cpp -msgid "Add Input Action" -msgstr "" +#, fuzzy +msgid "Erase Input Action" +msgstr "æ‰€æœ‰çš„é¸æ“‡" #: editor/project_settings_editor.cpp msgid "Erase Input Action Event" @@ -6082,6 +6203,10 @@ msgid "Already existing" msgstr "" #: editor/project_settings_editor.cpp +msgid "Add Input Action" +msgstr "" + +#: editor/project_settings_editor.cpp msgid "Error saving settings." msgstr "" @@ -6261,6 +6386,10 @@ msgid "New Script" msgstr "" #: editor/property_editor.cpp +msgid "New %s" +msgstr "" + +#: editor/property_editor.cpp msgid "Make Unique" msgstr "" @@ -6293,6 +6422,10 @@ msgstr "" msgid "On" msgstr "" +#: editor/property_editor.cpp +msgid "[Empty]" +msgstr "" + #: editor/property_editor.cpp modules/visual_script/visual_script_editor.cpp msgid "Set" msgstr "" @@ -6301,10 +6434,6 @@ msgstr "" msgid "Properties:" msgstr "" -#: editor/property_editor.cpp -msgid "Sections:" -msgstr "" - #: editor/property_selector.cpp msgid "Select Property" msgstr "" @@ -6866,6 +6995,10 @@ msgstr "" msgid "Shortcuts" msgstr "æ·å¾‘" +#: editor/settings_config_dialog.cpp +msgid "Binding" +msgstr "" + #: editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" msgstr "變更光æºåŠå¾‘" @@ -6915,15 +7048,52 @@ msgstr "" msgid "Change Probe Extents" msgstr "變更框型範åœ" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select the dynamic library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +msgid "Select dependencies of the library for this entry" +msgstr "" + +#: modules/gdnative/gdnative_library_editor_plugin.cpp +#, fuzzy +msgid "Remove current entry" +msgstr "移除" + +#: 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/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Status" msgstr "" -#: modules/gdnative/gd_native_library_editor.cpp +#: modules/gdnative/gdnative_library_singleton_editor.cpp msgid "Libraries: " msgstr "" @@ -7595,6 +7765,22 @@ msgstr "" msgid "ARVROrigin requires an ARVRCamera child node" 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_polygon.cpp msgid "" "CollisionPolygon only serves to provide a collision shape to a " @@ -7623,10 +7809,6 @@ msgstr "" msgid "Plotting Meshes" msgstr "" -#: scene/3d/gi_probe.cpp -msgid "Finishing Plot" -msgstr "" - #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" @@ -7679,10 +7861,6 @@ msgid "Add current color as a preset" msgstr "" #: scene/gui/dialogs.cpp -msgid "Cancel" -msgstr "" - -#: scene/gui/dialogs.cpp msgid "Alert!" msgstr "" @@ -7743,6 +7921,9 @@ msgstr "讀å–å—體錯誤。" msgid "Invalid font size." msgstr "無效的å—體大å°ã€‚" +#~ msgid "List:" +#~ msgstr "列表:" + #, fuzzy #~ msgid "Selection -> Duplicate" #~ msgstr "åƒ…é¸æ“‡å€åŸŸ" diff --git a/main/SCsub b/main/SCsub index 2cc617fc2c..5748bc38d2 100644 --- a/main/SCsub +++ b/main/SCsub @@ -24,6 +24,27 @@ def make_splash(target, source, env): g.write("#endif") +def make_splash_editor(target, source, env): + + src = source[0].srcnode().abspath + dst = target[0].srcnode().abspath + f = open(src, "rb") + g = open(dst, "w") + + buf = f.read() + + g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") + g.write("#ifndef BOOT_SPLASH_EDITOR_H\n") + g.write("#define BOOT_SPLASH_EDITOR_H\n") + g.write('static const Color boot_splash_editor_bg_color = Color::html("#232323");\n') + g.write("static const unsigned char boot_splash_editor_png[] = {\n") + for i in range(len(buf)): + g.write(byte_to_str(buf[i]) + ",\n") + g.write("};\n") + g.write("#endif") + + + def make_app_icon(target, source, env): src = source[0].srcnode().abspath @@ -51,6 +72,9 @@ Export('env') env.Depends("#main/splash.gen.h", "#main/splash.png") env.Command("#main/splash.gen.h", "#main/splash.png", make_splash) +env.Depends("#main/splash_editor.gen.h", "#main/splash_editor.png") +env.Command("#main/splash_editor.gen.h", "#main/splash_editor.png", make_splash_editor) + env.Depends("#main/app_icon.gen.h", "#main/app_icon.png") env.Command("#main/app_icon.gen.h", "#main/app_icon.png", make_app_icon) diff --git a/main/main.cpp b/main/main.cpp index c6e20f6d3b..5648676c4c 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -42,6 +42,7 @@ #include "script_debugger_remote.h" #include "servers/register_server_types.h" #include "splash.gen.h" +#include "splash_editor.gen.h" #include "input_map.h" #include "io/resource_loader.h" @@ -1051,7 +1052,12 @@ Error Main::setup2(Thread::ID p_main_tid_override) { #ifndef NO_DEFAULT_BOOT_LOGO MAIN_PRINT("Main: Create bootsplash"); +#if defined(TOOLS_ENABLED) && !defined(NO_EDITOR_SPLASH) + + Ref<Image> splash = editor ? memnew(Image(boot_splash_editor_png)) : memnew(Image(boot_splash_png)); +#else Ref<Image> splash = memnew(Image(boot_splash_png)); +#endif MAIN_PRINT("Main: ClearColor"); VisualServer::get_singleton()->set_default_clear_color(boot_splash_bg_color); @@ -1442,6 +1448,9 @@ bool Main::start() { bool snap_controls = GLOBAL_DEF("gui/common/snap_controls_to_pixels", true); sml->get_root()->set_snap_controls_to_pixels(snap_controls); + bool font_oversampling = GLOBAL_DEF("rendering/quality/dynamic_fonts/use_oversampling", false); + sml->set_use_font_oversampling(font_oversampling); + } else { GLOBAL_DEF("display/window/stretch/mode", "disabled"); ProjectSettings::get_singleton()->set_custom_property_info("display/window/stretch/mode", PropertyInfo(Variant::STRING, "display/window/stretch/mode", PROPERTY_HINT_ENUM, "disabled,2d,viewport")); @@ -1452,6 +1461,7 @@ bool Main::start() { sml->set_auto_accept_quit(GLOBAL_DEF("application/config/auto_accept_quit", true)); sml->set_quit_on_go_back(GLOBAL_DEF("application/config/quit_on_go_back", true)); GLOBAL_DEF("gui/common/snap_controls_to_pixels", true); + GLOBAL_DEF("rendering/quality/dynamic_fonts/use_oversampling", false); } String local_game_path; @@ -1861,6 +1871,7 @@ void Main::cleanup() { if (engine) memdelete(engine); + message_queue->flush(); memdelete(message_queue); unregister_core_driver_types(); diff --git a/main/splash_sponsors.png b/main/splash_editor.png Binary files differindex d8677f1749..d8677f1749 100644 --- a/main/splash_sponsors.png +++ b/main/splash_editor.png diff --git a/methods.py b/methods.py index e861303e63..f9da6c8dd5 100644 --- a/methods.py +++ b/methods.py @@ -1755,16 +1755,16 @@ def precious_program(env, program, sources, **args): return program def add_shared_library(env, name, sources, **args): - library = env.SharedLibrary(name, sources, **args) - env.NoCache(library) - return library + library = env.SharedLibrary(name, sources, **args) + env.NoCache(library) + return library def add_library(env, name, sources, **args): - library = env.Library(name, sources, **args) - env.NoCache(library) - return library + library = env.Library(name, sources, **args) + env.NoCache(library) + return library def add_program(env, name, sources, **args): - program = env.Program(name, sources, **args) - env.NoCache(program) - return program + program = env.Program(name, sources, **args) + env.NoCache(program) + return program diff --git a/modules/bullet/godot_result_callbacks.cpp b/modules/bullet/godot_result_callbacks.cpp index cbf30c8a2e..37e45cfff8 100644 --- a/modules/bullet/godot_result_callbacks.cpp +++ b/modules/bullet/godot_result_callbacks.cpp @@ -142,6 +142,9 @@ bool GodotAllContactResultCallback::needsCollision(btBroadphaseProxy *proxy0) co btScalar GodotAllContactResultCallback::addSingleResult(btManifoldPoint &cp, const btCollisionObjectWrapper *colObj0Wrap, int partId0, int index0, const btCollisionObjectWrapper *colObj1Wrap, int partId1, int index1) { + if (m_count >= m_resultMax) + return cp.getDistance(); + if (cp.getDistance() <= 0) { PhysicsDirectSpaceState::ShapeResult &result = m_results[m_count]; @@ -165,7 +168,7 @@ btScalar GodotAllContactResultCallback::addSingleResult(btManifoldPoint &cp, con ++m_count; } - return m_count < m_resultMax; + return cp.getDistance(); } bool GodotContactPairContactResultCallback::needsCollision(btBroadphaseProxy *proxy0) const { diff --git a/modules/bullet/rigid_body_bullet.cpp b/modules/bullet/rigid_body_bullet.cpp index 669b2c3f0c..5e736c1856 100644 --- a/modules/bullet/rigid_body_bullet.cpp +++ b/modules/bullet/rigid_body_bullet.cpp @@ -264,6 +264,7 @@ RigidBodyBullet::RigidBodyBullet() : can_sleep(true), force_integration_callback(NULL), isTransformChanged(false), + previousActiveState(true), maxCollisionsDetection(0), collisionsCount(0), maxAreasWhereIam(10), @@ -287,6 +288,7 @@ RigidBodyBullet::RigidBodyBullet() : for (int i = areasWhereIam.size() - 1; 0 <= i; --i) { areasWhereIam[i] = NULL; } + btBody->setSleepingThresholds(0.2, 0.2); } RigidBodyBullet::~RigidBodyBullet() { @@ -337,7 +339,7 @@ void RigidBodyBullet::set_space(SpaceBullet *p_space) { void RigidBodyBullet::dispatch_callbacks() { /// The check isTransformChanged is necessary in order to call integrated forces only when the first transform is sent - if (btBody->isActive() && force_integration_callback && isTransformChanged) { + if ((btBody->isActive() || previousActiveState != btBody->isActive()) && force_integration_callback && isTransformChanged) { BulletPhysicsDirectBodyState *bodyDirect = BulletPhysicsDirectBodyState::get_singleton(this); @@ -364,6 +366,8 @@ void RigidBodyBullet::dispatch_callbacks() { /// Lock axis btBody->setLinearVelocity(btBody->getLinearVelocity() * btBody->getLinearFactor()); btBody->setAngularVelocity(btBody->getAngularVelocity() * btBody->getAngularFactor()); + + previousActiveState = btBody->isActive(); } void RigidBodyBullet::set_force_integration_callback(ObjectID p_id, const StringName &p_method, const Variant &p_udata) { @@ -580,7 +584,8 @@ Variant RigidBodyBullet::get_state(PhysicsServer::BodyState p_state) const { void RigidBodyBullet::apply_central_impulse(const Vector3 &p_impulse) { btVector3 btImpu; G_TO_B(p_impulse, btImpu); - btBody->activate(); + if (Vector3() != p_impulse) + btBody->activate(); btBody->applyCentralImpulse(btImpu); } @@ -589,14 +594,16 @@ void RigidBodyBullet::apply_impulse(const Vector3 &p_pos, const Vector3 &p_impul btVector3 btPos; G_TO_B(p_impulse, btImpu); G_TO_B(p_pos, btPos); - btBody->activate(); + if (Vector3() != p_impulse) + btBody->activate(); btBody->applyImpulse(btImpu, btPos); } void RigidBodyBullet::apply_torque_impulse(const Vector3 &p_impulse) { btVector3 btImp; G_TO_B(p_impulse, btImp); - btBody->activate(); + if (Vector3() != p_impulse) + btBody->activate(); btBody->applyTorqueImpulse(btImp); } @@ -605,28 +612,32 @@ void RigidBodyBullet::apply_force(const Vector3 &p_force, const Vector3 &p_pos) btVector3 btPos; G_TO_B(p_force, btForce); G_TO_B(p_pos, btPos); - btBody->activate(); + if (Vector3() != p_force) + btBody->activate(); btBody->applyForce(btForce, btPos); } void RigidBodyBullet::apply_central_force(const Vector3 &p_force) { btVector3 btForce; G_TO_B(p_force, btForce); - btBody->activate(); + if (Vector3() != p_force) + btBody->activate(); btBody->applyCentralForce(btForce); } void RigidBodyBullet::apply_torque(const Vector3 &p_torque) { btVector3 btTorq; G_TO_B(p_torque, btTorq); - btBody->activate(); + if (Vector3() != p_torque) + btBody->activate(); btBody->applyTorque(btTorq); } void RigidBodyBullet::set_applied_force(const Vector3 &p_force) { btVector3 btVec = btBody->getTotalTorque(); - btBody->activate(); + if (Vector3() != p_force) + btBody->activate(); btBody->clearForces(); btBody->applyTorque(btVec); @@ -644,7 +655,8 @@ Vector3 RigidBodyBullet::get_applied_force() const { void RigidBodyBullet::set_applied_torque(const Vector3 &p_torque) { btVector3 btVec = btBody->getTotalForce(); - btBody->activate(); + if (Vector3() != p_torque) + btBody->activate(); btBody->clearForces(); btBody->applyCentralForce(btVec); @@ -711,7 +723,8 @@ bool RigidBodyBullet::is_continuous_collision_detection_enabled() const { void RigidBodyBullet::set_linear_velocity(const Vector3 &p_velocity) { btVector3 btVec; G_TO_B(p_velocity, btVec); - btBody->activate(); + if (Vector3() != p_velocity) + btBody->activate(); btBody->setLinearVelocity(btVec); } @@ -724,7 +737,8 @@ Vector3 RigidBodyBullet::get_linear_velocity() const { void RigidBodyBullet::set_angular_velocity(const Vector3 &p_velocity) { btVector3 btVec; G_TO_B(p_velocity, btVec); - btBody->activate(); + if (Vector3() != p_velocity) + btBody->activate(); btBody->setAngularVelocity(btVec); } @@ -833,6 +847,9 @@ void RigidBodyBullet::on_exit_area(AreaBullet *p_area) { void RigidBodyBullet::reload_space_override_modificator() { + if (!is_active()) + return; + Vector3 newGravity(space->get_gravity_direction() * space->get_gravity_magnitude()); real_t newLinearDamp(linearDamp); real_t newAngularDamp(angularDamp); diff --git a/modules/bullet/rigid_body_bullet.h b/modules/bullet/rigid_body_bullet.h index c0eb148e24..c3b72172d9 100644 --- a/modules/bullet/rigid_body_bullet.h +++ b/modules/bullet/rigid_body_bullet.h @@ -207,6 +207,7 @@ private: bool isScratchedSpaceOverrideModificator; bool isTransformChanged; + bool previousActiveState; // Last check state ForceIntegrationCallback *force_integration_callback; diff --git a/modules/enet/networked_multiplayer_enet.cpp b/modules/enet/networked_multiplayer_enet.cpp index ce485956b4..396bebf0ea 100644 --- a/modules/enet/networked_multiplayer_enet.cpp +++ b/modules/enet/networked_multiplayer_enet.cpp @@ -386,7 +386,7 @@ int NetworkedMultiplayerENet::get_available_packet_count() const { return incoming_packets.size(); } -Error NetworkedMultiplayerENet::get_packet(const uint8_t **r_buffer, int &r_buffer_size) const { +Error NetworkedMultiplayerENet::get_packet(const uint8_t **r_buffer, int &r_buffer_size) { ERR_FAIL_COND_V(incoming_packets.size() == 0, ERR_UNAVAILABLE); @@ -480,7 +480,7 @@ int NetworkedMultiplayerENet::get_max_packet_size() const { return 1 << 24; //anything is good } -void NetworkedMultiplayerENet::_pop_current_packet() const { +void NetworkedMultiplayerENet::_pop_current_packet() { if (current_packet.packet) { enet_packet_destroy(current_packet.packet); diff --git a/modules/enet/networked_multiplayer_enet.h b/modules/enet/networked_multiplayer_enet.h index 81d517147d..d7bc5c7849 100644 --- a/modules/enet/networked_multiplayer_enet.h +++ b/modules/enet/networked_multiplayer_enet.h @@ -86,12 +86,12 @@ private: CompressionMode compression_mode; - mutable List<Packet> incoming_packets; + List<Packet> incoming_packets; - mutable Packet current_packet; + Packet current_packet; uint32_t _gen_unique_id() const; - void _pop_current_packet() const; + void _pop_current_packet(); Vector<uint8_t> src_compressor_mem; Vector<uint8_t> dst_compressor_mem; @@ -123,7 +123,7 @@ public: virtual bool is_server() const; virtual int get_available_packet_count() const; - virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size) const; ///< buffer is GONE after next get_packet + virtual Error get_packet(const uint8_t **r_buffer, int &r_buffer_size); ///< buffer is GONE after next get_packet virtual Error put_packet(const uint8_t *p_buffer, int p_buffer_size); virtual int get_max_packet_size() const; diff --git a/modules/gdnative/SCsub b/modules/gdnative/SCsub index fd11c8d094..4e73ebfb9d 100644 --- a/modules/gdnative/SCsub +++ b/modules/gdnative/SCsub @@ -3,12 +3,12 @@ Import('env') gdn_env = env.Clone() - -gdn_env.add_source_files(env.modules_sources, "gd_native_library_editor.cpp") gdn_env.add_source_files(env.modules_sources, "gdnative.cpp") gdn_env.add_source_files(env.modules_sources, "register_types.cpp") gdn_env.add_source_files(env.modules_sources, "gdnative/*.cpp") gdn_env.add_source_files(env.modules_sources, "nativescript/*.cpp") +gdn_env.add_source_files(env.modules_sources, "gdnative_library_singleton_editor.cpp") +gdn_env.add_source_files(env.modules_sources, "gdnative_library_editor_plugin.cpp") gdn_env.Append(CPPPATH=['#modules/gdnative/include/']) diff --git a/modules/gdnative/gdnative/gdnative.cpp b/modules/gdnative/gdnative/gdnative.cpp index 92a88e354b..8ff67b10b1 100644 --- a/modules/gdnative/gdnative/gdnative.cpp +++ b/modules/gdnative/gdnative/gdnative.cpp @@ -52,10 +52,6 @@ godot_object GDAPI *godot_global_get_singleton(char *p_name) { return (godot_object *)Engine::get_singleton()->get_singleton_object(String(p_name)); } // result shouldn't be freed -void GDAPI *godot_get_stack_bottom() { - return OS::get_singleton()->get_stack_bottom(); -} - // MethodBind API godot_method_bind GDAPI *godot_method_bind_get_method(const char *p_classname, const char *p_methodname) { diff --git a/modules/gdnative/gdnative_api.json b/modules/gdnative/gdnative_api.json index b7b2553435..06c6e9f410 100644 --- a/modules/gdnative/gdnative_api.json +++ b/modules/gdnative/gdnative_api.json @@ -5533,12 +5533,6 @@ ] }, { - "name": "godot_get_stack_bottom", - "return_type": "void *", - "arguments": [ - ] - }, - { "name": "godot_method_bind_get_method", "return_type": "godot_method_bind *", "arguments": [ diff --git a/modules/gdnative/gdnative_library_editor_plugin.cpp b/modules/gdnative/gdnative_library_editor_plugin.cpp new file mode 100644 index 0000000000..1e638ab702 --- /dev/null +++ b/modules/gdnative/gdnative_library_editor_plugin.cpp @@ -0,0 +1,423 @@ +/*************************************************************************/ +/* gdnative_library_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2017 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. */ +/*************************************************************************/ + +#ifdef TOOLS_ENABLED +#include "gdnative_library_editor_plugin.h" +#include "gdnative.h" + +void GDNativeLibraryEditor::edit(Ref<GDNativeLibrary> p_library) { + library = p_library; + Ref<ConfigFile> config = p_library->get_config_file(); + + for (Map<String, NativePlatformConfig>::Element *E = platforms.front(); E; E = E->next()) { + for (List<String>::Element *it = E->value().entries.front(); it; it = it->next()) { + + String target = E->key() + "." + it->get(); + TargetConfig ecfg; + ecfg.library = config->get_value("entry", target, ""); + ecfg.dependencies = config->get_value("dependencies", target, Array()); + entry_configs[target] = ecfg; + } + } + + _update_tree(); +} + +void GDNativeLibraryEditor::_bind_methods() { + + ClassDB::bind_method("_on_item_button", &GDNativeLibraryEditor::_on_item_button); + ClassDB::bind_method("_on_library_selected", &GDNativeLibraryEditor::_on_library_selected); + ClassDB::bind_method("_on_dependencies_selected", &GDNativeLibraryEditor::_on_dependencies_selected); + ClassDB::bind_method("_on_filter_selected", &GDNativeLibraryEditor::_on_filter_selected); + ClassDB::bind_method("_on_item_collapsed", &GDNativeLibraryEditor::_on_item_collapsed); + ClassDB::bind_method("_on_item_activated", &GDNativeLibraryEditor::_on_item_activated); + ClassDB::bind_method("_on_create_new_entry", &GDNativeLibraryEditor::_on_create_new_entry); +} + +void GDNativeLibraryEditor::_update_tree() { + + tree->clear(); + TreeItem *root = tree->create_item(); + + for (Map<String, NativePlatformConfig>::Element *E = platforms.front(); E; E = E->next()) { + + if (showing_platform != E->key() && showing_platform != "All") + continue; + + TreeItem *platform = tree->create_item(root); + platform->set_text(0, E->get().name); + platform->set_metadata(0, E->get().library_extension); + + platform->set_custom_bg_color(0, get_color("prop_category", "Editor")); + platform->set_custom_bg_color(1, get_color("prop_category", "Editor")); + platform->set_custom_bg_color(2, get_color("prop_category", "Editor")); + platform->set_selectable(0, false); + platform->set_expand_right(0, true); + + for (List<String>::Element *it = E->value().entries.front(); it; it = it->next()) { + + String target = E->key() + "." + it->get(); + TreeItem *bit = tree->create_item(platform); + + bit->set_text(0, it->get()); + bit->set_metadata(0, target); + bit->set_selectable(0, false); + bit->set_custom_bg_color(0, get_color("prop_subsection", "Editor")); + + bit->add_button(1, get_icon("Folder", "EditorIcons"), BUTTON_SELECT_LIBRARY, false, TTR("Select the dynamic library for this entry")); + String file = entry_configs[target].library; + if (!file.empty()) { + bit->add_button(1, get_icon("Clear", "EditorIcons"), BUTTON_CLEAR_LIBRARY, false, TTR("Clear")); + } + bit->set_text(1, file); + + bit->add_button(2, get_icon("Folder", "EditorIcons"), BUTTON_SELECT_DEPENDENCES, false, TTR("Select dependencies of the library for this entry")); + Array files = entry_configs[target].dependencies; + if (files.size()) { + bit->add_button(2, get_icon("Clear", "EditorIcons"), BUTTON_CLEAR_DEPENDENCES, false, TTR("Clear")); + } + bit->set_text(2, Variant(files)); + + bit->add_button(3, get_icon("MoveUp", "EditorIcons"), BUTTON_MOVE_UP, false, TTR("Move Up")); + bit->add_button(3, get_icon("MoveDown", "EditorIcons"), BUTTON_MOVE_DOWN, false, TTR("Move Down")); + bit->add_button(3, get_icon("Remove", "EditorIcons"), BUTTON_ERASE_ENTRY, false, TTR("Remove current entry")); + } + + TreeItem *new_arch = tree->create_item(platform); + new_arch->set_text(0, TTR("Double click to create a new entry")); + new_arch->set_text_align(0, TreeItem::ALIGN_CENTER); + new_arch->set_custom_color(0, get_color("accent_color", "Editor")); + new_arch->set_expand_right(0, true); + new_arch->set_metadata(1, E->key()); + + platform->set_collapsed(collapsed_items.find(E->get().name) != NULL); + } +} + +void GDNativeLibraryEditor::_on_item_button(Object *item, int column, int id) { + + String target = Object::cast_to<TreeItem>(item)->get_metadata(0); + String platform = target.substr(0, target.find(".")); + String entry = target.substr(platform.length() + 1, target.length()); + String section = (id == BUTTON_SELECT_DEPENDENCES || id == BUTTON_CLEAR_DEPENDENCES) ? "dependencies" : "entry"; + + if (id == BUTTON_SELECT_LIBRARY || id == BUTTON_SELECT_DEPENDENCES) { + + EditorFileDialog::Mode mode = EditorFileDialog::MODE_OPEN_FILE; + if (id == BUTTON_SELECT_DEPENDENCES) + mode = EditorFileDialog::MODE_OPEN_FILES; + + file_dialog->set_meta("target", target); + file_dialog->set_meta("section", section); + file_dialog->clear_filters(); + file_dialog->add_filter(Object::cast_to<TreeItem>(item)->get_parent()->get_metadata(0)); + file_dialog->set_mode(mode); + file_dialog->popup_centered_ratio(); + + } else if (id == BUTTON_CLEAR_LIBRARY) { + _set_target_value(section, target, ""); + } else if (id == BUTTON_CLEAR_DEPENDENCES) { + _set_target_value(section, target, Array()); + } else if (id == BUTTON_ERASE_ENTRY) { + _erase_entry(platform, entry); + } else if (id == BUTTON_MOVE_UP || id == BUTTON_MOVE_DOWN) { + _move_entry(platform, entry, id); + } +} + +void GDNativeLibraryEditor::_on_library_selected(const String &file) { + + _set_target_value(file_dialog->get_meta("section"), file_dialog->get_meta("target"), file); +} + +void GDNativeLibraryEditor::_on_dependencies_selected(const PoolStringArray &files) { + + _set_target_value(file_dialog->get_meta("section"), file_dialog->get_meta("target"), files); +} + +void GDNativeLibraryEditor::_on_filter_selected(int id) { + + showing_platform = filter->get_item_metadata(id); + _update_tree(); +} + +void GDNativeLibraryEditor::_on_item_collapsed(Object *p_item) { + + TreeItem *item = Object::cast_to<TreeItem>(p_item); + String name = item->get_text(0); + + if (item->is_collapsed()) { + collapsed_items.insert(name); + } else if (Set<String>::Element *e = collapsed_items.find(name)) { + collapsed_items.erase(e); + } +} + +void GDNativeLibraryEditor::_on_item_activated() { + + TreeItem *item = tree->get_selected(); + if (item && tree->get_selected_column() == 0 && item->get_metadata(0).get_type() == Variant::NIL) { + new_architecture_dialog->set_meta("platform", item->get_metadata(1)); + new_architecture_dialog->popup_centered(); + } +} + +void GDNativeLibraryEditor::_on_create_new_entry() { + + String platform = new_architecture_dialog->get_meta("platform"); + String entry = new_architecture_input->get_text().strip_edges(); + if (!entry.empty()) { + platforms[platform].entries.push_back(entry); + _update_tree(); + } +} + +void GDNativeLibraryEditor::_set_target_value(const String §ion, const String &target, Variant file) { + if (section == "entry") + entry_configs[target].library = file; + else if (section == "dependencies") + entry_configs[target].dependencies = file; + _translate_to_config_file(); + _update_tree(); +} + +void GDNativeLibraryEditor::_erase_entry(const String &platform, const String &entry) { + + if (platforms.has(platform)) { + if (List<String>::Element *E = platforms[platform].entries.find(entry)) { + + String target = platform + "." + entry; + Ref<ConfigFile> config = library->get_config_file(); + + platforms[platform].entries.erase(E); + _set_target_value("entry", target, ""); + _set_target_value("dependencies", target, Array()); + _translate_to_config_file(); + _update_tree(); + } + } +} + +void GDNativeLibraryEditor::_move_entry(const String &platform, const String &entry, int dir) { + if (List<String>::Element *E = platforms[platform].entries.find(entry)) { + if (E->prev() && dir == BUTTON_MOVE_UP) { + platforms[platform].entries.insert_before(E->prev(), E->get()); + platforms[platform].entries.erase(E); + } else if (E->next() && dir == BUTTON_MOVE_DOWN) { + platforms[platform].entries.insert_after(E->next(), E->get()); + platforms[platform].entries.erase(E); + } + _translate_to_config_file(); + _update_tree(); + } +} + +void GDNativeLibraryEditor::_translate_to_config_file() { + + if (!library.is_null()) { + + Ref<ConfigFile> config = library->get_config_file(); + config->erase_section("entry"); + config->erase_section("dependencies"); + + for (Map<String, NativePlatformConfig>::Element *E = platforms.front(); E; E = E->next()) { + for (List<String>::Element *it = E->value().entries.front(); it; it = it->next()) { + + String target = E->key() + "." + it->get(); + if (entry_configs[target].library.empty() && entry_configs[target].dependencies.empty()) + continue; + + config->set_value("entry", target, entry_configs[target].library); + config->set_value("dependencies", target, entry_configs[target].dependencies); + } + } + + library->_change_notify(); + } +} + +GDNativeLibraryEditor::GDNativeLibraryEditor() { + + showing_platform = "All"; + + { // Define platforms + NativePlatformConfig platform_windows; + platform_windows.name = "Windows"; + platform_windows.entries.push_back("64"); + platform_windows.entries.push_back("32"); + platform_windows.library_extension = "*.dll"; + platforms["Windows"] = platform_windows; + + NativePlatformConfig platform_linux; + platform_linux.name = "Linux/X11"; + platform_linux.entries.push_back("64"); + platform_linux.entries.push_back("32"); + platform_linux.library_extension = "*.so"; + platforms["X11"] = platform_linux; + + NativePlatformConfig platform_osx; + platform_osx.name = "Mac OSX"; + platform_osx.entries.push_back("64"); + platform_osx.entries.push_back("32"); + platform_osx.library_extension = "*.dylib"; + platforms["OSX"] = platform_osx; + + NativePlatformConfig platform_haiku; + platform_haiku.name = "Haiku"; + platform_haiku.entries.push_back("64"); + platform_haiku.entries.push_back("32"); + platform_haiku.library_extension = "*.so"; + platforms["Haiku"] = platform_haiku; + + NativePlatformConfig platform_uwp; + platform_uwp.name = "Windows Universal"; + platform_uwp.entries.push_back("arm"); + platform_uwp.entries.push_back("x86"); + platform_uwp.entries.push_back("x64"); + platform_uwp.library_extension = "*.dll"; + platforms["UWP"] = platform_uwp; + + NativePlatformConfig platform_android; + platform_android.name = "Android"; + platform_android.entries.push_back("armeabi-v7a"); + platform_android.entries.push_back("arm64-v8a"); + platform_android.entries.push_back("x86"); + platform_android.entries.push_back("x86_64"); + platform_android.library_extension = "*.so"; + platforms["Android"] = platform_android; + + // TODO: Javascript platform is not supported yet + // NativePlatformConfig platform_html5; + // platform_html5.name = "HTML5"; + // platform_html5.library_extension = "*.wasm"; + // platforms["Javascript"] = platform_html5; + + NativePlatformConfig platform_ios; + platform_ios.name = "iOS"; + platform_ios.entries.push_back("armv7"); + platform_ios.entries.push_back("arm64"); + platform_ios.library_extension = "*.dylib"; + platforms["iOS"] = platform_ios; + } + + VBoxContainer *container = memnew(VBoxContainer); + add_child(container); + container->set_anchors_and_margins_preset(PRESET_WIDE); + + HBoxContainer *hbox = memnew(HBoxContainer); + container->add_child(hbox); + Label *label = memnew(Label); + label->set_text(TTR("Platform:")); + hbox->add_child(label); + filter = memnew(OptionButton); + hbox->add_child(filter); + filter->set_h_size_flags(SIZE_EXPAND_FILL); + + int idx = 0; + filter->add_item(TTR("All"), idx); + filter->set_item_metadata(idx, "All"); + idx += 1; + for (Map<String, NativePlatformConfig>::Element *E = platforms.front(); E; E = E->next()) { + filter->add_item(E->get().name, idx); + filter->set_item_metadata(idx, E->key()); + idx += 1; + } + filter->connect("item_selected", this, "_on_filter_selected"); + + tree = memnew(Tree); + container->add_child(tree); + tree->set_v_size_flags(SIZE_EXPAND_FILL); + tree->set_hide_root(true); + tree->set_column_titles_visible(true); + tree->set_columns(4); + tree->set_column_expand(0, false); + tree->set_column_min_width(0, int(200 * EDSCALE)); + tree->set_column_title(0, TTR("Platform")); + tree->set_column_title(1, TTR("Dynamic Library")); + tree->set_column_title(2, TTR("Dependencies")); + tree->set_column_expand(3, false); + tree->set_column_min_width(3, int(110 * EDSCALE)); + tree->connect("button_pressed", this, "_on_item_button"); + tree->connect("item_collapsed", this, "_on_item_collapsed"); + tree->connect("item_activated", this, "_on_item_activated"); + + file_dialog = memnew(EditorFileDialog); + file_dialog->set_access(EditorFileDialog::ACCESS_RESOURCES); + file_dialog->set_resizable(true); + add_child(file_dialog); + file_dialog->connect("file_selected", this, "_on_library_selected"); + file_dialog->connect("files_selected", this, "_on_dependencies_selected"); + + new_architecture_dialog = memnew(ConfirmationDialog); + add_child(new_architecture_dialog); + new_architecture_dialog->set_title(TTR("Add an architecture entry")); + new_architecture_input = memnew(LineEdit); + new_architecture_dialog->add_child(new_architecture_input); + new_architecture_dialog->set_custom_minimum_size(Vector2(300, 80) * EDSCALE); + new_architecture_input->set_anchors_and_margins_preset(PRESET_HCENTER_WIDE, PRESET_MODE_MINSIZE, 5 * EDSCALE); + new_architecture_dialog->get_ok()->connect("pressed", this, "_on_create_new_entry"); +} + +void GDNativeLibraryEditorPlugin::edit(Object *p_node) { + + if (Object::cast_to<GDNativeLibrary>(p_node)) { + library_editor->edit(Object::cast_to<GDNativeLibrary>(p_node)); + library_editor->show(); + } else + library_editor->hide(); +} + +bool GDNativeLibraryEditorPlugin::handles(Object *p_node) const { + + return p_node->is_class("GDNativeLibrary"); +} + +void GDNativeLibraryEditorPlugin::make_visible(bool p_visible) { + + if (p_visible) { + button->show(); + EditorNode::get_singleton()->make_bottom_panel_item_visible(library_editor); + + } else { + if (library_editor->is_visible_in_tree()) + EditorNode::get_singleton()->hide_bottom_panel(); + button->hide(); + } +} + +GDNativeLibraryEditorPlugin::GDNativeLibraryEditorPlugin(EditorNode *p_node) { + + library_editor = memnew(GDNativeLibraryEditor); + library_editor->set_custom_minimum_size(Size2(0, 250 * EDSCALE)); + button = p_node->add_bottom_panel_item(TTR("GDNativeLibrary"), library_editor); + button->hide(); +} + +#endif diff --git a/modules/gdnative/gdnative_library_editor_plugin.h b/modules/gdnative/gdnative_library_editor_plugin.h new file mode 100644 index 0000000000..1fa6a0c945 --- /dev/null +++ b/modules/gdnative/gdnative_library_editor_plugin.h @@ -0,0 +1,113 @@ +/*************************************************************************/ +/* gdnative_library_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2017 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 GDNATIVE_LIBRARY_EDITOR_PLUGIN_H +#define GDNATIVE_LIBRARY_EDITOR_PLUGIN_H + +#ifdef TOOLS_ENABLED +#include "editor/editor_node.h" +#include "gdnative.h" + +class GDNativeLibraryEditor : public Control { + + GDCLASS(GDNativeLibraryEditor, Control); + + struct NativePlatformConfig { + String name; + String library_extension; + List<String> entries; + }; + + struct TargetConfig { + String library; + Array dependencies; + }; + + enum ItemButton { + BUTTON_SELECT_LIBRARY, + BUTTON_CLEAR_LIBRARY, + BUTTON_SELECT_DEPENDENCES, + BUTTON_CLEAR_DEPENDENCES, + BUTTON_ERASE_ENTRY, + BUTTON_MOVE_UP, + BUTTON_MOVE_DOWN, + }; + + Tree *tree; + OptionButton *filter; + EditorFileDialog *file_dialog; + ConfirmationDialog *new_architecture_dialog; + LineEdit *new_architecture_input; + Set<String> collapsed_items; + + String showing_platform; + Ref<GDNativeLibrary> library; + Map<String, NativePlatformConfig> platforms; + Map<String, TargetConfig> entry_configs; + +protected: + static void _bind_methods(); + void _update_tree(); + void _on_item_button(Object *item, int column, int id); + void _on_library_selected(const String &file); + void _on_dependencies_selected(const PoolStringArray &files); + void _on_filter_selected(int id); + void _on_item_collapsed(Object *item); + void _on_item_activated(); + void _on_create_new_entry(); + void _set_target_value(const String §ion, const String &target, Variant file); + void _erase_entry(const String &platform, const String &entry); + void _move_entry(const String &platform, const String &entry, int dir); + void _translate_to_config_file(); + +public: + void edit(Ref<GDNativeLibrary> p_library); + + GDNativeLibraryEditor(); +}; + +class GDNativeLibraryEditorPlugin : public EditorPlugin { + + GDCLASS(GDNativeLibraryEditorPlugin, EditorPlugin); + + GDNativeLibraryEditor *library_editor; + EditorNode *editor; + Button *button; + +public: + virtual String get_name() const { return "GDNativeLibrary"; } + bool has_main_screen() const { return false; } + virtual void edit(Object *p_node); + virtual bool handles(Object *p_node) const; + virtual void make_visible(bool p_visible); + + GDNativeLibraryEditorPlugin(EditorNode *p_node); +}; +#endif +#endif // GDNATIVE_LIBRARY_EDITOR_PLUGIN_H diff --git a/modules/gdnative/gd_native_library_editor.cpp b/modules/gdnative/gdnative_library_singleton_editor.cpp index fda5dcdcad..2ad497fcad 100644 --- a/modules/gdnative/gd_native_library_editor.cpp +++ b/modules/gdnative/gdnative_library_singleton_editor.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* gd_native_library_editor.cpp */ +/* gdnative_library_singleton_editor.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -28,11 +28,10 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #ifdef TOOLS_ENABLED -#include "gd_native_library_editor.h" - +#include "gdnative_library_singleton_editor.h" #include "gdnative.h" -void GDNativeLibraryEditor::_find_gdnative_singletons(EditorFileSystemDirectory *p_dir, const Set<String> &enabled_list) { +void GDNativeLibrarySingletonEditor::_find_gdnative_singletons(EditorFileSystemDirectory *p_dir, const Set<String> &enabled_list) { // check children @@ -65,7 +64,7 @@ void GDNativeLibraryEditor::_find_gdnative_singletons(EditorFileSystemDirectory } } -void GDNativeLibraryEditor::_update_libraries() { +void GDNativeLibrarySingletonEditor::_update_libraries() { updating = true; libraries->clear(); @@ -88,7 +87,7 @@ void GDNativeLibraryEditor::_update_libraries() { updating = false; } -void GDNativeLibraryEditor::_item_edited() { +void GDNativeLibrarySingletonEditor::_item_edited() { if (updating) return; @@ -119,7 +118,7 @@ void GDNativeLibraryEditor::_item_edited() { } } -void GDNativeLibraryEditor::_notification(int p_what) { +void GDNativeLibrarySingletonEditor::_notification(int p_what) { if (p_what == NOTIFICATION_VISIBILITY_CHANGED) { if (is_visible_in_tree()) { @@ -128,12 +127,12 @@ void GDNativeLibraryEditor::_notification(int p_what) { } } -void GDNativeLibraryEditor::_bind_methods() { +void GDNativeLibrarySingletonEditor::_bind_methods() { - ClassDB::bind_method(D_METHOD("_item_edited"), &GDNativeLibraryEditor::_item_edited); + ClassDB::bind_method(D_METHOD("_item_edited"), &GDNativeLibrarySingletonEditor::_item_edited); } -GDNativeLibraryEditor::GDNativeLibraryEditor() { +GDNativeLibrarySingletonEditor::GDNativeLibrarySingletonEditor() { libraries = memnew(Tree); libraries->set_columns(2); libraries->set_column_titles_visible(true); diff --git a/modules/gdnative/gd_native_library_editor.h b/modules/gdnative/gdnative_library_singleton_editor.h index a11c4620dd..ee1a32c5a5 100644 --- a/modules/gdnative/gd_native_library_editor.h +++ b/modules/gdnative/gdnative_library_singleton_editor.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* gd_native_library_editor.h */ +/* gdnative_library_singleton_editor.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -34,7 +34,7 @@ #include "editor/editor_file_system.h" #include "editor/project_settings_editor.h" -class GDNativeLibraryEditor : public VBoxContainer { +class GDNativeLibrarySingletonEditor : public VBoxContainer { Tree *libraries; bool updating; @@ -48,7 +48,7 @@ protected: static void _bind_methods(); public: - GDNativeLibraryEditor(); + GDNativeLibrarySingletonEditor(); }; #endif diff --git a/modules/gdnative/include/gdnative/gdnative.h b/modules/gdnative/include/gdnative/gdnative.h index f7f5606428..9d7829a51f 100644 --- a/modules/gdnative/include/gdnative/gdnative.h +++ b/modules/gdnative/include/gdnative/gdnative.h @@ -212,10 +212,6 @@ void GDAPI godot_object_destroy(godot_object *p_o); godot_object GDAPI *godot_global_get_singleton(char *p_name); // result shouldn't be freed -////// OS API - -void GDAPI *godot_get_stack_bottom(); // returns stack bottom of the main thread - ////// MethodBind API typedef struct { diff --git a/modules/gdnative/register_types.cpp b/modules/gdnative/register_types.cpp index 1cb35ec006..bd9bae5294 100644 --- a/modules/gdnative/register_types.cpp +++ b/modules/gdnative/register_types.cpp @@ -45,7 +45,8 @@ #ifdef TOOLS_ENABLED #include "editor/editor_node.h" -#include "gd_native_library_editor.h" +#include "gdnative_library_editor_plugin.h" +#include "gdnative_library_singleton_editor.h" // Class used to discover singleton gdnative files static void actual_discoverer_handler(); @@ -267,7 +268,7 @@ void GDNativeExportPlugin::_export_file(const String &p_path, const String &p_ty static void editor_init_callback() { - GDNativeLibraryEditor *library_editor = memnew(GDNativeLibraryEditor); + GDNativeLibrarySingletonEditor *library_editor = memnew(GDNativeLibrarySingletonEditor); library_editor->set_name(TTR("GDNative")); ProjectSettingsEditor::get_singleton()->get_tabs()->add_child(library_editor); @@ -278,6 +279,8 @@ static void editor_init_callback() { export_plugin.instance(); EditorExport::get_singleton()->add_export_plugin(export_plugin); + + EditorNode::get_singleton()->add_editor_plugin(memnew(GDNativeLibraryEditorPlugin(EditorNode::get_singleton()))); } #endif diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp index ee23f0ea0f..d6352f1e6e 100644 --- a/modules/gdscript/gdscript_function.cpp +++ b/modules/gdscript/gdscript_function.cpp @@ -1257,6 +1257,8 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a exit_ok = true; OPCODE_BREAK; } + +// Enable for debugging #if 0 default: { diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 36ae61e388..8c110143b8 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -597,12 +597,36 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s OperatorNode *op = alloc_node<OperatorNode>(); op->op = OperatorNode::OP_CALL; + //Do a quick Array and Dictionary Check. Replace if either require no arguments. + bool replaced = false; + if (tokenizer->get_token() == GDScriptTokenizer::TK_BUILT_IN_TYPE) { + Variant::Type ct = tokenizer->get_token_type(); + if (p_parsing_constant == false) { + if (ct == Variant::ARRAY) { + if (tokenizer->get_token(2) == GDScriptTokenizer::TK_PARENTHESIS_CLOSE) { + ArrayNode *arr = alloc_node<ArrayNode>(); + expr = arr; + replaced = true; + tokenizer->advance(3); + } + } + if (ct == Variant::DICTIONARY) { + if (tokenizer->get_token(2) == GDScriptTokenizer::TK_PARENTHESIS_CLOSE) { + DictionaryNode *dict = alloc_node<DictionaryNode>(); + expr = dict; + replaced = true; + tokenizer->advance(3); + } + } + } - TypeNode *tn = alloc_node<TypeNode>(); - tn->vtype = tokenizer->get_token_type(); - op->arguments.push_back(tn); - tokenizer->advance(2); + if (!replaced) { + TypeNode *tn = alloc_node<TypeNode>(); + tn->vtype = tokenizer->get_token_type(); + op->arguments.push_back(tn); + tokenizer->advance(2); + } } else if (tokenizer->get_token() == GDScriptTokenizer::TK_BUILT_IN_FUNC) { BuiltInFunctionNode *bn = alloc_node<BuiltInFunctionNode>(); @@ -628,11 +652,11 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s _make_completable_call(0); completion_node = op; } - if (!_parse_arguments(op, op->arguments, p_static, true)) - return NULL; - - expr = op; - + if (!replaced) { + if (!_parse_arguments(op, op->arguments, p_static, true)) + return NULL; + expr = op; + } } else if (tokenizer->is_token_literal(0, true)) { // We check with is_token_literal, as this allows us to use match/sync/etc. as a name //identifier (reference) diff --git a/modules/gridmap/doc_classes/GridMap.xml b/modules/gridmap/doc_classes/GridMap.xml index 8c862b52e8..e9bb90631d 100644 --- a/modules/gridmap/doc_classes/GridMap.xml +++ b/modules/gridmap/doc_classes/GridMap.xml @@ -21,6 +21,26 @@ Clear all cells. </description> </method> + <method name="clear_baked_meshes"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_bake_mesh_instance"> + <return type="RID"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_bake_meshes"> + <return type="Array"> + </return> + <description> + </description> + </method> <method name="get_cell_item" qualifiers="const"> <return type="int"> </return> @@ -103,6 +123,16 @@ Array of [Vector3] with the non empty cell coordinates in the grid map. </description> </method> + <method name="make_baked_meshes"> + <return type="void"> + </return> + <argument index="0" name="gen_lightmap_uv" type="bool" default="false"> + </argument> + <argument index="1" name="lightmap_uv_texel_size" type="float" default="0.1"> + </argument> + <description> + </description> + </method> <method name="map_to_world" qualifiers="const"> <return type="Vector3"> </return> diff --git a/modules/gridmap/grid_map.cpp b/modules/gridmap/grid_map.cpp index b3a1947647..0b73cbfc6d 100644 --- a/modules/gridmap/grid_map.cpp +++ b/modules/gridmap/grid_map.cpp @@ -101,6 +101,27 @@ bool GridMap::_set(const StringName &p_name, const Variant &p_value) { } } _recreate_octant_data(); + } else if (name == "baked_meshes") { + + clear_baked_meshes(); + + Array meshes = p_value; + + for (int i = 0; i < meshes.size(); i++) { + BakedMesh bm; + bm.mesh = meshes[i]; + ERR_CONTINUE(!bm.mesh.is_valid()); + bm.instance = VS::get_singleton()->instance_create(); + VS::get_singleton()->get_singleton()->instance_set_base(bm.instance, bm.mesh->get_rid()); + VS::get_singleton()->instance_attach_object_instance_id(bm.instance, get_instance_id()); + if (is_inside_tree()) { + VS::get_singleton()->instance_set_scenario(bm.instance, get_world()->get_scenario()); + VS::get_singleton()->instance_set_transform(bm.instance, get_global_transform()); + } + baked_meshes.push_back(bm); + } + + _recreate_octant_data(); } else return false; @@ -145,6 +166,15 @@ bool GridMap::_get(const StringName &p_name, Variant &r_ret) const { d["cells"] = cells; r_ret = d; + } else if (name == "baked_meshes") { + + Array ret; + ret.resize(baked_meshes.size()); + for (int i = 0; i < baked_meshes.size(); i++) { + ret.push_back(baked_meshes[i].mesh); + } + r_ret = ret; + } else return false; @@ -161,6 +191,9 @@ void GridMap::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::BOOL, "cell_center_y")); p_list->push_back(PropertyInfo(Variant::BOOL, "cell_center_z")); p_list->push_back(PropertyInfo(Variant::REAL, "cell_scale")); + if (baked_meshes.size()) { + p_list->push_back(PropertyInfo(Variant::ARRAY, "baked_meshes", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); + } p_list->push_back(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE)); } @@ -235,6 +268,12 @@ bool GridMap::get_center_z() const { void GridMap::set_cell_item(int p_x, int p_y, int p_z, int p_item, int p_rot) { + if (baked_meshes.size() && !recreating_octants) { + //if you set a cell item, baked meshes go good bye + clear_baked_meshes(); + _recreate_octant_data(); + } + ERR_FAIL_INDEX(ABS(p_x), 1 << 20); ERR_FAIL_INDEX(ABS(p_y), 1 << 20); ERR_FAIL_INDEX(ABS(p_z), 1 << 20); @@ -436,16 +475,17 @@ bool GridMap::_octant_update(const OctantKey &p_key) { xform.basis.set_orthogonal_index(c.rot); xform.set_origin(cellpos * cell_size + ofs); xform.basis.scale(Vector3(cell_scale, cell_scale, cell_scale)); + if (baked_meshes.size() == 0) { + if (theme->get_item_mesh(c.item).is_valid()) { + if (!multimesh_items.has(c.item)) { + multimesh_items[c.item] = List<Pair<Transform, IndexKey> >(); + } - if (theme->get_item_mesh(c.item).is_valid()) { - if (!multimesh_items.has(c.item)) { - multimesh_items[c.item] = List<Pair<Transform, IndexKey> >(); + Pair<Transform, IndexKey> p; + p.first = xform; + p.second = E->get(); + multimesh_items[c.item].push_back(p); } - - Pair<Transform, IndexKey> p; - p.first = xform; - p.second = E->get(); - multimesh_items[c.item].push_back(p); } Vector<MeshLibrary::ShapeData> shapes = theme->get_item_shapes(c.item); @@ -469,7 +509,7 @@ bool GridMap::_octant_update(const OctantKey &p_key) { nm.xform = xform; if (navigation) { - nm.id = navigation->navmesh_create(navmesh, xform, this); + nm.id = navigation->navmesh_add(navmesh, xform, this); } else { nm.id = -1; } @@ -477,41 +517,44 @@ bool GridMap::_octant_update(const OctantKey &p_key) { } } - //update multimeshes - for (Map<int, List<Pair<Transform, IndexKey> > >::Element *E = multimesh_items.front(); E; E = E->next()) { - Octant::MultimeshInstance mmi; + //update multimeshes, only if not baked + if (baked_meshes.size() == 0) { + + for (Map<int, List<Pair<Transform, IndexKey> > >::Element *E = multimesh_items.front(); E; E = E->next()) { + Octant::MultimeshInstance mmi; - RID mm = VS::get_singleton()->multimesh_create(); - VS::get_singleton()->multimesh_allocate(mm, E->get().size(), VS::MULTIMESH_TRANSFORM_3D, VS::MULTIMESH_COLOR_NONE); - VS::get_singleton()->multimesh_set_mesh(mm, theme->get_item_mesh(E->key())->get_rid()); + RID mm = VS::get_singleton()->multimesh_create(); + VS::get_singleton()->multimesh_allocate(mm, E->get().size(), VS::MULTIMESH_TRANSFORM_3D, VS::MULTIMESH_COLOR_NONE); + VS::get_singleton()->multimesh_set_mesh(mm, theme->get_item_mesh(E->key())->get_rid()); - int idx = 0; - for (List<Pair<Transform, IndexKey> >::Element *F = E->get().front(); F; F = F->next()) { - VS::get_singleton()->multimesh_instance_set_transform(mm, idx, F->get().first); + int idx = 0; + for (List<Pair<Transform, IndexKey> >::Element *F = E->get().front(); F; F = F->next()) { + VS::get_singleton()->multimesh_instance_set_transform(mm, idx, F->get().first); #ifdef TOOLS_ENABLED - Octant::MultimeshInstance::Item it; - it.index = idx; - it.transform = F->get().first; - it.key = F->get().second; - mmi.items.push_back(it); + Octant::MultimeshInstance::Item it; + it.index = idx; + it.transform = F->get().first; + it.key = F->get().second; + mmi.items.push_back(it); #endif - idx++; - } + idx++; + } - RID instance = VS::get_singleton()->instance_create(); - VS::get_singleton()->instance_set_base(instance, mm); + RID instance = VS::get_singleton()->instance_create(); + VS::get_singleton()->instance_set_base(instance, mm); - if (is_inside_tree()) { - VS::get_singleton()->instance_set_scenario(instance, get_world()->get_scenario()); - VS::get_singleton()->instance_set_transform(instance, get_global_transform()); - } + if (is_inside_tree()) { + VS::get_singleton()->instance_set_scenario(instance, get_world()->get_scenario()); + VS::get_singleton()->instance_set_transform(instance, get_global_transform()); + } - mmi.multimesh = mm; - mmi.instance = instance; + mmi.multimesh = mm; + mmi.instance = instance; - g.multimesh_instances.push_back(mmi); + g.multimesh_instances.push_back(mmi); + } } if (col_debug.size()) { @@ -556,7 +599,7 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) { if (cell_map.has(F->key()) && F->get().id < 0) { Ref<NavigationMesh> nm = theme->get_item_navmesh(cell_map[F->key()].item); if (nm.is_valid()) { - F->get().id = navigation->navmesh_create(nm, F->get().xform, this); + F->get().id = navigation->navmesh_add(nm, F->get().xform, this); } } } @@ -642,6 +685,11 @@ void GridMap::_notification(int p_what) { _octant_enter_world(E->key()); } + for (int i = 0; i < baked_meshes.size(); i++) { + VS::get_singleton()->instance_set_scenario(baked_meshes[i].instance, get_world()->get_scenario()); + VS::get_singleton()->instance_set_transform(baked_meshes[i].instance, get_global_transform()); + } + } break; case NOTIFICATION_TRANSFORM_CHANGED: { @@ -655,6 +703,10 @@ void GridMap::_notification(int p_what) { last_transform = new_xform; + for (int i = 0; i < baked_meshes.size(); i++) { + VS::get_singleton()->instance_set_transform(baked_meshes[i].instance, get_global_transform()); + } + } break; case NOTIFICATION_EXIT_WORLD: { @@ -667,6 +719,9 @@ void GridMap::_notification(int p_what) { //_queue_octants_dirty(MAP_DIRTY_INSTANCES|MAP_DIRTY_TRANSFORMS); //_update_octants_callback(); //_update_area_instances(); + for (int i = 0; i < baked_meshes.size(); i++) { + VS::get_singleton()->instance_set_scenario(baked_meshes[i].instance, RID()); + } } break; case NOTIFICATION_VISIBILITY_CHANGED: { @@ -701,12 +756,14 @@ void GridMap::_queue_octants_dirty() { void GridMap::_recreate_octant_data() { + recreating_octants = true; Map<IndexKey, Cell> cell_copy = cell_map; _clear_internal(); for (Map<IndexKey, Cell>::Element *E = cell_copy.front(); E; E = E->next()) { set_cell_item(E->key().x, E->key().y, E->key().z, E->get().item, E->get().rot); } + recreating_octants = false; } void GridMap::_clear_internal() { @@ -726,6 +783,7 @@ void GridMap::_clear_internal() { void GridMap::clear() { _clear_internal(); + clear_baked_meshes(); } void GridMap::resource_changed(const RES &p_res) { @@ -791,6 +849,11 @@ void GridMap::_bind_methods() { ClassDB::bind_method(D_METHOD("get_used_cells"), &GridMap::get_used_cells); ClassDB::bind_method(D_METHOD("get_meshes"), &GridMap::get_meshes); + ClassDB::bind_method(D_METHOD("get_bake_meshes"), &GridMap::get_bake_meshes); + ClassDB::bind_method(D_METHOD("get_bake_mesh_instance", "idx"), &GridMap::get_bake_mesh_instance); + + ClassDB::bind_method(D_METHOD("clear_baked_meshes"), &GridMap::clear_baked_meshes); + ClassDB::bind_method(D_METHOD("make_baked_meshes", "gen_lightmap_uv", "lightmap_uv_texel_size"), &GridMap::make_baked_meshes, DEFVAL(false), DEFVAL(0.1)); BIND_CONSTANT(INVALID_CELL_ITEM); } @@ -883,10 +946,129 @@ Vector3 GridMap::_get_offset() const { cell_size.z * 0.5 * int(center_z)); } +void GridMap::clear_baked_meshes() { + + for (int i = 0; i < baked_meshes.size(); i++) { + VS::get_singleton()->free(baked_meshes[i].instance); + } + baked_meshes.clear(); + + _recreate_octant_data(); +} + +void GridMap::make_baked_meshes(bool p_gen_lightmap_uv, float p_lightmap_uv_texel_size) { + + if (!theme.is_valid()) + return; + + //generate + Map<OctantKey, Map<Ref<Material>, Ref<SurfaceTool> > > surface_map; + + for (Map<IndexKey, Cell>::Element *E = cell_map.front(); E; E = E->next()) { + + IndexKey key = E->key(); + + int item = E->get().item; + if (!theme->has_item(item)) + continue; + + Ref<Mesh> mesh = theme->get_item_mesh(item); + if (!mesh.is_valid()) + continue; + + Vector3 cellpos = Vector3(key.x, key.y, key.z); + Vector3 ofs = _get_offset(); + + Transform xform; + + xform.basis.set_orthogonal_index(E->get().rot); + xform.set_origin(cellpos * cell_size + ofs); + xform.basis.scale(Vector3(cell_scale, cell_scale, cell_scale)); + + OctantKey ok; + ok.x = key.x / octant_size; + ok.y = key.y / octant_size; + ok.z = key.z / octant_size; + + if (!surface_map.has(ok)) { + surface_map[ok] = Map<Ref<Material>, Ref<SurfaceTool> >(); + } + + Map<Ref<Material>, Ref<SurfaceTool> > &mat_map = surface_map[ok]; + + for (int i = 0; i < mesh->get_surface_count(); i++) { + + if (mesh->surface_get_primitive_type(i) != Mesh::PRIMITIVE_TRIANGLES) + continue; + + Ref<Material> surf_mat = mesh->surface_get_material(i); + if (!mat_map.has(surf_mat)) { + Ref<SurfaceTool> st; + st.instance(); + st->begin(Mesh::PRIMITIVE_TRIANGLES); + st->set_material(surf_mat); + mat_map[surf_mat] = st; + } + + mat_map[surf_mat]->append_from(mesh, i, xform); + } + } + + int ofs = 0; + + for (Map<OctantKey, Map<Ref<Material>, Ref<SurfaceTool> > >::Element *E = surface_map.front(); E; E = E->next()) { + + print_line("generating mesh " + itos(ofs++) + "/" + itos(surface_map.size())); + Ref<ArrayMesh> mesh; + mesh.instance(); + for (Map<Ref<Material>, Ref<SurfaceTool> >::Element *F = E->get().front(); F; F = F->next()) { + F->get()->commit(mesh); + } + + BakedMesh bm; + bm.mesh = mesh; + bm.instance = VS::get_singleton()->instance_create(); + VS::get_singleton()->get_singleton()->instance_set_base(bm.instance, bm.mesh->get_rid()); + VS::get_singleton()->instance_attach_object_instance_id(bm.instance, get_instance_id()); + if (is_inside_tree()) { + VS::get_singleton()->instance_set_scenario(bm.instance, get_world()->get_scenario()); + VS::get_singleton()->instance_set_transform(bm.instance, get_global_transform()); + } + + if (p_gen_lightmap_uv) { + mesh->lightmap_unwrap(get_global_transform(), p_lightmap_uv_texel_size); + } + baked_meshes.push_back(bm); + } + + _recreate_octant_data(); +} + +Array GridMap::get_bake_meshes() { + + if (!baked_meshes.size()) { + make_baked_meshes(true); + } + + Array arr; + for (int i = 0; i < baked_meshes.size(); i++) { + arr.push_back(baked_meshes[i].mesh); + arr.push_back(Transform()); + } + + return arr; +} + +RID GridMap::get_bake_mesh_instance(int p_idx) { + + ERR_FAIL_INDEX_V(p_idx, baked_meshes.size(), RID()); + return baked_meshes[p_idx].instance; +} + GridMap::GridMap() { cell_size = Vector3(2, 2, 2); - octant_size = 4; + octant_size = 8; awaiting_update = false; _in_tree = false; center_x = true; @@ -901,6 +1083,7 @@ GridMap::GridMap() { navigation = NULL; set_notify_transform(true); + recreating_octants = false; } GridMap::~GridMap() { diff --git a/modules/gridmap/grid_map.h b/modules/gridmap/grid_map.h index 5bfdf1dac3..241ac7a434 100644 --- a/modules/gridmap/grid_map.h +++ b/modules/gridmap/grid_map.h @@ -148,6 +148,9 @@ class GridMap : public Spatial { bool clip; bool clip_above; int clip_floor; + + bool recreating_octants; + Vector3::Axis clip_axis; Ref<MeshLibrary> theme; @@ -186,6 +189,13 @@ class GridMap : public Spatial { Vector3 _get_offset() const; + struct BakedMesh { + Ref<Mesh> mesh; + RID instance; + }; + + Vector<BakedMesh> baked_meshes; + protected: bool _set(const StringName &p_name, const Variant &p_value); bool _get(const StringName &p_name, Variant &r_ret) const; @@ -232,8 +242,14 @@ public: Array get_meshes(); + void clear_baked_meshes(); + void make_baked_meshes(bool p_gen_lightmap_uv = false, float p_lightmap_uv_texel_size = 0.1); + void clear(); + Array get_bake_meshes(); + RID get_bake_mesh_instance(int p_idx); + GridMap(); ~GridMap(); }; diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp index af5a0334c3..44dd776e9a 100644 --- a/modules/mono/csharp_script.cpp +++ b/modules/mono/csharp_script.cpp @@ -1376,7 +1376,7 @@ bool CSharpScript::_update_exports() { hint_string = NATIVE_GDMONOCLASS_NAME(field_type.type_class); } else { hint = PropertyHint(CACHED_FIELD(ExportAttribute, hint)->get_int_value(attr)); - hint_string = CACHED_FIELD(ExportAttribute, hint_string)->get_string_value(attr); + hint_string = CACHED_FIELD(ExportAttribute, hintString)->get_string_value(attr); } PropertyInfo prop_info = PropertyInfo(type, name, hint, hint_string, PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_SCRIPT_VARIABLE); diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index fbb9b2ed14..d7885ade61 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -108,7 +108,7 @@ const char *BindingsGenerator::TypeInterface::DEFAULT_VARARG_C_IN = "\t%0 %1_in bool BindingsGenerator::verbose_output = false; -static String snake_to_pascal_case(const String &p_identifier) { +static String snake_to_pascal_case(const String &p_identifier, bool p_input_is_upper = false) { String ret; Vector<String> parts = p_identifier.split("_", true); @@ -118,6 +118,10 @@ static String snake_to_pascal_case(const String &p_identifier) { if (part.length()) { part[0] = _find_upper(part[0]); + if (p_input_is_upper) { + for (int j = 1; j < part.length(); j++) + part[j] = _find_lower(part[j]); + } ret += part; } else { if (i == 0 || i == (parts.size() - 1)) { @@ -137,7 +141,7 @@ static String snake_to_pascal_case(const String &p_identifier) { return ret; } -static String snake_to_camel_case(const String &p_identifier) { +static String snake_to_camel_case(const String &p_identifier, bool p_input_is_upper = false) { String ret; Vector<String> parts = p_identifier.split("_", true); @@ -146,8 +150,13 @@ static String snake_to_camel_case(const String &p_identifier) { String part = parts[i]; if (part.length()) { - if (i != 0) + if (i != 0) { part[0] = _find_upper(part[0]); + } + if (p_input_is_upper) { + for (int j = i != 0 ? 1 : 0; j < part.length(); j++) + part[j] = _find_lower(part[j]); + } ret += part; } else { if (i == 0 || i == (parts.size() - 1)) { @@ -167,6 +176,25 @@ static String snake_to_camel_case(const String &p_identifier) { return ret; } +String BindingsGenerator::_determine_enum_prefix(const EnumInterface &p_ienum) { + + CRASH_COND(p_ienum.constants.empty()); + + const List<ConstantInterface>::Element *front = p_ienum.constants.front(); + int candidate_len = front->get().name.length(); + + for (const List<ConstantInterface>::Element *E = front->next(); E; E = E->next()) { + int j = 0; + for (j = 0; j < candidate_len && j < E->get().name.length(); j++) { + if (front->get().name[j] != E->get().name[j]) + break; + } + candidate_len = j; + } + + return front->get().name.substr(0, candidate_len); +} + void BindingsGenerator::_generate_header_icalls() { core_custom_icalls.clear(); @@ -220,7 +248,7 @@ void BindingsGenerator::_generate_method_icalls(const TypeInterface &p_itype) { const TypeInterface *return_type = _get_type_by_name_or_placeholder(imethod.return_type); String im_sig = "IntPtr " CS_PARAM_METHODBIND ", IntPtr " CS_PARAM_INSTANCE; - String im_unique_sig = imethod.return_type + ",IntPtr,IntPtr"; + String im_unique_sig = imethod.return_type.operator String() + ",IntPtr,IntPtr"; // Get arguments information int i = 0; @@ -256,6 +284,129 @@ void BindingsGenerator::_generate_method_icalls(const TypeInterface &p_itype) { } } +void BindingsGenerator::_generate_global_constants(List<String> &p_output) { + + // Constants (in partial GD class) + + 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 "{"); + + for (const List<ConstantInterface>::Element *E = global_constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); + + if (iconstant.const_doc && iconstant.const_doc->description.size()) { + p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); + + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + + for (int i = 0; i < description_lines.size(); i++) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { + p_output.push_back(INDENT2 "/// "); + p_output.push_back(description_line.xml_escape()); + p_output.push_back("\n"); + } + } + + p_output.push_back(INDENT2 "/// </summary>"); + } + + p_output.push_back(MEMBER_BEGIN "public const int "); + p_output.push_back(iconstant.name); + p_output.push_back(" = "); + p_output.push_back(itos(iconstant.value)); + p_output.push_back(";"); + } + + if (!global_constants.empty()) + p_output.push_back("\n"); + + p_output.push_back(INDENT1 CLOSE_BLOCK); // end of GD class + + // Enums + + for (List<EnumInterface>::Element *E = global_enums.front(); E; E = E->next()) { + const EnumInterface &ienum = E->get(); + + CRASH_COND(ienum.constants.empty()); + + String enum_proxy_name = ienum.cname.operator String(); + + bool enum_in_static_class = false; + + if (enum_proxy_name.find(".") > 0) { + enum_in_static_class = true; + String enum_class_name = enum_proxy_name.get_slicec('.', 0); + enum_proxy_name = enum_proxy_name.get_slicec('.', 1); + + CRASH_COND(enum_class_name != "Variant"); // Hard-coded... + + if (verbose_output) { + WARN_PRINTS("Declaring global enum `" + enum_proxy_name + "` inside static class `" + enum_class_name + "`"); + } + + p_output.push_back("\n" INDENT1 "public static partial class "); + p_output.push_back(enum_class_name); + p_output.push_back("\n" INDENT1 OPEN_BLOCK); + } + + p_output.push_back("\n" INDENT1 "public enum "); + p_output.push_back(enum_proxy_name); + p_output.push_back("\n" INDENT1 OPEN_BLOCK); + + for (const List<ConstantInterface>::Element *E = ienum.constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); + + if (iconstant.const_doc && iconstant.const_doc->description.size()) { + p_output.push_back(INDENT2 "/// <summary>\n"); + + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + + for (int i = 0; i < description_lines.size(); i++) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { + p_output.push_back(INDENT2 "/// "); + p_output.push_back(description_line.xml_escape()); + p_output.push_back("\n"); + } + } + + p_output.push_back(INDENT2 "/// </summary>\n"); + } + + String constant_name = iconstant.name; + + if (!ienum.prefix.empty() && constant_name.begins_with(ienum.prefix)) { + constant_name = constant_name.substr(ienum.prefix.length(), constant_name.length()); + } + + if (constant_name[0] >= '0' && constant_name[0] <= '9') { + // The name of enum constants may begin with a numeric digit when strip from the enum prefix, + // so we make the prefix one word shorter in those cases. + int i = 0; + for (i = ienum.prefix.length() - 1; i >= 0; i--) { + if (ienum.prefix[i] >= 'A' && ienum.prefix[i] <= 'Z') + break; + } + constant_name = ienum.prefix.substr(i, ienum.prefix.length()) + constant_name; + } + + p_output.push_back(INDENT2); + p_output.push_back(constant_name); + p_output.push_back(" = "); + p_output.push_back(itos(iconstant.value)); + p_output.push_back(E != ienum.constants.back() ? ",\n" : "\n"); + } + + p_output.push_back(INDENT1 CLOSE_BLOCK); + + if (enum_in_static_class) + p_output.push_back(INDENT1 CLOSE_BLOCK); + } + + p_output.push_back(CLOSE_BLOCK); // end of namespace +} + Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bool p_verbose_output) { verbose_output = p_verbose_output; @@ -282,7 +433,19 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo if (!solution.set_path(p_output_dir)) return ERR_FILE_NOT_FOUND; - for (Map<String, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { + // Generate source file for global scope constants and enums + { + List<String> constants_source; + _generate_global_constants(constants_source); + String output_file = path_join(core_dir, BINDINGS_GLOBAL_SCOPE_CLASS "_constants.cs"); + Error save_err = _save_file(output_file, constants_source); + if (save_err != OK) + return save_err; + + compile_items.push_back(output_file); + } + + for (Map<StringName, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { const TypeInterface &itype = E->get(); if (itype.api_type == ClassDB::API_EDITOR) @@ -314,49 +477,6 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo #undef GENERATE_BUILTIN_TYPE - // Generate source for GlobalConstants - - String constants_source; - int global_constants_count = GlobalConstants::get_global_constant_count(); - - if (global_constants_count > 0) { - Map<String, DocData::ClassDoc>::Element *match = EditorHelp::get_doc_data()->class_list.find("@GlobalScope"); - - ERR_EXPLAIN("Could not find `@GlobalScope` in DocData"); - ERR_FAIL_COND_V(!match, ERR_BUG); - - const DocData::ClassDoc &global_scope_doc = match->value(); - - for (int i = 0; i < global_constants_count; i++) { - const DocData::ConstantDoc &const_doc = global_scope_doc.constants[i]; - - if (i > 0) - constants_source += MEMBER_BEGIN; - - if (const_doc.description.size()) { - constants_source += "/// <summary>\n"; - - Vector<String> description_lines = const_doc.description.split("\n"); - - for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { - constants_source += INDENT2 "/// "; - constants_source += description_lines[i].strip_edges().xml_escape(); - constants_source += "\n"; - } - } - - constants_source += INDENT2 "/// </summary>" MEMBER_BEGIN; - } - - constants_source += "public const int "; - constants_source += GlobalConstants::get_global_constant_name(i); - constants_source += " = "; - constants_source += itos(GlobalConstants::get_global_constant_value(i)); - constants_source += ";"; - } - } - // Generate sources from compressed files Map<String, CompressedFile> compressed_files; @@ -372,19 +492,6 @@ Error BindingsGenerator::generate_cs_core_project(const String &p_output_dir, bo data.resize(file_data.uncompressed_size); Compression::decompress(data.ptrw(), file_data.uncompressed_size, file_data.data, file_data.compressed_size, Compression::MODE_DEFLATE); - if (file_name.get_basename() == BINDINGS_GLOBAL_SCOPE_CLASS) { - // GD.cs must be formatted to include the generated global constants - String data_str = String::utf8(reinterpret_cast<const char *>(data.ptr()), data.size()); - - Dictionary format_keys; - format_keys["GodotGlobalConstants"] = constants_source; - data_str = data_str.format(format_keys, "/*{_}*/"); - - CharString data_utf8 = data_str.utf8(); - data.resize(data_utf8.length()); - copymem(data.ptrw(), reinterpret_cast<const uint8_t *>(data_utf8.get_data()), data_utf8.length()); - } - FileAccessRef file = FileAccess::open(output_file, FileAccess::WRITE); ERR_FAIL_COND_V(!file, ERR_FILE_CANT_WRITE); file->store_buffer(data.ptr(), data.size()); @@ -470,7 +577,7 @@ Error BindingsGenerator::generate_cs_editor_project(const String &p_output_dir, if (!solution.set_path(p_output_dir)) return ERR_FILE_NOT_FOUND; - for (Map<String, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { + for (Map<StringName, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) { const TypeInterface &itype = E->get(); if (itype.api_type != ClassDB::API_EDITOR) @@ -543,7 +650,7 @@ Error BindingsGenerator::generate_cs_editor_project(const String &p_output_dir, // e.g.: warning CS0108: 'SpriteBase3D.FLAG_MAX' hides inherited member 'GeometryInstance.FLAG_MAX'. Use the new keyword if hiding was intended. Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const String &p_output_file) { - bool is_derived_type = itype.base_name.length(); + bool is_derived_type = itype.base_name != StringName(); List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls; @@ -569,9 +676,10 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str Vector<String> description_lines = class_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { output.push_back(INDENT1 "/// "); - output.push_back(description_lines[i].strip_edges().xml_escape()); + output.push_back(description_line.xml_escape()); output.push_back("\n"); } } @@ -592,7 +700,7 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str output.push_back(obj_types[itype.base_name].proxy_name); output.push_back("\n"); } else { - ERR_PRINTS("Base type '" + itype.base_name + "' does not exist, for class " + itype.name); + ERR_PRINTS("Base type '" + itype.base_name.operator String() + "' does not exist, for class " + itype.name); return ERR_INVALID_DATA; } @@ -602,18 +710,19 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str // Add constants - for (int i = 0; i < class_doc->constants.size(); i++) { - const DocData::ConstantDoc &const_doc = class_doc->constants[i]; + for (const List<ConstantInterface>::Element *E = itype.constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); - if (const_doc.description.size()) { + if (iconstant.const_doc && iconstant.const_doc->description.size()) { output.push_back(MEMBER_BEGIN "/// <summary>\n"); - Vector<String> description_lines = const_doc.description.split("\n"); + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { output.push_back(INDENT2 "/// "); - output.push_back(description_lines[i].strip_edges().xml_escape()); + output.push_back(description_line.xml_escape()); output.push_back("\n"); } } @@ -622,24 +731,84 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str } output.push_back(MEMBER_BEGIN "public const int "); - output.push_back(const_doc.name); + output.push_back(iconstant.name); output.push_back(" = "); - output.push_back(const_doc.value); + output.push_back(itos(iconstant.value)); output.push_back(";"); } - if (class_doc->constants.size()) + if (itype.constants.size()) output.push_back("\n"); - // Add properties + // Add enums + + for (const List<EnumInterface>::Element *E = itype.enums.front(); E; E = E->next()) { + const EnumInterface &ienum = E->get(); + + ERR_FAIL_COND_V(ienum.constants.empty(), ERR_BUG); + + output.push_back(MEMBER_BEGIN "public enum "); + output.push_back(ienum.cname.operator String()); + output.push_back(MEMBER_BEGIN OPEN_BLOCK); + + for (const List<ConstantInterface>::Element *E = ienum.constants.front(); E; E = E->next()) { + const ConstantInterface &iconstant = E->get(); + + if (iconstant.const_doc && iconstant.const_doc->description.size()) { + output.push_back(INDENT3 "/// <summary>\n"); + + Vector<String> description_lines = iconstant.const_doc->description.split("\n"); + + for (int i = 0; i < description_lines.size(); i++) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { + output.push_back(INDENT3 "/// "); + output.push_back(description_line.xml_escape()); + output.push_back("\n"); + } + } + + output.push_back(INDENT3 "/// </summary>\n"); + } + + String constant_name = iconstant.name; + + if (!ienum.prefix.empty() && constant_name.begins_with(ienum.prefix)) { + constant_name = constant_name.substr(ienum.prefix.length(), constant_name.length()); + } + + if (constant_name[0] >= '0' && constant_name[0] <= '9') { + // The name of enum constants may begin with a numeric digit when strip from the enum prefix, + // so we make the prefix one word shorter in those cases. + int i = 0; + for (i = ienum.prefix.length() - 1; i >= 0; i--) { + if (ienum.prefix[i] >= 'A' && ienum.prefix[i] <= 'Z') + break; + } + constant_name = ienum.prefix.substr(i, ienum.prefix.length()) + constant_name; + } + + output.push_back(INDENT3); + output.push_back(constant_name); + output.push_back(" = "); + output.push_back(itos(iconstant.value)); + output.push_back(E != ienum.constants.back() ? ",\n" : "\n"); + } + + output.push_back(INDENT2 CLOSE_BLOCK); + } + + if (itype.enums.size()) + output.push_back("\n"); - const Vector<DocData::PropertyDoc> &properties = class_doc->properties; + // Add properties - for (int i = 0; i < properties.size(); i++) { - const DocData::PropertyDoc &prop_doc = properties[i]; - Error prop_err = _generate_cs_property(itype, prop_doc, output); + for (const List<PropertyInterface>::Element *E = itype.properties.front(); E; E = E->next()) { + const PropertyInterface &iprop = E->get(); + Error prop_err = _generate_cs_property(itype, iprop, output); if (prop_err != OK) { - ERR_EXPLAIN("Failed to generate property '" + prop_doc.name + "' for class '" + itype.name + "'"); + ERR_EXPLAIN("Failed to generate property '" + iprop.cname.operator String() + + "' for class '" + itype.name + "'"); ERR_FAIL_V(prop_err); } } @@ -766,14 +935,14 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str " = IntPtr.Zero;\n" CLOSE_BLOCK_L4 CLOSE_BLOCK_L3 INDENT3 "GC.SuppressFinalize(this);\n" INDENT3 "disposed = true;\n" CLOSE_BLOCK_L2); - Map<String, TypeInterface>::Element *array_itype = builtin_types.find("Array"); + Map<StringName, TypeInterface>::Element *array_itype = builtin_types.find(name_cache.type_Array); if (!array_itype) { ERR_PRINT("BUG: Array type interface not found!"); return ERR_BUG; } - Map<String, TypeInterface>::Element *object_itype = obj_types.find("Object"); + Map<StringName, TypeInterface>::Element *object_itype = obj_types.find("Object"); if (!object_itype) { ERR_PRINT("BUG: Object type interface not found!"); @@ -787,7 +956,7 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str } } - Map<String, String>::Element *extra_member = extra_members.find(itype.name); + Map<StringName, String>::Element *extra_member = extra_members.find(itype.cname); if (extra_member) output.push_back(extra_member->get()); @@ -820,43 +989,39 @@ Error BindingsGenerator::_generate_cs_type(const TypeInterface &itype, const Str return _save_file(p_output_file, output); } -Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInterface &p_itype, const DocData::PropertyDoc &p_prop_doc, List<String> &p_output) { +Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInterface &p_itype, const PropertyInterface &p_iprop, List<String> &p_output) { - const MethodInterface *setter = p_itype.find_method_by_name(p_prop_doc.setter); + const MethodInterface *setter = p_itype.find_method_by_name(p_iprop.setter); // Search it in base types too const TypeInterface *current_type = &p_itype; - while (!setter && current_type->base_name.length()) { - Map<String, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); + while (!setter && current_type->base_name != StringName()) { + Map<StringName, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); ERR_FAIL_NULL_V(base_match, ERR_BUG); current_type = &base_match->get(); - setter = current_type->find_method_by_name(p_prop_doc.setter); + setter = current_type->find_method_by_name(p_iprop.setter); } - const MethodInterface *getter = p_itype.find_method_by_name(p_prop_doc.getter); + const MethodInterface *getter = p_itype.find_method_by_name(p_iprop.getter); // Search it in base types too current_type = &p_itype; - while (!getter && current_type->base_name.length()) { - Map<String, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); + while (!getter && current_type->base_name != StringName()) { + Map<StringName, TypeInterface>::Element *base_match = obj_types.find(current_type->base_name); ERR_FAIL_NULL_V(base_match, ERR_BUG); current_type = &base_match->get(); - getter = current_type->find_method_by_name(p_prop_doc.getter); + getter = current_type->find_method_by_name(p_iprop.getter); } ERR_FAIL_COND_V(!setter && !getter, ERR_BUG); - bool is_valid = false; - int prop_index = ClassDB::get_property_index(p_itype.name, p_prop_doc.name, &is_valid); - ERR_FAIL_COND_V(!is_valid, ERR_BUG); - if (setter) { - int setter_argc = prop_index != -1 ? 2 : 1; + int setter_argc = p_iprop.index != -1 ? 2 : 1; ERR_FAIL_COND_V(setter->arguments.size() != setter_argc, ERR_BUG); } if (getter) { - int getter_argc = prop_index != -1 ? 1 : 0; + int getter_argc = p_iprop.index != -1 ? 1 : 0; ERR_FAIL_COND_V(getter->arguments.size() != getter_argc, ERR_BUG); } @@ -864,18 +1029,12 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte ERR_FAIL_COND_V(getter->return_type != setter->arguments.back()->get().type, ERR_BUG); } - // Let's not trust PropertyDoc::type - String proptype_name = getter ? getter->return_type : setter->arguments.back()->get().type; + StringName proptype_name = getter ? getter->return_type : setter->arguments.back()->get().type; const TypeInterface *prop_itype = _get_type_by_name_or_null(proptype_name); - if (!prop_itype) { - // Try with underscore prefix - prop_itype = _get_type_by_name_or_null("_" + proptype_name); - } + ERR_FAIL_NULL_V(prop_itype, ERR_BUG); // Property type not found - ERR_FAIL_NULL_V(prop_itype, ERR_BUG); - - String prop_proxy_name = escape_csharp_keyword(snake_to_pascal_case(p_prop_doc.name)); + 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) { @@ -887,15 +1046,16 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte prop_proxy_name += "_"; } - if (p_prop_doc.description.size()) { + if (p_iprop.prop_doc && p_iprop.prop_doc->description.size()) { p_output.push_back(MEMBER_BEGIN "/// <summary>\n"); - Vector<String> description_lines = p_prop_doc.description.split("\n"); + Vector<String> description_lines = p_iprop.prop_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_lines[i].strip_edges().xml_escape()); + p_output.push_back(description_line.xml_escape()); p_output.push_back("\n"); } } @@ -917,16 +1077,34 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte p_output.push_back(INDENT3 "get\n" OPEN_BLOCK_L3); p_output.push_back("return "); p_output.push_back(getter->proxy_name + "("); - if (prop_index != -1) - p_output.push_back(itos(prop_index)); + if (p_iprop.index != -1) { + const ArgumentInterface &idx_arg = getter->arguments.front()->get(); + if (idx_arg.type != name_cache.type_int) { + // Assume the index parameter is an enum + const TypeInterface *idx_arg_type = _get_type_by_name_or_null(idx_arg.type); + CRASH_COND(idx_arg_type == NULL); + p_output.push_back("(" + idx_arg_type->proxy_name + ")" + itos(p_iprop.index)); + } else { + p_output.push_back(itos(p_iprop.index)); + } + } p_output.push_back(");\n" CLOSE_BLOCK_L3); } if (setter) { p_output.push_back(INDENT3 "set\n" OPEN_BLOCK_L3); p_output.push_back(setter->proxy_name + "("); - if (prop_index != -1) - p_output.push_back(itos(prop_index) + ", "); + if (p_iprop.index != -1) { + const ArgumentInterface &idx_arg = setter->arguments.front()->get(); + if (idx_arg.type != name_cache.type_int) { + // Assume the index parameter is an enum + const TypeInterface *idx_arg_type = _get_type_by_name_or_null(idx_arg.type); + CRASH_COND(idx_arg_type == NULL); + p_output.push_back("(" + idx_arg_type->proxy_name + ")" + itos(p_iprop.index) + ", "); + } else { + p_output.push_back(itos(p_iprop.index) + ", "); + } + } p_output.push_back("value);\n" CLOSE_BLOCK_L3); } @@ -1033,9 +1211,10 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf Vector<String> description_lines = p_imethod.method_doc->description.split("\n"); for (int i = 0; i < description_lines.size(); i++) { - if (description_lines[i].size()) { + String description_line = description_lines[i].strip_edges(); + if (description_line.size()) { p_output.push_back(INDENT2 "/// "); - p_output.push_back(description_lines[i].strip_edges().xml_escape()); + p_output.push_back(description_line.xml_escape()); p_output.push_back("\n"); } } @@ -1069,7 +1248,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf if (p_imethod.is_virtual) { // Godot virtual method must be overridden, therefore we return a default value by default. - if (return_type->name == "void") { + if (return_type->cname == name_cache.type_void) { p_output.push_back("return;\n" CLOSE_BLOCK_L2); } else { p_output.push_back("return default("); @@ -1108,7 +1287,7 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf if (p_imethod.arguments.size()) p_output.push_back(cs_in_statements); - if (return_type->name == "void") { + if (return_type->cname == name_cache.type_void) { p_output.push_back(im_call); } else if (return_type->cs_out.empty()) { p_output.push_back("return " + im_call); @@ -1142,7 +1321,7 @@ Error BindingsGenerator::generate_glue(const String &p_output_dir) { generated_icall_funcs.clear(); - for (Map<String, TypeInterface>::Element *type_elem = obj_types.front(); type_elem; type_elem = type_elem->next()) { + for (Map<StringName, TypeInterface>::Element *type_elem = obj_types.front(); type_elem; type_elem = type_elem->next()) { const TypeInterface &itype = type_elem->get(); List<InternalCall> &custom_icalls = itype.api_type == ClassDB::API_EDITOR ? editor_custom_icalls : core_custom_icalls; @@ -1295,7 +1474,7 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte if (p_imethod.is_virtual) return OK; // Ignore - bool ret_void = p_imethod.return_type == "void"; + bool ret_void = p_imethod.return_type == name_cache.type_void; const TypeInterface *return_type = _get_type_by_name_or_placeholder(p_imethod.return_type); @@ -1447,14 +1626,19 @@ Error BindingsGenerator::_generate_glue_method(const BindingsGenerator::TypeInte return OK; } -const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_null(const String &p_name) { +const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_null(const StringName &p_cname) { + + const Map<StringName, TypeInterface>::Element *match = builtin_types.find(p_cname); - const Map<String, TypeInterface>::Element *match = builtin_types.find(p_name); + if (match) + return &match->get(); + + match = obj_types.find(p_cname); if (match) return &match->get(); - match = obj_types.find(p_name); + match = enum_types.find(p_cname); if (match) return &match->get(); @@ -1462,24 +1646,27 @@ const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_ return NULL; } -const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_placeholder(const String &p_name) { +const BindingsGenerator::TypeInterface *BindingsGenerator::_get_type_by_name_or_placeholder(const StringName &p_cname) { - const TypeInterface *found = _get_type_by_name_or_null(p_name); + const TypeInterface *found = _get_type_by_name_or_null(p_cname); if (found) return found; - ERR_PRINTS(String() + "Type not found. Creating placeholder: " + p_name); + ERR_PRINTS(String() + "Type not found. Creating placeholder: " + p_cname.operator String()); - const Map<String, TypeInterface>::Element *match = placeholder_types.find(p_name); + const Map<StringName, TypeInterface>::Element *match = placeholder_types.find(p_cname); if (match) return &match->get(); TypeInterface placeholder; - TypeInterface::create_placeholder_type(placeholder, p_name); + TypeInterface::create_placeholder_type(placeholder, p_cname); - return &placeholder_types.insert(placeholder.name, placeholder)->get(); + return &placeholder_types.insert(placeholder.cname, placeholder)->get(); +} + +static void _create_constant_interface_from(const StringName &p_constant, const DocData::ClassDoc &p_classdoc) { } void BindingsGenerator::_populate_object_type_interfaces() { @@ -1490,8 +1677,6 @@ void BindingsGenerator::_populate_object_type_interfaces() { ClassDB::get_class_list(&class_list); class_list.sort_custom<StringName::AlphCompare>(); - StringName refclass_name = String("Reference"); - while (class_list.size()) { StringName type_cname = class_list.front()->get(); @@ -1502,21 +1687,23 @@ void BindingsGenerator::_populate_object_type_interfaces() { continue; } + if (!ClassDB::is_class_exposed(type_cname)) { + if (verbose_output) + WARN_PRINTS("Ignoring type " + type_cname.operator String() + " because it's not exposed"); + class_list.pop_front(); + continue; + } + + ClassDB::ClassInfo *class_info = ClassDB::classes.getptr(type_cname); + TypeInterface itype = TypeInterface::create_object_type(type_cname, api_type); itype.base_name = ClassDB::get_parent_class(type_cname); itype.is_singleton = Engine::get_singleton()->has_singleton(itype.proxy_name); itype.is_instantiable = ClassDB::can_instance(type_cname) && !itype.is_singleton; - itype.is_reference = ClassDB::is_parent_class(type_cname, refclass_name); + itype.is_reference = ClassDB::is_parent_class(type_cname, name_cache.type_Reference); itype.memory_own = itype.is_reference; - if (!ClassDB::is_class_exposed(type_cname)) { - if (verbose_output) - WARN_PRINTS("Ignoring type " + String(type_cname) + " because it's not exposed"); - class_list.pop_front(); - continue; - } - itype.c_out = "\treturn "; itype.c_out += C_METHOD_UNMANAGED_GET_MANAGED; itype.c_out += itype.is_reference ? "(%1.ptr());\n" : "(%1);\n"; @@ -1530,6 +1717,8 @@ void BindingsGenerator::_populate_object_type_interfaces() { itype.im_type_in = "IntPtr"; itype.im_type_out = itype.proxy_name; + // Populate methods + List<MethodInfo> virtual_method_list; ClassDB::get_virtual_methods(type_cname, &virtual_method_list, true); @@ -1547,6 +1736,7 @@ void BindingsGenerator::_populate_object_type_interfaces() { MethodInterface imethod; imethod.name = method_info.name; + imethod.cname = imethod.name; if (method_info.flags & METHOD_FLAG_VIRTUAL) imethod.is_virtual = true; @@ -1570,12 +1760,12 @@ void BindingsGenerator::_populate_object_type_interfaces() { // The method Object.free is registered as a virtual method, but without the virtual flag. // This is because this method is not supposed to be overridden, but called. // We assume the return type is void. - imethod.return_type = "void"; + imethod.return_type = name_cache.type_void; // Actually, more methods like this may be added in the future, // which could actually will return something differnet. // Let's put this to notify us if that ever happens. - if (itype.name != "Object" || imethod.name != "free") { + if (itype.cname != name_cache.type_Object || imethod.name != "free") { if (verbose_output) { WARN_PRINTS("Notification: New unexpected virtual non-overridable method found.\n" "We only expected Object.free, but found " + @@ -1585,22 +1775,21 @@ void BindingsGenerator::_populate_object_type_interfaces() { } else { ERR_PRINTS("Missing MethodBind for non-virtual method: " + itype.name + "." + imethod.name); } - } else if (return_info.type == Variant::INT && return_info.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { - //imethod.return_type = return_info.class_name; - imethod.return_type = "int"; + } else if (return_info.type == Variant::INT && return_info.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { // TODO redundant? + imethod.return_type = return_info.class_name; } else if (return_info.class_name != StringName()) { imethod.return_type = return_info.class_name; } else if (return_info.hint == PROPERTY_HINT_RESOURCE_TYPE) { imethod.return_type = return_info.hint_string; } else if (return_info.type == Variant::NIL && return_info.usage & PROPERTY_USAGE_NIL_IS_VARIANT) { - imethod.return_type = "Variant"; + imethod.return_type = name_cache.type_Variant; } else if (return_info.type == Variant::NIL) { - imethod.return_type = "void"; + imethod.return_type = name_cache.type_void; } else { imethod.return_type = Variant::get_type_name(return_info.type); } - if (!itype.requires_collections && imethod.return_type == "Dictionary") + if (!itype.requires_collections && imethod.return_type == name_cache.type_Dictionary) itype.requires_collections = true; for (int i = 0; i < argc; i++) { @@ -1609,22 +1798,21 @@ void BindingsGenerator::_populate_object_type_interfaces() { ArgumentInterface iarg; iarg.name = arginfo.name; - if (arginfo.type == Variant::INT && arginfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { - //iarg.type = arginfo.class_name; - iarg.type = "int"; + if (arginfo.type == Variant::INT && arginfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) { // TODO redundant? + iarg.type = arginfo.class_name; } else if (arginfo.class_name != StringName()) { iarg.type = arginfo.class_name; } else if (arginfo.hint == PROPERTY_HINT_RESOURCE_TYPE) { iarg.type = arginfo.hint_string; } else if (arginfo.type == Variant::NIL) { - iarg.type = "Variant"; + iarg.type = name_cache.type_Variant; } else { iarg.type = Variant::get_type_name(arginfo.type); } iarg.name = escape_csharp_keyword(snake_to_camel_case(iarg.name)); - if (!itype.requires_collections && iarg.type == "Dictionary") + if (!itype.requires_collections && iarg.type == name_cache.type_Dictionary) itype.requires_collections = true; if (m && m->has_default_argument(i)) { @@ -1636,7 +1824,7 @@ void BindingsGenerator::_populate_object_type_interfaces() { if (imethod.is_vararg) { ArgumentInterface ivararg; - ivararg.type = "VarArg"; + ivararg.type = name_cache.type_VarArg; ivararg.name = "@args"; imethod.add_argument(ivararg); } @@ -1679,7 +1867,128 @@ void BindingsGenerator::_populate_object_type_interfaces() { } } - obj_types.insert(itype.name, itype); + // Populate properties + + List<PropertyInfo> property_list; + ClassDB::get_property_list(type_cname, &property_list, true); + for (const List<PropertyInfo>::Element *E = property_list.front(); E; E = E->next()) { + const PropertyInfo &property = E->get(); + + if (property.usage & PROPERTY_USAGE_GROUP || property.usage & PROPERTY_USAGE_CATEGORY) + continue; + + 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); + + bool valid = false; + iprop.index = ClassDB::get_property_index(type_cname, iprop.cname, &valid); + ERR_FAIL_COND(!valid); + + // Prevent property and enclosing type from sharing the same name + if (iprop.proxy_name == itype.proxy_name) { + if (verbose_output) { + WARN_PRINTS("Name of property `" + iprop.proxy_name + "` is ambiguous with the name of its class `" + + itype.proxy_name + "`. Renaming property to `" + iprop.proxy_name + "_`"); + } + + iprop.proxy_name += "_"; + } + + iprop.prop_doc = NULL; + + for (int i = 0; i < itype.class_doc->properties.size(); i++) { + const DocData::PropertyDoc &prop_doc = itype.class_doc->properties[i]; + + if (prop_doc.name == iprop.cname) { + iprop.prop_doc = &prop_doc; + break; + } + } + + itype.properties.push_back(iprop); + } + + // Populate enums and constants + + List<String> constant_list; + ClassDB::get_integer_constant_list(type_cname, &constant_list, true); + + const HashMap<StringName, List<StringName> > &enum_map = class_info->enum_map; + const StringName *k = NULL; + + while ((k = enum_map.next(k))) { + StringName enum_proxy_cname = *k; + String enum_proxy_name = enum_proxy_cname.operator String(); + if (itype.find_property_by_proxy_name(enum_proxy_cname)) { + // We have several conflicts between enums and PascalCase properties, + // so we append 'Enum' to the enum name in those cases. + enum_proxy_name += "Enum"; + enum_proxy_cname = StringName(enum_proxy_name); + } + EnumInterface ienum(enum_proxy_cname); + const List<StringName> &constants = enum_map.get(*k); + for (const List<StringName>::Element *E = constants.front(); E; E = E->next()) { + int *value = class_info->constant_map.getptr(E->get()); + ERR_FAIL_NULL(value); + constant_list.erase(E->get().operator String()); + + ConstantInterface iconstant(snake_to_pascal_case(E->get(), true), *value); + + iconstant.const_doc = NULL; + for (int i = 0; i < itype.class_doc->constants.size(); i++) { + const DocData::ConstantDoc &const_doc = itype.class_doc->constants[i]; + + if (const_doc.name == iconstant.name) { + iconstant.const_doc = &const_doc; + break; + } + } + + ienum.constants.push_back(iconstant); + } + + ienum.prefix = _determine_enum_prefix(ienum); + + itype.enums.push_back(ienum); + + TypeInterface enum_itype; + enum_itype.name = itype.name + "." + String(*k); + enum_itype.cname = StringName(enum_itype.name); + enum_itype.proxy_name = itype.proxy_name + "." + enum_proxy_name; + enum_itype.c_arg_in = "&%s"; + enum_itype.c_type = "int"; + enum_itype.c_type_in = "int"; + enum_itype.c_type_out = "int"; + enum_itype.cs_type = enum_itype.proxy_name; + enum_itype.im_type_in = enum_itype.proxy_name; + enum_itype.im_type_out = enum_itype.proxy_name; + enum_itype.class_doc = &EditorHelp::get_doc_data()->class_list[enum_itype.proxy_name]; + enum_types.insert(enum_itype.cname, enum_itype); + } + + for (const List<String>::Element *E = constant_list.front(); E; E = E->next()) { + int *value = class_info->constant_map.getptr(E->get()); + ERR_FAIL_NULL(value); + + ConstantInterface iconstant(snake_to_pascal_case(E->get(), true), *value); + + iconstant.const_doc = NULL; + for (int i = 0; i < itype.class_doc->constants.size(); i++) { + const DocData::ConstantDoc &const_doc = itype.class_doc->constants[i]; + + if (const_doc.name == iconstant.name) { + iconstant.const_doc = &const_doc; + break; + } + } + + itype.constants.push_back(iconstant); + } + + obj_types.insert(itype.cname, itype); class_list.pop_front(); } @@ -1704,7 +2013,10 @@ void BindingsGenerator::_default_argument_from_variant(const Variant &p_val, Arg r_iarg.default_argument = bool(p_val) ? "true" : "false"; break; case Variant::INT: - break; // Keep it + if (r_iarg.type != name_cache.type_int) { + r_iarg.default_argument = "(%s)" + r_iarg.default_argument; + } + break; case Variant::REAL: #ifndef REAL_T_IS_DOUBLE r_iarg.default_argument += "f"; @@ -1762,7 +2074,7 @@ void BindingsGenerator::_default_argument_from_variant(const Variant &p_val, Arg default: {} } - if (r_iarg.def_param_mode == ArgumentInterface::CONSTANT && r_iarg.type == "Variant" && r_iarg.default_argument != "null") + if (r_iarg.def_param_mode == ArgumentInterface::CONSTANT && r_iarg.type == name_cache.type_Variant && r_iarg.default_argument != "null") r_iarg.def_param_mode = ArgumentInterface::NULLABLE_REF; } @@ -1774,7 +2086,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { #define INSERT_STRUCT_TYPE(m_type, m_type_in) \ { \ - itype = TypeInterface::create_value_type(#m_type); \ + itype = TypeInterface::create_value_type(String(#m_type)); \ itype.c_in = "\tMARSHALLED_IN(" #m_type ", %1, %1_in);\n"; \ itype.c_out = "\tMARSHALLED_OUT(" #m_type ", %1, ret_out)\n" \ "\treturn mono_value_box(mono_domain_get(), CACHED_CLASS_RAW(%2), ret_out);\n"; \ @@ -1783,7 +2095,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_in = "ref %s"; \ itype.cs_out = "return (" #m_type ")%0;"; \ itype.im_type_out = "object"; \ - builtin_types.insert(#m_type, itype); \ + builtin_types.insert(itype.cname, itype); \ } INSERT_STRUCT_TYPE(Vector2, "real_t*") @@ -1799,22 +2111,22 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { #undef INSERT_STRUCT_TYPE -#define INSERT_PRIMITIVE_TYPE(m_type) \ - { \ - itype = TypeInterface::create_value_type(#m_type); \ - itype.c_arg_in = "&%s"; \ - itype.c_type_in = #m_type; \ - itype.c_type_out = #m_type; \ - itype.im_type_in = #m_type; \ - itype.im_type_out = #m_type; \ - builtin_types.insert(#m_type, itype); \ +#define INSERT_PRIMITIVE_TYPE(m_type) \ + { \ + itype = TypeInterface::create_value_type(String(#m_type)); \ + itype.c_arg_in = "&%s"; \ + itype.c_type_in = #m_type; \ + itype.c_type_out = #m_type; \ + itype.im_type_in = #m_type; \ + itype.im_type_out = #m_type; \ + builtin_types.insert(itype.cname, itype); \ } INSERT_PRIMITIVE_TYPE(bool) //INSERT_PRIMITIVE_TYPE(int) // int - itype = TypeInterface::create_value_type("int"); + itype = TypeInterface::create_value_type(String("int")); itype.c_arg_in = "&%s_in"; //* ptrcall only supports int64_t and uint64_t itype.c_in = "\t%0 %1_in = (%0)%1;\n"; @@ -1825,7 +2137,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.c_type_out = itype.name; itype.im_type_in = itype.name; itype.im_type_out = itype.name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); #undef INSERT_PRIMITIVE_TYPE @@ -1836,6 +2148,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { #else itype.name = "float"; #endif + itype.cname = itype.name; itype.proxy_name = itype.name; itype.c_arg_in = "&%s_in"; //* ptrcall only supports double @@ -1848,11 +2161,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // String itype = TypeInterface(); itype.name = "String"; + itype.cname = itype.name; itype.proxy_name = "string"; itype.c_in = "\t%0 %1_in = " C_METHOD_MONOSTR_TO_GODOT "(%1);\n"; itype.c_out = "\treturn " C_METHOD_MONOSTR_FROM_GODOT "(%1);\n"; @@ -1863,11 +2177,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // NodePath itype = TypeInterface(); itype.name = "NodePath"; + itype.cname = itype.name; itype.proxy_name = "NodePath"; itype.c_out = "\treturn memnew(NodePath(%1));\n"; itype.c_type = itype.name; @@ -1879,16 +2194,17 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.im_type_in = "IntPtr"; itype.im_type_out = "IntPtr"; _populate_builtin_type(itype, Variant::NODE_PATH); - extra_members.insert(itype.name, MEMBER_BEGIN "public NodePath() : this(string.Empty) {}\n" MEMBER_BEGIN "public NodePath(string path)\n" OPEN_BLOCK_L2 - "this." BINDINGS_PTR_FIELD " = NativeCalls.godot_icall_NodePath_Ctor(path);\n" CLOSE_BLOCK_L2 - MEMBER_BEGIN "public static implicit operator NodePath(string from)\n" OPEN_BLOCK_L2 "return new NodePath(from);\n" CLOSE_BLOCK_L2 - MEMBER_BEGIN "public static implicit operator string(NodePath from)\n" OPEN_BLOCK_L2 - "return NativeCalls." ICALL_PREFIX "NodePath_operator_String(NodePath." CS_SMETHOD_GETINSTANCE "(from));\n" CLOSE_BLOCK_L2); - builtin_types.insert(itype.name, itype); + extra_members.insert(itype.cname, MEMBER_BEGIN "public NodePath() : this(string.Empty) {}\n" MEMBER_BEGIN "public NodePath(string path)\n" OPEN_BLOCK_L2 + "this." BINDINGS_PTR_FIELD " = NativeCalls.godot_icall_NodePath_Ctor(path);\n" CLOSE_BLOCK_L2 + MEMBER_BEGIN "public static implicit operator NodePath(string from)\n" OPEN_BLOCK_L2 "return new NodePath(from);\n" CLOSE_BLOCK_L2 + MEMBER_BEGIN "public static implicit operator string(NodePath from)\n" OPEN_BLOCK_L2 + "return NativeCalls." ICALL_PREFIX "NodePath_operator_String(NodePath." CS_SMETHOD_GETINSTANCE "(from));\n" CLOSE_BLOCK_L2); + builtin_types.insert(itype.cname, itype); // RID itype = TypeInterface(); itype.name = "RID"; + itype.cname = itype.name; itype.proxy_name = "RID"; itype.c_out = "\treturn memnew(RID(%1));\n"; itype.c_type = itype.name; @@ -1900,13 +2216,14 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.im_type_in = "IntPtr"; itype.im_type_out = "IntPtr"; _populate_builtin_type(itype, Variant::_RID); - extra_members.insert(itype.name, MEMBER_BEGIN "internal RID()\n" OPEN_BLOCK_L2 - "this." BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" CLOSE_BLOCK_L2); - builtin_types.insert(itype.name, itype); + extra_members.insert(itype.cname, MEMBER_BEGIN "internal RID()\n" OPEN_BLOCK_L2 + "this." BINDINGS_PTR_FIELD " = IntPtr.Zero;\n" CLOSE_BLOCK_L2); + builtin_types.insert(itype.cname, itype); // Variant itype = TypeInterface(); itype.name = "Variant"; + itype.cname = itype.name; itype.proxy_name = "object"; itype.c_in = "\t%0 %1_in = " C_METHOD_MANAGED_TO_VARIANT "(%1);\n"; itype.c_out = "\treturn " C_METHOD_MANAGED_FROM_VARIANT "(%1);\n"; @@ -1917,11 +2234,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = "object"; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // VarArg (fictitious type to represent variable arguments) itype = TypeInterface(); itype.name = "VarArg"; + itype.cname = itype.name; itype.proxy_name = "object[]"; itype.c_in = "\t%0 %1_in = " C_METHOD_MONOARRAY_TO(Array) "(%1);\n"; itype.c_arg_in = "&%s_in"; @@ -1929,12 +2247,13 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.c_type_in = "MonoArray*"; itype.cs_type = "params object[]"; itype.im_type_in = "object[]"; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); #define INSERT_ARRAY_FULL(m_name, m_type, m_proxy_t) \ { \ itype = TypeInterface(); \ itype.name = #m_name; \ + itype.cname = itype.name; \ itype.proxy_name = #m_proxy_t "[]"; \ itype.c_in = "\t%0 %1_in = " C_METHOD_MONOARRAY_TO(m_type) "(%1);\n"; \ itype.c_out = "\treturn " C_METHOD_MONOARRAY_FROM(m_type) "(%1);\n"; \ @@ -1971,6 +2290,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { // Dictionary itype = TypeInterface(); itype.name = "Dictionary"; + itype.cname = itype.name; itype.proxy_name = "Dictionary<object, object>"; itype.c_in = "\t%0 %1_in = " C_METHOD_MANAGED_TO_DICT "(%1);\n"; itype.c_out = "\treturn " C_METHOD_MANAGED_FROM_DICT "(%1);\n"; @@ -1981,11 +2301,12 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); // void (fictitious type to represent the return type of methods that do not return anything) itype = TypeInterface(); itype.name = "void"; + itype.cname = itype.name; itype.proxy_name = itype.name; itype.c_type = itype.name; itype.c_type_in = itype.c_type; @@ -1993,21 +2314,7 @@ void BindingsGenerator::_populate_builtin_type_interfaces() { itype.cs_type = itype.proxy_name; itype.im_type_in = itype.proxy_name; itype.im_type_out = itype.proxy_name; - builtin_types.insert(itype.name, itype); - - // Error - itype = TypeInterface(); - itype.name = "Error"; - itype.proxy_name = "Error"; - itype.c_type = itype.name; - itype.c_type_in = itype.c_type; - itype.c_type_out = itype.c_type; - itype.cs_type = itype.proxy_name; - itype.cs_in = "(int)%0"; - itype.cs_out = "return (Error)%s;"; - itype.im_type_in = "int"; - itype.im_type_out = "int"; - builtin_types.insert(itype.name, itype); + builtin_types.insert(itype.cname, itype); } void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant::Type vtype) { @@ -2024,6 +2331,7 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: MethodInterface imethod; imethod.name = mi.name; + imethod.cname = imethod.name; imethod.proxy_name = mi.name; for (int i = 0; i < mi.arguments.size(); i++) { @@ -2033,11 +2341,11 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: iarg.name = pi.name; if (pi.type == Variant::NIL) - iarg.type = "Variant"; + iarg.type = name_cache.type_Variant; else iarg.type = Variant::get_type_name(pi.type); - if (!r_itype.requires_collections && iarg.type == "Dictionary") + if (!r_itype.requires_collections && iarg.type == name_cache.type_Dictionary) r_itype.requires_collections = true; if ((mi.default_arguments.size() - mi.arguments.size() + i) >= 0) @@ -2048,12 +2356,12 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: if (mi.return_val.type == Variant::NIL) { if (mi.return_val.name != "") - imethod.return_type = "Variant"; + imethod.return_type = name_cache.type_Variant; } else { imethod.return_type = Variant::get_type_name(mi.return_val.type); } - if (!r_itype.requires_collections && imethod.return_type == "Dictionary") + if (!r_itype.requires_collections && imethod.return_type == name_cache.type_Dictionary) r_itype.requires_collections = true; if (r_itype.class_doc) { @@ -2069,15 +2377,113 @@ void BindingsGenerator::_populate_builtin_type(TypeInterface &r_itype, Variant:: } } -BindingsGenerator::BindingsGenerator() { +void BindingsGenerator::_populate_global_constants() { + + int global_constants_count = GlobalConstants::get_global_constant_count(); + + if (global_constants_count > 0) { + Map<String, DocData::ClassDoc>::Element *match = EditorHelp::get_doc_data()->class_list.find("@GlobalScope"); + + ERR_EXPLAIN("Could not find `@GlobalScope` in DocData"); + CRASH_COND(!match); + + const DocData::ClassDoc &global_scope_doc = match->value(); + + for (int i = 0; i < global_constants_count; i++) { + + String constant_name = GlobalConstants::get_global_constant_name(i); + + const DocData::ConstantDoc *const_doc = NULL; + for (int i = 0; i < global_scope_doc.constants.size(); i++) { + const DocData::ConstantDoc &curr_const_doc = global_scope_doc.constants[i]; + + if (curr_const_doc.name == constant_name) { + const_doc = &curr_const_doc; + break; + } + } + + int constant_value = GlobalConstants::get_global_constant_value(i); + StringName enum_name = GlobalConstants::get_global_constant_enum(i); + + ConstantInterface iconstant(snake_to_pascal_case(constant_name, true), constant_value); + iconstant.const_doc = const_doc; + + if (enum_name != StringName()) { + EnumInterface ienum(enum_name); + List<EnumInterface>::Element *match = global_enums.find(ienum); + if (match) { + match->get().constants.push_back(iconstant); + } else { + ienum.constants.push_back(iconstant); + global_enums.push_back(ienum); + } + } else { + global_constants.push_back(iconstant); + } + } + + for (List<EnumInterface>::Element *E = global_enums.front(); E; E = E->next()) { + EnumInterface &ienum = E->get(); + + TypeInterface enum_itype; + enum_itype = TypeInterface::create_value_type(ienum.cname); + enum_itype.c_arg_in = "&%s"; + enum_itype.c_type = "int"; + enum_itype.c_type_in = "int"; + enum_itype.c_type_out = "int"; + enum_itype.im_type_in = enum_itype.name; + enum_itype.im_type_out = enum_itype.name; + enum_types.insert(enum_itype.cname, enum_itype); + + ienum.prefix = _determine_enum_prefix(ienum); + + // HARDCODED + if (ienum.cname == name_cache.enum_Error) { + if (!ienum.prefix.empty()) { // Just in case it ever changes + ERR_PRINTS("Prefix for enum 'Error' is not empty"); + } + + ienum.prefix = "Err"; + } + } + } + + // HARDCODED + List<StringName> hardcoded_enums; + hardcoded_enums.push_back("Vector3.Axis"); + for (List<StringName>::Element *E = hardcoded_enums.front(); E; E = E->next()) { + // These enums are not generated and must be written manually (e.g.: Vector3.Axis) + // Here, we are assuming core types do not begin with underscore + TypeInterface enum_itype; + enum_itype = TypeInterface::create_value_type(E->get()); + enum_itype.c_arg_in = "&%s"; + enum_itype.c_type = "int"; + enum_itype.c_type_in = "int"; + enum_itype.c_type_out = "int"; + enum_itype.im_type_in = enum_itype.name; + enum_itype.im_type_out = enum_itype.name; + enum_types.insert(enum_itype.cname, enum_itype); + } +} + +BindingsGenerator::BindingsGenerator() : + name_cache(NameCache::get_singleton()) { EditorHelp::generate_doc(); + enum_types.clear(); + _populate_object_type_interfaces(); _populate_builtin_type_interfaces(); + + _populate_global_constants(); + + // Populate internal calls (after populating type interfaces and global constants) + _generate_header_icalls(); - for (Map<String, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) + for (Map<StringName, TypeInterface>::Element *E = obj_types.front(); E; E = E->next()) _generate_method_icalls(E->get()); _generate_method_icalls(builtin_types["NodePath"]); diff --git a/modules/mono/editor/bindings_generator.h b/modules/mono/editor/bindings_generator.h index dfa3aa9911..eac00690ff 100644 --- a/modules/mono/editor/bindings_generator.h +++ b/modules/mono/editor/bindings_generator.h @@ -39,6 +39,47 @@ #include "ustring.h" class BindingsGenerator { + + struct ConstantInterface { + String name; + int value; + const DocData::ConstantDoc *const_doc; + + ConstantInterface() {} + + ConstantInterface(const String &p_name, int p_value) { + name = p_name; + value = p_value; + } + }; + + struct EnumInterface { + StringName cname; + String prefix; + List<ConstantInterface> constants; + + _FORCE_INLINE_ bool operator==(const EnumInterface &p_ienum) const { + return p_ienum.cname == cname; + } + + EnumInterface() {} + + EnumInterface(const StringName &p_cname) { + cname = p_cname; + } + }; + + struct PropertyInterface { + StringName cname; + String proxy_name; + int index; + + StringName setter; + StringName getter; + + const DocData::PropertyDoc *prop_doc; + }; + struct ArgumentInterface { enum DefaultParamMode { CONSTANT, @@ -46,7 +87,7 @@ class BindingsGenerator { NULLABLE_REF }; - String type; + StringName type; String name; String default_argument; DefaultParamMode def_param_mode; @@ -58,6 +99,7 @@ class BindingsGenerator { struct MethodInterface { String name; + StringName cname; /** * Name of the C# method @@ -67,7 +109,7 @@ class BindingsGenerator { /** * [TypeInterface::name] of the return type */ - String return_type; + StringName return_type; /** * Determines if the method has a variable number of arguments (VarArg) @@ -103,7 +145,7 @@ class BindingsGenerator { } MethodInterface() { - return_type = "void"; + return_type = NameCache::get_singleton().type_void; is_vararg = false; is_virtual = false; requires_object_call = false; @@ -118,11 +160,12 @@ class BindingsGenerator { * Also used to format [c_out]. */ String name; + StringName cname; /** * Identifier name of the base class. */ - String base_name; + StringName base_name; /** * Name of the C# class @@ -256,23 +299,32 @@ class BindingsGenerator { const DocData::ClassDoc *class_doc; + List<ConstantInterface> constants; + List<EnumInterface> enums; + List<PropertyInterface> properties; List<MethodInterface> methods; - const MethodInterface *find_method_by_name(const String &p_name) const { - + const MethodInterface *find_method_by_name(const StringName &p_cname) const { for (const List<MethodInterface>::Element *E = methods.front(); E; E = E->next()) { - if (E->get().name == p_name) + if (E->get().cname == p_cname) return &E->get(); } return NULL; } - static TypeInterface create_value_type(const String &p_name) { - TypeInterface itype; + 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) + return &E->get(); + } - itype.name = p_name; - itype.proxy_name = p_name; + return NULL; + } + + private: + static void _init_value_type(TypeInterface &itype) { + itype.proxy_name = itype.name; itype.c_type = itype.name; itype.c_type_in = "void*"; @@ -281,15 +333,31 @@ class BindingsGenerator { itype.im_type_in = "ref " + itype.proxy_name; itype.im_type_out = itype.proxy_name; itype.class_doc = &EditorHelp::get_doc_data()->class_list[itype.proxy_name]; + } + public: + static TypeInterface create_value_type(const String &p_name) { + TypeInterface itype; + itype.name = p_name; + itype.cname = StringName(p_name); + _init_value_type(itype); + return itype; + } + + static TypeInterface create_value_type(const StringName &p_name) { + TypeInterface itype; + itype.name = p_name.operator String(); + itype.cname = p_name; + _init_value_type(itype); return itype; } - static TypeInterface create_object_type(const String &p_name, ClassDB::APIType p_api_type) { + static TypeInterface create_object_type(const StringName &p_cname, ClassDB::APIType p_api_type) { TypeInterface itype; - itype.name = p_name; - itype.proxy_name = p_name.begins_with("_") ? p_name.substr(1, p_name.length()) : p_name; + itype.name = p_cname; + itype.cname = p_cname; + itype.proxy_name = itype.name.begins_with("_") ? itype.name.substr(1, itype.name.length()) : itype.name; itype.api_type = p_api_type; itype.is_object_type = true; itype.class_doc = &EditorHelp::get_doc_data()->class_list[itype.proxy_name]; @@ -297,9 +365,10 @@ class BindingsGenerator { return itype; } - static void create_placeholder_type(TypeInterface &r_itype, const String &p_name) { - r_itype.name = p_name; - r_itype.proxy_name = p_name; + static void create_placeholder_type(TypeInterface &r_itype, const StringName &p_cname) { + r_itype.name = p_cname; + r_itype.cname = p_cname; + r_itype.proxy_name = r_itype.name; r_itype.c_type = r_itype.name; r_itype.c_type_in = "MonoObject*"; @@ -359,11 +428,15 @@ class BindingsGenerator { static bool verbose_output; - Map<String, TypeInterface> placeholder_types; - Map<String, TypeInterface> builtin_types; - Map<String, TypeInterface> obj_types; + Map<StringName, TypeInterface> placeholder_types; + Map<StringName, TypeInterface> builtin_types; + Map<StringName, TypeInterface> enum_types; + Map<StringName, TypeInterface> obj_types; - Map<String, String> extra_members; + List<EnumInterface> global_enums; + List<ConstantInterface> global_constants; + + Map<StringName, String> extra_members; List<InternalCall> method_icalls; Map<const MethodInterface *, const InternalCall *> method_icalls_map; @@ -373,8 +446,41 @@ class BindingsGenerator { List<InternalCall> core_custom_icalls; List<InternalCall> editor_custom_icalls; - const List<InternalCall>::Element *find_icall_by_name(const String &p_name, const List<InternalCall> &p_list) { + struct NameCache { + StringName type_void; + StringName type_int; + StringName type_Array; + StringName type_Dictionary; + StringName type_Variant; + StringName type_VarArg; + StringName type_Object; + StringName type_Reference; + StringName enum_Error; + + NameCache() { + type_void = StaticCString::create("void"); + type_int = StaticCString::create("int"); + type_Array = StaticCString::create("Array"); + type_Dictionary = StaticCString::create("Dictionary"); + type_Variant = StaticCString::create("Variant"); + type_VarArg = StaticCString::create("VarArg"); + type_Object = StaticCString::create("Object"); + type_Reference = StaticCString::create("Reference"); + enum_Error = StaticCString::create("Error"); + } + + static NameCache &get_singleton() { + static NameCache singleton; + return singleton; + } + + NameCache(const NameCache &); + NameCache &operator=(const NameCache &); + }; + + const NameCache &name_cache; + const List<InternalCall>::Element *find_icall_by_name(const String &p_name, const List<InternalCall> &p_list) { const List<InternalCall>::Element *it = p_list.front(); while (it) { if (it->get().name == p_name) return it; @@ -392,11 +498,13 @@ class BindingsGenerator { return p_type.name; } + String _determine_enum_prefix(const EnumInterface &p_ienum); + void _generate_header_icalls(); void _generate_method_icalls(const TypeInterface &p_itype); - const TypeInterface *_get_type_by_name_or_null(const String &p_name); - const TypeInterface *_get_type_by_name_or_placeholder(const String &p_name); + const TypeInterface *_get_type_by_name_or_null(const StringName &p_cname); + const TypeInterface *_get_type_by_name_or_placeholder(const StringName &p_cname); void _default_argument_from_variant(const Variant &p_var, ArgumentInterface &r_iarg); void _populate_builtin_type(TypeInterface &r_type, Variant::Type vtype); @@ -404,11 +512,15 @@ class BindingsGenerator { void _populate_object_type_interfaces(); void _populate_builtin_type_interfaces(); + void _populate_global_constants(); + Error _generate_cs_type(const TypeInterface &itype, const String &p_output_file); - Error _generate_cs_property(const TypeInterface &p_itype, const DocData::PropertyDoc &p_prop_doc, List<String> &p_output); + Error _generate_cs_property(const TypeInterface &p_itype, const PropertyInterface &p_prop_doc, List<String> &p_output); Error _generate_cs_method(const TypeInterface &p_itype, const MethodInterface &p_imethod, int &p_method_bind_count, List<String> &p_output); + void _generate_global_constants(List<String> &p_output); + Error _generate_glue_method(const TypeInterface &p_itype, const MethodInterface &p_imethod, List<String> &p_output); Error _save_file(const String &path, const List<String> &content); diff --git a/modules/mono/editor/csharp_project.cpp b/modules/mono/editor/csharp_project.cpp index 9a1efb4423..d5819a4ca3 100644 --- a/modules/mono/editor/csharp_project.cpp +++ b/modules/mono/editor/csharp_project.cpp @@ -54,7 +54,7 @@ String generate_core_api_project(const String &p_dir, const Vector<String> &p_fi ERR_FAIL_V(String()); } - return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : ""; + return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : String(); } String generate_editor_api_project(const String &p_dir, const String &p_core_dll_path, const Vector<String> &p_files) { @@ -75,7 +75,7 @@ String generate_editor_api_project(const String &p_dir, const String &p_core_dll ERR_FAIL_V(String()); } - return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : ""; + return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : String(); } String generate_game_project(const String &p_dir, const String &p_name, const Vector<String> &p_files) { @@ -96,7 +96,7 @@ String generate_game_project(const String &p_dir, const String &p_name, const Ve ERR_FAIL_V(String()); } - return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : ""; + return ret ? GDMonoMarshal::mono_string_to_godot((MonoString *)ret) : String(); } void add_item(const String &p_project_path, const String &p_item_type, const String &p_include) { diff --git a/modules/mono/editor/godotsharp_builds.cpp b/modules/mono/editor/godotsharp_builds.cpp index b88d34fc33..3750a2b02a 100644 --- a/modules/mono/editor/godotsharp_builds.cpp +++ b/modules/mono/editor/godotsharp_builds.cpp @@ -313,7 +313,7 @@ GodotSharpBuilds *GodotSharpBuilds::singleton = NULL; void GodotSharpBuilds::build_exit_callback(const MonoBuildInfo &p_build_info, int p_exit_code) { BuildProcess *match = builds.getptr(p_build_info); - ERR_FAIL_COND(!match); + ERR_FAIL_NULL(match); BuildProcess &bp = *match; bp.on_exit(p_exit_code); diff --git a/modules/mono/editor/godotsharp_editor.cpp b/modules/mono/editor/godotsharp_editor.cpp index 1bc1e8a515..1e61646769 100644 --- a/modules/mono/editor/godotsharp_editor.cpp +++ b/modules/mono/editor/godotsharp_editor.cpp @@ -50,9 +50,9 @@ GodotSharpEditor *GodotSharpEditor::singleton = NULL; bool GodotSharpEditor::_create_project_solution() { - EditorProgress pr("create_csharp_solution", "Generating solution...", 2); + EditorProgress pr("create_csharp_solution", TTR("Generating solution..."), 2); - pr.step("Generating C# project..."); + pr.step(TTR("Generating C# project...")); String path = OS::get_singleton()->get_resource_dir(); String name = ProjectSettings::get_singleton()->get("application/config/name"); @@ -67,7 +67,7 @@ bool GodotSharpEditor::_create_project_solution() { NETSolution solution(name); if (!solution.set_path(path)) { - show_error_dialog("Failed to create solution."); + show_error_dialog(TTR("Failed to create solution.")); return false; } @@ -79,7 +79,7 @@ bool GodotSharpEditor::_create_project_solution() { Error sln_error = solution.save(); if (sln_error != OK) { - show_error_dialog("Failed to save solution."); + show_error_dialog(TTR("Failed to save solution.")); return false; } @@ -89,13 +89,13 @@ bool GodotSharpEditor::_create_project_solution() { if (!GodotSharpBuilds::make_api_sln(GodotSharpBuilds::API_EDITOR)) return false; - pr.step("Done"); + pr.step(TTR("Done")); // Here, after all calls to progress_task_step call_deferred("_remove_create_sln_menu_option"); } else { - show_error_dialog("Failed to create C# project."); + show_error_dialog(TTR("Failed to create C# project.")); } return true; @@ -194,14 +194,14 @@ GodotSharpEditor::GodotSharpEditor(EditorNode *p_editor) { error_dialog = memnew(AcceptDialog); editor->get_gui_base()->add_child(error_dialog); - bottom_panel_btn = editor->add_bottom_panel_item("Mono", memnew(MonoBottomPanel(editor))); + bottom_panel_btn = editor->add_bottom_panel_item(TTR("Mono"), memnew(MonoBottomPanel(editor))); godotsharp_builds = memnew(GodotSharpBuilds); editor->add_child(memnew(MonoReloadNode)); menu_button = memnew(MenuButton); - menu_button->set_text("Mono"); + menu_button->set_text(TTR("Mono")); menu_popup = menu_button->get_popup(); String sln_path = GodotSharpDirs::get_project_sln_path(); @@ -209,7 +209,7 @@ GodotSharpEditor::GodotSharpEditor(EditorNode *p_editor) { if (!FileAccess::exists(sln_path) || !FileAccess::exists(csproj_path)) { bottom_panel_btn->hide(); - menu_popup->add_item("Create C# solution", MENU_CREATE_SLN); + menu_popup->add_item(TTR("Create C# solution"), MENU_CREATE_SLN); } menu_popup->connect("id_pressed", this, "_menu_option_pressed"); diff --git a/modules/mono/editor/mono_bottom_panel.cpp b/modules/mono/editor/mono_bottom_panel.cpp index 31dc09856a..be714026ad 100644 --- a/modules/mono/editor/mono_bottom_panel.cpp +++ b/modules/mono/editor/mono_bottom_panel.cpp @@ -197,7 +197,7 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) { panel_builds_tab->add_child(toolbar_hbc); ToolButton *build_project_btn = memnew(ToolButton); - build_project_btn->set_text("Build Project"); + build_project_btn->set_text(TTR("Build Project")); build_project_btn->set_focus_mode(FOCUS_NONE); build_project_btn->connect("pressed", this, "_build_project_pressed"); toolbar_hbc->add_child(build_project_btn); @@ -205,7 +205,7 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) { toolbar_hbc->add_spacer(); warnings_btn = memnew(ToolButton); - warnings_btn->set_text("Warnings"); + warnings_btn->set_text(TTR("Warnings")); warnings_btn->set_toggle_mode(true); warnings_btn->set_pressed(true); warnings_btn->set_visible(false); @@ -214,7 +214,7 @@ MonoBottomPanel::MonoBottomPanel(EditorNode *p_editor) { toolbar_hbc->add_child(warnings_btn); errors_btn = memnew(ToolButton); - errors_btn->set_text("Errors"); + errors_btn->set_text(TTR("Errors")); errors_btn->set_toggle_mode(true); errors_btn->set_pressed(true); errors_btn->set_visible(false); diff --git a/modules/mono/glue/cs_files/Error.cs b/modules/mono/glue/cs_files/Error.cs deleted file mode 100644 index dee4b88f74..0000000000 --- a/modules/mono/glue/cs_files/Error.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace Godot -{ - public enum Error : int - { - OK = 0, - FAILED = 1, - ERR_UNAVAILABLE = 2, - ERR_UNCONFIGURED = 3, - ERR_UNAUTHORIZED = 4, - ERR_PARAMETER_RANGE_ERROR = 5, - ERR_OUT_OF_MEMORY = 6, - ERR_FILE_NOT_FOUND = 7, - ERR_FILE_BAD_DRIVE = 8, - ERR_FILE_BAD_PATH = 9, - ERR_FILE_NO_PERMISSION = 10, - ERR_FILE_ALREADY_IN_USE = 11, - ERR_FILE_CANT_OPEN = 12, - ERR_FILE_CANT_WRITE = 13, - ERR_FILE_CANT_READ = 14, - ERR_FILE_UNRECOGNIZED = 15, - ERR_FILE_CORRUPT = 16, - ERR_FILE_MISSING_DEPENDENCIES = 17, - ERR_FILE_EOF = 18, - ERR_CANT_OPEN = 19, - ERR_CANT_CREATE = 20, - ERR_PARSE_ERROR = 43, - ERROR_QUERY_FAILED = 21, - ERR_ALREADY_IN_USE = 22, - ERR_LOCKED = 23, - ERR_TIMEOUT = 24, - ERR_CANT_AQUIRE_RESOURCE = 28, - ERR_INVALID_DATA = 30, - ERR_INVALID_PARAMETER = 31, - ERR_ALREADY_EXISTS = 32, - ERR_DOES_NOT_EXIST = 33, - ERR_DATABASE_CANT_READ = 34, - ERR_DATABASE_CANT_WRITE = 35, - ERR_COMPILATION_FAILED = 36, - ERR_METHOD_NOT_FOUND = 37, - ERR_LINK_FAILED = 38, - ERR_SCRIPT_FAILED = 39, - ERR_CYCLIC_LINK = 40, - ERR_BUSY = 44, - ERR_HELP = 46, - ERR_BUG = 47 - } -} diff --git a/modules/mono/glue/cs_files/ExportAttribute.cs b/modules/mono/glue/cs_files/ExportAttribute.cs index dce9cc59a0..e6f569e1bb 100644 --- a/modules/mono/glue/cs_files/ExportAttribute.cs +++ b/modules/mono/glue/cs_files/ExportAttribute.cs @@ -5,13 +5,13 @@ namespace Godot [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public class ExportAttribute : Attribute { - private int hint; - private string hint_string; + private PropertyHint hint; + private string hintString; - public ExportAttribute(int hint = GD.PROPERTY_HINT_NONE, string hint_string = "") + public ExportAttribute(PropertyHint hint = PropertyHint.None, string hintString = "") { this.hint = hint; - this.hint_string = hint_string; + this.hintString = hintString; } } } diff --git a/modules/mono/glue/cs_files/GD.cs b/modules/mono/glue/cs_files/GD.cs index 99fc289161..b335ef55e4 100644 --- a/modules/mono/glue/cs_files/GD.cs +++ b/modules/mono/glue/cs_files/GD.cs @@ -2,10 +2,8 @@ using System; namespace Godot { - public static class GD + public static partial class GD { - /*{GodotGlobalConstants}*/ - public static object Bytes2Var(byte[] bytes) { return NativeCalls.godot_icall_Godot_bytes2var(bytes); diff --git a/modules/mono/glue/cs_files/Rect2.cs b/modules/mono/glue/cs_files/Rect2.cs index f2718d7b7a..e1fbb65da5 100644 --- a/modules/mono/glue/cs_files/Rect2.cs +++ b/modules/mono/glue/cs_files/Rect2.cs @@ -109,14 +109,14 @@ namespace Godot return g; } - public Rect2 GrowMargin(int margin, float by) + public Rect2 GrowMargin(Margin margin, float by) { Rect2 g = this; - g.GrowIndividual((GD.MARGIN_LEFT == margin) ? by : 0, - (GD.MARGIN_TOP == margin) ? by : 0, - (GD.MARGIN_RIGHT == margin) ? by : 0, - (GD.MARGIN_BOTTOM == margin) ? by : 0); + g.GrowIndividual((Margin.Left == margin) ? by : 0, + (Margin.Top == margin) ? by : 0, + (Margin.Right == margin) ? by : 0, + (Margin.Bottom == margin) ? by : 0); return g; } @@ -230,4 +230,4 @@ namespace Godot }); } } -}
\ No newline at end of file +} diff --git a/modules/mono/mono_gd/gd_mono_field.cpp b/modules/mono/mono_gd/gd_mono_field.cpp index eb34f9dd3f..63b24f3ee6 100644 --- a/modules/mono/mono_gd/gd_mono_field.cpp +++ b/modules/mono/mono_gd/gd_mono_field.cpp @@ -290,7 +290,7 @@ int GDMonoField::get_int_value(MonoObject *p_object) { String GDMonoField::get_string_value(MonoObject *p_object) { MonoObject *val = get_value(p_object); - return val ? GDMonoMarshal::mono_string_to_godot((MonoString *)val) : String(); + return GDMonoMarshal::mono_string_to_godot((MonoString *)val); } bool GDMonoField::has_attribute(GDMonoClass *p_attr_class) { diff --git a/modules/mono/mono_gd/gd_mono_log.cpp b/modules/mono/mono_gd/gd_mono_log.cpp index e473348897..e8aea8624d 100644 --- a/modules/mono/mono_gd/gd_mono_log.cpp +++ b/modules/mono/mono_gd/gd_mono_log.cpp @@ -70,7 +70,9 @@ void gdmono_MonoLogCallback(const char *log_domain, const char *log_level, const } if (fatal) { - ERR_PRINTS("Mono: FALTAL ERROR, ABORTING! Logfile: " + GDMonoLog::get_singleton()->get_log_file_path() + "\n"); + ERR_PRINTS("Mono: FATAL ERROR, ABORTING! Logfile: " + GDMonoLog::get_singleton()->get_log_file_path() + "\n"); + // If we were to abort without flushing, the log wouldn't get written. + f->flush(); abort(); } } diff --git a/modules/mono/mono_gd/gd_mono_marshal.cpp b/modules/mono/mono_gd/gd_mono_marshal.cpp index 8bc2bb5096..d744d24f24 100644 --- a/modules/mono/mono_gd/gd_mono_marshal.cpp +++ b/modules/mono/mono_gd/gd_mono_marshal.cpp @@ -490,8 +490,9 @@ Variant mono_object_to_variant(MonoObject *p_obj, const ManagedType &p_type) { return unbox<double>(p_obj); case MONO_TYPE_STRING: { - String str = mono_string_to_godot((MonoString *)p_obj); - return str; + if (p_obj == NULL) + return Variant(); // NIL + return mono_string_to_godot_not_null((MonoString *)p_obj); } break; case MONO_TYPE_VALUETYPE: { diff --git a/modules/mono/mono_gd/gd_mono_marshal.h b/modules/mono/mono_gd/gd_mono_marshal.h index 443e947fb5..1be4be1a1c 100644 --- a/modules/mono/mono_gd/gd_mono_marshal.h +++ b/modules/mono/mono_gd/gd_mono_marshal.h @@ -62,13 +62,20 @@ Variant::Type managed_to_variant_type(const ManagedType &p_type); String mono_to_utf8_string(MonoString *p_mono_string); String mono_to_utf16_string(MonoString *p_mono_string); -_FORCE_INLINE_ String mono_string_to_godot(MonoString *p_mono_string) { +_FORCE_INLINE_ String mono_string_to_godot_not_null(MonoString *p_mono_string) { if (sizeof(CharType) == 2) return mono_to_utf16_string(p_mono_string); return mono_to_utf8_string(p_mono_string); } +_FORCE_INLINE_ String mono_string_to_godot(MonoString *p_mono_string) { + if (p_mono_string == NULL) + return String(); + + return mono_string_to_godot_not_null(p_mono_string); +} + _FORCE_INLINE_ MonoString *mono_from_utf8_string(const String &p_string) { return mono_string_new(mono_domain_get(), p_string.utf8().get_data()); } diff --git a/modules/mono/mono_gd/gd_mono_utils.cpp b/modules/mono/mono_gd/gd_mono_utils.cpp index 1cccd0ad9d..638636e985 100644 --- a/modules/mono/mono_gd/gd_mono_utils.cpp +++ b/modules/mono/mono_gd/gd_mono_utils.cpp @@ -95,7 +95,7 @@ void MonoCache::clear_members() { class_ExportAttribute = NULL; field_ExportAttribute_hint = NULL; - field_ExportAttribute_hint_string = NULL; + field_ExportAttribute_hintString = NULL; class_ToolAttribute = NULL; class_RemoteAttribute = NULL; class_SyncAttribute = NULL; @@ -163,7 +163,7 @@ void update_godot_api_cache() { // Attributes CACHE_CLASS_AND_CHECK(ExportAttribute, GODOT_API_CLASS(ExportAttribute)); CACHE_FIELD_AND_CHECK(ExportAttribute, hint, CACHED_CLASS(ExportAttribute)->get_field("hint")); - CACHE_FIELD_AND_CHECK(ExportAttribute, hint_string, CACHED_CLASS(ExportAttribute)->get_field("hint_string")); + CACHE_FIELD_AND_CHECK(ExportAttribute, hintString, CACHED_CLASS(ExportAttribute)->get_field("hintString")); CACHE_CLASS_AND_CHECK(ToolAttribute, GODOT_API_CLASS(ToolAttribute)); CACHE_CLASS_AND_CHECK(RemoteAttribute, GODOT_API_CLASS(RemoteAttribute)); CACHE_CLASS_AND_CHECK(SyncAttribute, GODOT_API_CLASS(SyncAttribute)); diff --git a/modules/mono/mono_gd/gd_mono_utils.h b/modules/mono/mono_gd/gd_mono_utils.h index c38f8c5af5..4308b357ba 100644 --- a/modules/mono/mono_gd/gd_mono_utils.h +++ b/modules/mono/mono_gd/gd_mono_utils.h @@ -97,7 +97,7 @@ struct MonoCache { GDMonoClass *class_ExportAttribute; GDMonoField *field_ExportAttribute_hint; - GDMonoField *field_ExportAttribute_hint_string; + GDMonoField *field_ExportAttribute_hintString; GDMonoClass *class_ToolAttribute; GDMonoClass *class_RemoteAttribute; GDMonoClass *class_SyncAttribute; diff --git a/modules/opus/register_types.cpp b/modules/opus/register_types.cpp index a69c8bf9f3..6d7a3575ed 100644 --- a/modules/opus/register_types.cpp +++ b/modules/opus/register_types.cpp @@ -34,13 +34,18 @@ static ResourceFormatLoaderAudioStreamOpus *opus_stream_loader = NULL; void register_opus_types() { - - opus_stream_loader = memnew(ResourceFormatLoaderAudioStreamOpus); - ResourceLoader::add_resource_format_loader(opus_stream_loader); - ClassDB::register_class<AudioStreamOpus>(); + // Sorry guys, do not enable this unless you can figure out a way + // to get Opus to not do any memory allocation or system calls + // in the audio thread. + // Currently the implementation even reads files from the audio thread, + // and this is not how audio programming works. + + //opus_stream_loader = memnew(ResourceFormatLoaderAudioStreamOpus); + //ResourceLoader::add_resource_format_loader(opus_stream_loader); + //ClassDB::register_class<AudioStreamOpus>(); } void unregister_opus_types() { - memdelete(opus_stream_loader); + //memdelete(opus_stream_loader); } diff --git a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp index 5c252bda86..6f5bbba8d1 100644 --- a/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp +++ b/modules/stb_vorbis/audio_stream_ogg_vorbis.cpp @@ -42,12 +42,17 @@ void AudioStreamPlaybackOGGVorbis::_mix_internal(AudioFrame *p_buffer, int p_fra int todo = p_frames; - while (todo && active) { + int start_buffer = 0; - int mixed = stb_vorbis_get_samples_float_interleaved(ogg_stream, 2, (float *)p_buffer, todo * 2); + while (todo && active) { + float *buffer = (float *)p_buffer; + if (start_buffer > 0) { + buffer = (buffer + start_buffer * 2); + } + int mixed = stb_vorbis_get_samples_float_interleaved(ogg_stream, 2, buffer, todo * 2); if (vorbis_stream->channels == 1 && mixed > 0) { //mix mono to stereo - for (int i = 0; i < mixed; i++) { + for (int i = start_buffer; i < mixed; i++) { p_buffer[i].r = p_buffer[i].l; } } @@ -60,11 +65,14 @@ void AudioStreamPlaybackOGGVorbis::_mix_internal(AudioFrame *p_buffer, int p_fra //loop seek(vorbis_stream->loop_offset); loops++; + // we still have buffer to fill, start from this element in the next iteration. + start_buffer = p_frames - todo; } else { - for (int i = mixed; i < p_frames; i++) { + for (int i = p_frames - todo; i < p_frames; i++) { p_buffer[i] = AudioFrame(0, 0); } active = false; + todo = 0; } } } diff --git a/modules/thekla_unwrap/register_types.cpp b/modules/thekla_unwrap/register_types.cpp index ab3203068f..da6c1bab2a 100644 --- a/modules/thekla_unwrap/register_types.cpp +++ b/modules/thekla_unwrap/register_types.cpp @@ -65,7 +65,7 @@ bool thekla_mesh_lightmap_unwrap_callback(float p_texel_size, const float *p_ver Thekla::atlas_set_default_options(&options); options.packer_options.witness.packing_quality = 1; options.packer_options.witness.texel_area = 1.0 / p_texel_size; - options.packer_options.witness.conservative = true; + options.packer_options.witness.conservative = false; //generate Thekla::Atlas_Error err; diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp index 6c58de8a5a..faf3aecbd4 100644 --- a/modules/visual_script/visual_script_editor.cpp +++ b/modules/visual_script/visual_script_editor.cpp @@ -228,7 +228,7 @@ protected: if (String(p_name) == "type") { - Dictionary dc = d.copy(); + Dictionary dc = d.duplicate(); dc["type"] = p_value; undo_redo->create_action(TTR("Set Variable Type")); undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc); @@ -241,7 +241,7 @@ protected: if (String(p_name) == "hint") { - Dictionary dc = d.copy(); + Dictionary dc = d.duplicate(); dc["hint"] = p_value; undo_redo->create_action(TTR("Set Variable Type")); undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc); @@ -254,7 +254,7 @@ protected: if (String(p_name) == "hint_string") { - Dictionary dc = d.copy(); + Dictionary dc = d.duplicate(); dc["hint_string"] = p_value; undo_redo->create_action(TTR("Set Variable Type")); undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc); @@ -480,33 +480,33 @@ void VisualScriptEditor::_update_graph(int p_only_id) { select_func_text->hide(); Ref<Texture> type_icons[Variant::VARIANT_MAX] = { - Control::get_icon("MiniVariant", "EditorIcons"), - Control::get_icon("MiniBoolean", "EditorIcons"), - Control::get_icon("MiniInteger", "EditorIcons"), - Control::get_icon("MiniFloat", "EditorIcons"), - Control::get_icon("MiniString", "EditorIcons"), - Control::get_icon("MiniVector2", "EditorIcons"), - Control::get_icon("MiniRect2", "EditorIcons"), - Control::get_icon("MiniVector3", "EditorIcons"), - Control::get_icon("MiniTransform2D", "EditorIcons"), - Control::get_icon("MiniPlane", "EditorIcons"), - Control::get_icon("MiniQuat", "EditorIcons"), - Control::get_icon("MiniAabb", "EditorIcons"), - Control::get_icon("MiniBasis", "EditorIcons"), - Control::get_icon("MiniTransform", "EditorIcons"), - Control::get_icon("MiniColor", "EditorIcons"), - Control::get_icon("MiniPath", "EditorIcons"), - Control::get_icon("MiniRid", "EditorIcons"), + Control::get_icon("Variant", "EditorIcons"), + Control::get_icon("bool", "EditorIcons"), + Control::get_icon("int", "EditorIcons"), + Control::get_icon("float", "EditorIcons"), + Control::get_icon("String", "EditorIcons"), + Control::get_icon("Vector2", "EditorIcons"), + Control::get_icon("Rect2", "EditorIcons"), + Control::get_icon("Vector3", "EditorIcons"), + Control::get_icon("Transform2D", "EditorIcons"), + Control::get_icon("Plane", "EditorIcons"), + Control::get_icon("Quat", "EditorIcons"), + Control::get_icon("AABB", "EditorIcons"), + Control::get_icon("Basis", "EditorIcons"), + Control::get_icon("Transform", "EditorIcons"), + Control::get_icon("Color", "EditorIcons"), + Control::get_icon("NodePath", "EditorIcons"), + Control::get_icon("RID", "EditorIcons"), Control::get_icon("MiniObject", "EditorIcons"), - Control::get_icon("MiniDictionary", "EditorIcons"), - Control::get_icon("MiniArray", "EditorIcons"), - Control::get_icon("MiniRawArray", "EditorIcons"), - Control::get_icon("MiniIntArray", "EditorIcons"), - Control::get_icon("MiniFloatArray", "EditorIcons"), - Control::get_icon("MiniStringArray", "EditorIcons"), - Control::get_icon("MiniVector2Array", "EditorIcons"), - Control::get_icon("MiniVector3Array", "EditorIcons"), - Control::get_icon("MiniColorArray", "EditorIcons") + Control::get_icon("Dictionary", "EditorIcons"), + Control::get_icon("Array", "EditorIcons"), + Control::get_icon("PoolByteArray", "EditorIcons"), + Control::get_icon("PoolIntArray", "EditorIcons"), + Control::get_icon("PoolRealArray", "EditorIcons"), + Control::get_icon("PoolStringArray", "EditorIcons"), + Control::get_icon("PoolVector2Array", "EditorIcons"), + Control::get_icon("PoolVector3Array", "EditorIcons"), + Control::get_icon("PoolColorArray", "EditorIcons") }; Ref<Texture> seq_port = Control::get_icon("VisualShaderPort", "EditorIcons"); @@ -774,33 +774,33 @@ void VisualScriptEditor::_update_members() { variables->set_custom_color(0, Control::get_color("mono_color", "Editor")); Ref<Texture> type_icons[Variant::VARIANT_MAX] = { - Control::get_icon("MiniVariant", "EditorIcons"), - Control::get_icon("MiniBoolean", "EditorIcons"), - Control::get_icon("MiniInteger", "EditorIcons"), - Control::get_icon("MiniFloat", "EditorIcons"), - Control::get_icon("MiniString", "EditorIcons"), - Control::get_icon("MiniVector2", "EditorIcons"), - Control::get_icon("MiniRect2", "EditorIcons"), - Control::get_icon("MiniVector3", "EditorIcons"), - Control::get_icon("MiniMatrix32", "EditorIcons"), - Control::get_icon("MiniPlane", "EditorIcons"), - Control::get_icon("MiniQuat", "EditorIcons"), - Control::get_icon("MiniAabb", "EditorIcons"), - Control::get_icon("MiniMatrix3", "EditorIcons"), - Control::get_icon("MiniTransform", "EditorIcons"), - Control::get_icon("MiniColor", "EditorIcons"), - Control::get_icon("MiniPath", "EditorIcons"), - Control::get_icon("MiniRid", "EditorIcons"), + Control::get_icon("Variant", "EditorIcons"), + Control::get_icon("bool", "EditorIcons"), + Control::get_icon("int", "EditorIcons"), + Control::get_icon("float", "EditorIcons"), + Control::get_icon("String", "EditorIcons"), + Control::get_icon("Vector2", "EditorIcons"), + Control::get_icon("Rect2", "EditorIcons"), + Control::get_icon("Vector3", "EditorIcons"), + Control::get_icon("Transform2D", "EditorIcons"), + Control::get_icon("Plane", "EditorIcons"), + Control::get_icon("Quat", "EditorIcons"), + Control::get_icon("AABB", "EditorIcons"), + Control::get_icon("Basis", "EditorIcons"), + Control::get_icon("Transform", "EditorIcons"), + Control::get_icon("Color", "EditorIcons"), + Control::get_icon("NodePath", "EditorIcons"), + Control::get_icon("RID", "EditorIcons"), Control::get_icon("MiniObject", "EditorIcons"), - Control::get_icon("MiniDictionary", "EditorIcons"), - Control::get_icon("MiniArray", "EditorIcons"), - Control::get_icon("MiniRawArray", "EditorIcons"), - Control::get_icon("MiniIntArray", "EditorIcons"), - Control::get_icon("MiniFloatArray", "EditorIcons"), - Control::get_icon("MiniStringArray", "EditorIcons"), - Control::get_icon("MiniVector2Array", "EditorIcons"), - Control::get_icon("MiniVector3Array", "EditorIcons"), - Control::get_icon("MiniColorArray", "EditorIcons") + Control::get_icon("Dictionary", "EditorIcons"), + Control::get_icon("Array", "EditorIcons"), + Control::get_icon("PoolByteArray", "EditorIcons"), + Control::get_icon("PoolIntArray", "EditorIcons"), + Control::get_icon("PoolRealArray", "EditorIcons"), + Control::get_icon("PoolStringArray", "EditorIcons"), + Control::get_icon("PoolVector2Array", "EditorIcons"), + Control::get_icon("PoolVector3Array", "EditorIcons"), + Control::get_icon("PoolColorArray", "EditorIcons") }; List<StringName> var_names; diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp index a38266acc0..147761783a 100644 --- a/modules/visual_script/visual_script_flow_control.cpp +++ b/modules/visual_script/visual_script_flow_control.cpp @@ -731,921 +731,6 @@ void VisualScriptSwitch::_bind_methods() { VisualScriptSwitch::VisualScriptSwitch() { } - ////////////////////////////////////////// - ////////////////EVENT ACTION FILTER/////////// - ////////////////////////////////////////// - -#if 0 -int VisualScriptInputFilter::get_output_sequence_port_count() const { - - return filters.size(); -} - -bool VisualScriptInputFilter::has_input_sequence_port() const { - - return true; -} - -int VisualScriptInputFilter::get_input_value_port_count() const { - - return 1; -} -int VisualScriptInputFilter::get_output_value_port_count() const { - - return 1; -} - -String VisualScriptInputFilter::get_output_sequence_port_text(int p_port) const { - - String text; - - switch (filters[p_port].type) { - case Ref<InputEvent>::NONE: { - text = "None"; - } break; - case Ref<InputEvent>::KEY: { - - InputEventKey k = filters[p_port].key; - - if (k->get_scancode() == 0 && k.unicode == 0) { - text = "No Key"; - } else { - if (k->get_scancode() != 0) { - text = "KeyCode: " + keycode_get_string(k->get_scancode()); - } else if (k.unicode != 0) { - text = "Uniode: " + String::chr(k.unicode); - } - - if (k->is_pressed()) - text += ", Pressed"; - else - text += ", Released"; - - if (k.echo) - text += ", Echo"; - if (k->get_alt()) - text = "Alt+" + text; - if (k->get_shift()) - text = "Shift+" + text; - if (k->get_control()) - text = "Ctrl+" + text; - if (k->get_metakey()) - text = "Meta+" + text; - } - - } break; - case Ref<InputEvent>::MOUSE_MOTION: { - InputEventMouseMotion mm = filters[p_port].mouse_motion; - text = "Mouse Motion"; - - String b = "Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight"; - - for (int i = 0; i < 7; i++) { - if (mm->get_button_mask() & (1 << i)) { - text = b.get_slice(",", i) + "+" + text; - } - } - if (mm->get_alt()) - text = "Alt+" + text; - if (mm->get_shift()) - text = "Shift+" + text; - if (mm->get_control()) - text = "Ctrl+" + text; - if (mm->get_metakey()) - text = "Meta+" + text; - } break; - case Ref<InputEvent>::MOUSE_BUTTON: { - - InputEventMouseButton mb = filters[p_port].mouse_button; - - String b = "Any,Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight"; - - text = b.get_slice(",", mb->get_button_index()) + " Mouse Button"; - - if (mb->is_pressed()) - text += ", Pressed"; - else - text += ", Released"; - - if (mb.doubleclick) - text += ", DblClick"; - if (mb->get_alt()) - text = "Alt+" + text; - if (mb->get_shift()) - text = "Shift+" + text; - if (mb->get_control()) - text = "Ctrl+" + text; - if (mb->get_metakey()) - text = "Meta+" + text; - - } break; - case Ref<InputEvent>::JOYPAD_MOTION: { - - InputEventJoypadMotion jm = filters[p_port].joy_motion; - - text = "JoyMotion Axis " + itos(jm.axis >> 1); - if (jm.axis & 1) - text += " > " + rtos(jm.axis_value); - else - text += " < " + rtos(-jm.axis_value); - - } break; - case Ref<InputEvent>::JOYPAD_BUTTON: { - InputEventJoypadButton jb = filters[p_port].joy_button; - - text = "JoyButton " + itos(jb->get_button_index()); - if (jb->is_pressed()) - text += ", Pressed"; - else - text += ", Released"; - } break; - case Ref<InputEvent>::SCREEN_TOUCH: { - InputEventScreenTouch sd = filters[p_port].screen_touch; - - text = "Touch Finger " + itos(sd.index); - if (sd->is_pressed()) - text += ", Pressed"; - else - text += ", Released"; - } break; - case Ref<InputEvent>::SCREEN_DRAG: { - InputEventScreenDrag sd = filters[p_port].screen_drag; - text = "Drag Finger " + itos(sd.index); - } break; - case Ref<InputEvent>::ACTION: { - - List<PropertyInfo> pinfo; - ProjectSettings::get_singleton()->get_property_list(&pinfo); - int index = 1; - - text = "No Action"; - for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { - const PropertyInfo &pi = E->get(); - - if (!pi.name.begins_with("input/")) - continue; - - if (filters[p_port].action.action == index) { - text = "Action " + pi.name.substr(pi.name.find("/") + 1, pi.name.length()); - break; - } - index++; - } - - if (filters[p_port].action->is_pressed()) - text += ", Pressed"; - else - text += ", Released"; - - } break; - } - - return text + " - " + itos(p_port); -} - -PropertyInfo VisualScriptInputFilter::get_input_value_port_info(int p_idx) const { - - return PropertyInfo(Variant::INPUT_EVENT, "event"); -} - -PropertyInfo VisualScriptInputFilter::get_output_value_port_info(int p_idx) const { - - return PropertyInfo(Variant::INPUT_EVENT, ""); -} - -String VisualScriptInputFilter::get_caption() const { - - return "InputFilter"; -} - -String VisualScriptInputFilter::get_text() const { - - return ""; -} - -bool VisualScriptInputFilter::_set(const StringName &p_name, const Variant &p_value) { - - if (p_name == "filter_count") { - filters.resize(p_value); - _change_notify(); - ports_changed_notify(); - return true; - } - - if (String(p_name).begins_with("filter_")) { - - int idx = String(p_name).replace_first("filters_", "").get_slice("/", 0).to_int(); - - ERR_FAIL_INDEX_V(idx, filters.size(), false); - - String what = String(p_name).get_slice("/", 1); - - if (what == "type") { - filters[idx] = Ref<InputEvent>(); - filters[idx].type = Ref<InputEvent>::Type(int(p_value)); - if (filters[idx].type == Ref<InputEvent>::JOYPAD_MOTION) { - filters[idx].joy_motion.axis_value = 0.5; //for threshold - } else if (filters[idx].type == Ref<InputEvent>::KEY) { - filters[idx]->is_pressed() = true; //put these as true to make it more user friendly - } else if (filters[idx].type == Ref<InputEvent>::MOUSE_BUTTON) { - filters[idx]->is_pressed() = true; - } else if (filters[idx].type == Ref<InputEvent>::JOYPAD_BUTTON) { - filters[idx].joy_button->is_pressed() = true; - } else if (filters[idx].type == Ref<InputEvent>::SCREEN_TOUCH) { - filters[idx].screen_touch->is_pressed() = true; - } else if (filters[idx].type == Ref<InputEvent>::ACTION) { - filters[idx].action->is_pressed() = true; - } - _change_notify(); - ports_changed_notify(); - - return true; - } - if (what == "device") { - filters[idx].device = p_value; - ports_changed_notify(); - return true; - } - - switch (filters[idx].type) { - - case Ref<InputEvent>::KEY: { - - if (what == "scancode") { - String sc = p_value; - if (sc == String()) { - filters[idx]->get_scancode() = 0; - } else { - filters[idx]->get_scancode() = find_keycode(p_value); - } - - } else if (what == "unicode") { - - String uc = p_value; - - if (uc == String()) { - filters[idx].key.unicode = 0; - } else { - filters[idx].key.unicode = uc[0]; - } - - } else if (what == "pressed") { - - filters[idx]->is_pressed() = p_value; - } else if (what == "echo") { - - filters[idx]->is_echo() = p_value; - - } else if (what == "mod_alt") { - filters[idx]->get_alt() = p_value; - - } else if (what == "mod_shift") { - filters[idx]->get_shift() = p_value; - - } else if (what == "mod_ctrl") { - filters[idx]->get_control() = p_value; - - } else if (what == "mod_meta") { - filters[idx]->get_metakey() = p_value; - } else { - return false; - } - ports_changed_notify(); - - return true; - } break; - case Ref<InputEvent>::MOUSE_MOTION: { - - if (what == "button_mask") { - filters[idx]->get_button_mask() = p_value; - - } else if (what == "mod_alt") { - filters[idx].mouse_motion->get_alt() = p_value; - - } else if (what == "mod_shift") { - filters[idx].mouse_motion->get_shift() = p_value; - - } else if (what == "mod_ctrl") { - filters[idx].mouse_motion->get_control() = p_value; - - } else if (what == "mod_meta") { - filters[idx].mouse_motion->get_metakey() = p_value; - } else { - return false; - } - - ports_changed_notify(); - return true; - - } break; - case Ref<InputEvent>::MOUSE_BUTTON: { - - if (what == "button_index") { - filters[idx]->get_button_index() = p_value; - } else if (what == "pressed") { - filters[idx]->is_pressed() = p_value; - } else if (what == "doubleclicked") { - filters[idx].mouse_button.doubleclick = p_value; - - } else if (what == "mod_alt") { - filters[idx].mouse_button->get_alt() = p_value; - - } else if (what == "mod_shift") { - filters[idx].mouse_button->get_shift() = p_value; - - } else if (what == "mod_ctrl") { - filters[idx].mouse_button->get_control() = p_value; - - } else if (what == "mod_meta") { - filters[idx].mouse_button->get_metakey() = p_value; - } else { - return false; - } - ports_changed_notify(); - return true; - - } break; - case Ref<InputEvent>::JOYPAD_MOTION: { - - if (what == "axis") { - filters[idx].joy_motion.axis = int(p_value) << 1 | filters[idx].joy_motion.axis; - } else if (what == "mode") { - filters[idx].joy_motion.axis |= int(p_value); - } else if (what == "threshold") { - filters[idx].joy_motion.axis_value = p_value; - } else { - return false; - } - ports_changed_notify(); - return true; - - } break; - case Ref<InputEvent>::JOYPAD_BUTTON: { - - if (what == "button_index") { - filters[idx].joy_button->get_button_index() = p_value; - } else if (what == "pressed") { - filters[idx].joy_button->is_pressed() = p_value; - } else { - return false; - } - ports_changed_notify(); - return true; - - } break; - case Ref<InputEvent>::SCREEN_TOUCH: { - - if (what == "finger_index") { - filters[idx].screen_touch.index = p_value; - } else if (what == "pressed") { - filters[idx].screen_touch->is_pressed() = p_value; - } else { - return false; - } - ports_changed_notify(); - return true; - } break; - case Ref<InputEvent>::SCREEN_DRAG: { - if (what == "finger_index") { - filters[idx].screen_drag.index = p_value; - } else { - return false; - } - ports_changed_notify(); - return true; - } break; - case Ref<InputEvent>::ACTION: { - - if (what == "action_name") { - - List<PropertyInfo> pinfo; - ProjectSettings::get_singleton()->get_property_list(&pinfo); - int index = 1; - - for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { - const PropertyInfo &pi = E->get(); - - if (!pi.name.begins_with("input/")) - continue; - - String name = pi.name.substr(pi.name.find("/") + 1, pi.name.length()); - if (name == String(p_value)) { - - filters[idx].action.action = index; - ports_changed_notify(); - return true; - } - - index++; - } - - filters[idx].action.action = 0; - ports_changed_notify(); - - return false; - - } else if (what == "pressed") { - - filters[idx].action->is_pressed() = p_value; - ports_changed_notify(); - return true; - } - - } break; - } - } - return false; -} - -bool VisualScriptInputFilter::_get(const StringName &p_name, Variant &r_ret) const { - - if (p_name == "filter_count") { - r_ret = filters.size(); - return true; - } - - if (String(p_name).begins_with("filter_")) { - - int idx = String(p_name).replace_first("filters_", "").get_slice("/", 0).to_int(); - - ERR_FAIL_INDEX_V(idx, filters.size(), false); - - String what = String(p_name).get_slice("/", 1); - - if (what == "type") { - r_ret = filters[idx].type; - return true; - } - if (what == "device") { - r_ret = filters[idx].device; - return true; - } - - switch (filters[idx].type) { - - case Ref<InputEvent>::KEY: { - - if (what == "scancode") { - if (filters[idx]->get_scancode() == 0) - r_ret = String(); - else { - - r_ret = keycode_get_string(filters[idx]->get_scancode()); - } - - } else if (what == "unicode") { - - if (filters[idx].key.unicode == 0) { - r_ret = String(); - } else { - CharType str[2] = { (CharType)filters[idx].key.unicode, 0 }; - r_ret = String(str); - } - - } else if (what == "pressed") { - - r_ret = filters[idx]->is_pressed(); - } else if (what == "echo") { - - r_ret = filters[idx]->is_echo(); - - } else if (what == "mod_alt") { - r_ret = filters[idx]->get_alt(); - - } else if (what == "mod_shift") { - r_ret = filters[idx]->get_shift(); - - } else if (what == "mod_ctrl") { - r_ret = filters[idx]->get_control(); - - } else if (what == "mod_meta") { - r_ret = filters[idx]->get_metakey(); - } else { - return false; - } - - return true; - } break; - case Ref<InputEvent>::MOUSE_MOTION: { - - if (what == "button_mask") { - r_ret = filters[idx]->get_button_mask(); - - } else if (what == "mod_alt") { - r_ret = filters[idx].mouse_motion->get_alt(); - - } else if (what == "mod_shift") { - r_ret = filters[idx].mouse_motion->get_shift(); - - } else if (what == "mod_ctrl") { - r_ret = filters[idx].mouse_motion->get_control(); - - } else if (what == "mod_meta") { - r_ret = filters[idx].mouse_motion->get_metakey(); - } else { - return false; - } - - return true; - - } break; - case Ref<InputEvent>::MOUSE_BUTTON: { - - if (what == "button_index") { - r_ret = filters[idx]->get_button_index(); - } else if (what == "pressed") { - r_ret = filters[idx]->is_pressed(); - } else if (what == "doubleclicked") { - r_ret = filters[idx].mouse_button.doubleclick; - - } else if (what == "mod_alt") { - r_ret = filters[idx].mouse_button->get_alt(); - - } else if (what == "mod_shift") { - r_ret = filters[idx].mouse_button->get_shift(); - - } else if (what == "mod_ctrl") { - r_ret = filters[idx].mouse_button->get_control(); - - } else if (what == "mod_meta") { - r_ret = filters[idx].mouse_button->get_metakey(); - } else { - return false; - } - return true; - - } break; - case Ref<InputEvent>::JOYPAD_MOTION: { - - if (what == "axis_index") { - r_ret = filters[idx].joy_motion.axis >> 1; - } else if (what == "mode") { - r_ret = filters[idx].joy_motion.axis & 1; - } else if (what == "threshold") { - r_ret = filters[idx].joy_motion.axis_value; - } else { - return false; - } - return true; - - } break; - case Ref<InputEvent>::JOYPAD_BUTTON: { - - if (what == "button_index") { - r_ret = filters[idx].joy_button->get_button_index(); - } else if (what == "pressed") { - r_ret = filters[idx].joy_button->is_pressed(); - } else { - return false; - } - return true; - - } break; - case Ref<InputEvent>::SCREEN_TOUCH: { - - if (what == "finger_index") { - r_ret = filters[idx].screen_touch.index; - } else if (what == "pressed") { - r_ret = filters[idx].screen_touch->is_pressed(); - } else { - return false; - } - return true; - } break; - case Ref<InputEvent>::SCREEN_DRAG: { - if (what == "finger_index") { - r_ret = filters[idx].screen_drag.index; - } else { - return false; - } - return true; - } break; - case Ref<InputEvent>::ACTION: { - - if (what == "action_name") { - - List<PropertyInfo> pinfo; - ProjectSettings::get_singleton()->get_property_list(&pinfo); - int index = 1; - - for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { - const PropertyInfo &pi = E->get(); - - if (!pi.name.begins_with("input/")) - continue; - - if (filters[idx].action.action == index) { - r_ret = pi.name.substr(pi.name.find("/") + 1, pi.name.length()); - return true; - } - index++; - } - - r_ret = "None"; //no index - return false; - - } else if (what == "pressed") { - - r_ret = filters[idx].action->is_pressed(); - return true; - } - - } break; - } - } - return false; -} - -static const char *event_type_names[Ref<InputEvent>::TYPE_MAX] = { - "None", - "Key", - "MouseMotion", - "MouseButton", - "JoypadMotion", - "JoypadButton", - "ScreenTouch", - "ScreenDrag", - "Action" -}; - -void VisualScriptInputFilter::_get_property_list(List<PropertyInfo> *p_list) const { - - p_list->push_back(PropertyInfo(Variant::INT, "filter_count", PROPERTY_HINT_RANGE, "0,64")); - - String et; - for (int i = 0; i < Ref<InputEvent>::TYPE_MAX; i++) { - if (i > 0) - et += ","; - - et += event_type_names[i]; - } - - String kc; - String actions; - - for (int i = 0; i < filters.size(); i++) { - - String base = "filter_" + itos(i) + "/"; - p_list->push_back(PropertyInfo(Variant::INT, base + "type", PROPERTY_HINT_ENUM, et)); - p_list->push_back(PropertyInfo(Variant::INT, base + "device")); - switch (filters[i].type) { - - case Ref<InputEvent>::NONE: { - - } break; - case Ref<InputEvent>::KEY: { - if (kc == String()) { - int kcc = keycode_get_count(); - kc = "None"; - for (int i = 0; i < kcc; i++) { - kc += ","; - kc += String(keycode_get_name_by_index(i)); - } - } - p_list->push_back(PropertyInfo(Variant::STRING, base + "scancode", PROPERTY_HINT_ENUM, kc)); - p_list->push_back(PropertyInfo(Variant::STRING, base + "unicode")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "echo")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_alt")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_shift")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_ctrl")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_meta")); - - } break; - case Ref<InputEvent>::MOUSE_MOTION: { - p_list->push_back(PropertyInfo(Variant::INT, base + "button_mask", PROPERTY_HINT_FLAGS, "Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_alt")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_shift")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_ctrl")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_meta")); - - } break; - case Ref<InputEvent>::MOUSE_BUTTON: { - p_list->push_back(PropertyInfo(Variant::INT, base + "button_index", PROPERTY_HINT_ENUM, "Any,Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "doubleclicked")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_alt")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_shift")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_ctrl")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_meta")); - - } break; - case Ref<InputEvent>::JOYPAD_MOTION: { - - p_list->push_back(PropertyInfo(Variant::INT, base + "axis_index")); - p_list->push_back(PropertyInfo(Variant::INT, base + "mode", PROPERTY_HINT_ENUM, "Min,Max")); - p_list->push_back(PropertyInfo(Variant::REAL, base + "threshold", PROPERTY_HINT_RANGE, "0,1,0.01")); - } break; - case Ref<InputEvent>::JOYPAD_BUTTON: { - p_list->push_back(PropertyInfo(Variant::INT, base + "button_index")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed")); - - } break; - case Ref<InputEvent>::SCREEN_TOUCH: { - p_list->push_back(PropertyInfo(Variant::INT, base + "finger_index")); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed")); - - } break; - case Ref<InputEvent>::SCREEN_DRAG: { - p_list->push_back(PropertyInfo(Variant::INT, base + "finger_index")); - } break; - case Ref<InputEvent>::ACTION: { - - if (actions == String()) { - - actions = "None"; - - List<PropertyInfo> pinfo; - ProjectSettings::get_singleton()->get_property_list(&pinfo); - Vector<String> al; - - for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) { - const PropertyInfo &pi = E->get(); - - if (!pi.name.begins_with("input/")) - continue; - - String name = pi.name.substr(pi.name.find("/") + 1, pi.name.length()); - - al.push_back(name); - } - - for (int i = 0; i < al.size(); i++) { - actions += ","; - actions += al[i]; - } - } - - p_list->push_back(PropertyInfo(Variant::STRING, base + "action_name", PROPERTY_HINT_ENUM, actions)); - p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed")); - - } break; - } - } -} - -class VisualScriptNodeInstanceInputFilter : public VisualScriptNodeInstance { -public: - VisualScriptInstance *instance; - Vector<Ref<InputEvent>> filters; - - //virtual int get_working_memory_size() const { return 0; } - //virtual bool is_output_port_unsequenced(int p_idx) const { return false; } - //virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; } - - virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) { - - if (p_inputs[0]->get_type() != Variant::INPUT_EVENT) { - r_error_str = "Input value not of type event"; - r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD; - return 0; - } - - Ref<InputEvent> event = *p_inputs[0]; - - for (int i = 0; i < filters.size(); i++) { - - const Ref<InputEvent> &ie = filters[i]; - if (ie.type != event.type) - continue; - - bool match = false; - - switch (ie.type) { - - case Ref<InputEvent>::NONE: { - - match = true; - } break; - case Ref<InputEvent>::KEY: { - - InputEventKey k = ie.key; - InputEventKey k2 = event.key; - - if (k->get_scancode() == 0 && k.unicode == 0 && k2->get_scancode() == 0 && k2.unicode == 0) { - match = true; - - } else { - - if ((k->get_scancode() != 0 && k->get_scancode() == k2->get_scancode()) || (k.unicode != 0 && k.unicode == k2.unicode)) { - //key valid - - if ( - k->is_pressed() == k2->is_pressed() && - k.echo == k2.echo && - k.mod == k2.mod) { - match = true; - } - } - } - - } break; - case Ref<InputEvent>::MOUSE_MOTION: { - InputEventMouseMotion mm = ie.mouse_motion; - InputEventMouseMotion mm2 = event.mouse_motion; - - if (mm->get_button_mask() == mm2->get_button_mask() && - mm.mod == mm2.mod) { - match = true; - } - - } break; - case Ref<InputEvent>::MOUSE_BUTTON: { - - InputEventMouseButton mb = ie.mouse_button; - InputEventMouseButton mb2 = event.mouse_button; - - if (mb->get_button_index() == mb2->get_button_index() && - mb->is_pressed() == mb2->is_pressed() && - mb.doubleclick == mb2.doubleclick && - mb.mod == mb2.mod) { - match = true; - } - - } break; - case Ref<InputEvent>::JOYPAD_MOTION: { - - InputEventJoypadMotion jm = ie.joy_motion; - InputEventJoypadMotion jm2 = event.joy_motion; - - int axis = jm.axis >> 1; - - if (axis == jm2.axis) { - - if (jm.axis & 1) { - //greater - if (jm2.axis_value > jm.axis_value) { - match = true; - } - } else { - //less - if (jm2.axis_value < -jm.axis_value) { - match = true; - } - } - } - - } break; - case Ref<InputEvent>::JOYPAD_BUTTON: { - InputEventJoypadButton jb = ie.joy_button; - InputEventJoypadButton jb2 = event.joy_button; - - if (jb->get_button_index() == jb2->get_button_index() && - jb->is_pressed() == jb2->is_pressed()) { - match = true; - } - } break; - case Ref<InputEvent>::SCREEN_TOUCH: { - InputEventScreenTouch st = ie.screen_touch; - InputEventScreenTouch st2 = event.screen_touch; - - if (st.index == st2.index && - st->is_pressed() == st2->is_pressed()) { - match = true; - } - - } break; - case Ref<InputEvent>::SCREEN_DRAG: { - InputEventScreenDrag sd = ie.screen_drag; - InputEventScreenDrag sd2 = event.screen_drag; - - if (sd.index == sd2.index) { - match = true; - } - } break; - case Ref<InputEvent>::ACTION: { - - InputEventAction ia = ie.action; - InputEventAction ia2 = event.action; - - if (ia.action == ia2.action && - ia->is_pressed() == ia2->is_pressed()) { - match = true; - } - } break; - } - - *p_outputs[0] = event; - - if (match) - return i; //go through match output - } - - return STEP_NO_ADVANCE_BIT; //none found, don't advance - } -}; - -VisualScriptNodeInstance *VisualScriptInputFilter::instance(VisualScriptInstance *p_instance) { - - VisualScriptNodeInstanceInputFilter *instance = memnew(VisualScriptNodeInstanceInputFilter); - instance->instance = p_instance; - instance->filters = filters; - return instance; -} - -VisualScriptInputFilter::VisualScriptInputFilter() { -} -#endif ////////////////////////////////////////// ////////////////TYPE CAST/////////// ////////////////////////////////////////// diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h index 380eb76c45..4766bbef6b 100644 --- a/modules/visual_script/visual_script_flow_control.h +++ b/modules/visual_script/visual_script_flow_control.h @@ -228,40 +228,6 @@ public: VisualScriptSwitch(); }; -#if 0 -class VisualScriptInputFilter : public VisualScriptNode { - - GDCLASS(VisualScriptInputFilter, VisualScriptNode) - - Vector<Ref<InputEvent>> filters; - -protected: - bool _set(const StringName &p_name, const Variant &p_value); - bool _get(const StringName &p_name, Variant &r_ret) const; - void _get_property_list(List<PropertyInfo> *p_list) const; - -public: - virtual int get_output_sequence_port_count() const; - virtual bool has_input_sequence_port() const; - - virtual String get_output_sequence_port_text(int p_port) const; - - virtual int get_input_value_port_count() const; - virtual int get_output_value_port_count() const; - - virtual PropertyInfo get_input_value_port_info(int p_idx) const; - virtual PropertyInfo get_output_value_port_info(int p_idx) const; - - virtual String get_caption() const; - virtual String get_text() const; - virtual String get_category() const { return "flow_control"; } - - virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance); - - VisualScriptInputFilter(); -}; -#endif - class VisualScriptTypeCast : public VisualScriptNode { GDCLASS(VisualScriptTypeCast, VisualScriptNode) diff --git a/platform/android/detect.py b/platform/android/detect.py index bc67f6e6dc..892b1b6a85 100644 --- a/platform/android/detect.py +++ b/platform/android/detect.py @@ -277,7 +277,7 @@ def get_ndk_version(path): try: with open(prop_file_path) as prop_file: for line in prop_file: - key_value = map(lambda x: string.strip(x), line.split("=")) + key_value = list(map(lambda x: x.strip(), line.split("="))) if key_value[0] == "Pkg.Revision": return key_value[1] except: diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 255413bf2c..d4c079cfc6 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -352,10 +352,11 @@ class EditorExportAndroid : public EditorExportPlatform { ea->device_lock->unlock(); } + uint64_t sleep = OS::get_singleton()->get_power_state() == OS::POWERSTATE_ON_BATTERY ? 1000 : 100; uint64_t wait = 3000000; uint64_t time = OS::get_singleton()->get_ticks_usec(); while (OS::get_singleton()->get_ticks_usec() - time < wait) { - OS::get_singleton()->delay_usec(1000); + OS::get_singleton()->delay_usec(1000 * sleep); if (ea->quit_request) break; } @@ -1305,7 +1306,7 @@ public: return valid; } - virtual String get_binary_extension() const { + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const { return "apk"; } diff --git a/platform/android/godot_android.cpp b/platform/android/godot_android.cpp index f9bcbadc24..8c4a4726ae 100644 --- a/platform/android/godot_android.cpp +++ b/platform/android/godot_android.cpp @@ -927,7 +927,6 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_Godot_registerMethod(JNIEnv *e int stringCount = env->GetArrayLength(args); - print_line("Singl: " + singname + " Method: " + mname + " RetVal: " + retval); for (int i = 0; i < stringCount; i++) { jstring string = (jstring)env->GetObjectArrayElement(args, i); @@ -939,7 +938,6 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_Godot_registerMethod(JNIEnv *e cs += ")"; cs += get_jni_sig(retval); jclass cls = env->GetObjectClass(s->get_instance()); - print_line("METHOD: " + mname + " sig: " + cs); jmethodID mid = env->GetMethodID(cls, mname.ascii().get_data(), cs.ascii().get_data()); if (!mid) { diff --git a/platform/android/java_glue.cpp b/platform/android/java_glue.cpp index 40dfe6d909..1e28ef4c6a 100644 --- a/platform/android/java_glue.cpp +++ b/platform/android/java_glue.cpp @@ -241,7 +241,6 @@ Variant _jobject_to_variant(JNIEnv *env, jobject obj) { String name = _get_class_name(env, c, &array); //print_line("name is " + name + ", array "+Variant(array)); - print_line("ARGNAME: " + name); if (name == "java.lang.String") { return String::utf8(env->GetStringUTFChars((jstring)obj, NULL)); @@ -936,13 +935,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jo } __android_log_print(ANDROID_LOG_INFO, "godot", "CMDLINE LEN %i - APK EXPANSION %i\n", cmdlen, int(use_apk_expansion)); -#if 0 - char *args[]={"-test","render",NULL}; - __android_log_print(ANDROID_LOG_INFO,"godot","pre asdasd setup..."); - Error err = Main::setup("apk",2,args,false); -#else Error err = Main::setup("apk", cmdlen, (char **)cmdline, false); -#endif if (cmdline) { free(cmdline); } @@ -1519,7 +1512,6 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_method(JNIEnv *env, j int stringCount = env->GetArrayLength(args); - print_line("Singl: " + singname + " Method: " + mname + " RetVal: " + retval); for (int i = 0; i < stringCount; i++) { jstring string = (jstring)env->GetObjectArrayElement(args, i); @@ -1531,7 +1523,6 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_method(JNIEnv *env, j cs += ")"; cs += get_jni_sig(retval); jclass cls = env->GetObjectClass(s->get_instance()); - print_line("METHOD: " + mname + " sig: " + cs); jmethodID mid = env->GetMethodID(cls, mname.ascii().get_data(), cs.ascii().get_data()); if (!mid) { diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp index 1833bdf2b3..9ea8d58db0 100644 --- a/platform/iphone/export/export.cpp +++ b/platform/iphone/export/export.cpp @@ -108,7 +108,7 @@ public: virtual String get_os_name() const { return "iOS"; } virtual Ref<Texture> get_logo() const { return logo; } - virtual String get_binary_extension() const { return "ipa"; } + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const { return "ipa"; } virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0); virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const; diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp index 775e9c7ee0..ec5010f330 100644 --- a/platform/javascript/export/export.cpp +++ b/platform/javascript/export/export.cpp @@ -57,7 +57,7 @@ public: virtual Ref<Texture> get_logo() const; virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const; - virtual String get_binary_extension() const; + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const; virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0); virtual bool poll_devices(); @@ -149,7 +149,7 @@ bool EditorExportPlatformJavaScript::can_export(const Ref<EditorExportPreset> &p return !r_missing_templates; } -String EditorExportPlatformJavaScript::get_binary_extension() const { +String EditorExportPlatformJavaScript::get_binary_extension(const Ref<EditorExportPreset> &p_preset) const { return "html"; } diff --git a/platform/osx/detect.py b/platform/osx/detect.py index e8a8319431..2e686fbee4 100644 --- a/platform/osx/detect.py +++ b/platform/osx/detect.py @@ -82,9 +82,6 @@ def configure(env): env['RANLIB'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib" env['AS'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as" env.Append(CCFLAGS=['-D__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define - if (env["openmp"]): - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LINKFLAGS=['-fopenmp']) else: # osxcross build root = os.environ.get("OSXCROSS_ROOT", 0) diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp index d3b763b42e..8a09aa634e 100644 --- a/platform/osx/export/export.cpp +++ b/platform/osx/export/export.cpp @@ -74,7 +74,7 @@ public: virtual String get_os_name() const { return "OSX"; } virtual Ref<Texture> get_logo() const { return logo; } - virtual String get_binary_extension() const { return use_dmg() ? "dmg" : "zip"; } + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const { return use_dmg() ? "dmg" : "zip"; } virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0); virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const; diff --git a/platform/osx/os_osx.h b/platform/osx/os_osx.h index ede50a05ba..2381b85658 100644 --- a/platform/osx/os_osx.h +++ b/platform/osx/os_osx.h @@ -215,8 +215,8 @@ public: virtual bool _check_internal_feature_support(const String &p_feature); - virtual void set_use_vsync(bool p_enable); - virtual bool is_vsync_enabled() const; + virtual void _set_use_vsync(bool p_enable); + //virtual bool is_vsync_enabled() const; void run(); diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index f3809e6eed..aab37cb59c 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -2063,14 +2063,14 @@ Error OS_OSX::move_to_trash(const String &p_path) { return OK; } -void OS_OSX::set_use_vsync(bool p_enable) { +void OS_OSX::_set_use_vsync(bool p_enable) { CGLContextObj ctx = CGLGetCurrentContext(); if (ctx) { GLint swapInterval = p_enable ? 1 : 0; CGLSetParameter(ctx, kCGLCPSwapInterval, &swapInterval); } } - +/* bool OS_OSX::is_vsync_enabled() const { GLint swapInterval = 0; CGLContextObj ctx = CGLGetCurrentContext(); @@ -2079,7 +2079,7 @@ bool OS_OSX::is_vsync_enabled() const { } return swapInterval ? true : false; } - +*/ OS_OSX *OS_OSX::singleton = NULL; OS_OSX::OS_OSX() { diff --git a/platform/uwp/SCsub b/platform/uwp/SCsub index f0d69fef33..fb0c4a92ae 100644 --- a/platform/uwp/SCsub +++ b/platform/uwp/SCsub @@ -4,9 +4,6 @@ Import('env') files = [ 'thread_uwp.cpp', - '#platform/windows/tcp_server_winsock.cpp', - '#platform/windows/packet_peer_udp_winsock.cpp', - '#platform/windows/stream_peer_winsock.cpp', '#platform/windows/key_mapping_win.cpp', '#platform/windows/windows_terminal_logger.cpp', 'joypad_uwp.cpp', diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 7f86b4ae53..45ca097de5 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -1013,7 +1013,7 @@ public: return "UWP"; } - virtual String get_binary_extension() const { + virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const { return "appx"; } diff --git a/platform/uwp/os_uwp.cpp b/platform/uwp/os_uwp.cpp index 659f162724..3018ac0bef 100644 --- a/platform/uwp/os_uwp.cpp +++ b/platform/uwp/os_uwp.cpp @@ -34,13 +34,13 @@ #include "drivers/windows/dir_access_windows.h" #include "drivers/windows/file_access_windows.h" #include "drivers/windows/mutex_windows.h" +#include "drivers/windows/packet_peer_udp_winsock.h" #include "drivers/windows/rw_lock_windows.h" #include "drivers/windows/semaphore_windows.h" +#include "drivers/windows/stream_peer_tcp_winsock.h" +#include "drivers/windows/tcp_server_winsock.h" #include "io/marshalls.h" #include "main/main.h" -#include "platform/windows/packet_peer_udp_winsock.h" -#include "platform/windows/stream_peer_winsock.h" -#include "platform/windows/tcp_server_winsock.h" #include "platform/windows/windows_terminal_logger.h" #include "project_settings.h" #include "servers/audio_server.h" @@ -163,7 +163,7 @@ void OSUWP::initialize_core() { DirAccess::make_default<DirAccessWindows>(DirAccess::ACCESS_FILESYSTEM); TCPServerWinsock::make_default(); - StreamPeerWinsock::make_default(); + StreamPeerTCPWinsock::make_default(); PacketPeerUDPWinsock::make_default(); // We need to know how often the clock is updated diff --git a/platform/windows/SCsub b/platform/windows/SCsub index 135ccd902a..604896b0db 100644 --- a/platform/windows/SCsub +++ b/platform/windows/SCsub @@ -9,9 +9,9 @@ def make_debug_mingw(target, source, env): mingw_prefix = env["mingw_prefix_32"] else: mingw_prefix = env["mingw_prefix_64"] - os.system(mingw_prefix + 'objcopy --only-keep-debug %s %s.debug' % (target[0], target[0])) + os.system(mingw_prefix + 'objcopy --only-keep-debug %s %s.debugsymbols' % (target[0], target[0])) os.system(mingw_prefix + 'strip --strip-debug --strip-unneeded %s' % (target[0])) - os.system(mingw_prefix + 'objcopy --add-gnu-debuglink=%s.debug %s' % (target[0], target[0])) + os.system(mingw_prefix + 'objcopy --add-gnu-debuglink=%s.debugsymbols %s' % (target[0], target[0])) common_win = [ "context_gl_win.cpp", @@ -19,9 +19,6 @@ common_win = [ "os_windows.cpp", "ctxgl_procaddr.cpp", "key_mapping_win.cpp", - "tcp_server_winsock.cpp", - "packet_peer_udp_winsock.cpp", - "stream_peer_winsock.cpp", "joypad.cpp", "power_windows.cpp", "windows_terminal_logger.cpp" diff --git a/platform/windows/detect.py b/platform/windows/detect.py index bc8be7f034..3b8de2caf4 100644 --- a/platform/windows/detect.py +++ b/platform/windows/detect.py @@ -188,8 +188,9 @@ def configure(env): else: VC_PATH = "" - if (env["openmp"]): - env.Append(CPPFLAGS=['/openmp']) + if (env["use_lto"]): + env.Append(CCFLAGS=['/GL']) + env.Append(LINKFLAGS=['/LTCG']) env.Append(CCFLAGS=["/I" + p for p in os.getenv("INCLUDE").split(";")]) env.Append(LIBPATH=[p for p in os.getenv("LIB").split(";")]) @@ -267,9 +268,6 @@ def configure(env): env.Append(CCFLAGS=['-flto']) env.Append(LINKFLAGS=['-flto=' + str(env.GetOption("num_jobs"))]) - if (env["openmp"]): - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LIBS=['gomp']) ## Compile flags diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 5916c8f06c..d3fa2bbc0d 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -34,19 +34,19 @@ #include "drivers/windows/dir_access_windows.h" #include "drivers/windows/file_access_windows.h" #include "drivers/windows/mutex_windows.h" +#include "drivers/windows/packet_peer_udp_winsock.h" #include "drivers/windows/rw_lock_windows.h" #include "drivers/windows/semaphore_windows.h" +#include "drivers/windows/stream_peer_tcp_winsock.h" +#include "drivers/windows/tcp_server_winsock.h" #include "drivers/windows/thread_windows.h" #include "io/marshalls.h" #include "joypad.h" #include "lang_table.h" #include "main/main.h" -#include "packet_peer_udp_winsock.h" #include "servers/audio_server.h" #include "servers/visual/visual_server_raster.h" #include "servers/visual/visual_server_wrap_mt.h" -#include "stream_peer_winsock.h" -#include "tcp_server_winsock.h" #include "version_generated.gen.h" #include "windows_terminal_logger.h" @@ -196,7 +196,7 @@ void OS_Windows::initialize_core() { DirAccess::make_default<DirAccessWindows>(DirAccess::ACCESS_FILESYSTEM); TCPServerWinsock::make_default(); - StreamPeerWinsock::make_default(); + StreamPeerTCPWinsock::make_default(); PacketPeerUDPWinsock::make_default(); // We need to know how often the clock is updated @@ -1253,7 +1253,7 @@ void OS_Windows::finalize_core() { memdelete(process_map); TCPServerWinsock::cleanup(); - StreamPeerWinsock::cleanup(); + StreamPeerTCPWinsock::cleanup(); } void OS_Windows::alert(const String &p_alert, const String &p_title) { @@ -2288,19 +2288,19 @@ String OS_Windows::get_joy_guid(int p_device) const { return input->get_joy_guid_remapped(p_device); } -void OS_Windows::set_use_vsync(bool p_enable) { +void OS_Windows::_set_use_vsync(bool p_enable) { if (gl_context) gl_context->set_use_vsync(p_enable); } - +/* bool OS_Windows::is_vsync_enabled() const { if (gl_context) return gl_context->is_using_vsync(); return true; -} +}*/ OS::PowerState OS_Windows::get_power_state() { return power_manager->get_power_state(); diff --git a/platform/windows/os_windows.h b/platform/windows/os_windows.h index f2226a53a9..7c5490a0a4 100644 --- a/platform/windows/os_windows.h +++ b/platform/windows/os_windows.h @@ -275,8 +275,8 @@ public: virtual bool is_joy_known(int p_device); virtual String get_joy_guid(int p_device) const; - virtual void set_use_vsync(bool p_enable); - virtual bool is_vsync_enabled() const; + virtual void _set_use_vsync(bool p_enable); + //virtual bool is_vsync_enabled() const; virtual OS::PowerState get_power_state(); virtual int get_power_seconds_left(); diff --git a/platform/x11/SCsub b/platform/x11/SCsub index 6378553638..38dd2ddd88 100644 --- a/platform/x11/SCsub +++ b/platform/x11/SCsub @@ -4,9 +4,9 @@ import os Import('env') def make_debug(target, source, env): - os.system('objcopy --only-keep-debug %s %s.debug' % (target[0], target[0])) + os.system('objcopy --only-keep-debug %s %s.debugsymbols' % (target[0], target[0])) os.system('strip --strip-debug --strip-unneeded %s' % (target[0])) - os.system('objcopy --add-gnu-debuglink=%s.debug %s' % (target[0], target[0])) + os.system('objcopy --add-gnu-debuglink=%s.debugsymbols %s' % (target[0], target[0])) common_x11 = [ "context_gl_x11.cpp", diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 09bf57c5f1..cb45fed1be 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -265,9 +265,5 @@ def configure(env): env.Append(LINKFLAGS=['-m64', '-L/usr/lib/i686-linux-gnu']) - if env["openmp"]: - env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LINKFLAGS=['-fopenmp']) - if env['use_static_cpp']: env.Append(LINKFLAGS=['-static-libstdc++']) diff --git a/platform/x11/export/export.cpp b/platform/x11/export/export.cpp index fdb43c9ae0..1baa3e127f 100644 --- a/platform/x11/export/export.cpp +++ b/platform/x11/export/export.cpp @@ -44,7 +44,8 @@ void register_x11_exporter() { logo->create_from_image(img); platform->set_logo(logo); platform->set_name("Linux/X11"); - platform->set_extension("bin"); + platform->set_extension("x86"); + platform->set_extension("x86_64", "binary_format/64_bits"); platform->set_release_32("linux_x11_32_release"); platform->set_debug_32("linux_x11_32_debug"); platform->set_release_64("linux_x11_64_release"); diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 0c0bc1a8a3..f3f4b1f217 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -1050,6 +1050,10 @@ void OS_X11::set_window_maximized(bool p_enabled) { XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev); + while (p_enabled && !is_window_maximized()) { + // Wait for effective resizing (so the GLX context is too). + } + maximized = p_enabled; } @@ -2306,11 +2310,11 @@ String OS_X11::get_joy_guid(int p_device) const { return input->get_joy_guid_remapped(p_device); } -void OS_X11::set_use_vsync(bool p_enable) { +void OS_X11::_set_use_vsync(bool p_enable) { if (context_gl) return context_gl->set_use_vsync(p_enable); } - +/* bool OS_X11::is_vsync_enabled() const { if (context_gl) @@ -2318,7 +2322,7 @@ bool OS_X11::is_vsync_enabled() const { return true; } - +*/ void OS_X11::set_context(int p_context) { XClassHint *classHint = XAllocClassHint(); diff --git a/platform/x11/os_x11.h b/platform/x11/os_x11.h index c8cea1e30c..86f25918fd 100644 --- a/platform/x11/os_x11.h +++ b/platform/x11/os_x11.h @@ -270,8 +270,8 @@ public: virtual void set_context(int p_context); - virtual void set_use_vsync(bool p_enable); - virtual bool is_vsync_enabled() const; + virtual void _set_use_vsync(bool p_enable); + //virtual bool is_vsync_enabled() const; virtual OS::PowerState get_power_state(); virtual int get_power_seconds_left(); diff --git a/scene/2d/navigation2d.cpp b/scene/2d/navigation2d.cpp index 9eff107827..40013814f8 100644 --- a/scene/2d/navigation2d.cpp +++ b/scene/2d/navigation2d.cpp @@ -205,7 +205,7 @@ void Navigation2D::_navpoly_unlink(int p_id) { nm.linked = false; } -int Navigation2D::navpoly_create(const Ref<NavigationPolygon> &p_mesh, const Transform2D &p_xform, Object *p_owner) { +int Navigation2D::navpoly_add(const Ref<NavigationPolygon> &p_mesh, const Transform2D &p_xform, Object *p_owner) { int id = last_id++; NavMesh nm; @@ -708,7 +708,7 @@ Object *Navigation2D::get_closest_point_owner(const Vector2 &p_point) { void Navigation2D::_bind_methods() { - ClassDB::bind_method(D_METHOD("navpoly_create", "mesh", "xform", "owner"), &Navigation2D::navpoly_create, DEFVAL(Variant())); + ClassDB::bind_method(D_METHOD("navpoly_add", "mesh", "xform", "owner"), &Navigation2D::navpoly_add, DEFVAL(Variant())); ClassDB::bind_method(D_METHOD("navpoly_set_transform", "id", "xform"), &Navigation2D::navpoly_set_transform); ClassDB::bind_method(D_METHOD("navpoly_remove", "id"), &Navigation2D::navpoly_remove); diff --git a/scene/2d/navigation2d.h b/scene/2d/navigation2d.h index bb97e1a9a9..02dbcb0f96 100644 --- a/scene/2d/navigation2d.h +++ b/scene/2d/navigation2d.h @@ -159,7 +159,7 @@ protected: public: //API should be as dynamic as possible - int navpoly_create(const Ref<NavigationPolygon> &p_mesh, const Transform2D &p_xform, Object *p_owner = NULL); + int navpoly_add(const Ref<NavigationPolygon> &p_mesh, const Transform2D &p_xform, Object *p_owner = NULL); void navpoly_set_transform(int p_id, const Transform2D &p_xform); void navpoly_remove(int p_id); diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp index c53241e985..5a6a5128e6 100644 --- a/scene/2d/navigation_polygon.cpp +++ b/scene/2d/navigation_polygon.cpp @@ -293,7 +293,7 @@ void NavigationPolygonInstance::set_enabled(bool p_enabled) { if (navpoly.is_valid()) { - nav_id = navigation->navpoly_create(navpoly, get_relative_transform_to_parent(navigation), this); + nav_id = navigation->navpoly_add(navpoly, get_relative_transform_to_parent(navigation), this); } } } @@ -324,7 +324,7 @@ void NavigationPolygonInstance::_notification(int p_what) { if (enabled && navpoly.is_valid()) { - nav_id = navigation->navpoly_create(navpoly, get_relative_transform_to_parent(navigation), this); + nav_id = navigation->navpoly_add(navpoly, get_relative_transform_to_parent(navigation), this); } break; } @@ -419,7 +419,7 @@ void NavigationPolygonInstance::set_navigation_polygon(const Ref<NavigationPolyg } if (navigation && navpoly.is_valid() && enabled) { - nav_id = navigation->navpoly_create(navpoly, get_relative_transform_to_parent(navigation), this); + nav_id = navigation->navpoly_add(navpoly, get_relative_transform_to_parent(navigation), this); } //update_gizmo(); _change_notify("navpoly"); diff --git a/scene/2d/particles_2d.cpp b/scene/2d/particles_2d.cpp index 7d53557216..cc3829ad07 100644 --- a/scene/2d/particles_2d.cpp +++ b/scene/2d/particles_2d.cpp @@ -35,8 +35,7 @@ void Particles2D::set_emitting(bool p_emitting) { - emitting = p_emitting; - VS::get_singleton()->particles_set_emitting(particles, emitting); + VS::get_singleton()->particles_set_emitting(particles, p_emitting); } void Particles2D::set_amount(int p_amount) { @@ -56,7 +55,7 @@ void Particles2D::set_one_shot(bool p_enable) { one_shot = p_enable; VS::get_singleton()->particles_set_one_shot(particles, one_shot); - if (!one_shot && emitting) + if (!one_shot && is_emitting()) VisualServer::get_singleton()->particles_restart(particles); } void Particles2D::set_pre_process_time(float p_time) { @@ -134,7 +133,7 @@ void Particles2D::set_speed_scale(float p_scale) { bool Particles2D::is_emitting() const { - return emitting; + return VS::get_singleton()->particles_get_emitting(particles); } int Particles2D::get_amount() const { diff --git a/scene/2d/particles_2d.h b/scene/2d/particles_2d.h index 6946f2a799..455a663693 100644 --- a/scene/2d/particles_2d.h +++ b/scene/2d/particles_2d.h @@ -47,7 +47,6 @@ public: private: RID particles; - bool emitting; bool one_shot; int amount; float lifetime; diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index 1e34372d1e..a83c1c1cad 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -486,7 +486,7 @@ void TileMap::_update_dirty_quadrants() { xform.set_origin(offset.floor() + q.pos); _fix_cell_transform(xform, c, npoly_ofs + center_ofs, s); - int pid = navigation->navpoly_create(navpoly, nav_rel * xform); + int pid = navigation->navpoly_add(navpoly, nav_rel * xform); Quadrant::NavPoly np; np.id = pid; @@ -739,6 +739,26 @@ void TileMap::update_bitmask_area(const Vector2 &p_pos) { } } +void TileMap::update_bitmask_region(const Vector2 &p_start, const Vector2 &p_end) { + + if ((p_end.x < p_start.x || p_end.y < p_start.y) || (p_end.x == p_start.x && p_end.y == p_start.y)) { + int i; + Array a = get_used_cells(); + for (i = 0; i < a.size(); i++) { + // update_bitmask_area() in order to update cells adjacent to the + // current cell, since ordering in array may not be reliable + Vector2 vector = (Vector2)a[i]; + update_bitmask_area(Vector2(vector.x, vector.y)); + } + return; + } + for (int x = p_start.x - 1; x <= p_end.x + 1; x++) { + for (int y = p_start.y - 1; y <= p_end.y + 1; y++) { + update_cell_bitmask(x, y); + } + } +} + void TileMap::update_cell_bitmask(int p_x, int p_y) { PosKey p(p_x, p_y); @@ -1507,6 +1527,9 @@ void TileMap::_bind_methods() { ClassDB::bind_method(D_METHOD("_recreate_quadrants"), &TileMap::_recreate_quadrants); ClassDB::bind_method(D_METHOD("_update_dirty_quadrants"), &TileMap::_update_dirty_quadrants); + ClassDB::bind_method(D_METHOD("update_bitmask_area", "position"), &TileMap::update_bitmask_area); + ClassDB::bind_method(D_METHOD("update_bitmask_region", "start", "end"), &TileMap::update_bitmask_region, DEFVAL(Vector2()), DEFVAL(Vector2())); + ClassDB::bind_method(D_METHOD("_set_tile_data"), &TileMap::_set_tile_data); ClassDB::bind_method(D_METHOD("_get_tile_data"), &TileMap::_get_tile_data); diff --git a/scene/2d/tile_map.h b/scene/2d/tile_map.h index e5608884c4..8f0b2e6e4c 100644 --- a/scene/2d/tile_map.h +++ b/scene/2d/tile_map.h @@ -245,6 +245,7 @@ public: void make_bitmask_area_dirty(const Vector2 &p_pos); void update_bitmask_area(const Vector2 &p_pos); + void update_bitmask_region(const Vector2 &p_start = Vector2(), const Vector2 &p_end = Vector2()); void update_cell_bitmask(int p_x, int p_y); void update_dirty_bitmask(); diff --git a/scene/3d/arvr_nodes.cpp b/scene/3d/arvr_nodes.cpp index e1e0b9b1ce..2bb41bf49e 100644 --- a/scene/3d/arvr_nodes.cpp +++ b/scene/3d/arvr_nodes.cpp @@ -231,7 +231,7 @@ void ARVRController::_notification(int p_what) { void ARVRController::_bind_methods() { ClassDB::bind_method(D_METHOD("set_controller_id", "controller_id"), &ARVRController::set_controller_id); ClassDB::bind_method(D_METHOD("get_controller_id"), &ARVRController::get_controller_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "controller_id", PROPERTY_HINT_RANGE, "1,32,1"), "set_controller_id", "get_controller_id"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "controller_id", PROPERTY_HINT_RANGE, "0,32,1"), "set_controller_id", "get_controller_id"); ClassDB::bind_method(D_METHOD("get_controller_name"), &ARVRController::get_controller_name); // passthroughs to information about our related joystick @@ -251,7 +251,8 @@ void ARVRController::_bind_methods() { }; void ARVRController::set_controller_id(int p_controller_id) { - // we don't check any bounds here, this controller may not yet be active and just be a place holder until it is. + // We don't check any bounds here, this controller may not yet be active and just be a place holder until it is. + // Note that setting this to 0 means this node is not bound to a controller yet. controller_id = p_controller_id; }; @@ -420,7 +421,7 @@ void ARVRAnchor::_bind_methods() { ClassDB::bind_method(D_METHOD("set_anchor_id", "anchor_id"), &ARVRAnchor::set_anchor_id); ClassDB::bind_method(D_METHOD("get_anchor_id"), &ARVRAnchor::get_anchor_id); - ADD_PROPERTY(PropertyInfo(Variant::INT, "anchor_id"), "set_anchor_id", "get_anchor_id"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "anchor_id", PROPERTY_HINT_RANGE, "0,32,1"), "set_anchor_id", "get_anchor_id"); ClassDB::bind_method(D_METHOD("get_anchor_name"), &ARVRAnchor::get_anchor_name); ClassDB::bind_method(D_METHOD("get_is_active"), &ARVRAnchor::get_is_active); @@ -430,7 +431,8 @@ void ARVRAnchor::_bind_methods() { }; void ARVRAnchor::set_anchor_id(int p_anchor_id) { - // we don't check any bounds here, this anchor may not yet be active and just be a place holder until it is. + // We don't check any bounds here, this anchor may not yet be active and just be a place holder until it is. + // Note that setting this to 0 means this node is not bound to an anchor yet. anchor_id = p_anchor_id; }; diff --git a/scene/3d/baked_lightmap.cpp b/scene/3d/baked_lightmap.cpp index 8af8c2f7da..8c282a31b8 100644 --- a/scene/3d/baked_lightmap.cpp +++ b/scene/3d/baked_lightmap.cpp @@ -55,12 +55,13 @@ float BakedLightmapData::get_energy() const { return energy; } -void BakedLightmapData::add_user(const NodePath &p_path, const Ref<Texture> &p_lightmap) { +void BakedLightmapData::add_user(const NodePath &p_path, const Ref<Texture> &p_lightmap, int p_instance) { ERR_FAIL_COND(p_lightmap.is_null()); User user; user.path = p_path; user.lightmap = p_lightmap; + user.instance_index = p_instance; users.push_back(user); } @@ -79,16 +80,22 @@ Ref<Texture> BakedLightmapData::get_user_lightmap(int p_user) const { return users[p_user].lightmap; } +int BakedLightmapData::get_user_instance(int p_user) const { + + ERR_FAIL_INDEX_V(p_user, users.size(), -1); + return users[p_user].instance_index; +} + void BakedLightmapData::clear_users() { users.clear(); } void BakedLightmapData::_set_user_data(const Array &p_data) { - ERR_FAIL_COND(p_data.size() & 1); + ERR_FAIL_COND((p_data.size() % 3) != 0); - for (int i = 0; i < p_data.size(); i += 2) { - add_user(p_data[i], p_data[i + 1]); + for (int i = 0; i < p_data.size(); i += 3) { + add_user(p_data[i], p_data[i + 1], p_data[i + 2]); } } @@ -98,6 +105,7 @@ Array BakedLightmapData::_get_user_data() const { for (int i = 0; i < users.size(); i++) { ret.push_back(users[i].path); ret.push_back(users[i].lightmap); + ret.push_back(users[i].instance_index); } return ret; } @@ -125,7 +133,7 @@ void BakedLightmapData::_bind_methods() { ClassDB::bind_method(D_METHOD("set_energy", "energy"), &BakedLightmapData::set_energy); ClassDB::bind_method(D_METHOD("get_energy"), &BakedLightmapData::get_energy); - ClassDB::bind_method(D_METHOD("add_user", "path", "lightmap"), &BakedLightmapData::add_user); + ClassDB::bind_method(D_METHOD("add_user", "path", "lightmap", "instance"), &BakedLightmapData::add_user); ClassDB::bind_method(D_METHOD("get_user_count"), &BakedLightmapData::get_user_count); ClassDB::bind_method(D_METHOD("get_user_path", "user_idx"), &BakedLightmapData::get_user_path); ClassDB::bind_method(D_METHOD("get_user_lightmap", "user_idx"), &BakedLightmapData::get_user_lightmap); @@ -157,24 +165,25 @@ BakedLightmap::BakeBeginFunc BakedLightmap::bake_begin_function = NULL; BakedLightmap::BakeStepFunc BakedLightmap::bake_step_function = NULL; BakedLightmap::BakeEndFunc BakedLightmap::bake_end_function = NULL; -void BakedLightmap::set_bake_subdiv(Subdiv p_subdiv) { - bake_subdiv = p_subdiv; +void BakedLightmap::set_bake_cell_size(float p_cell_size) { + bake_cell_size = p_cell_size; } -BakedLightmap::Subdiv BakedLightmap::get_bake_subdiv() const { - return bake_subdiv; +float BakedLightmap::get_bake_cell_size() const { + return bake_cell_size; } -void BakedLightmap::set_capture_subdiv(Subdiv p_subdiv) { - capture_subdiv = p_subdiv; +void BakedLightmap::set_capture_cell_size(float p_cell_size) { + capture_cell_size = p_cell_size; } -BakedLightmap::Subdiv BakedLightmap::get_capture_subdiv() const { - return capture_subdiv; +float BakedLightmap::get_capture_cell_size() const { + return capture_cell_size; } void BakedLightmap::set_extents(const Vector3 &p_extents) { extents = p_extents; + update_gizmo(); } Vector3 BakedLightmap::get_extents() const { @@ -208,6 +217,7 @@ void BakedLightmap::_find_meshes_and_lights(Node *p_at_node, List<PlotMesh> &plo pm.local_xform = xf; pm.mesh = mesh; pm.path = get_path_to(mi); + pm.instance_idx = -1; for (int i = 0; i < mesh->get_surface_count(); i++) { pm.instance_materials.push_back(mi->get_surface_material(i)); } @@ -218,6 +228,26 @@ void BakedLightmap::_find_meshes_and_lights(Node *p_at_node, List<PlotMesh> &plo } } + Spatial *s = Object::cast_to<Spatial>(p_at_node); + + if (!mi && s) { + Array meshes = p_at_node->call("get_bake_meshes"); + if (meshes.size() && (meshes.size() & 1) == 0) { + Transform xf = get_global_transform().affine_inverse() * s->get_global_transform(); + for (int i = 0; i < meshes.size(); i += 2) { + PlotMesh pm; + Transform mesh_xf = meshes[i + 1]; + pm.local_xform = xf * mesh_xf; + pm.mesh = meshes[i]; + pm.instance_idx = i / 2; + if (!pm.mesh.is_valid()) + continue; + pm.path = get_path_to(s); + plot_meshes.push_back(pm); + } + } + } + Light *light = Object::cast_to<Light>(p_at_node); if (light && light->get_bake_mode() != Light::BAKE_DISABLED) { @@ -297,11 +327,29 @@ BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, bool p_create_vi Ref<BakedLightmapData> new_light_data; new_light_data.instance(); - static const int subdiv_value[SUBDIV_MAX] = { 8, 9, 10, 11, 12, 13 }; - VoxelLightBaker baker; - baker.begin_bake(subdiv_value[bake_subdiv], AABB(-extents, extents * 2.0)); + int bake_subdiv; + int capture_subdiv; + AABB bake_bounds; + { + bake_bounds = AABB(-extents, extents * 2.0); + int subdiv = nearest_power_of_2_templated(int(bake_bounds.get_longest_axis_size() / bake_cell_size)); + bake_bounds.size[bake_bounds.get_longest_axis_size()] = subdiv * bake_cell_size; + bake_subdiv = nearest_shift(subdiv) + 1; + + capture_subdiv = bake_subdiv; + float css = bake_cell_size; + while (css < capture_cell_size && capture_subdiv > 2) { + capture_subdiv--; + css *= 2.0; + } + + print_line("bake subdiv: " + itos(bake_subdiv)); + print_line("capture subdiv: " + itos(capture_subdiv)); + } + + baker.begin_bake(bake_subdiv, bake_bounds); List<PlotMesh> mesh_list; List<PlotLight> light_list; @@ -476,23 +524,23 @@ BakedLightmap::BakeError BakedLightmap::bake(Node *p_from_node, bool p_create_vi if (set_path) { tex->set_path(image_path); } - new_light_data->add_user(E->get().path, tex); + new_light_data->add_user(E->get().path, tex, E->get().instance_idx); } } - int csubdiv = subdiv_value[capture_subdiv]; AABB bounds = AABB(-extents, extents * 2); - new_light_data->set_cell_subdiv(csubdiv); + new_light_data->set_cell_subdiv(capture_subdiv); new_light_data->set_bounds(bounds); - new_light_data->set_octree(baker.create_capture_octree(csubdiv)); + new_light_data->set_octree(baker.create_capture_octree(capture_subdiv)); { + float bake_bound_size = bake_bounds.get_longest_axis_size(); Transform to_bounds; - to_bounds.basis.scale(Vector3(bounds.get_longest_axis_size(), bounds.get_longest_axis_size(), bounds.get_longest_axis_size())); + to_bounds.basis.scale(Vector3(bake_bound_size, bake_bound_size, bake_bound_size)); to_bounds.origin = bounds.position; Transform to_grid; - to_grid.basis.scale(Vector3(1 << (csubdiv - 1), 1 << (csubdiv - 1), 1 << (csubdiv - 1))); + to_grid.basis.scale(Vector3(1 << (capture_subdiv - 1), 1 << (capture_subdiv - 1), 1 << (capture_subdiv - 1))); Transform to_cell_space = to_grid * to_bounds.affine_inverse(); new_light_data->set_cell_space_transform(to_cell_space); @@ -546,12 +594,21 @@ void BakedLightmap::_assign_lightmaps() { ERR_FAIL_COND(!light_data.is_valid()); for (int i = 0; i < light_data->get_user_count(); i++) { - Node *node = get_node(light_data->get_user_path(i)); - VisualInstance *vi = Object::cast_to<VisualInstance>(node); - ERR_CONTINUE(!vi); Ref<Texture> lightmap = light_data->get_user_lightmap(i); ERR_CONTINUE(!lightmap.is_valid()); - VS::get_singleton()->instance_set_use_lightmap(vi->get_instance(), get_instance(), lightmap->get_rid()); + + Node *node = get_node(light_data->get_user_path(i)); + int instance_idx = light_data->get_user_instance(i); + if (instance_idx >= 0) { + RID instance = node->call("get_bake_mesh_instance", instance_idx); + if (instance.is_valid()) { + VS::get_singleton()->instance_set_use_lightmap(instance, get_instance(), lightmap->get_rid()); + } + } else { + VisualInstance *vi = Object::cast_to<VisualInstance>(node); + ERR_CONTINUE(!vi); + VS::get_singleton()->instance_set_use_lightmap(vi->get_instance(), get_instance(), lightmap->get_rid()); + } } } @@ -559,9 +616,17 @@ void BakedLightmap::_clear_lightmaps() { ERR_FAIL_COND(!light_data.is_valid()); for (int i = 0; i < light_data->get_user_count(); i++) { Node *node = get_node(light_data->get_user_path(i)); - VisualInstance *vi = Object::cast_to<VisualInstance>(node); - ERR_CONTINUE(!vi); - VS::get_singleton()->instance_set_use_lightmap(vi->get_instance(), RID(), RID()); + int instance_idx = light_data->get_user_instance(i); + if (instance_idx >= 0) { + RID instance = node->call("get_bake_mesh_instance", instance_idx); + if (instance.is_valid()) { + VS::get_singleton()->instance_set_use_lightmap(instance, get_instance(), RID()); + } + } else { + VisualInstance *vi = Object::cast_to<VisualInstance>(node); + ERR_CONTINUE(!vi); + VS::get_singleton()->instance_set_use_lightmap(vi->get_instance(), get_instance(), RID()); + } } } @@ -646,11 +711,11 @@ void BakedLightmap::_bind_methods() { ClassDB::bind_method(D_METHOD("set_light_data", "data"), &BakedLightmap::set_light_data); ClassDB::bind_method(D_METHOD("get_light_data"), &BakedLightmap::get_light_data); - ClassDB::bind_method(D_METHOD("set_bake_subdiv", "bake_subdiv"), &BakedLightmap::set_bake_subdiv); - ClassDB::bind_method(D_METHOD("get_bake_subdiv"), &BakedLightmap::get_bake_subdiv); + ClassDB::bind_method(D_METHOD("set_bake_cell_size", "bake_cell_size"), &BakedLightmap::set_bake_cell_size); + ClassDB::bind_method(D_METHOD("get_bake_cell_size"), &BakedLightmap::get_bake_cell_size); - ClassDB::bind_method(D_METHOD("set_capture_subdiv", "capture_subdiv"), &BakedLightmap::set_capture_subdiv); - ClassDB::bind_method(D_METHOD("get_capture_subdiv"), &BakedLightmap::get_capture_subdiv); + ClassDB::bind_method(D_METHOD("set_capture_cell_size", "capture_cell_size"), &BakedLightmap::set_capture_cell_size); + ClassDB::bind_method(D_METHOD("get_capture_cell_size"), &BakedLightmap::get_capture_cell_size); ClassDB::bind_method(D_METHOD("set_bake_quality", "bake_quality"), &BakedLightmap::set_bake_quality); ClassDB::bind_method(D_METHOD("get_bake_quality"), &BakedLightmap::get_bake_quality); @@ -677,37 +742,39 @@ void BakedLightmap::_bind_methods() { ClassDB::bind_method(D_METHOD("debug_bake"), &BakedLightmap::_debug_bake); ClassDB::set_method_flags(get_class_static(), _scs_create("debug_bake"), METHOD_FLAGS_DEFAULT | METHOD_FLAG_EDITOR); - ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_subdiv", PROPERTY_HINT_ENUM, "128,256,512,1024,2048,4096"), "set_bake_subdiv", "get_bake_subdiv"); - ADD_PROPERTY(PropertyInfo(Variant::INT, "capture_subdiv", PROPERTY_HINT_ENUM, "128,256,512"), "set_capture_subdiv", "get_capture_subdiv"); + ADD_GROUP("Bake", "bake_"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "bake_cell_size", PROPERTY_HINT_RANGE, "0.01,64,0.01"), "set_bake_cell_size", "get_bake_cell_size"); ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_quality", PROPERTY_HINT_ENUM, "Low,Medium,High"), "set_bake_quality", "get_bake_quality"); ADD_PROPERTY(PropertyInfo(Variant::INT, "bake_mode", PROPERTY_HINT_ENUM, "ConeTrace,RayTrace"), "set_bake_mode", "get_bake_mode"); - ADD_PROPERTY(PropertyInfo(Variant::REAL, "propagation", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_propagation", "get_propagation"); - ADD_PROPERTY(PropertyInfo(Variant::REAL, "energy", PROPERTY_HINT_RANGE, "0,32,0.01"), "set_energy", "get_energy"); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "hdr"), "set_hdr", "is_hdr"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "bake_propagation", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_propagation", "get_propagation"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "bake_energy", PROPERTY_HINT_RANGE, "0,32,0.01"), "set_energy", "get_energy"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "bake_hdr"), "set_hdr", "is_hdr"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "bake_extents"), "set_extents", "get_extents"); + ADD_GROUP("Capture", "capture_"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "capture_cell_size", PROPERTY_HINT_RANGE, "0.01,64,0.01"), "set_capture_cell_size", "get_capture_cell_size"); + ADD_GROUP("Data", ""); ADD_PROPERTY(PropertyInfo(Variant::STRING, "image_path", PROPERTY_HINT_DIR), "set_image_path", "get_image_path"); - ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "extents"), "set_extents", "get_extents"); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "light_data", PROPERTY_HINT_RESOURCE_TYPE, "BakedIndirectLightData"), "set_light_data", "get_light_data"); - BIND_ENUM_CONSTANT(SUBDIV_128); - BIND_ENUM_CONSTANT(SUBDIV_256); - BIND_ENUM_CONSTANT(SUBDIV_512); - BIND_ENUM_CONSTANT(SUBDIV_1024); - BIND_ENUM_CONSTANT(SUBDIV_2048); - BIND_ENUM_CONSTANT(SUBDIV_4096); - BIND_ENUM_CONSTANT(SUBDIV_MAX); - BIND_ENUM_CONSTANT(BAKE_QUALITY_LOW); BIND_ENUM_CONSTANT(BAKE_QUALITY_MEDIUM); BIND_ENUM_CONSTANT(BAKE_QUALITY_HIGH); BIND_ENUM_CONSTANT(BAKE_MODE_CONE_TRACE); BIND_ENUM_CONSTANT(BAKE_MODE_RAY_TRACE); + + BIND_ENUM_CONSTANT(BAKE_ERROR_OK); + BIND_ENUM_CONSTANT(BAKE_ERROR_NO_SAVE_PATH); + BIND_ENUM_CONSTANT(BAKE_ERROR_NO_MESHES); + BIND_ENUM_CONSTANT(BAKE_ERROR_CANT_CREATE_IMAGE); + BIND_ENUM_CONSTANT(BAKE_ERROR_USER_ABORTED); } BakedLightmap::BakedLightmap() { extents = Vector3(10, 10, 10); - bake_subdiv = SUBDIV_256; - capture_subdiv = SUBDIV_128; + bake_cell_size = 0.25; + capture_cell_size = 0.5; + bake_quality = BAKE_QUALITY_MEDIUM; bake_mode = BAKE_MODE_CONE_TRACE; energy = 1; diff --git a/scene/3d/baked_lightmap.h b/scene/3d/baked_lightmap.h index 5595ec1e61..9b53e41d73 100644 --- a/scene/3d/baked_lightmap.h +++ b/scene/3d/baked_lightmap.h @@ -18,6 +18,7 @@ class BakedLightmapData : public Resource { NodePath path; Ref<Texture> lightmap; + int instance_index; }; Vector<User> users; @@ -44,10 +45,11 @@ public: void set_energy(float p_energy); float get_energy() const; - void add_user(const NodePath &p_path, const Ref<Texture> &p_lightmap); + void add_user(const NodePath &p_path, const Ref<Texture> &p_lightmap, int p_instance = -1); int get_user_count() const; NodePath get_user_path(int p_user) const; Ref<Texture> get_user_lightmap(int p_user) const; + int get_user_instance(int p_user) const; void clear_users(); virtual RID get_rid() const; @@ -59,17 +61,6 @@ class BakedLightmap : public VisualInstance { GDCLASS(BakedLightmap, VisualInstance); public: - enum Subdiv { - SUBDIV_128, - SUBDIV_256, - SUBDIV_512, - SUBDIV_1024, - SUBDIV_2048, - SUBDIV_4096, - SUBDIV_MAX - - }; - enum BakeQuality { BAKE_QUALITY_LOW, BAKE_QUALITY_MEDIUM, @@ -95,8 +86,8 @@ public: typedef void (*BakeEndFunc)(); private: - Subdiv bake_subdiv; - Subdiv capture_subdiv; + float bake_cell_size; + float capture_cell_size; Vector3 extents; float propagation; float energy; @@ -113,6 +104,7 @@ private: Ref<Mesh> mesh; Transform local_xform; NodePath path; + int instance_idx; }; struct PlotLight { @@ -147,11 +139,11 @@ public: void set_light_data(const Ref<BakedLightmapData> &p_data); Ref<BakedLightmapData> get_light_data() const; - void set_bake_subdiv(Subdiv p_subdiv); - Subdiv get_bake_subdiv() const; + void set_bake_cell_size(float p_cell_size); + float get_bake_cell_size() const; - void set_capture_subdiv(Subdiv p_subdiv); - Subdiv get_capture_subdiv() const; + void set_capture_cell_size(float p_cell_size); + float get_capture_cell_size() const; void set_extents(const Vector3 &p_extents); Vector3 get_extents() const; @@ -181,7 +173,6 @@ public: BakedLightmap(); }; -VARIANT_ENUM_CAST(BakedLightmap::Subdiv); VARIANT_ENUM_CAST(BakedLightmap::BakeQuality); VARIANT_ENUM_CAST(BakedLightmap::BakeMode); VARIANT_ENUM_CAST(BakedLightmap::BakeError); diff --git a/scene/3d/camera.cpp b/scene/3d/camera.cpp index af210fff1c..7143310036 100644 --- a/scene/3d/camera.cpp +++ b/scene/3d/camera.cpp @@ -56,130 +56,23 @@ void Camera::_update_camera_mode() { } } -bool Camera::_set(const StringName &p_name, const Variant &p_value) { - - bool changed_all = false; - if (p_name == "projection") { - - int proj = p_value; - if (proj == PROJECTION_PERSPECTIVE) - mode = PROJECTION_PERSPECTIVE; - if (proj == PROJECTION_ORTHOGONAL) - mode = PROJECTION_ORTHOGONAL; - - changed_all = true; - } else if (p_name == "fov" || p_name == "fovy" || p_name == "fovx") - fov = p_value; - else if (p_name == "size" || p_name == "sizex" || p_name == "sizey") - size = p_value; - else if (p_name == "near") - near = p_value; - else if (p_name == "far") - far = p_value; - else if (p_name == "keep_aspect") - set_keep_aspect_mode(KeepAspect(int(p_value))); - else if (p_name == "vaspect") - set_keep_aspect_mode(p_value ? KEEP_WIDTH : KEEP_HEIGHT); - else if (p_name == "h_offset") - h_offset = p_value; - else if (p_name == "v_offset") - v_offset = p_value; - else if (p_name == "current") { - if (p_value.operator bool()) { - make_current(); - } else { - clear_current(); +void Camera::_validate_property(PropertyInfo &p_property) const { + if (p_property.name == "fov") { + if (mode == PROJECTION_ORTHOGONAL) { + p_property.usage = PROPERTY_USAGE_NOEDITOR; } - } else if (p_name == "cull_mask") { - set_cull_mask(p_value); - } else if (p_name == "environment") { - set_environment(p_value); - } else if (p_name == "doppler/tracking") { - set_doppler_tracking(DopplerTracking(int(p_value))); - } else - return false; - - _update_camera_mode(); - if (changed_all) - _change_notify(); - return true; -} -bool Camera::_get(const StringName &p_name, Variant &r_ret) const { - - if (p_name == "projection") { - r_ret = mode; - } else if (p_name == "fov" || p_name == "fovy" || p_name == "fovx") - r_ret = fov; - else if (p_name == "size" || p_name == "sizex" || p_name == "sizey") - r_ret = size; - else if (p_name == "near") - r_ret = near; - else if (p_name == "far") - r_ret = far; - else if (p_name == "keep_aspect") - r_ret = int(keep_aspect); - else if (p_name == "current") { - - if (is_inside_tree() && get_tree()->is_node_being_edited(this)) { - r_ret = current; - } else { - r_ret = is_current(); + } else if (p_property.name == "size") { + if (mode == PROJECTION_PERSPECTIVE) { + p_property.usage = PROPERTY_USAGE_NOEDITOR; } - } else if (p_name == "cull_mask") { - r_ret = get_cull_mask(); - } else if (p_name == "h_offset") { - r_ret = get_h_offset(); - } else if (p_name == "v_offset") { - r_ret = get_v_offset(); - } else if (p_name == "environment") { - r_ret = get_environment(); - } else if (p_name == "doppler/tracking") { - r_ret = get_doppler_tracking(); - } else - return false; - - return true; -} - -void Camera::_get_property_list(List<PropertyInfo> *p_list) const { - - p_list->push_back(PropertyInfo(Variant::INT, "projection", PROPERTY_HINT_ENUM, "Perspective,Orthogonal")); - - switch (mode) { - - case PROJECTION_PERSPECTIVE: { - - p_list->push_back(PropertyInfo(Variant::REAL, "fov", PROPERTY_HINT_RANGE, "1,179,0.1", PROPERTY_USAGE_NOEDITOR)); - if (keep_aspect == KEEP_WIDTH) - p_list->push_back(PropertyInfo(Variant::REAL, "fovx", PROPERTY_HINT_RANGE, "1,179,0.1", PROPERTY_USAGE_EDITOR)); - else - p_list->push_back(PropertyInfo(Variant::REAL, "fovy", PROPERTY_HINT_RANGE, "1,179,0.1", PROPERTY_USAGE_EDITOR)); - - } break; - case PROJECTION_ORTHOGONAL: { - - p_list->push_back(PropertyInfo(Variant::REAL, "size", PROPERTY_HINT_RANGE, "1,16384,0.01", PROPERTY_USAGE_NOEDITOR)); - if (keep_aspect == KEEP_WIDTH) - p_list->push_back(PropertyInfo(Variant::REAL, "sizex", PROPERTY_HINT_RANGE, "0.1,16384,0.01", PROPERTY_USAGE_EDITOR)); - else - p_list->push_back(PropertyInfo(Variant::REAL, "sizey", PROPERTY_HINT_RANGE, "0.1,16384,0.01", PROPERTY_USAGE_EDITOR)); - - } break; } - - p_list->push_back(PropertyInfo(Variant::REAL, "near", PROPERTY_HINT_EXP_RANGE, "0.01,4096.0,0.01")); - p_list->push_back(PropertyInfo(Variant::REAL, "far", PROPERTY_HINT_EXP_RANGE, "0.01,4096.0,0.01")); - p_list->push_back(PropertyInfo(Variant::INT, "keep_aspect", PROPERTY_HINT_ENUM, "Keep Width,Keep Height")); - p_list->push_back(PropertyInfo(Variant::BOOL, "current")); - p_list->push_back(PropertyInfo(Variant::INT, "cull_mask", PROPERTY_HINT_LAYERS_3D_RENDER)); - p_list->push_back(PropertyInfo(Variant::OBJECT, "environment", PROPERTY_HINT_RESOURCE_TYPE, "Environment")); - p_list->push_back(PropertyInfo(Variant::REAL, "h_offset")); - p_list->push_back(PropertyInfo(Variant::REAL, "v_offset")); - p_list->push_back(PropertyInfo(Variant::INT, "doppler/tracking", PROPERTY_HINT_ENUM, "Disabled,Idle,Physics")); } void Camera::_update_camera() { + if (!is_inside_tree()) + return; + Transform tr = get_camera_transform(); tr.origin += tr.basis.get_axis(1) * v_offset; tr.origin += tr.basis.get_axis(0) * h_offset; @@ -191,7 +84,7 @@ void Camera::_update_camera() { get_viewport()->_camera_transform_changed_notify(); */ - if (!is_inside_tree() || get_tree()->is_node_being_edited(this) || !is_current()) + if (get_tree()->is_node_being_edited(this) || !is_current()) return; get_viewport()->_camera_transform_changed_notify(); @@ -282,6 +175,14 @@ void Camera::set_orthogonal(float p_size, float p_z_near, float p_z_far) { update_gizmo(); } +void Camera::set_projection(Camera::Projection p_mode) { + if (p_mode == PROJECTION_PERSPECTIVE || p_mode == PROJECTION_ORTHOGONAL) { + mode = p_mode; + _update_camera_mode(); + _change_notify(); + } +} + RID Camera::get_camera() const { return camera; @@ -311,6 +212,14 @@ void Camera::clear_current() { } } +void Camera::set_current(bool p_current) { + if (p_current) { + make_current(); + } else { + clear_current(); + } +} + bool Camera::is_current() const { if (is_inside_tree() && !get_tree()->is_node_being_edited(this)) { @@ -481,6 +390,7 @@ void Camera::set_environment(const Ref<Environment> &p_environment) { VS::get_singleton()->camera_set_environment(camera, environment->get_rid()); else VS::get_singleton()->camera_set_environment(camera, RID()); + _update_camera_mode(); } Ref<Environment> Camera::get_environment() const { @@ -489,10 +399,9 @@ Ref<Environment> Camera::get_environment() const { } void Camera::set_keep_aspect_mode(KeepAspect p_aspect) { - keep_aspect = p_aspect; VisualServer::get_singleton()->camera_set_use_vertical_aspect(camera, p_aspect == KEEP_WIDTH); - + _update_camera_mode(); _change_notify(); } @@ -511,6 +420,7 @@ void Camera::set_doppler_tracking(DopplerTracking p_tracking) { velocity_tracker->set_track_physics_step(doppler_tracking == DOPPLER_TRACKING_PHYSICS_STEP); velocity_tracker->reset(get_global_transform().origin); } + _update_camera_mode(); } Camera::DopplerTracking Camera::get_doppler_tracking() const { @@ -529,13 +439,19 @@ void Camera::_bind_methods() { ClassDB::bind_method(D_METHOD("set_orthogonal", "size", "z_near", "z_far"), &Camera::set_orthogonal); ClassDB::bind_method(D_METHOD("make_current"), &Camera::make_current); ClassDB::bind_method(D_METHOD("clear_current"), &Camera::clear_current); + ClassDB::bind_method(D_METHOD("set_current"), &Camera::set_current); ClassDB::bind_method(D_METHOD("is_current"), &Camera::is_current); ClassDB::bind_method(D_METHOD("get_camera_transform"), &Camera::get_camera_transform); ClassDB::bind_method(D_METHOD("get_fov"), &Camera::get_fov); ClassDB::bind_method(D_METHOD("get_size"), &Camera::get_size); ClassDB::bind_method(D_METHOD("get_zfar"), &Camera::get_zfar); ClassDB::bind_method(D_METHOD("get_znear"), &Camera::get_znear); + ClassDB::bind_method(D_METHOD("set_fov"), &Camera::set_fov); + ClassDB::bind_method(D_METHOD("set_size"), &Camera::set_size); + ClassDB::bind_method(D_METHOD("set_zfar"), &Camera::set_zfar); + ClassDB::bind_method(D_METHOD("set_znear"), &Camera::set_znear); ClassDB::bind_method(D_METHOD("get_projection"), &Camera::get_projection); + ClassDB::bind_method(D_METHOD("set_projection"), &Camera::set_projection); ClassDB::bind_method(D_METHOD("set_h_offset", "ofs"), &Camera::set_h_offset); ClassDB::bind_method(D_METHOD("get_h_offset"), &Camera::get_h_offset); ClassDB::bind_method(D_METHOD("set_v_offset", "ofs"), &Camera::set_v_offset); @@ -550,6 +466,19 @@ void Camera::_bind_methods() { ClassDB::bind_method(D_METHOD("get_doppler_tracking"), &Camera::get_doppler_tracking); //ClassDB::bind_method(D_METHOD("_camera_make_current"),&Camera::_camera_make_current ); + ADD_PROPERTY(PropertyInfo(Variant::INT, "keep_aspect", PROPERTY_HINT_ENUM, "Keep Width,Keep Height"), "set_keep_aspect_mode", "get_keep_aspect_mode"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "cull_mask", PROPERTY_HINT_LAYERS_3D_RENDER), "set_cull_mask", "get_cull_mask"); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "environment", PROPERTY_HINT_RESOURCE_TYPE, "Environment"), "set_environment", "get_environment"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "h_offset"), "set_h_offset", "get_h_offset"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "v_offset"), "set_v_offset", "get_v_offset"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "doppler_tracking", PROPERTY_HINT_ENUM, "Disabled,Idle,Physics"), "set_doppler_tracking", "get_doppler_tracking"); + ADD_PROPERTY(PropertyInfo(Variant::INT, "projection", PROPERTY_HINT_ENUM, "Perspective,Orthogonal"), "set_projection", "get_projection"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "current"), "set_current", "is_current"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "fov", PROPERTY_HINT_RANGE, "1,179,0.1"), "set_fov", "get_fov"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "size", PROPERTY_HINT_RANGE, "0.1,16384,0.01"), "set_size", "get_size"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "near"), "set_znear", "get_znear"); + ADD_PROPERTY(PropertyInfo(Variant::REAL, "far"), "set_zfar", "get_zfar"); + BIND_ENUM_CONSTANT(PROJECTION_PERSPECTIVE); BIND_ENUM_CONSTANT(PROJECTION_ORTHOGONAL); @@ -586,10 +515,30 @@ Camera::Projection Camera::get_projection() const { return mode; } -void Camera::set_cull_mask(uint32_t p_layers) { +void Camera::set_fov(float p_fov) { + fov = p_fov; + _update_camera_mode(); +} +void Camera::set_size(float p_size) { + size = p_size; + _update_camera_mode(); +} + +void Camera::set_znear(float p_znear) { + near = p_znear; + _update_camera_mode(); +} + +void Camera::set_zfar(float p_zfar) { + far = p_zfar; + _update_camera_mode(); +} + +void Camera::set_cull_mask(uint32_t p_layers) { layers = p_layers; VisualServer::get_singleton()->camera_set_cull_mask(camera, layers); + _update_camera_mode(); } uint32_t Camera::get_cull_mask() const { diff --git a/scene/3d/camera.h b/scene/3d/camera.h index 73c6844c1a..d69a02afeb 100644 --- a/scene/3d/camera.h +++ b/scene/3d/camera.h @@ -95,10 +95,8 @@ protected: virtual void _request_camera_update(); void _update_camera_mode(); - bool _set(const StringName &p_name, const Variant &p_value); - bool _get(const StringName &p_name, Variant &r_ret) const; - void _get_property_list(List<PropertyInfo> *p_list) const; void _notification(int p_what); + virtual void _validate_property(PropertyInfo &property) const; static void _bind_methods(); @@ -111,9 +109,11 @@ public: void set_perspective(float p_fovy_degrees, float p_z_near, float p_z_far); void set_orthogonal(float p_size, float p_z_near, float p_z_far); + void set_projection(Camera::Projection p_mode); void make_current(); void clear_current(); + void set_current(bool p_current); bool is_current() const; RID get_camera() const; @@ -124,6 +124,11 @@ public: float get_znear() const; Projection get_projection() const; + void set_fov(float p_fov); + void set_size(float p_size); + void set_zfar(float p_zfar); + void set_znear(float p_znear); + virtual Transform get_camera_transform() const; Vector3 project_ray_normal(const Point2 &p_pos) const; diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp index b6507aedb3..78cf75e3b3 100644 --- a/scene/3d/navigation.cpp +++ b/scene/3d/navigation.cpp @@ -202,7 +202,7 @@ void Navigation::_navmesh_unlink(int p_id) { nm.linked = false; } -int Navigation::navmesh_create(const Ref<NavigationMesh> &p_mesh, const Transform &p_xform, Object *p_owner) { +int Navigation::navmesh_add(const Ref<NavigationMesh> &p_mesh, const Transform &p_xform, Object *p_owner) { int id = last_id++; NavMesh nm; @@ -686,7 +686,7 @@ Vector3 Navigation::get_up_vector() const { void Navigation::_bind_methods() { - ClassDB::bind_method(D_METHOD("navmesh_create", "mesh", "xform", "owner"), &Navigation::navmesh_create, DEFVAL(Variant())); + ClassDB::bind_method(D_METHOD("navmesh_add", "mesh", "xform", "owner"), &Navigation::navmesh_add, DEFVAL(Variant())); ClassDB::bind_method(D_METHOD("navmesh_set_transform", "id", "xform"), &Navigation::navmesh_set_transform); ClassDB::bind_method(D_METHOD("navmesh_remove", "id"), &Navigation::navmesh_remove); diff --git a/scene/3d/navigation.h b/scene/3d/navigation.h index d9a38f7b00..134afa2278 100644 --- a/scene/3d/navigation.h +++ b/scene/3d/navigation.h @@ -166,7 +166,7 @@ public: Vector3 get_up_vector() const; //API should be as dynamic as possible - int navmesh_create(const Ref<NavigationMesh> &p_mesh, const Transform &p_xform, Object *p_owner = NULL); + int navmesh_add(const Ref<NavigationMesh> &p_mesh, const Transform &p_xform, Object *p_owner = NULL); void navmesh_set_transform(int p_id, const Transform &p_xform); void navmesh_remove(int p_id); diff --git a/scene/3d/navigation_mesh.cpp b/scene/3d/navigation_mesh.cpp index 40750cdfe8..4fb12b8fac 100644 --- a/scene/3d/navigation_mesh.cpp +++ b/scene/3d/navigation_mesh.cpp @@ -471,7 +471,7 @@ void NavigationMeshInstance::set_enabled(bool p_enabled) { if (navmesh.is_valid()) { - nav_id = navigation->navmesh_create(navmesh, get_relative_transform(navigation), this); + nav_id = navigation->navmesh_add(navmesh, get_relative_transform(navigation), this); } } } @@ -508,7 +508,7 @@ void NavigationMeshInstance::_notification(int p_what) { if (enabled && navmesh.is_valid()) { - nav_id = navigation->navmesh_create(navmesh, get_relative_transform(navigation), this); + nav_id = navigation->navmesh_add(navmesh, get_relative_transform(navigation), this); } break; } @@ -568,7 +568,7 @@ void NavigationMeshInstance::set_navigation_mesh(const Ref<NavigationMesh> &p_na navmesh = p_navmesh; if (navigation && navmesh.is_valid() && enabled) { - nav_id = navigation->navmesh_create(navmesh, get_relative_transform(navigation), this); + nav_id = navigation->navmesh_add(navmesh, get_relative_transform(navigation), this); } if (debug_view && navmesh.is_valid()) { diff --git a/scene/3d/particles.cpp b/scene/3d/particles.cpp index 821f1a5a78..9108973cbf 100644 --- a/scene/3d/particles.cpp +++ b/scene/3d/particles.cpp @@ -42,8 +42,7 @@ PoolVector<Face3> Particles::get_faces(uint32_t p_usage_flags) const { void Particles::set_emitting(bool p_emitting) { - emitting = p_emitting; - VS::get_singleton()->particles_set_emitting(particles, emitting); + VS::get_singleton()->particles_set_emitting(particles, p_emitting); } void Particles::set_amount(int p_amount) { @@ -63,7 +62,7 @@ void Particles::set_one_shot(bool p_one_shot) { one_shot = p_one_shot; VS::get_singleton()->particles_set_one_shot(particles, one_shot); - if (!one_shot && emitting) + if (!one_shot && is_emitting()) VisualServer::get_singleton()->particles_restart(particles); } @@ -113,7 +112,7 @@ void Particles::set_speed_scale(float p_scale) { bool Particles::is_emitting() const { - return emitting; + return VS::get_singleton()->particles_get_emitting(particles); } int Particles::get_amount() const { @@ -598,6 +597,11 @@ void ParticlesMaterial::_update_shader() { code += "}\n"; code += "\n"; + code += "float rand_from_seed_m1_p1(inout uint seed) {\n"; + code += " return rand_from_seed(seed)*2.0-1.0;\n"; + code += "}\n"; + code += "\n"; + //improve seed quality code += "uint hash(uint x) {\n"; code += " x = ((x >> uint(16)) ^ x) * uint(73244475);\n"; @@ -614,6 +618,8 @@ void ParticlesMaterial::_update_shader() { code += " float scale_rand = rand_from_seed(alt_seed);\n"; code += " float hue_rot_rand = rand_from_seed(alt_seed);\n"; code += " float anim_offset_rand = rand_from_seed(alt_seed);\n"; + code += " float pi = 3.14159;\n"; + code += " float degree_to_rad = pi / 180.0;\n"; code += "\n"; if (emission_shape >= EMISSION_SHAPE_POINTS) { @@ -638,23 +644,28 @@ void ParticlesMaterial::_update_shader() { else code += " float tex_anim_offset = 0.0;\n"; + code += " float spread_rad = spread*degree_to_rad;\n"; + if (flags[FLAG_DISABLE_Z]) { - code += " float angle1 = (rand_from_seed(alt_seed)*2.0-1.0)*spread/180.0*3.1416;\n"; - code += " vec3 rot = vec3( cos(angle1), sin(angle1),0.0 );\n"; + code += " float angle1_rad = rand_from_seed_m1_p1(alt_seed)*spread_rad;\n"; + code += " vec3 rot = vec3( cos(angle1_rad), sin(angle1_rad),0.0 );\n"; code += " VELOCITY = rot*initial_linear_velocity*mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n"; } else { //initiate velocity spread in 3D - code += " float angle1 = rand_from_seed(alt_seed)*spread*3.1416;\n"; - code += " float angle2 = rand_from_seed(alt_seed)*20.0*3.1416; // make it more random like\n"; - code += " vec3 rot_xz = vec3( sin(angle1), 0.0, cos(angle1) );\n"; - code += " vec3 rot = vec3( cos(angle2)*rot_xz.x,sin(angle2)*rot_xz.x, rot_xz.z);\n"; - code += " VELOCITY = rot*initial_linear_velocity*mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n"; + code += " float angle1_rad = rand_from_seed_m1_p1(alt_seed)*spread_rad;\n"; + code += " float angle2_rad = rand_from_seed_m1_p1(alt_seed)*spread_rad*(1.0-flatness);\n"; + code += " vec3 direction_xz = vec3( sin(angle1_rad), 0, cos(angle1_rad));\n"; + code += " vec3 direction_yz = vec3( 0, sin(angle2_rad), cos(angle2_rad));\n"; + code += " direction_yz.z = direction_yz.z / sqrt(direction_yz.z); //better uniform distribution\n"; + code += " vec3 direction = vec3(direction_xz.x * direction_yz.z, direction_yz.y, direction_xz.z * direction_yz.z);\n"; + code += " direction = normalize(direction);\n"; + code += " VELOCITY = direction*initial_linear_velocity*mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n"; } code += " float base_angle = (initial_angle+tex_angle)*mix(1.0,angle_rand,initial_angle_random);\n"; - code += " CUSTOM.x = base_angle*3.1416/180.0;\n"; //angle + code += " CUSTOM.x = base_angle*degree_to_rad;\n"; //angle code += " CUSTOM.y = 0.0;\n"; //phase code += " CUSTOM.z = (anim_offset+tex_anim_offset)*mix(1.0,anim_offset_rand,anim_offset_random);\n"; //animation offset (0-1) switch (emission_shape) { @@ -777,7 +788,7 @@ void ParticlesMaterial::_update_shader() { code += " float orbit_amount = (orbit_velocity+tex_orbit_velocity)*mix(1.0,rand_from_seed(alt_seed),orbit_velocity_random);\n"; code += " if (orbit_amount!=0.0) {\n"; - code += " float ang = orbit_amount * DELTA * 3.1416 * 2.0;\n"; + code += " float ang = orbit_amount * DELTA * pi * 2.0;\n"; code += " mat2 rot = mat2(vec2(cos(ang),-sin(ang)),vec2(sin(ang),cos(ang)));\n"; code += " TRANSFORM[3].xy-=diff.xy;\n"; code += " TRANSFORM[3].xy+=rot * diff.xy;\n"; @@ -800,7 +811,7 @@ void ParticlesMaterial::_update_shader() { code += " }\n"; code += " float base_angle = (initial_angle+tex_angle)*mix(1.0,angle_rand,initial_angle_random);\n"; code += " base_angle += CUSTOM.y*LIFETIME*(angular_velocity+tex_angular_velocity)*mix(1.0,rand_from_seed(alt_seed)*2.0-1.0,angular_velocity_random);\n"; - code += " CUSTOM.x = base_angle*3.1416/180.0;\n"; //angle + code += " CUSTOM.x = base_angle*degree_to_rad;\n"; //angle code += " CUSTOM.z = (anim_offset+tex_anim_offset)*mix(1.0,anim_offset_rand,anim_offset_random)+CUSTOM.y*(anim_speed+tex_anim_speed)*mix(1.0,rand_from_seed(alt_seed),anim_speed_random);\n"; //angle if (flags[FLAG_ANIM_LOOP]) { code += " CUSTOM.z = mod(CUSTOM.z,1.0);\n"; //loop @@ -821,7 +832,7 @@ void ParticlesMaterial::_update_shader() { else code += " float tex_hue_variation = 0.0;\n"; - code += " float hue_rot_angle = (hue_variation+tex_hue_variation)*3.1416*2.0*mix(1.0,hue_rot_rand*2.0-1.0,hue_variation_random);\n"; + code += " float hue_rot_angle = (hue_variation+tex_hue_variation)*pi*2.0*mix(1.0,hue_rot_rand*2.0-1.0,hue_variation_random);\n"; code += " float hue_rot_c = cos(hue_rot_angle);\n"; code += " float hue_rot_s = sin(hue_rot_angle);\n"; code += " mat4 hue_rot_mat = mat4( vec4(0.299, 0.587, 0.114, 0.0),\n"; diff --git a/scene/3d/particles.h b/scene/3d/particles.h index 5b8121e937..24154b5607 100644 --- a/scene/3d/particles.h +++ b/scene/3d/particles.h @@ -57,7 +57,6 @@ public: private: RID particles; - bool emitting; bool one_shot; int amount; float lifetime; diff --git a/scene/3d/portal.h b/scene/3d/portal.h index 4ea208a718..a3a7956286 100644 --- a/scene/3d/portal.h +++ b/scene/3d/portal.h @@ -39,7 +39,8 @@ If a portal is placed next (very close to) a similar, opposing portal, they automatically connect, otherwise, a portal connects to the parent room */ -//this will be redone and replaced by area portals, left for reference since a new class with this name will have to exist and want to reuse the gizmos +// FIXME: This will be redone and replaced by area portals, left for reference +// since a new class with this name will have to exist and want to reuse the gizmos #if 0 class Portal : public VisualInstance { diff --git a/scene/3d/room_instance.h b/scene/3d/room_instance.h index 3069ea2eba..2b2f80a0c6 100644 --- a/scene/3d/room_instance.h +++ b/scene/3d/room_instance.h @@ -44,7 +44,7 @@ */ -//this will be removed, left for reference +// FIXME: this will be removed, left for reference #if 0 class Room : public VisualInstance { diff --git a/scene/3d/skeleton.cpp b/scene/3d/skeleton.cpp index d0e0937eca..3d40bb299a 100644 --- a/scene/3d/skeleton.cpp +++ b/scene/3d/skeleton.cpp @@ -180,6 +180,9 @@ void Skeleton::_notification(int p_what) { rest_global_inverse_dirty = false; } + Transform global_transform = get_global_transform(); + Transform global_transform_inverse = global_transform.affine_inverse(); + for (int i = 0; i < len; i++) { Bone &b = bonesptr[i]; @@ -239,7 +242,9 @@ void Skeleton::_notification(int p_what) { } } - vs->skeleton_bone_set_transform(skeleton, i, b.pose_global * b.rest_global_inverse); + Transform transform = b.pose_global * b.rest_global_inverse; + + vs->skeleton_bone_set_transform(skeleton, i, global_transform * (transform * global_transform_inverse)); for (List<uint32_t>::Element *E = b.nodes_bound.front(); E; E = E->next()) { diff --git a/scene/3d/spatial.cpp b/scene/3d/spatial.cpp index d9f88ac693..e890533ab7 100644 --- a/scene/3d/spatial.cpp +++ b/scene/3d/spatial.cpp @@ -558,27 +558,27 @@ bool Spatial::is_visible() const { void Spatial::rotate(const Vector3 &p_normal, float p_radians) { Transform t = get_transform(); - t.basis.rotate(p_normal, p_radians); + t.basis.rotate_local(p_normal, p_radians); //use local rotation here, as it makes more sense here in tree hierarchy set_transform(t); } void Spatial::rotate_x(float p_radians) { Transform t = get_transform(); - t.basis.rotate(Vector3(1, 0, 0), p_radians); + t.basis.rotate_local(Vector3(1, 0, 0), p_radians); set_transform(t); } void Spatial::rotate_y(float p_radians) { Transform t = get_transform(); - t.basis.rotate(Vector3(0, 1, 0), p_radians); + t.basis.rotate_local(Vector3(0, 1, 0), p_radians); set_transform(t); } void Spatial::rotate_z(float p_radians) { Transform t = get_transform(); - t.basis.rotate(Vector3(0, 0, 1), p_radians); + t.basis.rotate_local(Vector3(0, 0, 1), p_radians); set_transform(t); } diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index 18ebc22c8b..2ecc445663 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -294,6 +294,7 @@ SpriteBase3D::SpriteBase3D() { for (int i = 0; i < FLAG_MAX; i++) flags[i] = i == FLAG_TRANSPARENT || i == FLAG_DOUBLE_SIDED; + alpha_cut = ALPHA_CUT_DISABLED; axis = Vector3::AXIS_Z; pixel_size = 0.01; modulate = Color(1, 1, 1, 1); diff --git a/scene/3d/voxel_light_baker.cpp b/scene/3d/voxel_light_baker.cpp index 98dc1590d8..bd7e52d947 100644 --- a/scene/3d/voxel_light_baker.cpp +++ b/scene/3d/voxel_light_baker.cpp @@ -1,5 +1,39 @@ +/*************************************************************************/ +/* voxel_light_baker.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2017 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 "voxel_light_baker.h" #include "os/os.h" +#include "os/threaded_array_processor.h" + +#include <stdlib.h> + #define FINDMINMAX(x0, x1, x2, min, max) \ min = max = x0; \ if (x1 < min) min = x1; \ @@ -183,14 +217,23 @@ static bool fast_tri_box_overlap(const Vector3 &boxcenter, const Vector3 boxhalf return true; /* box and triangle overlaps */ } -static _FORCE_INLINE_ Vector2 get_uv(const Vector3 &p_pos, const Vector3 *p_vtx, const Vector2 *p_uv) { +static _FORCE_INLINE_ void get_uv_and_normal(const Vector3 &p_pos, const Vector3 *p_vtx, const Vector2 *p_uv, const Vector3 *p_normal, Vector2 &r_uv, Vector3 &r_normal) { - if (p_pos.distance_squared_to(p_vtx[0]) < CMP_EPSILON2) - return p_uv[0]; - if (p_pos.distance_squared_to(p_vtx[1]) < CMP_EPSILON2) - return p_uv[1]; - if (p_pos.distance_squared_to(p_vtx[2]) < CMP_EPSILON2) - return p_uv[2]; + if (p_pos.distance_squared_to(p_vtx[0]) < CMP_EPSILON2) { + r_uv = p_uv[0]; + r_normal = p_normal[0]; + return; + } + if (p_pos.distance_squared_to(p_vtx[1]) < CMP_EPSILON2) { + r_uv = p_uv[1]; + r_normal = p_normal[1]; + return; + } + if (p_pos.distance_squared_to(p_vtx[2]) < CMP_EPSILON2) { + r_uv = p_uv[2]; + r_normal = p_normal[2]; + return; + } Vector3 v0 = p_vtx[1] - p_vtx[0]; Vector3 v1 = p_vtx[2] - p_vtx[0]; @@ -202,16 +245,20 @@ static _FORCE_INLINE_ Vector2 get_uv(const Vector3 &p_pos, const Vector3 *p_vtx, float d20 = v2.dot(v0); float d21 = v2.dot(v1); float denom = (d00 * d11 - d01 * d01); - if (denom == 0) - return p_uv[0]; + if (denom == 0) { + r_uv = p_uv[0]; + r_normal = p_normal[0]; + return; + } float v = (d11 * d20 - d01 * d21) / denom; float w = (d00 * d21 - d01 * d20) / denom; float u = 1.0f - v - w; - return p_uv[0] * u + p_uv[1] * v + p_uv[2] * w; + r_uv = p_uv[0] * u + p_uv[1] * v + p_uv[2] * w; + r_normal = (p_normal[0] * u + p_normal[1] * v + p_normal[2] * w).normalized(); } -void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p_z, const Vector3 *p_vtx, const Vector2 *p_uv, const MaterialCache &p_material, const AABB &p_aabb) { +void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p_z, const Vector3 *p_vtx, const Vector3 *p_normal, const Vector2 *p_uv, const MaterialCache &p_material, const AABB &p_aabb) { if (p_level == cell_subdiv - 1) { //plot the face by guessing it's albedo and emission value @@ -289,7 +336,11 @@ void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p intersection = Face3(p_vtx[0], p_vtx[1], p_vtx[2]).get_closest_point_to(intersection); - Vector2 uv = get_uv(intersection, p_vtx, p_uv); + Vector2 uv; + Vector3 lnormal; + get_uv_and_normal(intersection, p_vtx, p_uv, p_normal, uv, lnormal); + if (lnormal == Vector3()) //just in case normal as nor provided + lnormal = normal; int uv_x = CLAMP(Math::fposmod(uv.x, 1.0f) * bake_texture_size, 0, bake_texture_size - 1); int uv_y = CLAMP(Math::fposmod(uv.y, 1.0f) * bake_texture_size, 0, bake_texture_size - 1); @@ -304,7 +355,7 @@ void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p emission_accum.g += p_material.emission[ofs].g; emission_accum.b += p_material.emission[ofs].b; - normal_accum += normal; + normal_accum += lnormal; alpha += 1.0; } @@ -316,7 +367,11 @@ void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p Face3 f(p_vtx[0], p_vtx[1], p_vtx[2]); Vector3 inters = f.get_closest_point_to(p_aabb.position + p_aabb.size * 0.5); - Vector2 uv = get_uv(inters, p_vtx, p_uv); + Vector3 lnormal; + Vector2 uv; + get_uv_and_normal(inters, p_vtx, p_uv, p_normal, uv, normal); + if (lnormal == Vector3()) //just in case normal as nor provided + lnormal = normal; int uv_x = CLAMP(Math::fposmod(uv.x, 1.0f) * bake_texture_size, 0, bake_texture_size - 1); int uv_y = CLAMP(Math::fposmod(uv.y, 1.0f) * bake_texture_size, 0, bake_texture_size - 1); @@ -334,7 +389,7 @@ void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p emission_accum.g = p_material.emission[ofs].g * alpha; emission_accum.b = p_material.emission[ofs].b * alpha; - normal_accum *= alpha; + normal_accum = lnormal * alpha; } else { @@ -415,7 +470,7 @@ void VoxelLightBaker::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p bake_cells[child_idx].level = p_level + 1; } - _plot_face(bake_cells[p_idx].childs[i], p_level + 1, nx, ny, nz, p_vtx, p_uv, p_material, aabb); + _plot_face(bake_cells[p_idx].childs[i], p_level + 1, nx, ny, nz, p_vtx, p_normal, p_uv, p_material, aabb); } } } @@ -539,9 +594,12 @@ void VoxelLightBaker::plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, con PoolVector<Vector3>::Read vr = vertices.read(); PoolVector<Vector2> uv = a[Mesh::ARRAY_TEX_UV]; PoolVector<Vector2>::Read uvr; + PoolVector<Vector3> normals = a[Mesh::ARRAY_NORMAL]; + PoolVector<Vector3>::Read nr; PoolVector<int> index = a[Mesh::ARRAY_INDEX]; bool read_uv = false; + bool read_normals = false; if (uv.size()) { @@ -549,6 +607,11 @@ void VoxelLightBaker::plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, con read_uv = true; } + if (normals.size()) { + read_normals = true; + nr = normals.read(); + } + if (index.size()) { int facecount = index.size() / 3; @@ -558,6 +621,7 @@ void VoxelLightBaker::plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, con Vector3 vtxs[3]; Vector2 uvs[3]; + Vector3 normal[3]; for (int k = 0; k < 3; k++) { vtxs[k] = p_xform.xform(vr[ir[j * 3 + k]]); @@ -569,11 +633,17 @@ void VoxelLightBaker::plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, con } } + if (read_normals) { + for (int k = 0; k < 3; k++) { + normal[k] = nr[ir[j * 3 + k]]; + } + } + //test against original bounds if (!fast_tri_box_overlap(original_bounds.position + original_bounds.size * 0.5, original_bounds.size * 0.5, vtxs)) continue; //plot - _plot_face(0, 0, 0, 0, 0, vtxs, uvs, material, po2_bounds); + _plot_face(0, 0, 0, 0, 0, vtxs, normal, uvs, material, po2_bounds); } } else { @@ -584,6 +654,7 @@ void VoxelLightBaker::plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, con Vector3 vtxs[3]; Vector2 uvs[3]; + Vector3 normal[3]; for (int k = 0; k < 3; k++) { vtxs[k] = p_xform.xform(vr[j * 3 + k]); @@ -595,11 +666,17 @@ void VoxelLightBaker::plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, con } } + if (read_normals) { + for (int k = 0; k < 3; k++) { + normal[k] = nr[j * 3 + k]; + } + } + //test against original bounds if (!fast_tri_box_overlap(original_bounds.position + original_bounds.size * 0.5, original_bounds.size * 0.5, vtxs)) continue; //plot face - _plot_face(0, 0, 0, 0, 0, vtxs, uvs, material, po2_bounds); + _plot_face(0, 0, 0, 0, 0, vtxs, normal, uvs, material, po2_bounds); } } } @@ -833,11 +910,13 @@ void VoxelLightBaker::plot_light_directional(const Vector3 &p_direction, const C } } - for (int i = 0; i < 6; i++) { - float s = MAX(0.0, aniso_normal[i].dot(-light_axis)); //light depending on normal for direct - light->direct_accum[i][0] += light_energy.x * s; - light->direct_accum[i][1] += light_energy.y * s; - light->direct_accum[i][2] += light_energy.z * s; + if (p_direct) { + for (int i = 0; i < 6; i++) { + float s = MAX(0.0, aniso_normal[i].dot(-light_axis)); //light depending on normal for direct + light->direct_accum[i][0] += light_energy.x * s; + light->direct_accum[i][1] += light_energy.y * s; + light->direct_accum[i][2] += light_energy.z * s; + } } success_count++; } @@ -897,17 +976,7 @@ void VoxelLightBaker::plot_light_omni(const Vector3 &p_pos, const Color &p_color float dt = CLAMP((d + distance_adv) / local_radius, 0, 1); att *= powf(1.0 - dt, p_attenutation); } -#if 0 - if (light_cache.type == VS::LIGHT_SPOT) { - - float angle = Math::rad2deg(acos(light_axis.dot(spot_axis))); - if (angle > light_cache.spot_angle) - continue; - float d = CLAMP(angle / light_cache.spot_angle, 1, 0); - att *= powf(1.0 - d, light_cache.spot_attenuation); - } -#endif clip_planes = 0; for (int c = 0; c < 3; c++) { @@ -972,11 +1041,13 @@ void VoxelLightBaker::plot_light_omni(const Vector3 &p_pos, const Color &p_color } } - for (int i = 0; i < 6; i++) { - float s = MAX(0.0, aniso_normal[i].dot(-light_axis)); //light depending on normal for direct - light->direct_accum[i][0] += light_energy.x * s * att; - light->direct_accum[i][1] += light_energy.y * s * att; - light->direct_accum[i][2] += light_energy.z * s * att; + if (p_direct) { + for (int i = 0; i < 6; i++) { + float s = MAX(0.0, aniso_normal[i].dot(-light_axis)); //light depending on normal for direct + light->direct_accum[i][0] += light_energy.x * s * att; + light->direct_accum[i][1] += light_energy.y * s * att; + light->direct_accum[i][2] += light_energy.z * s * att; + } } } @@ -1041,17 +1112,7 @@ void VoxelLightBaker::plot_light_spot(const Vector3 &p_pos, const Vector3 &p_axi float dt = CLAMP((d + distance_adv) / local_radius, 0, 1); att *= powf(1.0 - dt, p_attenutation); } -#if 0 - if (light_cache.type == VS::LIGHT_SPOT) { - - float angle = Math::rad2deg(acos(light_axis.dot(spot_axis))); - if (angle > light_cache.spot_angle) - continue; - float d = CLAMP(angle / light_cache.spot_angle, 1, 0); - att *= powf(1.0 - d, light_cache.spot_attenuation); - } -#endif clip_planes = 0; for (int c = 0; c < 3; c++) { @@ -1115,11 +1176,13 @@ void VoxelLightBaker::plot_light_spot(const Vector3 &p_pos, const Vector3 &p_axi } } - for (int i = 0; i < 6; i++) { - float s = MAX(0.0, aniso_normal[i].dot(-light_axis)); //light depending on normal for direct - light->direct_accum[i][0] += light_energy.x * s * att; - light->direct_accum[i][1] += light_energy.y * s * att; - light->direct_accum[i][2] += light_energy.z * s * att; + if (p_direct) { + for (int i = 0; i < 6; i++) { + float s = MAX(0.0, aniso_normal[i].dot(-light_axis)); //light depending on normal for direct + light->direct_accum[i][0] += light_energy.x * s * att; + light->direct_accum[i][1] += light_energy.y * s * att; + light->direct_accum[i][2] += light_energy.z * s * att; + } } } @@ -1614,6 +1677,16 @@ Vector3 VoxelLightBaker::_compute_pixel_light_at_pos(const Vector3 &p_pos, const return accum; } +_ALWAYS_INLINE_ uint32_t xorshift32(uint32_t *state) { + /* Algorithm "xor" from p. 4 of Marsaglia, "Xorshift RNGs" */ + uint32_t x = *state; + x ^= x << 13; + x ^= x >> 17; + x ^= x << 5; + *state = x; + return x; +} + Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const Vector3 &p_normal) { int samples_per_quality[3] = { 48, 128, 512 }; @@ -1636,20 +1709,22 @@ Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const V const Light *light = bake_light.ptr(); const Cell *cells = bake_cells.ptr(); + uint32_t local_rng_state = rand(); //needs to be fixed again + for (int i = 0; i < samples; i++) { - float random_angle1 = (((Math::rand() % 65535) / 65535.0) * 2.0 - 1.0) * spread; + float random_angle1 = (((xorshift32(&local_rng_state) % 65535) / 65535.0) * 2.0 - 1.0) * spread; Vector3 axis(0, sin(random_angle1), cos(random_angle1)); - float random_angle2 = ((Math::rand() % 65535) / 65535.0) * Math_PI * 2.0; + float random_angle2 = ((xorshift32(&local_rng_state) % 65535) / 65535.0) * Math_PI * 2.0; Basis rot(Vector3(0, 0, 1), random_angle2); axis = rot.xform(axis); Vector3 direction = normal_xform.xform(axis).normalized(); - Vector3 pos = p_pos + Vector3(0.5, 0.5, 0.5) + direction * bias; - Vector3 advance = direction * _get_normal_advance(direction); + Vector3 pos = p_pos /*+ Vector3(0.5, 0.5, 0.5)*/ + advance * bias; + uint32_t cell = CHILD_EMPTY; while (cell == CHILD_EMPTY) { @@ -1692,7 +1767,7 @@ Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const V } cell = bc->childs[child]; - if (cell == CHILD_EMPTY) + if (unlikely(cell == CHILD_EMPTY)) break; half >>= 1; @@ -1701,22 +1776,45 @@ Vector3 VoxelLightBaker::_compute_ray_trace_at_pos(const Vector3 &p_pos, const V pos += advance; } - if (cell != CHILD_EMPTY) { + if (unlikely(cell != CHILD_EMPTY)) { for (int i = 0; i < 6; i++) { //anisotropic read light float amount = direction.dot(aniso_normal[i]); - if (amount < 0) - amount = 0; + if (amount <= 0) + continue; accum.x += light[cell].accum[i][0] * amount; accum.y += light[cell].accum[i][1] * amount; accum.z += light[cell].accum[i][2] * amount; } + accum.x += cells[cell].emission[0]; + accum.y += cells[cell].emission[1]; + accum.z += cells[cell].emission[2]; } } + // Make sure we don't reset this thread's RNG state + return accum / samples; } +void VoxelLightBaker::_lightmap_bake_point(uint32_t p_x, LightMap *p_line) { + + LightMap *pixel = &p_line[p_x]; + if (pixel->pos == Vector3()) + return; + //print_line("pos: " + pixel->pos + " normal " + pixel->normal); + switch (bake_mode) { + case BAKE_MODE_CONE_TRACE: { + pixel->light = _compute_pixel_light_at_pos(pixel->pos, pixel->normal) * energy; + } break; + case BAKE_MODE_RAY_TRACE: { + pixel->light = _compute_ray_trace_at_pos(pixel->pos, pixel->normal) * energy; + } break; + // pixel->light = Vector3(1, 1, 1); + //} + } +} + Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh, LightMapData &r_lightmap, bool (*p_bake_time_func)(void *, float, float), void *p_bake_time_ud) { //transfer light information to a lightmap @@ -1760,6 +1858,7 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh Vector3 vertex[3]; Vector3 normal[3]; Vector2 uv[3]; + for (int j = 0; j < 3; j++) { int idx = ic ? ir[i * 3 + j] : i * 3 + j; vertex[j] = xform.xform(vr[idx]); @@ -1770,39 +1869,18 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh _plot_triangle(uv, vertex, normal, lightmap.ptrw(), width, height); } } - //step 3 perform voxel cone trace on lightmap pixels + //step 3 perform voxel cone trace on lightmap pixels { LightMap *lightmap_ptr = lightmap.ptrw(); uint64_t begin_time = OS::get_singleton()->get_ticks_usec(); volatile int lines = 0; + // make sure our OS-level rng is seeded + for (int i = 0; i < height; i++) { - //print_line("bake line " + itos(i) + " / " + itos(height)); -#ifdef _OPENMP -#pragma omp parallel for -#endif - for (int j = 0; j < width; j++) { - - //if (i == 125 && j == 280) { - - LightMap *pixel = &lightmap_ptr[i * width + j]; - if (pixel->pos == Vector3()) - continue; //unused, skipe - - //print_line("pos: " + pixel->pos + " normal " + pixel->normal); - switch (bake_mode) { - case BAKE_MODE_CONE_TRACE: { - pixel->light = _compute_pixel_light_at_pos(pixel->pos, pixel->normal) * energy; - } break; - case BAKE_MODE_RAY_TRACE: { - pixel->light = _compute_ray_trace_at_pos(pixel->pos, pixel->normal) * energy; - } break; - // pixel->light = Vector3(1, 1, 1); - //} - } - } + thread_process_array(width, this, &VoxelLightBaker::_lightmap_bake_point, &lightmap_ptr[i * width]); lines = MAX(lines, i); //for multithread if (p_bake_time_func) { @@ -1878,12 +1956,14 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh LightMap *lightmap_ptr = lightmap.ptrw(); const Cell *cells = bake_cells.ptr(); const Light *light = bake_light.ptr(); - +#ifdef _OPENMP +#pragma omp parallel +#endif for (int i = 0; i < height; i++) { //print_line("bake line " + itos(i) + " / " + itos(height)); #ifdef _OPENMP -#pragma omp parallel for +#pragma omp parallel for schedule(dynamic, 1) #endif for (int j = 0; j < width; j++) { @@ -2002,6 +2082,7 @@ Error VoxelLightBaker::make_lightmap(const Transform &p_xform, Ref<Mesh> &p_mesh } } +// Enable for debugging #if 0 { PoolVector<uint8_t> img; diff --git a/scene/3d/voxel_light_baker.h b/scene/3d/voxel_light_baker.h index 6dee2ee69b..68e11c356b 100644 --- a/scene/3d/voxel_light_baker.h +++ b/scene/3d/voxel_light_baker.h @@ -1,3 +1,33 @@ +/*************************************************************************/ +/* voxel_light_baker.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2017 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 VOXEL_LIGHT_BAKER_H #define VOXEL_LIGHT_BAKER_H @@ -99,7 +129,8 @@ private: Vector<Color> _get_bake_texture(Ref<Image> p_image, const Color &p_color_mul, const Color &p_color_add); MaterialCache _get_material_cache(Ref<Material> p_material); - void _plot_face(int p_idx, int p_level, int p_x, int p_y, int p_z, const Vector3 *p_vtx, const Vector2 *p_uv, const MaterialCache &p_material, const AABB &p_aabb); + + void _plot_face(int p_idx, int p_level, int p_x, int p_y, int p_z, const Vector3 *p_vtx, const Vector3 *p_normal, const Vector2 *p_uv, const MaterialCache &p_material, const AABB &p_aabb); void _fixup_plot(int p_idx, int p_level); void _debug_mesh(int p_idx, int p_level, const AABB &p_aabb, Ref<MultiMesh> &p_multimesh, int &idx, DebugMode p_mode); void _check_init_light(); @@ -119,7 +150,10 @@ private: _FORCE_INLINE_ Vector3 _compute_pixel_light_at_pos(const Vector3 &p_pos, const Vector3 &p_normal); _FORCE_INLINE_ Vector3 _compute_ray_trace_at_pos(const Vector3 &p_pos, const Vector3 &p_normal); + void _lightmap_bake_point(uint32_t p_x, LightMap *p_line); + public: + void begin_bake(int p_subdiv, const AABB &p_bounds); void plot_mesh(const Transform &p_xform, Ref<Mesh> &p_mesh, const Vector<Ref<Material> > &p_materials, const Ref<Material> &p_override_material); void begin_bake_light(BakeQuality p_quality = BAKE_QUALITY_MEDIUM, BakeMode p_bake_mode = BAKE_MODE_CONE_TRACE, float p_propagation = 0.85, float p_energy = 1); diff --git a/scene/animation/animation_tree_player.cpp b/scene/animation/animation_tree_player.cpp index 32f82fe6b8..a50047e426 100644 --- a/scene/animation/animation_tree_player.cpp +++ b/scene/animation/animation_tree_player.cpp @@ -386,8 +386,6 @@ bool AnimationTreePlayer::_get(const StringName &p_name, Variant &r_ret) const { void AnimationTreePlayer::_get_property_list(List<PropertyInfo> *p_list) const { - p_list->push_back(PropertyInfo(Variant::NODE_PATH, "base_path")); - p_list->push_back(PropertyInfo(Variant::NODE_PATH, "master_player")); p_list->push_back(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK)); } @@ -1140,6 +1138,9 @@ void AnimationTreePlayer::transition_node_set_input_count(const StringName &p_no n->inputs.resize(p_inputs); n->input_data.resize(p_inputs); + + _clear_cycle_test(); + last_error = _cycle_test(out_name); } void AnimationTreePlayer::transition_node_set_input_auto_advance(const StringName &p_node, int p_input, bool p_auto_advance) { @@ -1360,6 +1361,8 @@ void AnimationTreePlayer::remove_node(const StringName &p_node) { node_map.erase(p_node); + _clear_cycle_test(); + // compute last error again, just in case last_error = _cycle_test(out_name); dirty_caches = true; @@ -1387,6 +1390,14 @@ AnimationTreePlayer::ConnectError AnimationTreePlayer::_cycle_test(const StringN return CONNECT_OK; } +// Use this function to not alter next complete _cycle_test(). +void AnimationTreePlayer::_clear_cycle_test() { + for (Map<StringName, NodeBase *>::Element *E = node_map.front(); E; E = E->next()) { + NodeBase *nb = E->get(); + nb->cycletest = false; + } +} + Error AnimationTreePlayer::connect_nodes(const StringName &p_src_node, const StringName &p_dst_node, int p_dst_input) { ERR_FAIL_COND_V(!node_map.has(p_src_node), ERR_INVALID_PARAMETER); @@ -1411,11 +1422,7 @@ Error AnimationTreePlayer::connect_nodes(const StringName &p_src_node, const Str dst->inputs[p_dst_input].node = p_src_node; - for (Map<StringName, NodeBase *>::Element *E = node_map.front(); E; E = E->next()) { - - NodeBase *nb = E->get(); - nb->cycletest = false; - } + _clear_cycle_test(); last_error = _cycle_test(out_name); if (last_error) { diff --git a/scene/animation/animation_tree_player.h b/scene/animation/animation_tree_player.h index c49b0c4d1b..7213441d6e 100644 --- a/scene/animation/animation_tree_player.h +++ b/scene/animation/animation_tree_player.h @@ -317,6 +317,7 @@ private: bool reset_request; ConnectError _cycle_test(const StringName &p_at_node); + void _clear_cycle_test(); Track *_find_track(const NodePath &p_path); void _recompute_caches(); diff --git a/scene/gui/base_button.cpp b/scene/gui/base_button.cpp index 148277f2dd..a67fe2aeeb 100644 --- a/scene/gui/base_button.cpp +++ b/scene/gui/base_button.cpp @@ -450,11 +450,11 @@ String BaseButton::get_tooltip(const Point2 &p_pos) const { String tooltip = Control::get_tooltip(p_pos); if (shortcut.is_valid() && shortcut->is_valid()) { - if (tooltip.find("$sc") != -1) { - tooltip = tooltip.replace_first("$sc", "(" + shortcut->get_as_text() + ")"); - } else { - tooltip += " (" + shortcut->get_as_text() + ")"; + String text = shortcut->get_name() + " (" + shortcut->get_as_text() + ")"; + if (shortcut->get_name().nocasecmp_to(tooltip) != 0) { + text += "\n" + tooltip; } + tooltip = text; } return tooltip; } diff --git a/scene/gui/button.h b/scene/gui/button.h index 35488582de..5c5a73bae3 100644 --- a/scene/gui/button.h +++ b/scene/gui/button.h @@ -56,7 +56,6 @@ private: float _internal_margin[4]; protected: - virtual Size2 get_minimum_size() const; void _set_internal_margin(Margin p_margin, float p_value); void _notification(int p_what); static void _bind_methods(); @@ -64,6 +63,8 @@ protected: public: // + virtual Size2 get_minimum_size() const; + void set_text(const String &p_text); String get_text() const; diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index cb6283507e..446676e80d 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -39,33 +39,32 @@ void ColorPicker::_notification(int p_what) { switch (p_what) { case NOTIFICATION_THEME_CHANGED: { - //sample->set_texture(get_icon("color_sample")); + btn_pick->set_icon(get_icon("screen_picker", "ColorPicker")); bt_add_preset->set_icon(get_icon("add_preset")); _update_controls(); } break; - case NOTIFICATION_ENTER_TREE: { + btn_pick->set_icon(get_icon("screen_picker", "ColorPicker")); bt_add_preset->set_icon(get_icon("add_preset")); _update_color(); } break; - case NOTIFICATION_PARENTED: { + for (int i = 0; i < 4; i++) set_margin((Margin)i, get_constant("margin")); } break; - case NOTIFICATION_VISIBILITY_CHANGED: { Popup *p = Object::cast_to<Popup>(get_parent()); if (p) p->set_size(Size2(get_combined_minimum_size().width + get_constant("margin") * 2, get_combined_minimum_size().height + get_constant("margin") * 2)); } break; - case MainLoop::NOTIFICATION_WM_QUIT_REQUEST: { + if (screen != NULL) { if (screen->is_visible()) { screen->hide(); @@ -523,7 +522,6 @@ ColorPicker::ColorPicker() : add_child(hb_edit); w_edit = memnew(Control); - //w_edit->set_ignore_mouse(false); w_edit->set_custom_minimum_size(Size2(get_constant("h_width"), 0)); w_edit->set_h_size_flags(SIZE_FILL); w_edit->set_v_size_flags(SIZE_EXPAND_FILL); @@ -589,7 +587,6 @@ ColorPicker::ColorPicker() : c_text->set_h_size_flags(SIZE_EXPAND_FILL); _update_controls(); - //_update_color(); updating = false; set_pick_color(Color(1, 1, 1)); @@ -599,7 +596,6 @@ ColorPicker::ColorPicker() : preset = memnew(TextureRect); bbc->add_child(preset); - //preset->set_ignore_mouse(false); preset->connect("gui_input", this, "_preset_input"); preset->connect("draw", this, "_update_presets"); @@ -660,11 +656,13 @@ bool ColorPickerButton::is_editing_alpha() const { return picker->is_editing_alpha(); } -ColorPicker *ColorPickerButton::get_picker() { +ColorPicker *ColorPickerButton::get_picker() const { + return picker; } -PopupPanel *ColorPickerButton::get_popup() { +PopupPanel *ColorPickerButton::get_popup() const { + return popup; } diff --git a/scene/gui/color_picker.h b/scene/gui/color_picker.h index c02cdc8608..2bae279ed5 100644 --- a/scene/gui/color_picker.h +++ b/scene/gui/color_picker.h @@ -129,8 +129,8 @@ public: void set_edit_alpha(bool p_show); bool is_editing_alpha() const; - ColorPicker *get_picker(); - PopupPanel *get_popup(); + ColorPicker *get_picker() const; + PopupPanel *get_popup() const; ColorPickerButton(); }; diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 81d2b6731f..b34abf5a46 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -2835,7 +2835,7 @@ void Control::_bind_methods() { ADD_PROPERTYNZ(PropertyInfo(Variant::REAL, "rect_rotation", PROPERTY_HINT_RANGE, "-1080,1080,0.01"), "set_rotation_degrees", "get_rotation_degrees"); ADD_PROPERTYNO(PropertyInfo(Variant::VECTOR2, "rect_scale"), "set_scale", "get_scale"); ADD_PROPERTYNO(PropertyInfo(Variant::VECTOR2, "rect_pivot_offset"), "set_pivot_offset", "get_pivot_offset"); - ADD_PROPERTYNO(PropertyInfo(Variant::BOOL, "rect_clip_content"), "set_clip_contents", "is_clipping_contents"); + ADD_PROPERTYNZ(PropertyInfo(Variant::BOOL, "rect_clip_content"), "set_clip_contents", "is_clipping_contents"); ADD_GROUP("Hint", "hint_"); ADD_PROPERTYNZ(PropertyInfo(Variant::STRING, "hint_tooltip", PROPERTY_HINT_MULTILINE_TEXT), "set_tooltip", "_get_tooltip"); diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index d4912339da..9a55073bb6 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -289,10 +289,17 @@ bool WindowDialog::get_resizable() const { Size2 WindowDialog::get_minimum_size() const { Ref<Font> font = get_font("title_font", "WindowDialog"); - int msx = close_button->get_combined_minimum_size().x; - msx += font->get_string_size(title).x; - return Size2(msx, 1); + const int button_width = close_button->get_combined_minimum_size().x; + const int title_width = font->get_string_size(title).x; + const int padding = button_width / 2; + const int button_area = button_width + padding; + + // as the title gets centered, title_width + close_button_width is not enough. + // we want a width w, such that w / 2 - title_width / 2 >= button_area, i.e. + // w >= 2 * button_area + title_width + + return Size2(2 * button_area + title_width, 1); } TextureButton *WindowDialog::get_close_button() { diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index e1f77594da..51a25c60a1 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -207,7 +207,7 @@ void Label::_notification(int p_what) { } break; } - int y_ofs = style->get_offset().y; + float y_ofs = style->get_offset().y; y_ofs += (line - lines_skipped) * font_h + font->get_ascent(); y_ofs += vbegin + line * vsep; diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 85ae6d6241..cebbb2193d 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -85,7 +85,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { if ((cursor_pos < selection.begin) || (cursor_pos > selection.end) || !selection.enabled) { - selection_clear(); + deselect(); selection.cursor_start = cursor_pos; selection.creating = true; } else if (selection.enabled) { @@ -99,7 +99,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { } else { if ((!selection.creating) && (!selection.doubleclick)) { - selection_clear(); + deselect(); } selection.creating = false; selection.doubleclick = false; @@ -175,7 +175,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { if (editable) { - selection_clear(); + deselect(); text = text.substr(cursor_pos, text.length() - cursor_pos); Ref<Font> font = get_font("font"); @@ -204,7 +204,7 @@ void LineEdit::_gui_input(Ref<InputEvent> p_event) { if (editable) { - selection_clear(); + deselect(); text = text.substr(0, cursor_pos); _text_changed(); } @@ -827,7 +827,7 @@ void LineEdit::shift_selection_check_pre(bool p_shift) { selection.cursor_start = cursor_pos; } if (!p_shift) - selection_clear(); + deselect(); } void LineEdit::shift_selection_check_post(bool p_shift) { @@ -880,13 +880,6 @@ void LineEdit::set_cursor_at_pixel_pos(int p_x) { } set_cursor_position(ofs); - - /* - int new_cursor_pos=p_x; - int charwidth=draw_area->get_font_char_width(' ',0); - new_cursor_pos=( ( (new_cursor_pos-2)+ (charwidth/2) ) /charwidth ); - if (new_cursor_pos>(int)text.length()) new_cursor_pos=text.length(); - set_cursor_position(window_pos+new_cursor_pos); */ } bool LineEdit::cursor_get_blink_enabled() const { @@ -941,11 +934,6 @@ void LineEdit::delete_char() { set_cursor_position(get_cursor_position() - 1); - if (cursor_pos == window_pos) { - - //set_window_pos(cursor_pos-get_window_length()); - } - _text_changed(); } @@ -1143,7 +1131,7 @@ Size2 LineEdit::get_minimum_size() const { /* selection */ -void LineEdit::selection_clear() { +void LineEdit::deselect() { selection.begin = 0; selection.end = 0; @@ -1159,7 +1147,7 @@ void LineEdit::selection_delete() { if (selection.enabled) delete_text(selection.begin, selection.end); - selection_clear(); + deselect(); } void LineEdit::set_max_length(int p_max_length) { @@ -1224,7 +1212,7 @@ bool LineEdit::is_secret() const { void LineEdit::select(int p_from, int p_to) { if (p_from == 0 && p_to == 0) { - selection_clear(); + deselect(); return; } @@ -1383,7 +1371,9 @@ void LineEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("_gui_input"), &LineEdit::_gui_input); ClassDB::bind_method(D_METHOD("clear"), &LineEdit::clear); + ClassDB::bind_method(D_METHOD("select", "from", "to"), &LineEdit::select, DEFVAL(0), DEFVAL(-1)); ClassDB::bind_method(D_METHOD("select_all"), &LineEdit::select_all); + ClassDB::bind_method(D_METHOD("deselect"), &LineEdit::deselect); ClassDB::bind_method(D_METHOD("set_text", "text"), &LineEdit::set_text); ClassDB::bind_method(D_METHOD("get_text"), &LineEdit::get_text); ClassDB::bind_method(D_METHOD("set_placeholder", "text"), &LineEdit::set_placeholder); @@ -1405,7 +1395,6 @@ void LineEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("is_editable"), &LineEdit::is_editable); ClassDB::bind_method(D_METHOD("set_secret", "enabled"), &LineEdit::set_secret); ClassDB::bind_method(D_METHOD("is_secret"), &LineEdit::is_secret); - ClassDB::bind_method(D_METHOD("select", "from", "to"), &LineEdit::select, DEFVAL(0), DEFVAL(-1)); ClassDB::bind_method(D_METHOD("menu_option", "option"), &LineEdit::menu_option); ClassDB::bind_method(D_METHOD("get_menu"), &LineEdit::get_menu); ClassDB::bind_method(D_METHOD("set_context_menu_enabled", "enable"), &LineEdit::set_context_menu_enabled); @@ -1457,7 +1446,7 @@ LineEdit::LineEdit() { pass = false; placeholder_alpha = 0.6; - selection_clear(); + deselect(); set_focus_mode(FOCUS_ALL); editable = true; set_default_cursor_shape(CURSOR_IBEAM); diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h index c3a299c2f5..5ca4ca15df 100644 --- a/scene/gui/line_edit.h +++ b/scene/gui/line_edit.h @@ -119,7 +119,6 @@ private: void shift_selection_check_pre(bool); void shift_selection_check_post(bool); - void selection_clear(); void selection_fill_at_cursor(); void selection_delete(); void set_window_pos(int p_pos); @@ -155,7 +154,9 @@ public: bool is_context_menu_enabled(); PopupMenu *get_menu() const; + void select(int p_from = 0, int p_to = -1); void select_all(); + void deselect(); void delete_char(); void delete_text(int p_from_column, int p_to_column); @@ -190,8 +191,6 @@ public: void set_secret(bool p_secret); bool is_secret() const; - void select(int p_from = 0, int p_to = -1); - virtual Size2 get_minimum_size() const; void set_expand_to_text_length(bool p_enabled); diff --git a/scene/gui/menu_button.cpp b/scene/gui/menu_button.cpp index d850553957..c235797bef 100644 --- a/scene/gui/menu_button.cpp +++ b/scene/gui/menu_button.cpp @@ -33,6 +33,9 @@ void MenuButton::_unhandled_key_input(Ref<InputEvent> p_event) { + if (disable_shortcuts) + return; + if (p_event->is_pressed() && !p_event->is_echo() && (Object::cast_to<InputEventKey>(p_event.ptr()) || Object::cast_to<InputEventJoypadButton>(p_event.ptr()) || Object::cast_to<InputEventAction>(*p_event))) { if (!get_parent() || !is_visible_in_tree() || is_disabled()) @@ -60,25 +63,10 @@ void MenuButton::pressed() { void MenuButton::_gui_input(Ref<InputEvent> p_event) { - /*if (p_event.type==InputEvent::MOUSE_BUTTON && p_event->get_button_index()==BUTTON_LEFT) { - clicked=p_event->is_pressed(); - } - if (clicked && p_event.type==InputEvent::MOUSE_MOTION && popup->is_visible_in_tree()) { - - Point2 gt = Point2(p_event.mouse_motion.x,p_event.mouse_motion.y); - gt = get_global_transform().xform(gt); - Point2 lt = popup->get_transform().affine_inverse().xform(gt); - if (popup->has_point(lt)) { - //print_line("HAS POINT!!!"); - popup->call_deferred("grab_click_focus"); - } - - }*/ - BaseButton::_gui_input(p_event); } -PopupMenu *MenuButton::get_popup() { +PopupMenu *MenuButton::get_popup() const { return popup; } @@ -98,14 +86,22 @@ void MenuButton::_bind_methods() { ClassDB::bind_method(D_METHOD("_unhandled_key_input"), &MenuButton::_unhandled_key_input); ClassDB::bind_method(D_METHOD("_set_items"), &MenuButton::_set_items); ClassDB::bind_method(D_METHOD("_get_items"), &MenuButton::_get_items); + ClassDB::bind_method(D_METHOD("set_disable_shortcuts", "disabled"), &MenuButton::set_disable_shortcuts); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "items", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_items", "_get_items"); ADD_SIGNAL(MethodInfo("about_to_show")); } + +void MenuButton::set_disable_shortcuts(bool p_disabled) { + + disable_shortcuts = p_disabled; +} + MenuButton::MenuButton() { set_flat(true); + set_disable_shortcuts(false); set_enabled_focus_mode(FOCUS_NONE); popup = memnew(PopupMenu); popup->hide(); diff --git a/scene/gui/menu_button.h b/scene/gui/menu_button.h index c7f1d976ff..1bd9b155b2 100644 --- a/scene/gui/menu_button.h +++ b/scene/gui/menu_button.h @@ -40,6 +40,7 @@ class MenuButton : public Button { GDCLASS(MenuButton, Button); bool clicked; + bool disable_shortcuts; PopupMenu *popup; virtual void pressed(); @@ -53,7 +54,9 @@ protected: static void _bind_methods(); public: - PopupMenu *get_popup(); + PopupMenu *get_popup() const; + void set_disable_shortcuts(bool p_disabled); + MenuButton(); ~MenuButton(); }; diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index 70f3d9ca83..6f784b56de 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -42,38 +42,35 @@ Size2 OptionButton::get_minimum_size() const { void OptionButton::_notification(int p_what) { - switch (p_what) { - - case NOTIFICATION_DRAW: { - - if (!has_icon("arrow")) - return; - - RID ci = get_canvas_item(); - Ref<Texture> arrow = Control::get_icon("arrow"); - Ref<StyleBox> normal = get_stylebox("normal"); - Color clr = Color(1, 1, 1); - if (get_constant("modulate_arrow")) - switch (get_draw_mode()) { - case DRAW_PRESSED: - clr = get_color("font_color_pressed"); - break; - case DRAW_HOVER: - clr = get_color("font_color_hover"); - break; - case DRAW_DISABLED: - clr = get_color("font_color_disabled"); - break; - default: - clr = get_color("font_color"); - } - - Size2 size = get_size(); - - Point2 ofs(size.width - arrow->get_width() - get_constant("arrow_margin"), int(Math::abs((size.height - arrow->get_height()) / 2))); - arrow->draw(ci, ofs, clr); - - } break; + if (p_what == NOTIFICATION_DRAW) { + + if (!has_icon("arrow")) + return; + + RID ci = get_canvas_item(); + Ref<Texture> arrow = Control::get_icon("arrow"); + Ref<StyleBox> normal = get_stylebox("normal"); + Color clr = Color(1, 1, 1); + if (get_constant("modulate_arrow")) { + switch (get_draw_mode()) { + case DRAW_PRESSED: + clr = get_color("font_color_pressed"); + break; + case DRAW_HOVER: + clr = get_color("font_color_hover"); + break; + case DRAW_DISABLED: + clr = get_color("font_color_disabled"); + break; + default: + clr = get_color("font_color"); + } + } + + Size2 size = get_size(); + + Point2 ofs(size.width - arrow->get_width() - get_constant("arrow_margin"), int(Math::abs((size.height - arrow->get_height()) / 2))); + arrow->draw(ci, ofs, clr); } } @@ -244,6 +241,11 @@ void OptionButton::remove_item(int p_idx) { popup->remove_item(p_idx); } +PopupMenu *OptionButton::get_popup() const { + + return popup; +} + Array OptionButton::_get_items() const { Array items; @@ -310,6 +312,8 @@ void OptionButton::_bind_methods() { ClassDB::bind_method(D_METHOD("remove_item", "idx"), &OptionButton::remove_item); ClassDB::bind_method(D_METHOD("_select_int"), &OptionButton::_select_int); + ClassDB::bind_method(D_METHOD("get_popup"), &OptionButton::get_popup); + ClassDB::bind_method(D_METHOD("_set_items"), &OptionButton::_set_items); ClassDB::bind_method(D_METHOD("_get_items"), &OptionButton::_get_items); @@ -320,15 +324,16 @@ void OptionButton::_bind_methods() { OptionButton::OptionButton() { + current = -1; + set_text_align(ALIGN_LEFT); + set_action_mode(ACTION_MODE_BUTTON_PRESS); + popup = memnew(PopupMenu); popup->hide(); + add_child(popup); popup->set_as_toplevel(true); popup->set_pass_on_modal_close_click(false); - add_child(popup); popup->connect("id_pressed", this, "_selected"); - - current = -1; - set_text_align(ALIGN_LEFT); } OptionButton::~OptionButton() { diff --git a/scene/gui/option_button.h b/scene/gui/option_button.h index a06c540678..b09942b072 100644 --- a/scene/gui/option_button.h +++ b/scene/gui/option_button.h @@ -85,6 +85,8 @@ public: void remove_item(int p_idx); + PopupMenu *get_popup() const; + virtual void get_translatable_strings(List<String> *p_strings) const; OptionButton(); diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp index 32f889e826..d598104cf5 100644 --- a/scene/gui/popup_menu.cpp +++ b/scene/gui/popup_menu.cpp @@ -42,24 +42,6 @@ String PopupMenu::_get_accel_text(int p_item) const { else if (items[p_item].accel) return keycode_get_string(items[p_item].accel); return String(); - - /* - String atxt; - if (p_accel&KEY_MASK_SHIFT) - atxt+="Shift+"; - if (p_accel&KEY_MASK_ALT) - atxt+="Alt+"; - if (p_accel&KEY_MASK_CTRL) - atxt+="Ctrl+"; - if (p_accel&KEY_MASK_META) - atxt+="Meta+"; - - p_accel&=KEY_CODE_MASK; - - atxt+=String::chr(p_accel).to_upper(); - - return atxt; -*/ } Size2 PopupMenu::get_minimum_size() const { @@ -136,7 +118,6 @@ int PopupMenu::_get_mouse_over(const Point2 &p_over) const { Ref<Font> font = get_font("font"); int vseparation = get_constant("vseparation"); - //int hseparation = get_constant("hseparation"); float font_h = font->get_height(); for (int i = 0; i < items.size(); i++) { @@ -221,7 +202,11 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) { case KEY_DOWN: { - for (int i = mouse_over + 1; i < items.size(); i++) { + int search_from = mouse_over + 1; + if (search_from >= items.size()) + search_from = 0; + + for (int i = search_from; i < items.size(); i++) { if (i < 0 || i >= items.size()) continue; @@ -236,7 +221,11 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) { } break; case KEY_UP: { - for (int i = mouse_over - 1; i >= 0; i--) { + int search_from = mouse_over - 1; + if (search_from < 0) + search_from = items.size() - 1; + + for (int i = search_from; i >= 0; i--) { if (i < 0 || i >= items.size()) continue; @@ -249,11 +238,36 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) { } } } break; + + case KEY_LEFT: { + + Node *n = get_parent(); + if (!n) + break; + + PopupMenu *pm = Object::cast_to<PopupMenu>(n); + if (!pm) + break; + + hide(); + } break; + + case KEY_RIGHT: { + + if (mouse_over >= 0 && mouse_over < items.size() && !items[mouse_over].separator && items[mouse_over].submenu != "" && submenu_over != mouse_over) + _activate_submenu(mouse_over); + } break; + case KEY_ENTER: case KEY_KP_ENTER: { if (mouse_over >= 0 && mouse_over < items.size() && !items[mouse_over].separator) { + if (items[mouse_over].submenu != "" && submenu_over != mouse_over) { + _activate_submenu(mouse_over); + break; + } + activate_item(mouse_over); } } break; @@ -500,6 +514,13 @@ void PopupMenu::_notification(int p_what) { } break; case NOTIFICATION_MOUSE_EXIT: { + if (mouse_over >= 0 && (items[mouse_over].submenu == "" || submenu_over != -1)) { + mouse_over = -1; + update(); + } + } break; + case NOTIFICATION_POPUP_HIDE: { + if (mouse_over >= 0) { mouse_over = -1; update(); @@ -1217,6 +1238,7 @@ void PopupMenu::set_invalidate_click_until_motion() { PopupMenu::PopupMenu() { mouse_over = -1; + submenu_over = -1; set_focus_mode(FOCUS_ALL); set_as_toplevel(true); diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 05c6e9f77e..6fbc58a38a 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -31,6 +31,11 @@ #include "os/keyboard.h" #include "os/os.h" #include "scene/scene_string_names.h" + +#ifdef TOOLS_ENABLED +#include "editor/editor_node.h" +#endif + RichTextLabel::Item *RichTextLabel::_get_next_item(Item *p_item, bool p_free) { if (p_free) { @@ -370,7 +375,11 @@ int RichTextLabel::_process_line(ItemFrame *p_frame, const Vector2 &p_ofs, int & Color uc = color; uc.a *= 0.5; int uy = y + lh - fh + ascent + 2; - VS::get_singleton()->canvas_item_add_line(ci, p_ofs + Point2(align_ofs + pofs, uy), p_ofs + Point2(align_ofs + pofs + cw, uy), uc); + float underline_width = 1.0; +#ifdef TOOLS_ENABLED + underline_width *= EDSCALE; +#endif + VS::get_singleton()->canvas_item_add_line(ci, p_ofs + Point2(align_ofs + pofs, uy), p_ofs + Point2(align_ofs + pofs + cw, uy), uc, underline_width); } ofs += cw; } diff --git a/scene/gui/split_container.cpp b/scene/gui/split_container.cpp index 4420a936d2..1c15953517 100644 --- a/scene/gui/split_container.cpp +++ b/scene/gui/split_container.cpp @@ -61,7 +61,7 @@ Control *SplitContainer::_getch(int p_idx) const { void SplitContainer::_resort() { - /** First pass, determine minimum size AND amount of stretchable elements */ + /* First pass, determine minimum size AND amount of stretchable elements */ int axis = vertical ? 1 : 0; @@ -114,10 +114,8 @@ void SplitContainer::_resort() { Size2 ms_second = second->get_combined_minimum_size(); if (vertical) { - minimum = ms_first.height + ms_second.height; } else { - minimum = ms_first.width + ms_second.width; } @@ -141,12 +139,10 @@ void SplitContainer::_resort() { } else if (expand_first_mode) { middle_sep = get_size()[axis] - ms_second[axis] - sep; - } else { middle_sep = ms_first[axis]; } - } else if (ratiomode) { int first_ratio = first->get_stretch_ratio(); @@ -160,23 +156,19 @@ void SplitContainer::_resort() { expand_ofs = (available * (1.0 - ratio)); middle_sep = ms_first[axis] + available * ratio + expand_ofs; - } else if (expand_first_mode) { if (expand_ofs > 0) expand_ofs = 0; - - if (expand_ofs < -available) + else if (expand_ofs < -available) expand_ofs = -available; middle_sep = get_size()[axis] - ms_second[axis] - sep + expand_ofs; - } else { if (expand_ofs < 0) expand_ofs = 0; - - if (expand_ofs > available) + else if (expand_ofs > available) expand_ofs = available; middle_sep = ms_first[axis] + expand_ofs; @@ -187,7 +179,6 @@ void SplitContainer::_resort() { fit_child_in_rect(first, Rect2(Point2(0, 0), Size2(get_size().width, middle_sep))); int sofs = middle_sep + sep; fit_child_in_rect(second, Rect2(Point2(0, sofs), Size2(get_size().width, get_size().height - sofs))); - } else { fit_child_in_rect(first, Rect2(Point2(0, 0), Size2(middle_sep, get_size().height))); @@ -246,10 +237,12 @@ void SplitContainer::_notification(int p_what) { _resort(); } break; case NOTIFICATION_MOUSE_ENTER: { + mouse_inside = true; update(); } break; case NOTIFICATION_MOUSE_EXIT: { + mouse_inside = false; update(); } break; @@ -260,22 +253,17 @@ void SplitContainer::_notification(int p_what) { if (collapsed || (!mouse_inside && get_constant("autohide"))) return; + int sep = dragger_visibility != DRAGGER_HIDDEN_COLLAPSED ? get_constant("separation") : 0; Ref<Texture> tex = get_icon("grabber"); Size2 size = get_size(); - if (vertical) { + if (dragger_visibility == DRAGGER_VISIBLE) { - //draw_style_box( get_stylebox("bg"), Rect2(0,middle_sep,get_size().width,sep)); - if (dragger_visibility == DRAGGER_VISIBLE) + if (vertical) draw_texture(tex, Point2i((size.x - tex->get_width()) / 2, middle_sep + (sep - tex->get_height()) / 2)); - - } else { - - //draw_style_box( get_stylebox("bg"), Rect2(middle_sep,0,sep,get_size().height)); - if (dragger_visibility == DRAGGER_VISIBLE) + else draw_texture(tex, Point2i(middle_sep + (sep - tex->get_width()) / 2, (size.y - tex->get_height()) / 2)); } - } break; } } @@ -292,11 +280,13 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { if (mb->get_button_index() == BUTTON_LEFT) { if (mb->is_pressed()) { + int sep = get_constant("separation"); if (vertical) { if (mb->get_position().y > middle_sep && mb->get_position().y < middle_sep + sep) { + dragging = true; drag_from = mb->get_position().y; drag_ofs = expand_ofs; @@ -304,6 +294,7 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { } else { if (mb->get_position().x > middle_sep && mb->get_position().x < middle_sep + sep) { + dragging = true; drag_from = mb->get_position().x; drag_ofs = expand_ofs; @@ -318,36 +309,31 @@ void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseMotion> mm = p_event; - if (mm.is_valid()) { - - if (dragging) { + if (mm.is_valid() && dragging) { - expand_ofs = drag_ofs + ((vertical ? mm->get_position().y : mm->get_position().x) - drag_from); - queue_sort(); - emit_signal("dragged", get_split_offset()); - } + expand_ofs = drag_ofs + ((vertical ? mm->get_position().y : mm->get_position().x) - drag_from); + queue_sort(); + emit_signal("dragged", get_split_offset()); } } Control::CursorShape SplitContainer::get_cursor_shape(const Point2 &p_pos) const { - if (collapsed) - return Control::get_cursor_shape(p_pos); - if (dragging) return (vertical ? CURSOR_VSIZE : CURSOR_HSIZE); - int sep = get_constant("separation"); + if (!collapsed && _getch(0) && _getch(1) && dragger_visibility == DRAGGER_VISIBLE) { - if (vertical) { + int sep = get_constant("separation"); - if (p_pos.y > middle_sep && p_pos.y < middle_sep + sep) { - return CURSOR_VSIZE; - } - } else { + if (vertical) { - if (p_pos.x > middle_sep && p_pos.x < middle_sep + sep) { - return CURSOR_HSIZE; + if (p_pos.y > middle_sep && p_pos.y < middle_sep + sep) + return CURSOR_VSIZE; + } else { + + if (p_pos.x > middle_sep && p_pos.x < middle_sep + sep) + return CURSOR_HSIZE; } } @@ -358,6 +344,7 @@ void SplitContainer::set_split_offset(int p_offset) { if (expand_ofs == p_offset) return; + expand_ofs = p_offset; queue_sort(); } @@ -371,6 +358,7 @@ void SplitContainer::set_collapsed(bool p_collapsed) { if (collapsed == p_collapsed) return; + collapsed = p_collapsed; queue_sort(); } diff --git a/scene/gui/split_container.h b/scene/gui/split_container.h index c7a484c4c5..40a58d4b32 100644 --- a/scene/gui/split_container.h +++ b/scene/gui/split_container.h @@ -88,7 +88,7 @@ class HSplitContainer : public SplitContainer { public: HSplitContainer() : - SplitContainer(false) { set_default_cursor_shape(CURSOR_HSPLIT); } + SplitContainer(false) {} }; class VSplitContainer : public SplitContainer { @@ -97,7 +97,7 @@ class VSplitContainer : public SplitContainer { public: VSplitContainer() : - SplitContainer(true) { set_default_cursor_shape(CURSOR_VSPLIT); } + SplitContainer(true) {} }; #endif // SPLIT_CONTAINER_H diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index e5169089f2..0fba4a6f94 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1664,17 +1664,22 @@ void TextEdit::backspace_at_cursor() { cursor_set_column(prev_column); } -void TextEdit::indent_selection_right() { +void TextEdit::indent_right() { - if (!is_selection_active()) { - return; - } + int start_line; + int end_line; begin_complex_operation(); - int start_line = get_selection_from_line(); - int end_line = get_selection_to_line(); + + if (is_selection_active()) { + start_line = get_selection_from_line(); + end_line = get_selection_to_line(); + } else { + start_line = cursor.line; + end_line = start_line; + } // ignore if the cursor is not past the first column - if (get_selection_to_column() == 0) { + if (is_selection_active() && get_selection_to_column() == 0) { end_line--; } @@ -1688,23 +1693,31 @@ void TextEdit::indent_selection_right() { set_line(i, line_text); } - // fix selection being off by one on the last line - selection.to_column++; + // fix selection and cursor being off by one on the last line + if (is_selection_active()) { + select(selection.from_line, selection.from_column + 1, selection.to_line, selection.to_column + 1); + } + cursor_set_column(cursor.column + 1, false); end_complex_operation(); update(); } -void TextEdit::indent_selection_left() { +void TextEdit::indent_left() { - if (!is_selection_active()) { - return; - } + int start_line; + int end_line; begin_complex_operation(); - int start_line = get_selection_from_line(); - int end_line = get_selection_to_line(); + + if (is_selection_active()) { + start_line = get_selection_from_line(); + end_line = get_selection_to_line(); + } else { + start_line = cursor.line; + end_line = start_line; + } // ignore if the cursor is not past the first column - if (get_selection_to_column() == 0) { + if (is_selection_active() && get_selection_to_column() == 0) { end_line--; } String last_line_text = get_line(end_line); @@ -1721,10 +1734,11 @@ void TextEdit::indent_selection_left() { } } - // fix selection being off by one on the last line - if (last_line_text != get_line(end_line) && selection.to_column > 0) { - selection.to_column--; + // fix selection and cursor being off by one on the last line + if (is_selection_active() && last_line_text != get_line(end_line)) { + select(selection.from_line, selection.from_column - 1, selection.to_line, selection.to_column - 1); } + cursor_set_column(cursor.column - 1, false); end_complex_operation(); update(); } @@ -1953,6 +1967,31 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (mb->get_button_index() == BUTTON_RIGHT && context_menu_enabled) { + _reset_caret_blink_timer(); + + int row, col; + update_line_scroll_pos(); + _get_mouse_pos(Point2i(mb->get_position().x, mb->get_position().y), row, col); + + if (is_right_click_moving_caret()) { + if (is_selection_active()) { + + int from_line = get_selection_from_line(); + int to_line = get_selection_to_line(); + int from_column = get_selection_from_column(); + int to_column = get_selection_to_column(); + + if (row < from_line || row > to_line || (row == from_line && col < from_column) || (row == to_line && col > to_column)) { + // Right click is outside the seleted text + deselect(); + } + } + if (!is_selection_active()) { + cursor_set_line(row, true, false); + cursor_set_column(col); + } + } + menu->set_position(get_global_transform().xform(get_local_mouse_position())); menu->set_size(Vector2(1, 1)); menu->popup(); @@ -2216,9 +2255,9 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { case KEY_TAB: { if (k->get_shift()) { - indent_selection_left(); + indent_left(); } else { - indent_selection_right(); + indent_right(); } dobreak = true; accept_event(); @@ -2389,8 +2428,12 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) { if (readonly) break; - if (selection.active) { - + if (is_selection_active()) { + if (k->get_shift()) { + indent_left(); + } else { + indent_right(); + } } else { if (k->get_shift()) { @@ -3684,6 +3727,14 @@ bool TextEdit::cursor_is_block_mode() const { return block_caret; } +void TextEdit::set_right_click_moves_caret(bool p_enable) { + right_click_moves_caret = p_enable; +} + +bool TextEdit::is_right_click_moving_caret() const { + return right_click_moves_caret; +} + void TextEdit::_v_scroll_input() { scrolling = false; } @@ -4060,7 +4111,7 @@ void TextEdit::cut() { backspace_at_cursor(); update(); cursor_set_line(cursor.line + 1); - cut_copy_line = true; + cut_copy_line = clipboard; } else { @@ -4074,7 +4125,7 @@ void TextEdit::cut() { selection.active = false; selection.selecting_mode = Selection::MODE_NONE; update(); - cut_copy_line = false; + cut_copy_line = ""; } } @@ -4083,11 +4134,11 @@ void TextEdit::copy() { if (!selection.active) { String clipboard = _base_get_text(cursor.line, 0, cursor.line, text[cursor.line].length()); OS::get_singleton()->set_clipboard(clipboard); - cut_copy_line = true; + cut_copy_line = clipboard; } else { String clipboard = _base_get_text(selection.from_line, selection.from_column, selection.to_line, selection.to_column); OS::get_singleton()->set_clipboard(clipboard); - cut_copy_line = false; + cut_copy_line = ""; } } @@ -4103,7 +4154,7 @@ void TextEdit::paste() { cursor_set_line(selection.from_line); cursor_set_column(selection.from_column); - } else if (cut_copy_line) { + } else if (!cut_copy_line.empty() && cut_copy_line == clipboard) { cursor_set_column(0); String ins = "\n"; @@ -4144,11 +4195,15 @@ void TextEdit::select(int p_from_line, int p_from_column, int p_to_line, int p_t p_from_line = text.size() - 1; if (p_from_column >= text[p_from_line].length()) p_from_column = text[p_from_line].length(); + if (p_from_column < 0) + p_from_column = 0; if (p_to_line >= text.size()) p_to_line = text.size() - 1; if (p_to_column >= text[p_to_line].length()) p_to_column = text[p_to_line].length(); + if (p_to_column < 0) + p_to_column = 0; selection.from_line = p_from_line; selection.from_column = p_from_column; @@ -5433,6 +5488,9 @@ void TextEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("cursor_set_block_mode", "enable"), &TextEdit::cursor_set_block_mode); ClassDB::bind_method(D_METHOD("cursor_is_block_mode"), &TextEdit::cursor_is_block_mode); + ClassDB::bind_method(D_METHOD("set_right_click_moves_caret", "enable"), &TextEdit::set_right_click_moves_caret); + ClassDB::bind_method(D_METHOD("is_right_click_moving_caret"), &TextEdit::is_right_click_moving_caret); + ClassDB::bind_method(D_METHOD("set_readonly", "enable"), &TextEdit::set_readonly); ClassDB::bind_method(D_METHOD("is_readonly"), &TextEdit::is_readonly); @@ -5444,8 +5502,10 @@ void TextEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("cut"), &TextEdit::cut); ClassDB::bind_method(D_METHOD("copy"), &TextEdit::copy); ClassDB::bind_method(D_METHOD("paste"), &TextEdit::paste); - ClassDB::bind_method(D_METHOD("select_all"), &TextEdit::select_all); + ClassDB::bind_method(D_METHOD("select", "from_line", "from_column", "to_line", "to_column"), &TextEdit::select); + ClassDB::bind_method(D_METHOD("select_all"), &TextEdit::select_all); + ClassDB::bind_method(D_METHOD("deselect"), &TextEdit::deselect); ClassDB::bind_method(D_METHOD("is_selection_active"), &TextEdit::is_selection_active); ClassDB::bind_method(D_METHOD("get_selection_from_line"), &TextEdit::get_selection_from_line); @@ -5466,7 +5526,7 @@ void TextEdit::_bind_methods() { ClassDB::bind_method(D_METHOD("set_hiding_enabled", "enable"), &TextEdit::set_hiding_enabled); ClassDB::bind_method(D_METHOD("is_hiding_enabled"), &TextEdit::is_hiding_enabled); ClassDB::bind_method(D_METHOD("set_line_as_hidden", "line", "enable"), &TextEdit::set_line_as_hidden); - ClassDB::bind_method(D_METHOD("is_line_hidden"), &TextEdit::is_line_hidden); + ClassDB::bind_method(D_METHOD("is_line_hidden", "line"), &TextEdit::is_line_hidden); ClassDB::bind_method(D_METHOD("fold_all_lines"), &TextEdit::fold_all_lines); ClassDB::bind_method(D_METHOD("unhide_all_lines"), &TextEdit::unhide_all_lines); ClassDB::bind_method(D_METHOD("fold_line", "line"), &TextEdit::fold_line); @@ -5514,6 +5574,7 @@ void TextEdit::_bind_methods() { ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_block_mode"), "cursor_set_block_mode", "cursor_is_block_mode"); ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_blink"), "cursor_set_blink_enabled", "cursor_get_blink_enabled"); ADD_PROPERTYNZ(PropertyInfo(Variant::REAL, "caret_blink_speed", PROPERTY_HINT_RANGE, "0.1,10,0.1"), "cursor_set_blink_speed", "cursor_get_blink_speed"); + ADD_PROPERTY(PropertyInfo(Variant::BOOL, "caret_moving_by_right_click"), "set_right_click_moves_caret", "is_right_click_moving_caret"); ADD_SIGNAL(MethodInfo("cursor_changed")); ADD_SIGNAL(MethodInfo("text_changed")); @@ -5591,6 +5652,7 @@ TextEdit::TextEdit() { caret_blink_timer->set_wait_time(0.65); caret_blink_timer->connect("timeout", this, "_toggle_draw_caret"); cursor_set_blink_enabled(false); + right_click_moves_caret = true; idle_detect = memnew(Timer); add_child(idle_detect); diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index dd305d5822..f18eaa85cb 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -246,6 +246,7 @@ class TextEdit : public Control { bool draw_caret; bool window_has_focus; bool block_caret; + bool right_click_moves_caret; bool setting_row; bool wrap; @@ -270,7 +271,7 @@ class TextEdit : public Control { bool brace_matching_enabled; bool highlight_current_line; bool auto_indent; - bool cut_copy_line; + String cut_copy_line; bool insert_mode; bool select_identifiers_enabled; @@ -443,8 +444,8 @@ public: void set_line(int line, String new_text); void backspace_at_cursor(); - void indent_selection_left(); - void indent_selection_right(); + void indent_left(); + void indent_right(); int get_indent_level(int p_line) const; inline void set_scroll_pass_end_of_file(bool p_enabled) { @@ -481,6 +482,9 @@ public: void cursor_set_block_mode(const bool p_enable); bool cursor_is_block_mode() const; + void set_right_click_moves_caret(bool p_enable); + bool is_right_click_moving_caret() const; + void set_readonly(bool p_readonly); bool is_readonly() const; diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index ab12d123ba..51ad22e271 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -30,6 +30,7 @@ #include "tree.h" #include <limits.h> +#include "math_funcs.h" #include "os/input.h" #include "os/keyboard.h" #include "os/os.h" @@ -37,6 +38,10 @@ #include "project_settings.h" #include "scene/main/viewport.h" +#ifdef TOOLS_ENABLED +#include "editor/editor_node.h" +#endif + void TreeItem::move_to_top() { if (!parent || parent->childs == this) @@ -1412,9 +1417,14 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2 if (c->get_children() != NULL) root_pos -= Point2i(cache.arrow->get_width(), 0); + float line_width = 1.0; +#ifdef TOOLS_ENABLED + line_width *= EDSCALE; +#endif + Point2i parent_pos = Point2i(parent_ofs - cache.arrow->get_width() / 2, p_pos.y + label_h / 2 + cache.arrow->get_height() / 2) - cache.offset + p_draw_ofs; - VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x, root_pos.y), cache.relationship_line_color); - VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color); + VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x - Math::floor(line_width / 2), root_pos.y), cache.relationship_line_color, line_width); + VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color, line_width); } int child_h = draw_item(children_pos, p_draw_ofs, p_draw_size, c); @@ -1765,7 +1775,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool case TreeItem::CELL_MODE_STRING: { //nothing in particular - if (select_mode == SELECT_MULTI && (get_tree()->get_last_event_id() == focus_in_id || !already_cursor)) { + if (select_mode == SELECT_MULTI && (get_tree()->get_event_count() == focus_in_id || !already_cursor)) { bring_up_editor = false; } @@ -1853,7 +1863,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, bool } else { editor_text = String::num(p_item->cells[col].val, Math::step_decimals(p_item->cells[col].step)); - if (select_mode == SELECT_MULTI && get_tree()->get_last_event_id() == focus_in_id) + if (select_mode == SELECT_MULTI && get_tree()->get_event_count() == focus_in_id) bring_up_editor = false; } } @@ -2776,7 +2786,7 @@ void Tree::_notification(int p_what) { if (p_what == NOTIFICATION_FOCUS_ENTER) { - focus_in_id = get_tree()->get_last_event_id(); + focus_in_id = get_tree()->get_event_count(); } if (p_what == NOTIFICATION_MOUSE_EXIT) { @@ -2940,43 +2950,51 @@ Size2 Tree::get_minimum_size() const { return Size2(1, 1); } -TreeItem *Tree::create_item(TreeItem *p_parent) { +TreeItem *Tree::create_item(TreeItem *p_parent, int p_idx) { ERR_FAIL_COND_V(blocked > 0, NULL); - TreeItem *ti = memnew(TreeItem(this)); - - ERR_FAIL_COND_V(!ti, NULL); - ti->cells.resize(columns.size()); + TreeItem *ti = NULL; if (p_parent) { - /* Always append at the end */ + // Append or insert a new item to the given parent. + ti = memnew(TreeItem(this)); + ERR_FAIL_COND_V(!ti, NULL); + ti->cells.resize(columns.size()); - TreeItem *last = 0; + TreeItem *prev = NULL; TreeItem *c = p_parent->childs; + int idx = 0; while (c) { - - last = c; + if (idx++ == p_idx) { + ti->next = c; + break; + } + prev = c; c = c->next; } - if (last) { - - last->next = ti; - } else { - + if (prev) + prev->next = ti; + else p_parent->childs = ti; - } ti->parent = p_parent; } else { - if (root) - ti->childs = root; + if (!root) { + // No root exists, make the given item the new root. + ti = memnew(TreeItem(this)); + ERR_FAIL_COND_V(!ti, NULL); + ti->cells.resize(columns.size()); - root = ti; + root = ti; + } else { + // Root exists, append or insert to root. + ti = create_item(root, p_idx); + } } return ti; @@ -3713,7 +3731,7 @@ void Tree::_bind_methods() { ClassDB::bind_method(D_METHOD("_scroll_moved"), &Tree::_scroll_moved); ClassDB::bind_method(D_METHOD("clear"), &Tree::clear); - ClassDB::bind_method(D_METHOD("create_item", "parent"), &Tree::_create_item, DEFVAL(Variant())); + ClassDB::bind_method(D_METHOD("create_item", "parent", "idx"), &Tree::_create_item, DEFVAL(Variant()), DEFVAL(-1)); ClassDB::bind_method(D_METHOD("get_root"), &Tree::get_root); ClassDB::bind_method(D_METHOD("set_column_min_width", "column", "min_width"), &Tree::set_column_min_width); diff --git a/scene/gui/tree.h b/scene/gui/tree.h index 112de3165f..b8d94bcffb 100644 --- a/scene/gui/tree.h +++ b/scene/gui/tree.h @@ -359,7 +359,7 @@ private: LineEdit *text_editor; HSlider *value_editor; bool updating_value_editor; - uint32_t focus_in_id; + int64_t focus_in_id; PopupMenu *popup_menu; Vector<ColumnInfo> columns; @@ -511,8 +511,8 @@ protected: static void _bind_methods(); //bind helpers - Object *_create_item(Object *p_parent) { - return create_item(Object::cast_to<TreeItem>(p_parent)); + Object *_create_item(Object *p_parent, int p_idx = -1) { + return create_item(Object::cast_to<TreeItem>(p_parent), p_idx); } TreeItem *_get_next_selected(Object *p_item) { @@ -532,7 +532,7 @@ public: void clear(); - TreeItem *create_item(TreeItem *p_parent = 0); + TreeItem *create_item(TreeItem *p_parent = 0, int p_idx = -1); TreeItem *get_root(); TreeItem *get_last_item(); diff --git a/scene/main/node.cpp b/scene/main/node.cpp index efc5d269a6..942a6d5428 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -340,7 +340,8 @@ void Node::move_child(Node *p_child, int p_pos) { data.children[i]->notification(NOTIFICATION_MOVED_IN_PARENT); } for (const Map<StringName, GroupData>::Element *E = p_child->data.grouped.front(); E; E = E->next()) { - E->get().group->changed = true; + if (E->get().group) + E->get().group->changed = true; } data.blocked--; @@ -2110,6 +2111,7 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const StringName script_property_name = CoreStringNames::get_singleton()->_script; + List<const Node *> hidden_roots; List<const Node *> node_tree; node_tree.push_front(this); @@ -2120,11 +2122,16 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const for (List<const Node *>::Element *N = node_tree.front(); N; N = N->next()) { for (int i = 0; i < N->get()->get_child_count(); ++i) { + Node *descendant = N->get()->get_child(i); // Skip nodes not really belonging to the instanced hierarchy; they'll be processed normally later - if (N->get()->get_child(i)->data.owner != this) + // but remember non-instanced nodes that are hidden below instanced ones + if (descendant->data.owner != this) { + if (descendant->get_parent() && descendant->get_parent() != this && descendant->get_parent()->data.owner == this) + hidden_roots.push_back(descendant); continue; + } - node_tree.push_back(N->get()->get_child(i)); + node_tree.push_back(descendant); } } } @@ -2156,7 +2163,7 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const Variant value = N->get()->get(name); // Duplicate dictionaries and arrays, mainly needed for __meta__ if (value.get_type() == Variant::DICTIONARY) { - value = Dictionary(value).copy(); + value = Dictionary(value).duplicate(); } else if (value.get_type() == Variant::ARRAY) { value = Array(value).duplicate(); } @@ -2201,6 +2208,34 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const } node->add_child(dup); + if (i < node->get_child_count() - 1) { + node->move_child(dup, i); + } + } + + for (List<const Node *>::Element *E = hidden_roots.front(); E; E = E->next()) { + + Node *parent = node->get_node(get_path_to(E->get()->data.parent)); + if (!parent) { + + memdelete(node); + return NULL; + } + + Node *dup = E->get()->_duplicate(p_flags, r_duplimap); + if (!dup) { + + memdelete(node); + return NULL; + } + + parent->add_child(dup); + int pos = E->get()->get_position_in_parent(); + + if (pos < parent->get_child_count() - 1) { + + parent->move_child(dup, pos); + } } return node; @@ -2269,7 +2304,7 @@ void Node::_duplicate_and_reown(Node *p_new_parent, const Map<Node *, Node *> &p Variant value = get(name); // Duplicate dictionaries and arrays, mainly needed for __meta__ if (value.get_type() == Variant::DICTIONARY) { - value = Dictionary(value).copy(); + value = Dictionary(value).duplicate(); } else if (value.get_type() == Variant::ARRAY) { value = Array(value).duplicate(); } diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index deb40800bc..db39b37bd5 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -38,6 +38,7 @@ #include "os/os.h" #include "print_string.h" #include "project_settings.h" +#include "scene/resources/dynamic_font.h" #include "scene/resources/material.h" #include "scene/resources/mesh.h" #include "scene/resources/packed_scene.h" @@ -390,13 +391,12 @@ void SceneTree::input_event(const Ref<InputEvent> &p_event) { if (Engine::get_singleton()->is_editor_hint() && (Object::cast_to<InputEventJoypadButton>(p_event.ptr()) || Object::cast_to<InputEventJoypadMotion>(*p_event))) return; //avoid joy input on editor + current_event++; root_lock++; - //last_id=p_event.ID; input_handled = false; Ref<InputEvent> ev = p_event; - ev->set_id(++last_id); //this should work better MainLoop::input_event(ev); @@ -495,6 +495,11 @@ bool SceneTree::idle(float p_time) { Size2 win_size = Size2(OS::get_singleton()->get_video_mode().width, OS::get_singleton()->get_video_mode().height); if (win_size != last_screen_size) { + if (use_font_oversampling) { + DynamicFontAtSize::font_oversampling = OS::get_singleton()->get_window_size().width / root->get_visible_rect().size.width; + DynamicFont::update_oversampling(); + } + last_screen_size = win_size; _update_root_rect(); @@ -935,11 +940,6 @@ void SceneMainLoop::_update_listener_2d() { } */ -uint32_t SceneTree::get_last_event_id() const { - - return last_id; -} - Variant SceneTree::_call_group_flags(const Variant **p_args, int p_argcount, Variant::CallError &r_error) { r_error.error = Variant::CallError::CALL_OK; @@ -988,6 +988,10 @@ int64_t SceneTree::get_frame() const { return current_frame; } +int64_t SceneTree::get_event_count() const { + + return current_event; +} Array SceneTree::_get_nodes_in_group(const StringName &p_group) { @@ -2195,6 +2199,9 @@ void SceneTree::_bind_methods() { ClassDB::bind_method(D_METHOD("_connection_failed"), &SceneTree::_connection_failed); ClassDB::bind_method(D_METHOD("_server_disconnected"), &SceneTree::_server_disconnected); + ClassDB::bind_method(D_METHOD("set_use_font_oversampling", "enable"), &SceneTree::set_use_font_oversampling); + ClassDB::bind_method(D_METHOD("is_using_font_oversampling"), &SceneTree::is_using_font_oversampling); + ADD_SIGNAL(MethodInfo("tree_changed")); ADD_SIGNAL(MethodInfo("node_added", PropertyInfo(Variant::OBJECT, "node"))); ADD_SIGNAL(MethodInfo("node_removed", PropertyInfo(Variant::OBJECT, "node"))); @@ -2244,6 +2251,20 @@ void SceneTree::add_idle_callback(IdleCallback p_callback) { idle_callbacks[idle_callback_count++] = p_callback; } +void SceneTree::set_use_font_oversampling(bool p_oversampling) { + + use_font_oversampling = p_oversampling; + if (use_font_oversampling) { + DynamicFontAtSize::font_oversampling = OS::get_singleton()->get_window_size().width / root->get_visible_rect().size.width; + } else { + DynamicFontAtSize::font_oversampling = 1.0; + } +} + +bool SceneTree::is_using_font_oversampling() const { + return use_font_oversampling; +} + SceneTree::SceneTree() { singleton = this; @@ -2264,9 +2285,10 @@ SceneTree::SceneTree() { tree_version = 1; physics_process_time = 1; idle_process_time = 1; - last_id = 1; + root = NULL; current_frame = 0; + current_event = 0; tree_changed_name = "tree_changed"; node_added_name = "node_added"; node_removed_name = "node_removed"; @@ -2327,7 +2349,7 @@ SceneTree::SceneTree() { ProjectSettings::get_singleton()->set("rendering/environment/default_environment", ""); } else { //file was erased, notify user. - ERR_PRINTS(RTR("Default Environment as specified in Project Setings (Rendering -> Viewport -> Default Environment) could not be loaded.")); + ERR_PRINTS(RTR("Default Environment as specified in Project Setings (Rendering -> Environment -> Default Environment) could not be loaded.")); } } } @@ -2380,6 +2402,8 @@ SceneTree::SceneTree() { last_send_cache_id = 1; #endif + + use_font_oversampling = false; } SceneTree::~SceneTree() { diff --git a/scene/main/scene_tree.h b/scene/main/scene_tree.h index 244fc8da62..3e2e74b553 100644 --- a/scene/main/scene_tree.h +++ b/scene/main/scene_tree.h @@ -109,7 +109,6 @@ private: float idle_process_time; bool accept_quit; bool quit_on_go_back; - uint32_t last_id; #ifdef DEBUG_ENABLED bool debug_collisions_hint; @@ -122,12 +121,15 @@ private: bool _quit; bool initialized; bool input_handled; + Size2 last_screen_size; StringName tree_changed_name; StringName node_added_name; StringName node_removed_name; + bool use_font_oversampling; int64_t current_frame; + int64_t current_event; int node_count; #ifdef TOOLS_ENABLED @@ -323,7 +325,7 @@ public: NOTIFICATION_TRANSFORM_CHANGED = 29 }; - enum CallGroupFlags { + enum GroupCallFlags { GROUP_CALL_DEFAULT = 0, GROUP_CALL_REVERSE = 1, GROUP_CALL_REALTIME = 2, @@ -333,8 +335,6 @@ public: _FORCE_INLINE_ Viewport *get_root() const { return root; } - uint32_t get_last_event_id() const; - void call_group_flags(uint32_t p_call_flags, const StringName &p_group, const StringName &p_function, VARIANT_ARG_LIST); void notify_group_flags(uint32_t p_call_flags, const StringName &p_group, int p_notification); void set_group_flags(uint32_t p_call_flags, const StringName &p_group, const String &p_name, const Variant &p_value); @@ -410,6 +410,7 @@ public: int get_collision_debug_contact_count() { return collision_debug_contacts; } int64_t get_frame() const; + int64_t get_event_count() const; int get_node_count() const; @@ -420,6 +421,9 @@ public: void set_screen_stretch(StretchMode p_mode, StretchAspect p_aspect, const Size2 p_minsize, real_t p_shrink = 1); + void set_use_font_oversampling(bool p_oversampling); + bool is_using_font_oversampling() const; + //void change_scene(const String& p_path); //Node *get_loaded_scene(); @@ -462,6 +466,6 @@ public: VARIANT_ENUM_CAST(SceneTree::StretchMode); VARIANT_ENUM_CAST(SceneTree::StretchAspect); -VARIANT_ENUM_CAST(SceneTree::CallGroupFlags); +VARIANT_ENUM_CAST(SceneTree::GroupCallFlags); #endif diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 4635de81e8..fa6a7832f5 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -184,7 +184,6 @@ Viewport::GUI::GUI() { key_focus = NULL; mouse_over = NULL; - cancelled_input_ID = 0; tooltip = NULL; tooltip_popup = NULL; tooltip_label = NULL; @@ -1421,7 +1420,7 @@ void Viewport::_gui_show_tooltip() { gui.tooltip_label->set_anchor_and_margin(MARGIN_TOP, Control::ANCHOR_BEGIN, ttp->get_margin(MARGIN_TOP)); gui.tooltip_label->set_anchor_and_margin(MARGIN_RIGHT, Control::ANCHOR_END, -ttp->get_margin(MARGIN_RIGHT)); gui.tooltip_label->set_anchor_and_margin(MARGIN_BOTTOM, Control::ANCHOR_END, -ttp->get_margin(MARGIN_BOTTOM)); - gui.tooltip_label->set_text(tooltip); + gui.tooltip_label->set_text(tooltip.strip_edges()); Rect2 r(gui.tooltip_pos + Point2(10, 10), gui.tooltip_label->get_combined_minimum_size() + ttp->get_minimum_size()); Rect2 vr = gui.tooltip_label->get_viewport_rect(); if (r.size.x + r.position.x > vr.size.x) @@ -1620,9 +1619,6 @@ bool Viewport::_gui_drop(Control *p_at_control, Point2 p_at_pos, bool p_just_che void Viewport::_gui_input_event(Ref<InputEvent> p_event) { - if (p_event->get_id() == gui.cancelled_input_ID) { - return; - } //? /* if (!is_visible()) { @@ -1640,7 +1636,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { if (mb->is_pressed()) { Size2 pos = mpos; - if (gui.mouse_focus && mb->get_button_index() != gui.mouse_focus_button) { + if (gui.mouse_focus && mb->get_button_index() != gui.mouse_focus_button && mb->get_button_index() == BUTTON_LEFT) { //do not steal mouse focus and stuff @@ -1659,6 +1655,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { //cancel event, sorry, modal exclusive EATS UP ALL //alternative, you can't pop out a window the same frame it was made modal (fixes many issues) get_tree()->set_input_as_handled(); + return; // no one gets the event if exclusive NO ONE } @@ -1751,7 +1748,6 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { _gui_call_input(gui.mouse_focus, mb); } - get_tree()->call_group_flags(SceneTree::GROUP_CALL_REALTIME, "windows", "_cancel_input_ID", mb->get_id()); get_tree()->set_input_as_handled(); if (gui.drag_data.get_type() != Variant::NIL && mb->get_button_index() == BUTTON_LEFT) { @@ -1807,21 +1803,23 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) { pos = gui.focus_inv_xform.xform(pos); mb->set_position(pos); - if (gui.mouse_focus->can_process()) { - _gui_call_input(gui.mouse_focus, mb); - } + Control *mouse_focus = gui.mouse_focus; + //disable mouse focus if needed before calling input, this makes popups on mouse press event work better, as the release will never be received otherwise if (mb->get_button_index() == gui.mouse_focus_button) { gui.mouse_focus = NULL; gui.mouse_focus_button = -1; } + if (mouse_focus->can_process()) { + _gui_call_input(mouse_focus, mb); + } + /*if (gui.drag_data.get_type()!=Variant::NIL && mb->get_button_index()==BUTTON_LEFT) { _propagate_viewport_notification(this,NOTIFICATION_DRAG_END); gui.drag_data=Variant(); //always clear }*/ - get_tree()->call_group_flags(SceneTree::GROUP_CALL_REALTIME, "windows", "_cancel_input_ID", mb->get_id()); get_tree()->set_input_as_handled(); } } @@ -2348,7 +2346,6 @@ void Viewport::_gui_control_grab_focus(Control *p_control) { //no need for change if (gui.key_focus && gui.key_focus == p_control) return; - get_tree()->call_group_flags(SceneTree::GROUP_CALL_REALTIME, "_viewports", "_gui_remove_focus"); gui.key_focus = p_control; p_control->notification(Control::NOTIFICATION_FOCUS_ENTER); @@ -2370,6 +2367,21 @@ List<Control *>::Element *Viewport::_gui_show_modal(Control *p_control) { else p_control->_modal_set_prev_focus_owner(0); + if (gui.mouse_focus && !p_control->is_a_parent_of(gui.mouse_focus)) { + Ref<InputEventMouseButton> mb; + mb.instance(); + mb->set_position(gui.mouse_focus->get_local_mouse_position()); + mb->set_global_position(gui.mouse_focus->get_local_mouse_position()); + mb->set_button_index(gui.mouse_focus_button); + mb->set_pressed(false); + gui.mouse_focus->call_multilevel(SceneStringNames::get_singleton()->_gui_input, mb); + + //if (gui.mouse_over == gui.mouse_focus) { + // gui.mouse_focus->notification(Control::NOTIFICATION_MOUSE_EXIT); + //} + gui.mouse_focus = NULL; + } + return gui.modal_stack.back(); } @@ -2886,7 +2898,7 @@ Viewport::Viewport() { gui.canvas_sort_index = 0; msaa = MSAA_DISABLED; - hdr = false; + hdr = true; usage = USAGE_3D; debug_draw = DEBUG_DRAW_DISABLED; diff --git a/scene/main/viewport.h b/scene/main/viewport.h index 0835e3f69a..c084e348b5 100644 --- a/scene/main/viewport.h +++ b/scene/main/viewport.h @@ -269,7 +269,6 @@ private: float tooltip_timer; float tooltip_delay; List<Control *> modal_stack; - unsigned int cancelled_input_ID; Transform2D focus_inv_xform; bool subwindow_order_dirty; List<Control *> subwindows; diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp index 9715e1d6a0..0c8837ee1a 100644 --- a/scene/register_scene_types.cpp +++ b/scene/register_scene_types.cpp @@ -200,6 +200,9 @@ static ResourceFormatLoaderDynamicFont *resource_loader_dynamic_font = NULL; static ResourceFormatLoaderStreamTexture *resource_loader_stream_texture = NULL; +static ResourceFormatSaverShader *resource_saver_shader = NULL; +static ResourceFormatLoaderShader *resource_loader_shader = NULL; + void register_scene_types() { SceneStringNames::create(); @@ -268,11 +271,11 @@ void register_scene_types() { ClassDB::register_class<Control>(); ClassDB::register_class<Button>(); ClassDB::register_class<Label>(); - ClassDB::register_class<ScrollBar>(); + ClassDB::register_virtual_class<ScrollBar>(); ClassDB::register_class<HScrollBar>(); ClassDB::register_class<VScrollBar>(); ClassDB::register_class<ProgressBar>(); - ClassDB::register_class<Slider>(); + ClassDB::register_virtual_class<Slider>(); ClassDB::register_class<HSlider>(); ClassDB::register_class<VSlider>(); ClassDB::register_class<Popup>(); @@ -283,7 +286,7 @@ void register_scene_types() { ClassDB::register_class<ToolButton>(); ClassDB::register_class<LinkButton>(); ClassDB::register_class<Panel>(); - ClassDB::register_class<Range>(); + ClassDB::register_virtual_class<Range>(); OS::get_singleton()->yield(); //may take time to init @@ -542,6 +545,8 @@ void register_scene_types() { ClassDB::register_class<DynamicFontData>(); ClassDB::register_class<DynamicFont>(); + DynamicFont::initialize_dynamic_fonts(); + ClassDB::register_virtual_class<StyleBox>(); ClassDB::register_class<StyleBoxEmpty>(); ClassDB::register_class<StyleBoxTexture>(); @@ -605,6 +610,12 @@ void register_scene_types() { resource_loader_text = memnew(ResourceFormatLoaderText); ResourceLoader::add_resource_format_loader(resource_loader_text, true); + resource_saver_shader = memnew(ResourceFormatSaverShader); + ResourceSaver::add_resource_format_saver(resource_saver_shader, true); + + resource_loader_shader = memnew(ResourceFormatLoaderShader); + ResourceLoader::add_resource_format_loader(resource_loader_shader, true); + for (int i = 0; i < 20; i++) { GLOBAL_DEF("layer_names/2d_render/layer_" + itos(i + 1), ""); GLOBAL_DEF("layer_names/2d_physics/layer_" + itos(i + 1), ""); @@ -621,6 +632,8 @@ void unregister_scene_types() { memdelete(resource_loader_stream_texture); memdelete(resource_loader_theme); + DynamicFont::finish_dynamic_fonts(); + if (resource_saver_text) { memdelete(resource_saver_text); } @@ -628,6 +641,13 @@ void unregister_scene_types() { memdelete(resource_loader_text); } + if (resource_saver_shader) { + memdelete(resource_saver_shader); + } + if (resource_loader_shader) { + memdelete(resource_loader_shader); + } + SpatialMaterial::finish_shaders(); ParticlesMaterial::finish_shaders(); CanvasItemMaterial::finish_shaders(); diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index a40417f24d..66b1e49d13 100644 --- a/scene/resources/dynamic_font.cpp +++ b/scene/resources/dynamic_font.cpp @@ -191,10 +191,10 @@ Error DynamicFontAtSize::_load() { ERR_FAIL_COND_V( error, ERR_INVALID_PARAMETER ); }*/ - error = FT_Set_Pixel_Sizes(face, 0, id.size); + error = FT_Set_Pixel_Sizes(face, 0, id.size * oversampling); - ascent = face->size->metrics.ascender >> 6; - descent = -face->size->metrics.descender >> 6; + ascent = (face->size->metrics.ascender >> 6) / oversampling; + descent = (-face->size->metrics.descender >> 6) / oversampling; linegap = 0; texture_flags = 0; if (id.mipmaps) @@ -208,6 +208,8 @@ Error DynamicFontAtSize::_load() { return OK; } +float DynamicFontAtSize::font_oversampling = 1.0; + float DynamicFontAtSize::get_height() const { return ascent + descent; @@ -282,11 +284,11 @@ Size2 DynamicFontAtSize::get_char_size(CharType p_char, CharType p_next, const V if (delta.x == 0) continue; - ret.x += delta.x >> 6; + ret.x += (delta.x >> 6) / oversampling; break; } } else { - ret.x += delta.x >> 6; + ret.x += (delta.x >> 6) / oversampling; } } @@ -338,7 +340,7 @@ float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2 &p_pos, CharT cpos.y += ch->v_align; ERR_FAIL_COND_V(ch->texture_idx < -1 || ch->texture_idx >= fb->textures.size(), 0); if (ch->texture_idx != -1) - VisualServer::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, Rect2(cpos, ch->rect.size), fb->textures[ch->texture_idx].texture->get_rid(), ch->rect, p_modulate, false, RID(), false); + VisualServer::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, Rect2(cpos, ch->rect.size), fb->textures[ch->texture_idx].texture->get_rid(), ch->rect_uv, p_modulate, false, RID(), false); advance = ch->advance; used_fallback = true; break; @@ -360,7 +362,7 @@ float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2 &p_pos, CharT cpos.y += c->v_align; ERR_FAIL_COND_V(c->texture_idx < -1 || c->texture_idx >= textures.size(), 0); if (c->texture_idx != -1) - VisualServer::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, Rect2(cpos, c->rect.size), textures[c->texture_idx].texture->get_rid(), c->rect, p_modulate, false, RID(), false); + VisualServer::get_singleton()->canvas_item_add_texture_rect_region(p_canvas_item, Rect2(cpos, c->rect.size), textures[c->texture_idx].texture->get_rid(), c->rect_uv, p_modulate, false, RID(), false); advance = c->advance; //textures[c->texture_idx].texture->draw(p_canvas_item,Vector2()); } @@ -382,11 +384,11 @@ float DynamicFontAtSize::draw_char(RID p_canvas_item, const Point2 &p_pos, CharT if (delta.x == 0) continue; - advance += delta.x >> 6; + advance += (delta.x >> 6) / oversampling; break; } } else { - advance += delta.x >> 6; + advance += (delta.x >> 6) / oversampling; } } @@ -602,19 +604,37 @@ void DynamicFontAtSize::_update_char(CharType p_char) { } Character chr; - chr.h_align = xofs; - chr.v_align = ascent - yofs; // + ascent - descent; - chr.advance = advance; + chr.h_align = xofs / oversampling; + chr.v_align = ascent - (yofs / oversampling); // + ascent - descent; + chr.advance = advance / oversampling; chr.texture_idx = tex_index; chr.found = true; - chr.rect = Rect2(tex_x + rect_margin, tex_y + rect_margin, w, h); + chr.rect_uv = Rect2(tex_x + rect_margin, tex_y + rect_margin, w, h); + chr.rect = chr.rect_uv; + chr.rect.position /= oversampling; + chr.rect.size /= oversampling; //print_line("CHAR: "+String::chr(p_char)+" TEX INDEX: "+itos(tex_index)+" RECT: "+chr.rect+" X OFS: "+itos(xofs)+" Y OFS: "+itos(yofs)); char_map[p_char] = chr; } +bool DynamicFontAtSize::update_oversampling() { + if (oversampling == font_oversampling) + return false; + if (!valid) + return false; + + FT_Done_FreeType(library); + textures.clear(); + char_map.clear(); + oversampling = font_oversampling; + _load(); + + return true; +} + DynamicFontAtSize::DynamicFontAtSize() { valid = false; @@ -623,6 +643,7 @@ DynamicFontAtSize::DynamicFontAtSize() { descent = 1; linegap = 1; texture_flags = 0; + oversampling = font_oversampling; } DynamicFontAtSize::~DynamicFontAtSize() { @@ -913,15 +934,52 @@ void DynamicFont::_bind_methods() { BIND_ENUM_CONSTANT(SPACING_SPACE); } -DynamicFont::DynamicFont() { +Mutex *DynamicFont::dynamic_font_mutex = NULL; + +SelfList<DynamicFont>::List DynamicFont::dynamic_fonts; + +DynamicFont::DynamicFont() : + font_list(this) { spacing_top = 0; spacing_bottom = 0; spacing_char = 0; spacing_space = 0; + if (dynamic_font_mutex) + dynamic_font_mutex->lock(); + dynamic_fonts.add(&font_list); + if (dynamic_font_mutex) + dynamic_font_mutex->unlock(); } DynamicFont::~DynamicFont() { + + if (dynamic_font_mutex) + dynamic_font_mutex->lock(); + dynamic_fonts.remove(&font_list); + if (dynamic_font_mutex) + dynamic_font_mutex->unlock(); +} + +void DynamicFont::initialize_dynamic_fonts() { + dynamic_font_mutex = Mutex::create(); +} + +void DynamicFont::finish_dynamic_fonts() { + memdelete(dynamic_font_mutex); + dynamic_font_mutex = NULL; +} + +void DynamicFont::update_oversampling() { + + SelfList<DynamicFont> *E = dynamic_fonts.first(); + while (E) { + + if (E->self()->data_at_size.is_valid() && E->self()->data_at_size->update_oversampling()) { + E->self()->emit_changed(); + } + E = E->next(); + } } ///////////////////////// diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h index 52c3f30590..b2452a6a0a 100644 --- a/scene/resources/dynamic_font.h +++ b/scene/resources/dynamic_font.h @@ -32,6 +32,7 @@ #ifdef FREETYPE_ENABLED #include "io/resource_loader.h" +#include "os/mutex.h" #include "os/thread_safe.h" #include "scene/resources/font.h" @@ -97,10 +98,11 @@ class DynamicFontAtSize : public Reference { FT_Face face; /* handle to face object */ FT_StreamRec stream; - int ascent; - int descent; - int linegap; - int rect_margin; + float ascent; + float descent; + float linegap; + float rect_margin; + float oversampling; uint32_t texture_flags; @@ -121,6 +123,7 @@ class DynamicFontAtSize : public Reference { bool found; int texture_idx; Rect2 rect; + Rect2 rect_uv; float v_align; float h_align; float advance; @@ -145,8 +148,9 @@ class DynamicFontAtSize : public Reference { static HashMap<String, Vector<uint8_t> > _fontdata; Error _load(); -protected: public: + static float font_oversampling; + float get_height() const; float get_ascent() const; @@ -157,6 +161,7 @@ public: float draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_char, CharType p_next, const Color &p_modulate, const Vector<Ref<DynamicFontAtSize> > &p_fallbacks) const; void set_texture_flags(uint32_t p_flags); + bool update_oversampling(); DynamicFontAtSize(); ~DynamicFontAtSize(); @@ -232,6 +237,15 @@ public: virtual float draw_char(RID p_canvas_item, const Point2 &p_pos, CharType p_char, CharType p_next = 0, const Color &p_modulate = Color(1, 1, 1)) const; + SelfList<DynamicFont> font_list; + + static Mutex *dynamic_font_mutex; + static SelfList<DynamicFont>::List dynamic_fonts; + + static void initialize_dynamic_fonts(); + static void finish_dynamic_fonts(); + static void update_oversampling(); + DynamicFont(); ~DynamicFont(); }; diff --git a/scene/resources/font.cpp b/scene/resources/font.cpp index 2b44ea4554..8510669d6c 100644 --- a/scene/resources/font.cpp +++ b/scene/resources/font.cpp @@ -257,8 +257,8 @@ Error BitmapFont::create_from_fnt(const String &p_file) { if (keys.has("file")) { - String file = keys["file"]; - file = p_file.get_base_dir() + "/" + file; + String base_dir = p_file.get_base_dir(); + String file = base_dir.plus_file(keys["file"]); Ref<Texture> tex = ResourceLoader::load(file); if (tex.is_null()) { ERR_PRINT("Can't load font texture!"); diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 326320c60f..cc9fde58e2 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -753,7 +753,7 @@ void SpatialMaterial::_update_shader() { if (features[FEATURE_REFRACTION] && !flags[FLAG_UV1_USE_TRIPLANAR]) { //refraction not supported with triplanar if (features[FEATURE_NORMAL_MAPPING]) { - code += "\tvec3 ref_normal = normalize( mix(NORMAL,TANGENT * NORMALMAP.x + BINORMAL * NORMALMAP.y + NORMAL * NORMALMAP.z,NORMALMAP_DEPTH) ) * SIDE;\n"; + code += "\tvec3 ref_normal = normalize( mix(NORMAL,TANGENT * NORMALMAP.x + BINORMAL * NORMALMAP.y + NORMAL * NORMALMAP.z,NORMALMAP_DEPTH) );\n"; } else { code += "\tvec3 ref_normal = NORMAL;\n"; } diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index bb33962be6..bf5f7bf039 100644 --- a/scene/resources/mesh.cpp +++ b/scene/resources/mesh.cpp @@ -1111,13 +1111,14 @@ Error ArrayMesh::lightmap_unwrap(const Transform &p_base_transform, float p_texe for (int j = 0; j < vc; j++) { Vector3 v = p_base_transform.xform(r[j]); + Vector3 n = p_base_transform.basis.xform(rn[j]).normalized(); vertices[(j + vertex_ofs) * 3 + 0] = v.x; vertices[(j + vertex_ofs) * 3 + 1] = v.y; vertices[(j + vertex_ofs) * 3 + 2] = v.z; - normals[(j + vertex_ofs) * 3 + 0] = rn[j].x; - normals[(j + vertex_ofs) * 3 + 1] = rn[j].y; - normals[(j + vertex_ofs) * 3 + 2] = rn[j].z; + normals[(j + vertex_ofs) * 3 + 0] = n.x; + normals[(j + vertex_ofs) * 3 + 1] = n.y; + normals[(j + vertex_ofs) * 3 + 2] = n.z; uv_index[j + vertex_ofs] = Pair<int, int>(i, j); } diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 3a5cb7da2e..879f76e6d8 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -270,6 +270,8 @@ Node *SceneState::instance(GenEditState p_edit_state) const { if (i > 0) { if (parent) { parent->_add_child_nocheck(node, snames[n.name]); + if (n.index >= 0 && n.index < parent->get_child_count() - 1) + parent->move_child(node, n.index); } else { //it may be possible that an instanced scene has changed //and the node has nowhere to go anymore @@ -386,6 +388,7 @@ Error SceneState::_parse_node(Node *p_owner, Node *p_node, int p_parent_idx, Map nd.name = _nm_get_string(p_node->get_name(), name_map); nd.instance = -1; //not instanced by default + nd.index = p_node->get_index(); // if this node is part of an instanced scene or sub-instanced scene // we need to get the corresponding instance states. @@ -1114,7 +1117,10 @@ void SceneState::set_bundled_scene(const Dictionary &p_dictionary) { nd.parent = r[idx++]; nd.owner = r[idx++]; nd.type = r[idx++]; - nd.name = r[idx++]; + uint32_t name_index = r[idx++]; + nd.name = name_index & ((1 << NAME_INDEX_BITS) - 1); + nd.index = (name_index >> NAME_INDEX_BITS); + nd.index--; //0 is invaild, stored as 1 nd.instance = r[idx++]; nd.properties.resize(r[idx++]); for (int j = 0; j < nd.properties.size(); j++) { @@ -1206,7 +1212,11 @@ Dictionary SceneState::get_bundled_scene() const { rnodes.push_back(nd.parent); rnodes.push_back(nd.owner); rnodes.push_back(nd.type); - rnodes.push_back(nd.name); + uint32_t name_index = nd.name; + if (nd.index < (1 << (32 - NAME_INDEX_BITS)) - 1) { //save if less than 16k childs + name_index |= uint32_t(nd.index + 1) << NAME_INDEX_BITS; //for backwards compatibility, index 0 is no index + } + rnodes.push_back(name_index); rnodes.push_back(nd.instance); rnodes.push_back(nd.properties.size()); for (int j = 0; j < nd.properties.size(); j++) { @@ -1284,6 +1294,11 @@ StringName SceneState::get_node_name(int p_idx) const { return names[nodes[p_idx].name]; } +int SceneState::get_node_index(int p_idx) const { + ERR_FAIL_INDEX_V(p_idx, nodes.size(), -1); + return nodes[p_idx].index; +} + bool SceneState::is_node_instance_placeholder(int p_idx) const { ERR_FAIL_INDEX_V(p_idx, nodes.size(), false); @@ -1524,7 +1539,7 @@ int SceneState::add_node_path(const NodePath &p_path) { node_paths.push_back(p_path); return (node_paths.size() - 1) | FLAG_ID_IS_PATH; } -int SceneState::add_node(int p_parent, int p_owner, int p_type, int p_name, int p_instance) { +int SceneState::add_node(int p_parent, int p_owner, int p_type, int p_name, int p_instance, int p_index) { NodeData nd; nd.parent = p_parent; @@ -1532,6 +1547,7 @@ int SceneState::add_node(int p_parent, int p_owner, int p_type, int p_name, int nd.type = p_type; nd.name = p_name; nd.instance = p_instance; + nd.index = p_index; nodes.push_back(nd); @@ -1605,6 +1621,7 @@ void SceneState::_bind_methods() { ClassDB::bind_method(D_METHOD("get_node_instance_placeholder", "idx"), &SceneState::get_node_instance_placeholder); ClassDB::bind_method(D_METHOD("get_node_instance", "idx"), &SceneState::get_node_instance); ClassDB::bind_method(D_METHOD("get_node_groups", "idx"), &SceneState::_get_node_groups); + ClassDB::bind_method(D_METHOD("get_node_index", "idx"), &SceneState::get_node_index); ClassDB::bind_method(D_METHOD("get_node_property_count", "idx"), &SceneState::get_node_property_count); ClassDB::bind_method(D_METHOD("get_node_property_name", "idx", "prop_idx"), &SceneState::get_node_property_name); ClassDB::bind_method(D_METHOD("get_node_property_value", "idx", "prop_idx"), &SceneState::get_node_property_value); diff --git a/scene/resources/packed_scene.h b/scene/resources/packed_scene.h index 20bfb19b1f..70deea24ff 100644 --- a/scene/resources/packed_scene.h +++ b/scene/resources/packed_scene.h @@ -48,6 +48,8 @@ class SceneState : public Reference { enum { NO_PARENT_SAVED = 0x7FFFFFFF, + NAME_INDEX_BITS = 18, + NAME_MASK = (1 << NAME_INDEX_BITS) - 1, }; struct NodeData { @@ -57,6 +59,7 @@ class SceneState : public Reference { int type; int name; int instance; + int index; struct Property { @@ -151,6 +154,7 @@ public: String get_node_instance_placeholder(int p_idx) const; bool is_node_instance_placeholder(int p_idx) const; Vector<StringName> get_node_groups(int p_idx) const; + int get_node_index(int p_idx) const; int get_node_property_count(int p_idx) const; StringName get_node_property_name(int p_idx, int p_prop) const; @@ -174,7 +178,7 @@ public: int find_name(const StringName &p_name) const; int add_value(const Variant &p_value); int add_node_path(const NodePath &p_path); - int add_node(int p_parent, int p_owner, int p_type, int p_name, int p_instance); + int add_node(int p_parent, int p_owner, int p_type, int p_name, int p_instance, int p_index); void add_node_property(int p_node, int p_name, int p_value); void add_node_group(int p_node, int p_group); void set_base_scene(int p_idx); diff --git a/scene/resources/room.h b/scene/resources/room.h index aadee858c2..0e021cfcf7 100644 --- a/scene/resources/room.h +++ b/scene/resources/room.h @@ -36,7 +36,7 @@ @author Juan Linietsky <reduzio@gmail.com> */ -//left for reference but will be removed when portals are reimplemented using Area +// FIXME: left for reference but will be removed when portals are reimplemented using Area #if 0 class RoomBounds : public Resource { diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/scene_format_text.cpp index aebbb5b562..7bf5f24269 100644 --- a/scene/resources/scene_format_text.cpp +++ b/scene/resources/scene_format_text.cpp @@ -198,6 +198,7 @@ Ref<PackedScene> ResourceInteractiveLoaderText::_parse_node_tag(VariantParser::R int type = -1; int name = -1; int instance = -1; + int index = -1; //int base_scene=-1; if (next_tag.fields.has("name")) { @@ -249,7 +250,11 @@ Ref<PackedScene> ResourceInteractiveLoaderText::_parse_node_tag(VariantParser::R owner = 0; //if no owner, owner is root } - int node_id = packed_scene->get_state()->add_node(parent, owner, type, name, instance); + if (next_tag.fields.has("index")) { + index = next_tag.fields["index"]; + } + + int node_id = packed_scene->get_state()->add_node(parent, owner, type, name, instance, index); if (next_tag.fields.has("groups")) { @@ -1609,6 +1614,7 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path, const RES &p_r StringName type = state->get_node_type(i); StringName name = state->get_node_name(i); + int index = state->get_node_index(i); NodePath path = state->get_node_path(i, true); NodePath owner = state->get_node_owner_path(i); Ref<PackedScene> instance = state->get_node_instance(i); @@ -1626,6 +1632,9 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path, const RES &p_r if (owner != NodePath() && owner != NodePath(".")) { header += " owner=\"" + String(owner.simplified()) + "\""; } + if (index >= 0) { + header += " index=\"" + itos(index) + "\""; + } if (groups.size()) { String sgroups = " groups=[\n"; diff --git a/scene/resources/shader.cpp b/scene/resources/shader.cpp index 66df7dfda8..207c50f673 100644 --- a/scene/resources/shader.cpp +++ b/scene/resources/shader.cpp @@ -151,3 +151,80 @@ Shader::~Shader() { VisualServer::get_singleton()->free(shader); } +//////////// + +RES ResourceFormatLoaderShader::load(const String &p_path, const String &p_original_path, Error *r_error) { + + if (r_error) + *r_error = ERR_FILE_CANT_OPEN; + + Ref<Shader> shader; + shader.instance(); + + Vector<uint8_t> buffer = FileAccess::get_file_as_array(p_path); + + String str; + str.parse_utf8((const char *)buffer.ptr(), buffer.size()); + + shader->set_code(str); + + if (r_error) + *r_error = OK; + + return shader; +} + +void ResourceFormatLoaderShader::get_recognized_extensions(List<String> *p_extensions) const { + + p_extensions->push_back("shader"); +} + +bool ResourceFormatLoaderShader::handles_type(const String &p_type) const { + + return (p_type == "Shader"); +} + +String ResourceFormatLoaderShader::get_resource_type(const String &p_path) const { + + String el = p_path.get_extension().to_lower(); + if (el == "shader") + return "Shader"; + return ""; +} + +Error ResourceFormatSaverShader::save(const String &p_path, const RES &p_resource, uint32_t p_flags) { + + Ref<Shader> shader = p_resource; + ERR_FAIL_COND_V(shader.is_null(), ERR_INVALID_PARAMETER); + + String source = shader->get_code(); + + Error err; + FileAccess *file = FileAccess::open(p_path, FileAccess::WRITE, &err); + + if (err) { + + ERR_FAIL_COND_V(err, err); + } + + file->store_string(source); + if (file->get_error() != OK && file->get_error() != ERR_FILE_EOF) { + memdelete(file); + return ERR_CANT_CREATE; + } + file->close(); + memdelete(file); + + return OK; +} + +void ResourceFormatSaverShader::get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const { + + if (Object::cast_to<Shader>(*p_resource)) { + p_extensions->push_back("shader"); + } +} +bool ResourceFormatSaverShader::recognize(const RES &p_resource) const { + + return Object::cast_to<Shader>(*p_resource) != NULL; +} diff --git a/scene/resources/shader.h b/scene/resources/shader.h index 5cc70629c7..78d73a33e2 100644 --- a/scene/resources/shader.h +++ b/scene/resources/shader.h @@ -31,6 +31,7 @@ #define SHADER_H #include "io/resource_loader.h" +#include "io/resource_saver.h" #include "resource.h" #include "scene/resources/texture.h" @@ -38,7 +39,6 @@ class Shader : public Resource { GDCLASS(Shader, Resource); OBJ_SAVE_TYPE(Shader); - RES_BASE_EXTENSION("shd"); public: enum Mode { @@ -95,4 +95,19 @@ public: VARIANT_ENUM_CAST(Shader::Mode); +class ResourceFormatLoaderShader : public ResourceFormatLoader { +public: + virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL); + virtual void get_recognized_extensions(List<String> *p_extensions) const; + virtual bool handles_type(const String &p_type) const; + virtual String get_resource_type(const String &p_path) const; +}; + +class ResourceFormatSaverShader : public ResourceFormatSaver { +public: + virtual Error save(const String &p_path, const RES &p_resource, uint32_t p_flags = 0); + virtual void get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const; + virtual bool recognize(const RES &p_resource) const; +}; + #endif // SHADER_H diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 987d6c5f6a..35d0d55d85 100644 --- a/scene/resources/texture.cpp +++ b/scene/resources/texture.cpp @@ -707,6 +707,8 @@ Ref<Image> StreamTexture::get_data() const { } void StreamTexture::set_flags(uint32_t p_flags) { + flags = p_flags; + VS::get_singleton()->texture_set_flags(texture, flags); } void StreamTexture::reload_from_file() { diff --git a/scene/resources/tile_set.cpp b/scene/resources/tile_set.cpp index bd6b917d4e..144c208c07 100644 --- a/scene/resources/tile_set.cpp +++ b/scene/resources/tile_set.cpp @@ -893,8 +893,8 @@ void TileSet::clear() { void TileSet::_bind_methods() { ClassDB::bind_method(D_METHOD("create_tile", "id"), &TileSet::create_tile); - ClassDB::bind_method(D_METHOD("autotile_set_bitmask_mode", "mode"), &TileSet::autotile_set_bitmask_mode); - ClassDB::bind_method(D_METHOD("autotile_get_bitmask_mode"), &TileSet::autotile_get_bitmask_mode); + ClassDB::bind_method(D_METHOD("autotile_set_bitmask_mode", "id", "mode"), &TileSet::autotile_set_bitmask_mode); + ClassDB::bind_method(D_METHOD("autotile_get_bitmask_mode", "id"), &TileSet::autotile_get_bitmask_mode); ClassDB::bind_method(D_METHOD("tile_set_name", "id", "name"), &TileSet::tile_set_name); ClassDB::bind_method(D_METHOD("tile_get_name", "id"), &TileSet::tile_get_name); ClassDB::bind_method(D_METHOD("tile_set_texture", "id", "texture"), &TileSet::tile_set_texture); diff --git a/servers/arvr/arvr_positional_tracker.cpp b/servers/arvr/arvr_positional_tracker.cpp index fc0270615c..fb97d5b86b 100644 --- a/servers/arvr/arvr_positional_tracker.cpp +++ b/servers/arvr/arvr_positional_tracker.cpp @@ -62,13 +62,15 @@ void ARVRPositionalTracker::_bind_methods() { void ARVRPositionalTracker::set_type(ARVRServer::TrackerType p_type) { if (type != p_type) { type = p_type; + hand = ARVRPositionalTracker::TRACKER_HAND_UNKNOWN; ARVRServer *arvr_server = ARVRServer::get_singleton(); ERR_FAIL_NULL(arvr_server); // get a tracker id for our type + // note if this is a controller this will be 3 or higher but we may change it later. tracker_id = arvr_server->get_free_tracker_id_for_type(p_type); - } + }; }; ARVRServer::TrackerType ARVRPositionalTracker::get_type() const { @@ -156,7 +158,24 @@ ARVRPositionalTracker::TrackerHand ARVRPositionalTracker::get_hand() const { }; void ARVRPositionalTracker::set_hand(const ARVRPositionalTracker::TrackerHand p_hand) { - hand = p_hand; + ARVRServer *arvr_server = ARVRServer::get_singleton(); + ERR_FAIL_NULL(arvr_server); + + if (hand != p_hand) { + // we can only set this if we've previously set this to be a controller!! + ERR_FAIL_COND((type != ARVRServer::TRACKER_CONTROLLER) && (p_hand != ARVRPositionalTracker::TRACKER_HAND_UNKNOWN)); + + hand = p_hand; + if (hand == ARVRPositionalTracker::TRACKER_LEFT_HAND) { + if (!arvr_server->is_tracker_id_in_use_for_type(type, 1)) { + tracker_id = 1; + }; + } else if (hand == ARVRPositionalTracker::TRACKER_RIGHT_HAND) { + if (!arvr_server->is_tracker_id_in_use_for_type(type, 2)) { + tracker_id = 2; + }; + }; + }; }; Transform ARVRPositionalTracker::get_transform(bool p_adjust_by_reference_frame) const { diff --git a/servers/arvr_server.cpp b/servers/arvr_server.cpp index 1e73d6753c..df73040e1e 100644 --- a/servers/arvr_server.cpp +++ b/servers/arvr_server.cpp @@ -43,7 +43,7 @@ void ARVRServer::_bind_methods() { ClassDB::bind_method(D_METHOD("get_world_scale"), &ARVRServer::get_world_scale); ClassDB::bind_method(D_METHOD("set_world_scale"), &ARVRServer::set_world_scale); ClassDB::bind_method(D_METHOD("get_reference_frame"), &ARVRServer::get_reference_frame); - ClassDB::bind_method(D_METHOD("center_on_hmd", "ignore_tilt", "keep_height"), &ARVRServer::center_on_hmd); + ClassDB::bind_method(D_METHOD("center_on_hmd", "rotation_mode", "keep_height"), &ARVRServer::center_on_hmd); ADD_PROPERTY(PropertyInfo(Variant::REAL, "world_scale"), "set_world_scale", "get_world_scale"); @@ -63,6 +63,10 @@ void ARVRServer::_bind_methods() { BIND_ENUM_CONSTANT(TRACKER_UNKNOWN); BIND_ENUM_CONSTANT(TRACKER_ANY); + BIND_ENUM_CONSTANT(RESET_FULL_ROTATION); + BIND_ENUM_CONSTANT(RESET_BUT_KEEP_TILT); + BIND_ENUM_CONSTANT(DONT_RESET_ROTATION); + ADD_SIGNAL(MethodInfo("interface_added", PropertyInfo(Variant::STRING, "name"))); ADD_SIGNAL(MethodInfo("interface_removed", PropertyInfo(Variant::STRING, "name"))); @@ -96,7 +100,7 @@ Transform ARVRServer::get_reference_frame() const { return reference_frame; }; -void ARVRServer::center_on_hmd(bool p_ignore_tilt, bool p_keep_height) { +void ARVRServer::center_on_hmd(RotationMode p_rotation_mode, bool p_keep_height) { if (primary_interface != NULL) { // clear our current reference frame or we'll end up double adjusting it reference_frame = Transform(); @@ -105,7 +109,7 @@ void ARVRServer::center_on_hmd(bool p_ignore_tilt, bool p_keep_height) { Transform new_reference_frame = primary_interface->get_transform_for_eye(ARVRInterface::EYE_MONO, Transform()); // remove our tilt - if (p_ignore_tilt) { + if (p_rotation_mode == 1) { // take the Y out of our Z new_reference_frame.basis.set_axis(2, Vector3(new_reference_frame.basis.elements[0][2], 0.0, new_reference_frame.basis.elements[2][2]).normalized()); @@ -114,6 +118,9 @@ void ARVRServer::center_on_hmd(bool p_ignore_tilt, bool p_keep_height) { // and X is our cross reference new_reference_frame.basis.set_axis(0, new_reference_frame.basis.get_axis(1).cross(new_reference_frame.basis.get_axis(2)).normalized()); + } else if (p_rotation_mode == 2) { + // remove our rotation, we're only interesting in centering on position + new_reference_frame.basis = Basis(); }; // don't negate our height @@ -229,8 +236,12 @@ bool ARVRServer::is_tracker_id_in_use_for_type(TrackerType p_tracker_type, int p }; int ARVRServer::get_free_tracker_id_for_type(TrackerType p_tracker_type) { - // we start checking at 1, 0 means that it's not a controller.. - int tracker_id = 1; + // We start checking at 1, 0 means that it's not a controller.. + // Note that for controller we reserve: + // - 1 for the left hand controller and + // - 2 for the right hand controller + // so we start at 3 :) + int tracker_id = p_tracker_type == ARVRServer::TRACKER_CONTROLLER ? 3 : 1; while (is_tracker_id_in_use_for_type(p_tracker_type, tracker_id)) { // try the next one diff --git a/servers/arvr_server.h b/servers/arvr_server.h index 9b84ee2e99..0381e6e533 100644 --- a/servers/arvr_server.h +++ b/servers/arvr_server.h @@ -68,6 +68,12 @@ public: TRACKER_ANY = 0xff /* used by get_connected_trackers to return all types */ }; + enum RotationMode { + RESET_FULL_ROTATION = 0, /* we reset the full rotation, regardless of how the HMD is oriented, we're looking dead ahead */ + RESET_BUT_KEEP_TILT = 1, /* reset rotation but keep tilt. */ + DONT_RESET_ROTATION = 2, /* don't reset the rotation, we will only center on position */ + }; + private: Vector<Ref<ARVRInterface> > interfaces; Vector<ARVRPositionalTracker *> trackers; @@ -78,8 +84,6 @@ private: Transform world_origin; /* our world origin point, maps a location in our virtual world to the origin point in our real world tracking volume */ Transform reference_frame; /* our reference frame */ - bool is_tracker_id_in_use_for_type(TrackerType p_tracker_type, int p_tracker_id) const; - protected: static ARVRServer *singleton; @@ -127,7 +131,7 @@ public: and in the virtual world out of sync */ Transform get_reference_frame() const; - void center_on_hmd(bool p_ignore_tilt, bool p_keep_height); + void center_on_hmd(RotationMode p_rotation_mode, bool p_keep_height); /* Interfaces are objects that 'glue' Godot to an AR or VR SDK such as the Oculus SDK, OpenVR, OpenHMD, etc. @@ -150,9 +154,8 @@ public: /* Our trackers are objects that expose the orientation and position of physical devices such as controller, anchor points, etc. They are created and managed by our active AR/VR interfaces. - - Note that for trackers that */ + bool is_tracker_id_in_use_for_type(TrackerType p_tracker_type, int p_tracker_id) const; int get_free_tracker_id_for_type(TrackerType p_tracker_type); void add_tracker(ARVRPositionalTracker *p_tracker); void remove_tracker(ARVRPositionalTracker *p_tracker); @@ -167,5 +170,6 @@ public: #define ARVR ARVRServer VARIANT_ENUM_CAST(ARVRServer::TrackerType); +VARIANT_ENUM_CAST(ARVRServer::RotationMode); #endif diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index d7b2c2c5e0..6048c47347 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -76,7 +76,14 @@ void AudioStreamPlaybackResampled::mix(AudioFrame *p_buffer, float p_rate_scale, internal_buffer[1] = internal_buffer[INTERNAL_BUFFER_LEN + 1]; internal_buffer[2] = internal_buffer[INTERNAL_BUFFER_LEN + 2]; internal_buffer[3] = internal_buffer[INTERNAL_BUFFER_LEN + 3]; - _mix_internal(internal_buffer + 4, INTERNAL_BUFFER_LEN); + if (is_playing()) { + _mix_internal(internal_buffer + 4, INTERNAL_BUFFER_LEN); + } else { + //fill with silence, not playing + for (int i = 0; i < INTERNAL_BUFFER_LEN; ++i) { + internal_buffer[i + 4] = AudioFrame(0, 0); + } + } mix_offset -= (INTERNAL_BUFFER_LEN << FP_BITS); } } diff --git a/servers/physics_2d_server.cpp b/servers/physics_2d_server.cpp index dc58cd36dd..dad4711c07 100644 --- a/servers/physics_2d_server.cpp +++ b/servers/physics_2d_server.cpp @@ -654,6 +654,10 @@ void Physics2DServer::_bind_methods() { BIND_ENUM_CONSTANT(JOINT_GROOVE); BIND_ENUM_CONSTANT(JOINT_DAMPED_SPRING); + BIND_ENUM_CONSTANT(JOINT_PARAM_BIAS); + BIND_ENUM_CONSTANT(JOINT_PARAM_MAX_BIAS); + BIND_ENUM_CONSTANT(JOINT_PARAM_MAX_FORCE); + BIND_ENUM_CONSTANT(DAMPED_STRING_REST_LENGTH); BIND_ENUM_CONSTANT(DAMPED_STRING_STIFFNESS); BIND_ENUM_CONSTANT(DAMPED_STRING_DAMPING); diff --git a/servers/visual/rasterizer.h b/servers/visual/rasterizer.h index c5c225a40a..667a0f5742 100644 --- a/servers/visual/rasterizer.h +++ b/servers/visual/rasterizer.h @@ -473,6 +473,8 @@ public: virtual RID particles_create() = 0; virtual void particles_set_emitting(RID p_particles, bool p_emitting) = 0; + virtual bool particles_get_emitting(RID p_particles) = 0; + virtual void particles_set_amount(RID p_particles, int p_amount) = 0; virtual void particles_set_lifetime(RID p_particles, float p_lifetime) = 0; virtual void particles_set_one_shot(RID p_particles, bool p_one_shot) = 0; diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index e10a57c571..834505df9a 100644 --- a/servers/visual/shader_language.cpp +++ b/servers/visual/shader_language.cpp @@ -755,12 +755,12 @@ void ShaderLanguage::clear() { } } -bool ShaderLanguage::_find_identifier(const BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types, const StringName &p_identifier, DataType *r_data_type, IdentifierType *r_type) { +bool ShaderLanguage::_find_identifier(const BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, const StringName &p_identifier, DataType *r_data_type, IdentifierType *r_type) { if (p_builtin_types.has(p_identifier)) { if (r_data_type) { - *r_data_type = p_builtin_types[p_identifier]; + *r_data_type = p_builtin_types[p_identifier].type; } if (r_type) { *r_type = IDENTIFIER_BUILTIN_VAR; @@ -1897,62 +1897,6 @@ bool ShaderLanguage::_validate_function_call(BlockNode *p_block, OperatorNode *p return false; } -#if 0 - if (found_builtin) { - - if (p_func->op==OP_CONSTRUCT && all_const) { - - - Vector<float> cdata; - for(int i=0;i<argcount;i++) { - - Variant v = static_cast<ConstantNode*>(p_func->arguments[i+1])->value; - switch(v.get_type()) { - - case Variant::REAL: cdata.push_back(v); break; - case Variant::INT: cdata.push_back(v); break; - case Variant::VECTOR2: { Vector2 v2=v; cdata.push_back(v2.x); cdata.push_back(v2.y); } break; - case Variant::VECTOR3: { Vector3 v3=v; cdata.push_back(v3.x); cdata.push_back(v3.y); cdata.push_back(v3.z);} break; - case Variant::PLANE: { Plane v4=v; cdata.push_back(v4.normal.x); cdata.push_back(v4.normal.y); cdata.push_back(v4.normal.z); cdata.push_back(v4.d); } break; - default: ERR_FAIL_V(NULL); - - } - - } - - ConstantNode *cn = parser.create_node<ConstantNode>(p_func->parent); - Variant data; - switch(p_func->return_cache) { - case TYPE_FLOAT: data = cdata[0]; break; - case TYPE_VEC2: - if (cdata.size()==1) - data = Vector2(cdata[0],cdata[0]); - else - data = Vector2(cdata[0],cdata[1]); - - break; - case TYPE_VEC3: - if (cdata.size()==1) - data = Vector3(cdata[0],cdata[0],cdata[0]); - else - data = Vector3(cdata[0],cdata[1],cdata[2]); - break; - case TYPE_VEC4: - if (cdata.size()==1) - data = Plane(cdata[0],cdata[0],cdata[0],cdata[0]); - else - data = Plane(cdata[0],cdata[1],cdata[2],cdata[3]); - break; - } - - cn->datatype=p_func->return_cache; - cn->value=data; - return cn; - - } - return p_func; - } -#endif // try existing functions.. StringName exclude_function; @@ -2008,7 +1952,7 @@ bool ShaderLanguage::_validate_function_call(BlockNode *p_block, OperatorNode *p return false; } -bool ShaderLanguage::_parse_function_arguments(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types, OperatorNode *p_func, int *r_complete_arg) { +bool ShaderLanguage::_parse_function_arguments(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, OperatorNode *p_func, int *r_complete_arg) { TkPos pos = _get_tkpos(); Token tk = _get_token(); @@ -2261,7 +2205,48 @@ bool ShaderLanguage::_get_completable_identifier(BlockNode *p_block, CompletionT return false; } -ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types) { +bool ShaderLanguage::_is_operator_assign(Operator p_op) const { + switch (p_op) { + case OP_ASSIGN: + case OP_ASSIGN_ADD: + case OP_ASSIGN_SUB: + case OP_ASSIGN_MUL: + case OP_ASSIGN_DIV: + case OP_ASSIGN_MOD: + case OP_ASSIGN_SHIFT_LEFT: + case OP_ASSIGN_SHIFT_RIGHT: + case OP_ASSIGN_BIT_AND: + case OP_ASSIGN_BIT_OR: + case OP_ASSIGN_BIT_XOR: + return true; + default: + return false; + } + + return false; +} + +bool ShaderLanguage::_validate_assign(Node *p_node, const Map<StringName, BuiltInInfo> &p_builtin_types) { + + if (p_node->type == Node::TYPE_OPERATOR) { + + OperatorNode *op = static_cast<OperatorNode *>(p_node); + if (op->type == OP_INDEX) { + return _validate_assign(op->arguments[0], p_builtin_types); + } + } + + if (p_node->type == Node::TYPE_VARIABLE) { + + VariableNode *var = static_cast<VariableNode *>(p_node); + if (p_builtin_types.has(var->name) && p_builtin_types[var->name].constant) { + return false; //ops not valid + } + } + return true; +} + +ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types) { Vector<Expression> expression; //Vector<TokenType> operators; @@ -2765,6 +2750,11 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons _set_error("Invalid base type for increment/decrement operator"); return NULL; } + + if (!_validate_assign(expr, p_builtin_types)) { + _set_error("Invalid use of increment/decrement operator in constant expression."); + return NULL; + } expr = op; } else { @@ -2948,6 +2938,11 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons OperatorNode *op = alloc_node<OperatorNode>(); op->op = expression[i].op; + if ((op->op == OP_INCREMENT || op->op == OP_DECREMENT) && !_validate_assign(expression[i + 1].node, p_builtin_types)) { + + _set_error("Can't use increment/decrement operator in constant expression."); + return NULL; + } op->arguments.push_back(expression[i + 1].node); expression[i].is_op = false; @@ -3019,6 +3014,12 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons ERR_FAIL_V(NULL); } + if (_is_operator_assign(op->op) && !_validate_assign(expression[next_op - 1].node, p_builtin_types)) { + + _set_error("Assignment to constant expression."); + return NULL; + } + if (expression[next_op + 1].is_op) { // this is not invalid and can really appear // but it becomes invalid anyway because no binary op @@ -3142,7 +3143,7 @@ ShaderLanguage::Node *ShaderLanguage::_reduce_expression(BlockNode *p_block, Sha return p_node; } -ShaderLanguage::Node *ShaderLanguage::_parse_and_reduce_expression(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types) { +ShaderLanguage::Node *ShaderLanguage::_parse_and_reduce_expression(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types) { ShaderLanguage::Node *expr = _parse_expression(p_block, p_builtin_types); if (!expr) //errored @@ -3153,7 +3154,7 @@ ShaderLanguage::Node *ShaderLanguage::_parse_and_reduce_expression(BlockNode *p_ return expr; } -Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types, bool p_just_one, bool p_can_break, bool p_can_continue) { +Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, bool p_just_one, bool p_can_break, bool p_can_continue) { while (true) { @@ -3369,7 +3370,7 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, Dat } BlockNode *block = alloc_node<BlockNode>(); - block->parent_block = p_block; + block->parent_block = init_block; cf->blocks.push_back(block); p_block->statements.push_back(cf); @@ -3636,7 +3637,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct name = tk.text; - if (_find_identifier(NULL, Map<StringName, DataType>(), name)) { + if (_find_identifier(NULL, Map<StringName, BuiltInInfo>(), name)) { _set_error("Redefinition of '" + String(name) + "'"); return ERR_PARSE_ERROR; } @@ -3660,7 +3661,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct tk = _get_token(); if (tk.type == TK_OP_ASSIGN) { - Node *expr = _parse_and_reduce_expression(NULL, Map<StringName, DataType>()); + Node *expr = _parse_and_reduce_expression(NULL, Map<StringName, BuiltInInfo>()); if (!expr) return ERR_PARSE_ERROR; if (expr->type != Node::TYPE_CONSTANT) { @@ -3841,7 +3842,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct return ERR_PARSE_ERROR; } - if (_find_identifier(NULL, Map<StringName, DataType>(), name)) { + if (_find_identifier(NULL, Map<StringName, BuiltInInfo>(), name)) { _set_error("Redefinition of '" + String(name) + "'"); return ERR_PARSE_ERROR; } @@ -3852,7 +3853,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct return ERR_PARSE_ERROR; } - Map<StringName, DataType> builtin_types; + Map<StringName, BuiltInInfo> builtin_types; if (p_functions.has(name)) { builtin_types = p_functions[name].built_ins; } @@ -4109,7 +4110,7 @@ Error ShaderLanguage::complete(const String &p_code, const Map<StringName, Funct if (comp_ident && skip_function != StringName() && p_functions.has(skip_function)) { - for (Map<StringName, DataType>::Element *E = p_functions[skip_function].built_ins.front(); E; E = E->next()) { + for (Map<StringName, BuiltInInfo>::Element *E = p_functions[skip_function].built_ins.front(); E; E = E->next()) { matches.insert(E->key()); } } diff --git a/servers/visual/shader_language.h b/servers/visual/shader_language.h index e092bf931f..4cf8560990 100644 --- a/servers/visual/shader_language.h +++ b/servers/visual/shader_language.h @@ -537,8 +537,18 @@ public: static void get_keyword_list(List<String> *r_keywords); static void get_builtin_funcs(List<String> *r_keywords); + struct BuiltInInfo { + DataType type; + bool constant; + BuiltInInfo() {} + BuiltInInfo(DataType p_type, bool p_constant = false) { + type = p_type; + constant = p_constant; + } + }; + struct FunctionInfo { - Map<StringName, DataType> built_ins; + Map<StringName, BuiltInInfo> built_ins; bool can_discard; }; @@ -601,7 +611,10 @@ private: IDENTIFIER_BUILTIN_VAR, }; - bool _find_identifier(const BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types, const StringName &p_identifier, DataType *r_data_type = NULL, IdentifierType *r_type = NULL); + bool _find_identifier(const BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, const StringName &p_identifier, DataType *r_data_type = NULL, IdentifierType *r_type = NULL); + + bool _is_operator_assign(Operator p_op) const; + bool _validate_assign(Node *p_node, const Map<StringName, BuiltInInfo> &p_builtin_types); bool _validate_operator(OperatorNode *p_op, DataType *r_ret_type = NULL); @@ -625,14 +638,14 @@ private: static const BuiltinFuncDef builtin_func_defs[]; bool _validate_function_call(BlockNode *p_block, OperatorNode *p_func, DataType *r_ret_type); - bool _parse_function_arguments(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types, OperatorNode *p_func, int *r_complete_arg = NULL); + bool _parse_function_arguments(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, OperatorNode *p_func, int *r_complete_arg = NULL); - Node *_parse_expression(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types); + Node *_parse_expression(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types); ShaderLanguage::Node *_reduce_expression(BlockNode *p_block, ShaderLanguage::Node *p_node); - Node *_parse_and_reduce_expression(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types); + Node *_parse_and_reduce_expression(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types); - Error _parse_block(BlockNode *p_block, const Map<StringName, DataType> &p_builtin_types, bool p_just_one = false, bool p_can_break = false, bool p_can_continue = false); + Error _parse_block(BlockNode *p_block, const Map<StringName, BuiltInInfo> &p_builtin_types, bool p_just_one = false, bool p_can_break = false, bool p_can_continue = false); Error _parse_shader(const Map<StringName, FunctionInfo> &p_functions, const Set<String> &p_render_modes, const Set<String> &p_shader_types); diff --git a/servers/visual/shader_types.cpp b/servers/visual/shader_types.cpp index 7489ca7e3e..96f981ab5e 100644 --- a/servers/visual/shader_types.cpp +++ b/servers/visual/shader_types.cpp @@ -45,6 +45,11 @@ const Set<String> &ShaderTypes::get_types() { ShaderTypes *ShaderTypes::singleton = NULL; +static ShaderLanguage::BuiltInInfo constt(ShaderLanguage::DataType p_type) { + + return ShaderLanguage::BuiltInInfo(p_type, true); +} + ShaderTypes::ShaderTypes() { singleton = this; @@ -58,32 +63,32 @@ ShaderTypes::ShaderTypes() { shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["UV2"] = ShaderLanguage::TYPE_VEC2; shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4; shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["POINT_SIZE"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INSTANCE_ID"] = ShaderLanguage::TYPE_INT; - shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INSTANCE_CUSTOM"] = ShaderLanguage::TYPE_VEC4; + shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INSTANCE_ID"] = constt(ShaderLanguage::TYPE_INT); + shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INSTANCE_CUSTOM"] = constt(ShaderLanguage::TYPE_VEC4); shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["ROUGHNESS"] = ShaderLanguage::TYPE_FLOAT; shader_modes[VS::SHADER_SPATIAL].functions["vertex"].can_discard = false; //builtins shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["WORLD_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INV_CAMERA_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["CAMERA_MATRIX"] = ShaderLanguage::TYPE_MAT4; + shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INV_CAMERA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["CAMERA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_MATRIX"] = ShaderLanguage::TYPE_MAT4; shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["INV_PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["VIEWPORT_SIZE"] = ShaderLanguage::TYPE_VEC2; + shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2); - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["VERTEX"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["FRAGCOORD"] = ShaderLanguage::TYPE_VEC4; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["FRONT_FACING"] = ShaderLanguage::TYPE_BOOL; + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["VERTEX"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["FRAGCOORD"] = constt(ShaderLanguage::TYPE_VEC4); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["FRONT_FACING"] = constt(ShaderLanguage::TYPE_BOOL); shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["TANGENT"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["BINORMAL"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["NORMALMAP"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["NORMALMAP_DEPTH"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["UV"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["UV2"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4; + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["UV"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["UV2"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["COLOR"] = constt(ShaderLanguage::TYPE_VEC4); shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["ALBEDO"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA"] = ShaderLanguage::TYPE_FLOAT; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["METALLIC"] = ShaderLanguage::TYPE_FLOAT; @@ -103,33 +108,32 @@ ShaderTypes::ShaderTypes() { shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["SCREEN_TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["DEPTH_TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["SCREEN_UV"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["POINT_COORD"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["SIDE"] = ShaderLanguage::TYPE_FLOAT; + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["POINT_COORD"] = constt(ShaderLanguage::TYPE_VEC2); shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["ALPHA_SCISSOR"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["WORLD_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["INV_CAMERA_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["INV_PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEWPORT_SIZE"] = ShaderLanguage::TYPE_VEC2; + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["WORLD_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["INV_CAMERA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["PROJECTION_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["INV_PROJECTION_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2); shader_modes[VS::SHADER_SPATIAL].functions["fragment"].can_discard = true; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["WORLD_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["INV_CAMERA_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["INV_PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["VIEWPORT_SIZE"] = ShaderLanguage::TYPE_VEC2; - - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["VIEW"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT_COLOR"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["ATTENUATION"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["ALBEDO"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["TRANSMISSION"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["ROUGHNESS"] = ShaderLanguage::TYPE_FLOAT; + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["WORLD_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["INV_CAMERA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["PROJECTION_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["INV_PROJECTION_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2); + + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["NORMAL"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["VIEW"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT_COLOR"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["ATTENUATION"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["ALBEDO"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["TRANSMISSION"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["ROUGHNESS"] = constt(ShaderLanguage::TYPE_FLOAT); shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["DIFFUSE_LIGHT"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_SPATIAL].functions["light"].built_ins["SPECULAR_LIGHT"] = ShaderLanguage::TYPE_VEC3; @@ -177,38 +181,38 @@ ShaderTypes::ShaderTypes() { shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4; shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["POINT_SIZE"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["WORLD_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["PROJECTION_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["EXTRA_MATRIX"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["INSTANCE_CUSTOM"] = ShaderLanguage::TYPE_VEC4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["AT_LIGHT_PASS"] = ShaderLanguage::TYPE_BOOL; + shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["WORLD_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["PROJECTION_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["EXTRA_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["INSTANCE_CUSTOM"] = constt(ShaderLanguage::TYPE_VEC4); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["AT_LIGHT_PASS"] = constt(ShaderLanguage::TYPE_BOOL); shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].can_discard = false; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["FRAGCOORD"] = ShaderLanguage::TYPE_VEC4; + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["FRAGCOORD"] = constt(ShaderLanguage::TYPE_VEC4); shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["NORMALMAP"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["NORMALMAP_DEPTH"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["UV"] = ShaderLanguage::TYPE_VEC2; + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["UV"] = constt(ShaderLanguage::TYPE_VEC2); shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["TEXTURE_PIXEL_SIZE"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["NORMAL_TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["SCREEN_UV"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["SCREEN_PIXEL_SIZE"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["POINT_COORD"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["AT_LIGHT_PASS"] = ShaderLanguage::TYPE_BOOL; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["SCREEN_TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["TEXTURE"] = constt(ShaderLanguage::TYPE_SAMPLER2D); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["TEXTURE_PIXEL_SIZE"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["NORMAL_TEXTURE"] = constt(ShaderLanguage::TYPE_SAMPLER2D); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["SCREEN_UV"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["SCREEN_PIXEL_SIZE"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["POINT_COORD"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["AT_LIGHT_PASS"] = constt(ShaderLanguage::TYPE_BOOL); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].built_ins["SCREEN_TEXTURE"] = constt(ShaderLanguage::TYPE_SAMPLER2D); shader_modes[VS::SHADER_CANVAS_ITEM].functions["fragment"].can_discard = true; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["POSITION"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["UV"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["TEXTURE"] = ShaderLanguage::TYPE_SAMPLER2D; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["TEXTURE_PIXEL_SIZE"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["SCREEN_UV"] = ShaderLanguage::TYPE_VEC2; + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["POSITION"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["NORMAL"] = constt(ShaderLanguage::TYPE_VEC3); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["UV"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["COLOR"] = constt(ShaderLanguage::TYPE_VEC4); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["TEXTURE"] = constt(ShaderLanguage::TYPE_SAMPLER2D); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["TEXTURE_PIXEL_SIZE"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["SCREEN_UV"] = constt(ShaderLanguage::TYPE_VEC2); shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["LIGHT_VEC"] = ShaderLanguage::TYPE_VEC2; shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["LIGHT_HEIGHT"] = ShaderLanguage::TYPE_FLOAT; shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["LIGHT_COLOR"] = ShaderLanguage::TYPE_VEC4; @@ -216,8 +220,8 @@ ShaderTypes::ShaderTypes() { shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["LIGHT_SHADOW"] = ShaderLanguage::TYPE_VEC4; shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["LIGHT"] = ShaderLanguage::TYPE_VEC4; shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["SHADOW"] = ShaderLanguage::TYPE_VEC4; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["POINT_COORD"] = ShaderLanguage::TYPE_VEC2; - shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["POINT_COORD"] = constt(ShaderLanguage::TYPE_VEC2); + shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); shader_modes[VS::SHADER_CANVAS_ITEM].functions["light"].can_discard = true; shader_modes[VS::SHADER_CANVAS_ITEM].modes.insert("skip_vertex_transform"); @@ -237,16 +241,16 @@ ShaderTypes::ShaderTypes() { shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["VELOCITY"] = ShaderLanguage::TYPE_VEC3; shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["MASS"] = ShaderLanguage::TYPE_FLOAT; shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["ACTIVE"] = ShaderLanguage::TYPE_BOOL; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["RESTART"] = ShaderLanguage::TYPE_BOOL; + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["RESTART"] = constt(ShaderLanguage::TYPE_BOOL); shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["CUSTOM"] = ShaderLanguage::TYPE_VEC4; shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["TRANSFORM"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["TIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["LIFETIME"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["DELTA"] = ShaderLanguage::TYPE_FLOAT; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["NUMBER"] = ShaderLanguage::TYPE_UINT; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["INDEX"] = ShaderLanguage::TYPE_INT; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["EMISSION_TRANSFORM"] = ShaderLanguage::TYPE_MAT4; - shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["RANDOM_SEED"] = ShaderLanguage::TYPE_UINT; + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["LIFETIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["DELTA"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["NUMBER"] = constt(ShaderLanguage::TYPE_UINT); + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["INDEX"] = constt(ShaderLanguage::TYPE_INT); + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["EMISSION_TRANSFORM"] = constt(ShaderLanguage::TYPE_MAT4); + shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["RANDOM_SEED"] = constt(ShaderLanguage::TYPE_UINT); shader_modes[VS::SHADER_PARTICLES].functions["vertex"].can_discard = false; shader_modes[VS::SHADER_PARTICLES].modes.insert("billboard"); diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index 0fed9cc961..532546c5fa 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -499,7 +499,6 @@ void VisualServerCanvas::canvas_item_add_multiline(RID p_item, const Vector<Poin pline->antialiased = false; //todo pline->multiline = true; - // if (p_width <= 1) { pline->lines = p_points; pline->line_colors = p_colors; if (pline->line_colors.size() == 0) { @@ -507,66 +506,7 @@ void VisualServerCanvas::canvas_item_add_multiline(RID p_item, const Vector<Poin } else if (pline->line_colors.size() > 1 && pline->line_colors.size() != pline->lines.size()) { pline->line_colors.resize(1); } -#if 0 -//width not yet - } else { - //make a trianglestrip for drawing the line... - Vector2 prev_t; - pline->triangles.resize(p_points.size() * 2); - if (p_antialiased) { - pline->lines.resize(p_points.size() * 2); - } - if (p_colors.size() == 0) { - pline->triangle_colors.push_back(Color(1, 1, 1, 1)); - if (p_antialiased) { - pline->line_colors.push_back(Color(1, 1, 1, 1)); - } - } - if (p_colors.size() == 1) { - pline->triangle_colors = p_colors; - pline->line_colors = p_colors; - } else { - pline->triangle_colors.resize(pline->triangles.size()); - pline->line_colors.resize(pline->lines.size()); - } - - for (int i = 0; i < p_points.size(); i++) { - - Vector2 t; - if (i == p_points.size() - 1) { - t = prev_t; - } else { - t = (p_points[i + 1] - p_points[i]).normalized().tangent(); - if (i == 0) { - prev_t = t; - } - } - - Vector2 tangent = ((t + prev_t).normalized()) * p_width * 0.5; - - if (p_antialiased) { - pline->lines[i] = p_points[i] + tangent; - pline->lines[p_points.size() * 2 - i - 1] = p_points[i] - tangent; - if (pline->line_colors.size() > 1) { - pline->line_colors[i] = p_colors[i]; - pline->line_colors[p_points.size() * 2 - i - 1] = p_colors[i]; - } - } - - pline->triangles[i * 2 + 0] = p_points[i] + tangent; - pline->triangles[i * 2 + 1] = p_points[i] - tangent; - - if (pline->triangle_colors.size() > 1) { - - pline->triangle_colors[i * 2 + 0] = p_colors[i]; - pline->triangle_colors[i * 2 + 1] = p_colors[i]; - } - - prev_t = t; - } - } -#endif canvas_item->rect_dirty = true; canvas_item->commands.push_back(pline); } diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp index 6b527b5cd1..7bb7d04fcd 100644 --- a/servers/visual/visual_server_raster.cpp +++ b/servers/visual/visual_server_raster.cpp @@ -181,6 +181,10 @@ void VisualServerRaster::set_debug_generate_wireframes(bool p_generate) { VSG::storage->set_debug_generate_wireframes(p_generate); } +void VisualServerRaster::call_set_use_vsync(bool p_enable) { + OS::get_singleton()->_set_use_vsync(p_enable); +} + VisualServerRaster::VisualServerRaster() { VSG::canvas = memnew(VisualServerCanvas); diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index a0e79e9d3e..9b19aa0eff 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -384,6 +384,7 @@ public: BIND0R(RID, particles_create) BIND2(particles_set_emitting, RID, bool) + BIND1R(bool, particles_get_emitting, RID) BIND2(particles_set_amount, RID, int) BIND2(particles_set_lifetime, RID, float) BIND2(particles_set_one_shot, RID, bool) @@ -668,6 +669,8 @@ public: virtual bool has_os_feature(const String &p_feature) const; virtual void set_debug_generate_wireframes(bool p_generate); + virtual void call_set_use_vsync(bool p_enable); + VisualServerRaster(); ~VisualServerRaster(); diff --git a/servers/visual/visual_server_scene.h b/servers/visual/visual_server_scene.h index 4b0c4af09d..689e06de93 100644 --- a/servers/visual/visual_server_scene.h +++ b/servers/visual/visual_server_scene.h @@ -69,34 +69,6 @@ public: Portal() { enabled=true; disable_distance=50; disable_color=Color(); connect_range=0.8; } }; - - struct BakedLight { - - Rasterizer::BakedLightData data; - PoolVector<int> sampler; - AABB octree_aabb; - Size2i octree_tex_size; - Size2i light_tex_size; - - }; - - struct BakedLightSampler { - - float params[BAKED_LIGHT_SAMPLER_MAX]; - int resolution; - Vector<Vector3> dp_cache; - - BakedLightSampler() { - params[BAKED_LIGHT_SAMPLER_STRENGTH]=1.0; - params[BAKED_LIGHT_SAMPLER_ATTENUATION]=1.0; - params[BAKED_LIGHT_SAMPLER_RADIUS]=1.0; - params[BAKED_LIGHT_SAMPLER_DETAIL_RATIO]=0.1; - resolution=16; - } - }; - - void _update_baked_light_sampler_dp_cache(BakedLightSampler * blsamp); - #endif /* CAMERA API */ diff --git a/servers/visual/visual_server_wrap_mt.cpp b/servers/visual/visual_server_wrap_mt.cpp index b86a0ae3f6..e55b7a9309 100644 --- a/servers/visual/visual_server_wrap_mt.cpp +++ b/servers/visual/visual_server_wrap_mt.cpp @@ -158,9 +158,19 @@ void VisualServerWrapMT::finish() { canvas_occluder_polygon_free_cached_ids(); } +void VisualServerWrapMT::set_use_vsync_callback(bool p_enable) { + + singleton_mt->call_set_use_vsync(p_enable); +} + +VisualServerWrapMT *VisualServerWrapMT::singleton_mt = NULL; + VisualServerWrapMT::VisualServerWrapMT(VisualServer *p_contained, bool p_create_thread) : command_queue(p_create_thread) { + singleton_mt = this; + OS::switch_vsync_function = set_use_vsync_callback; //as this goes to another thread, make sure it goes properly + visual_server = p_contained; create_thread = p_create_thread; thread = NULL; diff --git a/servers/visual/visual_server_wrap_mt.h b/servers/visual/visual_server_wrap_mt.h index cb6f67474e..a350cc1809 100644 --- a/servers/visual/visual_server_wrap_mt.h +++ b/servers/visual/visual_server_wrap_mt.h @@ -64,6 +64,8 @@ class VisualServerWrapMT : public VisualServer { //#define DEBUG_SYNC + static VisualServerWrapMT *singleton_mt; + #ifdef DEBUG_SYNC #define SYNC_DEBUG print_line("sync on: " + String(__FUNCTION__)); #else @@ -315,6 +317,7 @@ public: FUNCRID(particles) FUNC2(particles_set_emitting, RID, bool) + FUNC1R(bool, particles_get_emitting, RID) FUNC2(particles_set_amount, RID, int) FUNC2(particles_set_lifetime, RID, float) FUNC2(particles_set_one_shot, RID, bool) @@ -584,6 +587,10 @@ public: virtual bool has_feature(Features p_feature) const { return visual_server->has_feature(p_feature); } virtual bool has_os_feature(const String &p_feature) const { return visual_server->has_os_feature(p_feature); } + FUNC1(call_set_use_vsync, bool) + + static void set_use_vsync_callback(bool p_enable); + VisualServerWrapMT(VisualServer *p_contained, bool p_create_thread); ~VisualServerWrapMT(); diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 153cff2f22..42ecb82a46 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -1820,6 +1820,7 @@ void VisualServer::_bind_methods() { BIND_ENUM_CONSTANT(INSTANCE_LIGHT); BIND_ENUM_CONSTANT(INSTANCE_REFLECTION_PROBE); BIND_ENUM_CONSTANT(INSTANCE_GI_PROBE); + BIND_ENUM_CONSTANT(INSTANCE_LIGHTMAP_CAPTURE); BIND_ENUM_CONSTANT(INSTANCE_MAX); BIND_ENUM_CONSTANT(INSTANCE_GEOMETRY_MASK); @@ -1921,6 +1922,7 @@ VisualServer::VisualServer() { //ERR_FAIL_COND(singleton); singleton = this; + GLOBAL_DEF("rendering/vram_compression/import_s3tc", true); GLOBAL_DEF("rendering/vram_compression/import_etc", false); GLOBAL_DEF("rendering/vram_compression/import_etc2", true); diff --git a/servers/visual_server.h b/servers/visual_server.h index ad4d32b967..e45b18b066 100644 --- a/servers/visual_server.h +++ b/servers/visual_server.h @@ -504,6 +504,7 @@ public: virtual RID particles_create() = 0; virtual void particles_set_emitting(RID p_particles, bool p_emitting) = 0; + virtual bool particles_get_emitting(RID p_particles) = 0; virtual void particles_set_amount(RID p_particles, int p_amount) = 0; virtual void particles_set_lifetime(RID p_particles, float p_lifetime) = 0; virtual void particles_set_one_shot(RID p_particles, bool p_one_shot) = 0; @@ -751,7 +752,6 @@ public: INSTANCE_GI_PROBE, INSTANCE_LIGHTMAP_CAPTURE, INSTANCE_MAX, - /*INSTANCE_BAKED_LIGHT_SAMPLER,*/ INSTANCE_GEOMETRY_MASK = (1 << INSTANCE_MESH) | (1 << INSTANCE_MULTIMESH) | (1 << INSTANCE_IMMEDIATE) | (1 << INSTANCE_PARTICLES) }; @@ -981,6 +981,8 @@ public: virtual void set_debug_generate_wireframes(bool p_generate) = 0; + virtual void call_set_use_vsync(bool p_enable) = 0; + VisualServer(); virtual ~VisualServer(); }; diff --git a/thirdparty/README.md b/thirdparty/README.md index 8c50081782..62690e21c7 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -365,6 +365,7 @@ Files extracted from upstream source: - celt/ and silk/ subfolders - COPYING + ## pcre2 - Upstream: http://www.pcre.org/ @@ -378,6 +379,7 @@ Files extracted from upstream source: - src/pcre2_jit_*.c and src/sljit/* - AUTHORS and COPYING + ## pvrtccompressor - Upstream: https://bitbucket.org/jthlim/pvrtccompressor @@ -389,12 +391,14 @@ Files extracted from upstream source: - all .cpp and .h files apart from `main.cpp` - LICENSE.TXT + ## recastnavigation - Upstream: https://github.com/recastnavigation/recastnavigation - version: git commit ef3ea40f - 2016-02-06 - License: zlib + ## rtaudio - Upstream: http://www.music.mcgill.ca/~gary/rtaudio/ @@ -416,6 +420,10 @@ Files extracted from upstream source: - all .cpp, .h and .inl files +Important: Some files have Godot-made changes. +They are marked with `// -- GODOT start --` and `// -- GODOT end --` +comments and a patch is provided in the squish/ folder. + ## tinyexr diff --git a/thirdparty/squish/Add-Decompress-Bc5-to-Squish.patch b/thirdparty/squish/Add-Decompress-Bc5-to-Squish.patch new file mode 100644 index 0000000000..1e06a8d318 --- /dev/null +++ b/thirdparty/squish/Add-Decompress-Bc5-to-Squish.patch @@ -0,0 +1,143 @@ +From 7b64cc4c8b0be0443741483bf65909f5140179c0 Mon Sep 17 00:00:00 2001 +From: Orkun <orkuntezerm@gmail.com> +Date: Sun, 19 Nov 2017 02:24:31 +0300 +Subject: [PATCH] Fix #12220: Add Decompress Bc5 to Squish + +This Commit fixes the corrupted file preview described in #12220. +Added DecompressColourBc5 function to squish. +--- + thirdparty/squish/colourblock.cpp | 85 +++++++++++++++++++++++++++++++++++++++ + thirdparty/squish/colourblock.h | 3 ++ + thirdparty/squish/squish.cpp | 8 +++- + 3 files changed, 95 insertions(+), 1 deletion(-) + +diff --git a/thirdparty/squish/colourblock.cpp b/thirdparty/squish/colourblock.cpp +index af8b98036..3de46382c 100644 +--- a/thirdparty/squish/colourblock.cpp ++++ b/thirdparty/squish/colourblock.cpp +@@ -211,4 +211,89 @@ void DecompressColour( u8* rgba, void const* block, bool isDxt1 ) + } + } + ++// -- Godot start -- ++void DecompressColourBc5( u8* rgba, void const* block) ++{ ++ // get the block bytes ++ u8 const* bytes = reinterpret_cast< u8 const* >( block ); ++ ++ // unpack the endpoints ++ u8 codes[16]; ++ int red_0 = bytes[0]; ++ int red_1 = bytes[1]; ++ ++ codes[0] = red_0; ++ codes[1] = red_1; ++ codes[6] = 0.0f; ++ codes[7] = 1.0f; ++ // generate the midpoints ++ if(red_0 > red_1) ++ { ++ for( int i = 2; i < 8; ++i ) ++ { ++ codes[i] = ((8-i)*red_0 + (i-1)*red_1)/7; ++ } ++ } ++ else ++ { ++ for( int i = 2; i < 6; ++i ) ++ { ++ codes[i] = ((6-i)*red_0 + (i-1)*red_1)/5; ++ } ++ } ++ ++ int green_0 = bytes[8]; ++ int green_1 = bytes[9]; ++ ++ codes[0 + 8] = green_0; ++ codes[1 + 8] = green_1; ++ codes[6 + 8] = 0.0f; ++ codes[7 + 8] = 1.0f; ++ // generate the midpoints ++ if(green_0 > green_1) ++ { ++ for( int i = 2; i < 8; ++i ) ++ { ++ codes[i + 8] = ((8-i)*green_0 + (i-1)*green_1)/7; ++ } ++ } ++ else ++ { ++ for( int i = 2; i < 6; ++i ) ++ { ++ codes[i + 8] = ((6-i)*green_0 + (i-1)*green_1)/5; ++ } ++ } ++ ++ u8 indices[32]; ++ for( int i = 0; i < 4; ++i ) ++ { ++ u8 packed = bytes[2 + i]; ++ u8* red_ind = indices + 4*i; ++ ++ red_ind[0] = packed & 0x3; ++ red_ind[1] = ( packed >> 2 ) & 0x3; ++ red_ind[2] = ( packed >> 4 ) & 0x3; ++ red_ind[3] = ( packed >> 6 ) & 0x3; ++ ++ packed = bytes[8 + i]; ++ u8* green_ind = indices + 4*i + 16; ++ green_ind[0] = packed & 0x3; ++ green_ind[1] = ( packed >> 2 ) & 0x3; ++ green_ind[2] = ( packed >> 4 ) & 0x3; ++ green_ind[3] = ( packed >> 6 ) & 0x3; ++ } ++ ++ // store out the colours ++ for( int i = 0; i < 16; ++i ) ++ { ++ rgba[4*i] = codes[indices[i]]; ++ rgba[4*i +1] = codes[indices[i + 16] + 8]; ++ rgba[4*i +2] = 0; ++ rgba[4*i +3] = 255; ++ } ++} ++// -- GODOT end -- ++ ++ + } // namespace squish +diff --git a/thirdparty/squish/colourblock.h b/thirdparty/squish/colourblock.h +index fee2cd7c5..3cb9b7e3b 100644 +--- a/thirdparty/squish/colourblock.h ++++ b/thirdparty/squish/colourblock.h +@@ -35,6 +35,9 @@ void WriteColourBlock3( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void* + void WriteColourBlock4( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void* block ); + + void DecompressColour( u8* rgba, void const* block, bool isDxt1 ); ++// -- GODOT start -- ++void DecompressColourBc5( u8* rgba, void const* block ); ++// -- GODOT end -- + + } // namespace squish + +diff --git a/thirdparty/squish/squish.cpp b/thirdparty/squish/squish.cpp +index 1d22a64ad..fd11a147d 100644 +--- a/thirdparty/squish/squish.cpp ++++ b/thirdparty/squish/squish.cpp +@@ -135,7 +135,13 @@ void Decompress( u8* rgba, void const* block, int flags ) + colourBlock = reinterpret_cast< u8 const* >( block ) + 8; + + // decompress colour +- DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 ); ++ // -- GODOT start -- ++ //DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 ); ++ if(( flags & ( kBc5 ) ) != 0) ++ DecompressColourBc5( rgba, colourBlock); ++ else ++ DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 ); ++ // -- GODOT end -- + + // decompress alpha separately if necessary + if( ( flags & kDxt3 ) != 0 ) +-- +2.13.6 + diff --git a/thirdparty/squish/colourblock.cpp b/thirdparty/squish/colourblock.cpp index af8b980365..3de46382c0 100644 --- a/thirdparty/squish/colourblock.cpp +++ b/thirdparty/squish/colourblock.cpp @@ -211,4 +211,89 @@ void DecompressColour( u8* rgba, void const* block, bool isDxt1 ) } } +// -- Godot start -- +void DecompressColourBc5( u8* rgba, void const* block) +{ + // get the block bytes + u8 const* bytes = reinterpret_cast< u8 const* >( block ); + + // unpack the endpoints + u8 codes[16]; + int red_0 = bytes[0]; + int red_1 = bytes[1]; + + codes[0] = red_0; + codes[1] = red_1; + codes[6] = 0.0f; + codes[7] = 1.0f; + // generate the midpoints + if(red_0 > red_1) + { + for( int i = 2; i < 8; ++i ) + { + codes[i] = ((8-i)*red_0 + (i-1)*red_1)/7; + } + } + else + { + for( int i = 2; i < 6; ++i ) + { + codes[i] = ((6-i)*red_0 + (i-1)*red_1)/5; + } + } + + int green_0 = bytes[8]; + int green_1 = bytes[9]; + + codes[0 + 8] = green_0; + codes[1 + 8] = green_1; + codes[6 + 8] = 0.0f; + codes[7 + 8] = 1.0f; + // generate the midpoints + if(green_0 > green_1) + { + for( int i = 2; i < 8; ++i ) + { + codes[i + 8] = ((8-i)*green_0 + (i-1)*green_1)/7; + } + } + else + { + for( int i = 2; i < 6; ++i ) + { + codes[i + 8] = ((6-i)*green_0 + (i-1)*green_1)/5; + } + } + + u8 indices[32]; + for( int i = 0; i < 4; ++i ) + { + u8 packed = bytes[2 + i]; + u8* red_ind = indices + 4*i; + + red_ind[0] = packed & 0x3; + red_ind[1] = ( packed >> 2 ) & 0x3; + red_ind[2] = ( packed >> 4 ) & 0x3; + red_ind[3] = ( packed >> 6 ) & 0x3; + + packed = bytes[8 + i]; + u8* green_ind = indices + 4*i + 16; + green_ind[0] = packed & 0x3; + green_ind[1] = ( packed >> 2 ) & 0x3; + green_ind[2] = ( packed >> 4 ) & 0x3; + green_ind[3] = ( packed >> 6 ) & 0x3; + } + + // store out the colours + for( int i = 0; i < 16; ++i ) + { + rgba[4*i] = codes[indices[i]]; + rgba[4*i +1] = codes[indices[i + 16] + 8]; + rgba[4*i +2] = 0; + rgba[4*i +3] = 255; + } +} +// -- GODOT end -- + + } // namespace squish diff --git a/thirdparty/squish/colourblock.h b/thirdparty/squish/colourblock.h index fee2cd7c5d..3cb9b7e3b9 100644 --- a/thirdparty/squish/colourblock.h +++ b/thirdparty/squish/colourblock.h @@ -35,6 +35,9 @@ void WriteColourBlock3( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void* void WriteColourBlock4( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void* block ); void DecompressColour( u8* rgba, void const* block, bool isDxt1 ); +// -- GODOT start -- +void DecompressColourBc5( u8* rgba, void const* block ); +// -- GODOT end -- } // namespace squish diff --git a/thirdparty/squish/squish.cpp b/thirdparty/squish/squish.cpp index 1d22a64ad6..fd11a147de 100644 --- a/thirdparty/squish/squish.cpp +++ b/thirdparty/squish/squish.cpp @@ -135,7 +135,13 @@ void Decompress( u8* rgba, void const* block, int flags ) colourBlock = reinterpret_cast< u8 const* >( block ) + 8; // decompress colour - DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 ); + // -- GODOT start -- + //DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 ); + if(( flags & ( kBc5 ) ) != 0) + DecompressColourBc5( rgba, colourBlock); + else + DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 ); + // -- GODOT end -- // decompress alpha separately if necessary if( ( flags & kDxt3 ) != 0 ) diff --git a/thirdparty/thekla_atlas/nvcore/Debug.cpp b/thirdparty/thekla_atlas/nvcore/Debug.cpp index 81498c219e..4980ffa916 100644 --- a/thirdparty/thekla_atlas/nvcore/Debug.cpp +++ b/thirdparty/thekla_atlas/nvcore/Debug.cpp @@ -394,8 +394,10 @@ namespace #pragma warning(disable:4748) static NV_NOINLINE int backtrace(void * trace[], int maxcount) { CONTEXT ctx = { 0 }; +// -- GODOT start -- #if NV_CPU_X86 && !NV_CPU_X86_64 ctx.ContextFlags = CONTEXT_CONTROL; +#if NV_CC_MSVC _asm { call x x: pop eax @@ -404,6 +406,13 @@ namespace mov ctx.Esp, esp } #else + register long unsigned int ebp asm("ebp"); + ctx.Eip = (DWORD) __builtin_return_address(0); + ctx.Ebp = ebp; + ctx.Esp = (DWORD) __builtin_frame_address(0); +#endif +// -- GODOT end -- +#else RtlCaptureContext(&ctx); // Not implemented correctly in x86. #endif diff --git a/thirdparty/thekla_atlas/nvmath/ftoi.h b/thirdparty/thekla_atlas/nvmath/ftoi.h index bee15c0908..182c56d1c3 100644 --- a/thirdparty/thekla_atlas/nvmath/ftoi.h +++ b/thirdparty/thekla_atlas/nvmath/ftoi.h @@ -53,7 +53,10 @@ namespace nv return (val<0) ? ftoi_ceil_xs(val) : ftoi_floor_xs(val); } -#if NV_CPU_X86 || NV_CPU_X86_64 +// -- GODOT start -- +//#if NV_CPU_X86 || NV_CPU_X86_64 +#if NV_USE_SSE +// -- GODOT end -- NV_FORCEINLINE int ftoi_round_sse(float f) { return _mm_cvt_ss2si(_mm_set_ss(f)); diff --git a/thirdparty/thekla_atlas/nvmath/nvmath.h b/thirdparty/thekla_atlas/nvmath/nvmath.h index 695f452c1d..f2b69426e1 100644 --- a/thirdparty/thekla_atlas/nvmath/nvmath.h +++ b/thirdparty/thekla_atlas/nvmath/nvmath.h @@ -14,10 +14,12 @@ #include <float.h> // finite, isnan #endif -#if NV_CPU_X86 || NV_CPU_X86_64 - //#include <intrin.h> - #include <xmmintrin.h> -#endif +// -- GODOT start -- +//#if NV_CPU_X86 || NV_CPU_X86_64 +// //#include <intrin.h> +// #include <xmmintrin.h> +//#endif +// -- GODOT end -- @@ -65,6 +67,13 @@ #endif +// -- GODOT start -- +#if NV_USE_SSE + //#include <intrin.h> + #include <xmmintrin.h> +#endif +// -- GODOT end -- + #ifndef PI #define PI float(3.1415926535897932384626433833) diff --git a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp index 5ce452cb9e..fd37b8c59c 100644 --- a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp +++ b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp @@ -142,9 +142,11 @@ AtlasPacker::AtlasPacker(Atlas * atlas) : m_atlas(atlas), m_bitmap(256, 256) { m_width = 0; m_height = 0; - - m_debug_bitmap.allocate(256, 256); - m_debug_bitmap.fill(Color32(0,0,0,0)); + + // -- GODOT start -- + //m_debug_bitmap.allocate(256, 256); + //m_debug_bitmap.fill(Color32(0,0,0,0)); + // -- GODOT end -- } AtlasPacker::~AtlasPacker() @@ -597,8 +599,10 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned m_bitmap.clearAll(); if (approximateExtent > m_bitmap.width()) { m_bitmap.resize(approximateExtent, approximateExtent, false); - m_debug_bitmap.resize(approximateExtent, approximateExtent); - m_debug_bitmap.fill(Color32(0,0,0,0)); + // -- GODOT start -- + //m_debug_bitmap.resize(approximateExtent, approximateExtent); + //m_debug_bitmap.fill(Color32(0,0,0,0)); + // -- GODOT end -- } @@ -680,20 +684,24 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned { //nvDebug("Resize bitmap (%d, %d).\n", nextPowerOfTwo(w), nextPowerOfTwo(h)); m_bitmap.resize(nextPowerOfTwo(U32(w)), nextPowerOfTwo(U32(h)), false); - m_debug_bitmap.resize(nextPowerOfTwo(U32(w)), nextPowerOfTwo(U32(h))); + // -- GODOT start -- + //m_debug_bitmap.resize(nextPowerOfTwo(U32(w)), nextPowerOfTwo(U32(h))); + // -- GODOT end -- } //nvDebug("Add chart at (%d, %d).\n", best_x, best_y); addChart(&chart_bitmap, w, h, best_x, best_y, best_r, /*debugOutput=*/NULL); + // -- GODOT start -- // IC: Output chart again to debug bitmap. - if (chart->isVertexMapped()) { + /*if (chart->isVertexMapped()) { addChart(&chart_bitmap, w, h, best_x, best_y, best_r, &m_debug_bitmap); } else { addChart(chart, w, h, best_x, best_y, best_r, &m_debug_bitmap); - } + }*/ + // -- GODOT end -- //float best_angle = 2 * PI * best_r; @@ -842,8 +850,10 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned nvCheck(isAligned(m_width, 4)); nvCheck(isAligned(m_height, 4)); - m_debug_bitmap.resize(m_width, m_height); - m_debug_bitmap.setFormat(Image::Format_ARGB); + // -- GODOT start -- + //m_debug_bitmap.resize(m_width, m_height); + //m_debug_bitmap.setFormat(Image::Format_ARGB); + // -- GODOT end -- #if DEBUG_OUTPUT //outputDebugBitmap("debug_packer_final.tga", m_bitmap, w, h); diff --git a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h index 2d305f38cd..845dbfb6f3 100644 --- a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h +++ b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.h @@ -48,7 +48,9 @@ namespace nv Atlas * m_atlas; BitMap m_bitmap; - Image m_debug_bitmap; + // -- GODOT start -- + //Image m_debug_bitmap; + // -- GODOT end -- RadixSort m_radix; uint m_width; diff --git a/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp b/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp index d6f0accf54..de1953db8a 100644 --- a/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp +++ b/thirdparty/thekla_atlas/thekla/thekla_atlas.cpp @@ -2,6 +2,9 @@ #include "thekla_atlas.h" #include <cfloat> +// -- GODOT start -- +#include <stdio.h> +// -- GODOT end -- #include "nvmesh/halfedge/Edge.h" #include "nvmesh/halfedge/Mesh.h" @@ -112,6 +115,8 @@ static Atlas_Output_Mesh * mesh_atlas_to_output(const HalfEdge::Mesh * mesh, con output->index_count = face_count * 3; output->index_array = new int[face_count * 3]; + // -- GODOT start -- + int face_ofs = 0; // Set face indices. for (int f = 0; f < face_count; f++) { uint c = charts->faceChartAt(f); @@ -121,14 +126,26 @@ static Atlas_Output_Mesh * mesh_atlas_to_output(const HalfEdge::Mesh * mesh, con const Chart * chart = charts->chartAt(c); nvDebugCheck(chart->faceAt(i) == f); + if (i >= chart->chartMesh()->faceCount()) { + printf("WARNING: Faces may be missing in the final vertex, which could not be packed\n"); + continue; + } + const HalfEdge::Face * face = chart->chartMesh()->faceAt(i); const HalfEdge::Edge * edge = face->edge; - output->index_array[3*f+0] = vertexOffset + edge->vertex->id; - output->index_array[3*f+1] = vertexOffset + edge->next->vertex->id; - output->index_array[3*f+2] = vertexOffset + edge->next->next->vertex->id; + //output->index_array[3*f+0] = vertexOffset + edge->vertex->id; + //output->index_array[3*f+1] = vertexOffset + edge->next->vertex->id; + //output->index_array[3*f+2] = vertexOffset + edge->next->next->vertex->id; + output->index_array[3 * face_ofs + 0] = vertexOffset + edge->vertex->id; + output->index_array[3 * face_ofs + 1] = vertexOffset + edge->next->vertex->id; + output->index_array[3 * face_ofs + 2] = vertexOffset + edge->next->next->vertex->id; + face_ofs++; } + output->index_count = face_ofs * 3; + // -- GODOT end -- + *error = Atlas_Error_Success; output->atlas_width = w; output->atlas_height = h; |